///////
Search

2주차 회고(5/9 - 5/15)

Objective: 스타트업 안드로이드 개발자로 취업하기(2023)
Key Result : 포트폴리오 2개 완성하기
Initiatives
MVVM, corutine, Jetpack 사용하여 프로젝트 완성하기
개인 프로젝트에 기술 스택 적용해 앱 스토어 배포하기
Key Result : 프로그래머스 3레벨 달성하기
Initiatives
일주일 코테 3개 이상 풀기
다시 보면 좋을 것 같은 문제, 모르는 문제는 블로그에 작성하기
Key Result : CS 지식 까먹지 않기
Initiatives
강의 내용 정리하여 블로그 작성하기
자료구조, 자바 기초 등등 모르는 부분은 공부하여 블로그 작성하기

 이번 주 목표 

[ V ] 코딩 테스트 3문제 풀기
[ V ] 개인 프로젝트 Jetpack 적용
[ X ] 디자인패턴 MVVM / MVP 학습
[ V ] 이번 주 강의 정리하여 블로그 작성

 Liked(좋았던 점)

Kotlin의 기초를 알게 됨
Java를 다시 배우자마자 Kotlin을 배우니 이해가 더 잘됐던 것 같다. Kotlin이 Java로 변환되어 실행되다보니 문법이 비슷한 느낌이었고, Java에서 간결하게 바뀐 느낌이었다.
kotlin을 혼자 독학하면서 알게 됐던 lateinit과 lazy에 대해 알게 되었다. 그리고 이 둘의 차이점을 확실히 구분지을 수 있게 되었다!
접근제한자 중 kotlin에만 있는 internal에 대해 알게 되었다.
kotlin의 property에 대해 알게 되었다. 이 부분은 독학으로도 몰랐던 부분이라 응용을 해봐야할 것 같다.
개인 프로젝트를 진행하면서 jetpack의 liveData와 GlideApp을 알게 되었고 이를 사용하여 recyclerView를 구현하였다.

 Lacked (아쉬웠던 점)

개인 학습 시간 부족
개인 프로젝트 진도를 좀 나갔는데 생각보다 시간이 부족했다. GlideApp에 대해서도 자료가 많이 부족하여 Firebase 페이지를 찾아보고, 구글링하면서 찾아보고 응용하는 데에 시간을 많이 썼다. Glide를 한 번 사용해봐서 금방 구현할 수 있다고 생각해서 MVVM을 공부할 계획이었는데 예상이 빗나갔다.
MVVM이나 MVP를 공부해보고 싶었는데 다음 주에는 공부해서 개인 프로젝트에 적용해볼 방법을 찾아야겠다.

 Learned (배운 점)

kotlin 문법
lateinit VS lazy
lateinit은 var 변수에 사용할 수 있으며 변수의 초기화를 미루는 것이다.
lazy는 val 변수에 사용할 수 있으며 나중에 변수 값을 지정하는 것이 아닌 사용할 때 초기화하겠다는 의미이다.
internal
kotlin에서 나오는 모듈 개념에 관련한 접근제한자
internal이 붙으면 다른 모듈에서 접근이 불가능하다.
property
캡슐화가 적용된 변수에 대해 메서드를 통해 값을 설정하거나 가져다 사용할 수 있도록 구성한 것을 Property라고 부른다.
값을 넣는 메서드를 setter, 값을 반환하는 메서드를 getter라고 한다.
jetpack - liveData
관찰 가능한 데이터 홀더 클래스로 생명주기를 인식한다. 데이터의 변경이 일어났을때 콜백으로 받아 처리할 수 있다.
ACC ViewModel에서 사용할경우 ViewModel을 만든 Acitivty나 Fragment의 LiveCycle과 동일하게 작동한다.
Glide
리소스에 이미지를 불러오거나 디바이스 내 파일, URL을 통해 이미지를 가져와 표시하는 경우 사용하는 라이브러리
다른 이미지 로딩 라이브러리로는 Picasso가 있다.

 Longed for (앞으로 바라는 점)

jetpack, 디자인패턴 응용하기
jetpack의 liveData 말고 적용해볼만한 다른 라이브러리나 도구가 있는지 확인해봐야 할 것 같다.
디자인 패턴에 대해 공부해야 할 것 같다. MVC는 알고 있지만 MVVM이나 MVP가 무엇인지 확인하고 개인 프로젝트에 적용할 수 있을지 생각해봐야 할 것 같다. 또한 공부한 기록을 남기기 위해 블로그에 정리할 것이다.