안드로이드 개발자의 창고
[개인 회고] 3주차 회고(5/16 - 5/22) 본문
🌟 이번 주 목표 🌟
- [ V ] 코딩 테스트 입문 캘린더 완성
- [ V ] 개인 프로젝트 디자인 수정
- [ Δ ] 디자인패턴(MVVM / MVP) 학습
- [ V ] 이번 주 강의 정리하여 블로그 작성
💜 Liked(좋았던 점)
Kotlin 독학에서 배우지 못한 것을 배웠다
- 독학으로 알게 됐던건 ? 연산자와 lateinit 정도였는데 문법적으로 깊게 들어오니 모르는 부분이 많았다. 강의를 이전보다 열심히 듣고 주석을 많이 달아야겠다고 생각하게 되었다.
- 마냥 Java와 비슷하다고 생각했는데 Kotlin에서 지원하는 것도 많고, Companion과 Static처럼 이름은 다르지만 기능이 비슷한 부분도 있어서 배우는 데 뿌듯함이 느껴졌다.
✔️ Lacked (아쉬웠던 점)
디자인 요소 집착
- recyclerView를 사용했는데 기기 자체 메뉴바 때문에 마지막 item이 가려졌다. 그냥 진행해도 됐지만 왠지 거슬려서 계속 고치게 되었다.
- 지금 디자인보다는 기능 구현이 먼저 돼야된다는 걸 알고 있으면서도 고치기 위해서 시간을 많이 투자했다.
한 달 집중력 소모
- 그 동안 열심히 했는데 이번 주는 강의 정리하는 데에 시간을 많이 투자했다. 집중력이 많이 떨어진 것을 체감하고 조바심이 생겨버렸다.
- 리프레쉬를 핑계로 느슨하게 계획을 짰는데 다른 프로젝트를 해볼 기회가 생겨서 조금 후회된다.
📚 Learned (배운 점)
kotlin 문법
- Companion과 Static
- Java에서는 Static을 사용하고, Kotlin에서는 Companion을 사용한다. 이름은 다르지만 이를 사용한 요소들은 객체 생성없이 사용할 수 있다는 공통점이 있다.
- copy()를 이용한 깊은 복사와 얕은 복사
- data class의 copy()를 이용하면 깊은 복사를 할 수 있다.
- 깊은 복사를 하면 객체의 전체 값을 복사하여 사용하므로 멤버변수의 값을 변경했을 때 원본이 유지된다.
- 얕은 복사는 = 연산자를 이용한다.
- 얕은 복사를 하면 객체의 주소 값을 복사하므로 멤버변수의 값을 변경했을 때 원본이 유지되지 않는다.
- as 와 is 를 이용한 캐스팅
- as : 객체를 지정된 클래스 타입으로 변환하는 연산자
- is : 형 변환이 가능하면 변환을 하고 true를 반환
👩🏻💻 Longed for (앞으로 바라는 점)
API를 이용하여 json 통신 앱 개발
- rest API를 활용하여 앱을 개발한 경험을 가진 개발자를 찾는 경우가 종종 있다.
- 이러한 이유로 API를 활용하여 json 통신을 하는 앱을 개발하는 프로젝트를 진행할 계획이다. 백엔드에서 주는 json 정보를 토대로 앱을 개발할 것이다. 디자인부터 시작해야되는데 일단 피그마를 사용하여 디자인하는 방법을 알아봐야 할 것 같다.
- 현재 진행하고 있는 개인 프로젝트를 다음주 안에 끝내고 API 응용 프로젝트를 멋사 프로젝트 시작 전까지 마무리하여 배포할 계획이다.
디자인 패턴 공부
- MVVM 잠깐 살펴봤는데 내가 참고했던 코드랑 비슷한거 같기도 하고 애매하다.
- Model - View - ViewModel 순서인데 나는 recyclerView를 사용하다보니 View - Adapter - Repository - ListViewModel 순서로 흘러간다. 이게 MVVM이 맞는지 판단이 잘 서지 않는다.
- 공식 문서를 참고해야될 것 같다.
'개인 회고' 카테고리의 다른 글
[개인 회고] 6주차 회고(6/9 - 6/15) (0) | 2023.06.16 |
---|---|
[개인 회고] 5주차 회고(6/1 - 6/8) (0) | 2023.06.08 |
[개인 회고] 4주차(5/23 - 5/31) (0) | 2023.05.31 |
[개인 회고] 2주차(5/9~5/15) (0) | 2023.05.16 |
[개인 회고] 1주차(5/2 ~ 5/8) (0) | 2023.05.08 |