4월 회고
⛳️ 4월 목표
목표
-
알고리즘
- 자바스크립트로 코딩 테스트를 볼 예정이었기 때문에, 자바스크립트를 사용해 여러 알고리즘을 구현해보는 연습 하기
-
팀 프로젝트
- It’s meee(Diary 모바일 애플리케이션) 1.0.0 배포
-
기초 다지기
- 코어 자바스크립트 책 2장까지 보기
- CS 공부
-
그 외
- 이력서 작성
- 서류 준비
실천한 것
-
알고리즘
- 프로그래머스 Level 1, 2 문제 풀기 (Level 2는 다 풀지 못 했음)
- 문제 풀면서 반복되거나, 알고 있어야 하는 코드들을 gist로 정리
- 공부한 알고리즘 개념들은 git repo에 md 파일로 정리
-
팀 프로젝트
- It’s meee
- 버전 1.0.0 릴리즈
- It’s meee
-
기초 다지기
- 코어 자바스크립트 책 1장 공부하고, 블로그에 정리
- 2장은 안 봄 (코테 준비하고, 자소서 쓰기 바빴다………)
- CS 공부 X…
-
그 외
- 이력서 작성 후, 회사 지원 완료! (총 2곳 지원했음)
- 코테 봤음 (총 2곳 봄 / 불합격 1, 나머지는 결과 기다리는 중)
📌 배운 점
1. ImageSourcePropType의 정의와 메모리에 적재하는 방식
-
- 문제점
-
It’s meee 앱을 만들고 테스트를 하는데, 이미지가 이상하게 나타나는 이슈가 있었다. 예를 들어서, A 이미지가 나와야 할 부분인데, 완전 쌩뚱맞은 B 이미지가 나타나는 상황이었다.
-
문제 파악
- 서버를 두지 않고,
Async Storage
를 사용해 사용자의 기기에 이미지를 저장하고 있었다. - 사용자가 저장하는 이미지(앱에서 캐릭터를 만들면 그 이미지를 스토리지에 저장함)가 무엇인지 콘솔에 로그를 찍어봤다. 번호가 출력 되었고, 스토리지에 저장될 때 숫자로 저장되고 있다는 걸 알 수 있었다.
- 그래서
Async Storage
에서 이미지를 저장하는 방식과 사용하고 있는 이미지 데이터 타입인ImageSourcePropType
에 대해서 찾아봤다. ImageSourcePropType
은 부모에서 자식으로 전달할 수 있는 이미지 타입이다.Prop: 부모에서 자식으로 전달되는 것
PropType: 부모에서 자식으로 전달할 수 있는 타입이라는 뜻- 그래서
ImageSourcePropType
을 타입으로 하는 이미지가 메모리에 적재 되어 있어야 전달할 수 있다. - 근데 이 타입의 이미지를 그대로 Async Storage에 저장할 경우, 메모리에 적재된 순서가 저장된다.
(이걸 몰라서..😅)
ImageSourcePropType
을 그대로 스토리지에 저장하도록 코드를 짰고, 해당 이미지가 메모리에 적재된 순서가 숫자로 저장됐다. 즉, 콘솔에 찍힌 숫자는 이거였다.
그래서 앱을 재실행하는 것과 같이 메모리에 다시 적재 되어 순서가 바뀌면 이미지가 바뀌게 되었다.
예를 들어, 메모리에A → B → C
순서로 적재가 되었는데 지금 방식으로 저장을 하면 스토리지에1, 2, 3
이 저장된다. 재실행해서B → C → A
순서로 적재되고 스토리지에서 이미지를 불러오면, A(스토리지에 1로 저장)가 호출되어야 할 곳에 B(지금 적재된 순서가 1)가 호출되는 상황이 된다.
- 서버를 두지 않고,
-
문제 해결
- lib 폴더에 StaticImage.tsx 파일을 만들고, 모든 이미지 소스를 불러왔다. 이때, 카테고리별로 배열을 만들어 불러왔다.
캐릭터를 만들 때 사용되는 이미지들이었기 때문에 카테고리가 나눠져 있었다. 예를 들어, 눈에 이미지 10개 이런 식으로!
- 그리고 이 파일에서 이미지 배열을 불러와 코드에서 사용하고, 사용자가 선택한 특정 이미지의 배열 내 인덱스를 스토리지에 저장했다. 그리고 이미지를 보여주는 곳에서 스토리지에 저장된 숫자와 일치하는 인덱스를 가진 이미지를 사용했다.
- lib 폴더에 StaticImage.tsx 파일을 만들고, 모든 이미지 소스를 불러왔다. 이때, 카테고리별로 배열을 만들어 불러왔다.
2. App store에 유료앱을 배포하기 위해서는 사업자 등록증이 필요하다.
Google play store에는 사업자 등록증 없이 배포가 됐는데, App store에는 사업자 등록증이 있어야만 배포할 수 있었다.
사업자 신고를 하고, 세금 관련된 정책을 따라야 했다.
그래서 우리 팀(COCONUT) 중 한 명의 이름으로 개인 사업자에 등록하고, 등록증을 받아 App store에 배포했다.
3. 자바스크립트의 데이터 타입별 메모리 적재 방식
블로그에 정리 해뒀다. (요기 👉 [코어 자바스크립트] 01. 데이터 타입)
4. 자바스크립트로 구현하는 알고리즘
(1) 간단한데, 자주 쓰이는 알고리즘은 github의 gist에 저장해뒀다. (앞으로도 계속 만들어둘 예정!)
(2) 알고리즘 개념들을 다시 한 번 정리하고(헷갈리는 게 있어서), 자바스크립트로 구현해봤다.
💡 5월에는!
1. 자기소개서 써서 회사 지원 해야지 (무조건..!)
취준 기간이 길어지다 보니까, 점점 힘이 빠지는 거 같다.. (열정아 돌아와 ㅠㅠ)
5월에 빡시게 해봐야지..!
2. 코어 자바스크립트 책 훑으면서 기초 다지기
내가 사용하는 언어를 좀 더 깊게 이해해보는 건 꼭 필요한 거니까, 기간 오래 잡지 말고 빠르게 보자.
블로그에 자세하게 정리하는 것도 좋지만, 일단 책을 후루룩 보면서 이해하고 간단하게 작성하는 걸로..!
3. CS 공부.. (이 또한 기초 다지기)
알고리즘, 네트워크, 운영체제 등.. 공부 해야겠다. 프로젝트 끝내고, 코테 끝내고, 자소서 쓰면서 공부하는 거에 나태해진 느낌이다.
4. 책임감을 가지고 배포한 앱 운영 (개선 및 기능 추가)
유료로 앱을 배포하니까 대충 기능이 동작하도록 만들 게 아니라, 안정적이고 사용성 좋게 만들고 싶다는 마음이 들었다. (책임감이 생겼달까..?)
돈 내고 우리 앱을 산 사람들이 후회하지 않도록 좋은 앱을 만들고 싶다.