Mission | Repository | PR 1 | PR 2 |
---|---|---|---|
자동차경주 - 온보딩 | kotlin-racingcar | 1단계 | 2단계 |
로또 - TDD, OOP | kotlin-lotto | 1단계 | 2단계 |
블랙잭 - 코틀린다운, FP | kotlin-blackjack | 1단계 | 2단계 |
오목 - 안드로이드, DB | kotlin-omok | 1, 2단계 | 3, 4단계 |
- 코틀린, 객체지향 프로그래밍을 학습했어요.
- SOLID, 객체 지향 생활 체조 원칙을 준수하려 노력했어요.
- 페어프로그래밍과 TDD를 활용해 미션을 진행했어요.
- Junit을 활용해 단위 테스트를 작성했어요.
- 정적 팩토리 메서드 패턴, 상태 패턴, MVC 패턴 등 다양한 디자인 패턴을 구현했어요.
- 안드로이드 프레임워크의 기초를 학습했어요.
- SQLite를 활용해 데이터베이스를 구축할 수 있어요.
Mission | Repository | PR 1 | PR 2 |
---|---|---|---|
영화 티켓 예매 - 안드로이드 기초 | android-movie-ticket | 1, 2단계 | 3, 4단계 |
영화 극장 선택 - 안드로이드 심화 | android-movie-theater | 1, 2단계 | 3, 4단계 |
쇼핑 장바구니 - 데이터 로딩, 상태 관리 | android-shopping-cart | 1, 2단계 | 3, 4단계 |
쇼핑 주문 - 협업, 비동기 | android-shopping-order | 1단계 | 2단계 |
- 안드로이드 기초에 대해 학습했어요.
- Intent, Context, 안드로이드 4대 컴포넌트, Activity Lifecycle
- savedInstanceState를 통한 상태관리로 화면 회전에 대응할 수 있어요.
- Serializable, Parcelable 등 직렬화 라이브러리의 차이와 구현 방식을 학습했어요.
- Espresso, Robolectric을 통해 UI 테스트를 경험했어요.
- 도메인 모듈 분리를 통해 단위테스트를 작성했어요.
- ListView와 RecyclerView를 자유롭게 다룰 수 있어요.
- 안드로이드 심화에 대해 학습했어요.
- Fragment, Broadcast Receiver, DataBinding
- AlarmManager, SharedPreference를 구현했어요.
- MVC -> MVP 패턴 리팩터링을 경험했어요.
- 테스트 더블을 사용하기 위해 Mockk을 구현할 수 있어요.
- 데이터 로딩 전략을 수립할 수 있어요.
- Pagination, Load More, Infinite Scroll의 차이와 구현 방식을 알고 있어요.
- Glide 라이브러리를 사용해 캐싱 전략 및 후처리 구현을 학습했어요.
- Presenter 단위 테스트를 작성했어요.
- ScrollView, RecyclerView 최적화를 위한 방법들을 학습했어요.
- MockWebServer를 구축할 수 있어요.
- Repository Pattern에 대해 이해하고 구현할 수 있어요.
- LiveData 적용 리팩터링 및 테스트를 학습했어요.
- 백엔드와 협업을 경험했어요.
- 핸들러, 메시지 큐, 루퍼에 대해 학습했어요.
- MockWebServer, okhttp3 -> 외부 API, Retrofit2로 리팩터링을 진행했어요.
- Service(Foreground, Background, Bount)에 대해 학습했어요.
- View LifeCycle을 학습하고 뷰 최적화 방법들을 학습했어요.
- MVVM 패턴에 대해 학습하고 발표했어요.
Mission | Repository |
---|---|
프로젝트 협업 | 201 Created |
- 협업에 필요한 소프트 스킬에 대해 배웠어요.
- 다양한 깃 관리 전략들을 학습했어요.
- 초기 기획 프로세스를 직접 경험해볼 수 있었어요.
Mission | Repository | PR 1 | PR 2 | PR 3 |
---|---|---|---|---|
만들면서 배우는 DI | android-di | 1단계 | 2, 3단계 | 4단계 |
뷰 챌린지 | android-paint | 1단계 | 2단계 | 3단계 |
- 페어와 상호 코드리뷰를 통해 미션을 진행했어요.
- 서비스 로케이터 패턴의 수동 DI를 구현했어요.
- Reflection을 사용해 자동 DI를 직접 구현하는 과정을 경험했어요.
- Robolectric을 사용한 ViewModel 테스트를 학습했어요.
- Hilt와 Koin을 학습했어요.
- LifeCycle Aware Components에 대한 DefaultLifecycleObserver를 구현했어요.
- 공식 문서의 권장 아키텍처에 대해 이해했어요.
- UiState, UDF, Usecase..
- View Lifecycle, 뷰 계층 구조, 뷰 최적화에 대해 학습했어요.
- 반응형 UI(portrait, landscape/Dark Mode)에 대응할 수 있어요.
- 다양한 뷰 성능 측정 방법에 대해 학습했어요.
- Layout Inspector, GPU 렌더링 & GPU Overdraw 검사, Tracing, Microbenchmark
- Compose를 활용해 간단한 UI를 구현할 수 있어요.
Mission | Repository |
---|---|
글쓰기 | woowa-writing-5 |
프롤로그 1-2 | sealed class |
프롤로그 1-3 | interface VS abstract Class |
프롤로그 1-4 | lateinit var 위험한 'by lazy' in fragment |
프롤로그 2-1 | Activity란? |
프롤로그 2-2 | Looper, Handler, Message |
프롤로그 2-3 | Intent란? |
프롤로그 2-4 | 안드로이드 의존성이 1도없는 '퓨어 MVVM' |
Subject | Repository |
---|---|
CS 스터디 | 2023-BookOverFlow |
책읽기 스터디 | 2023-fun-readBook-AN |
Subject | URL |
---|---|
MVVM | 산군의 MVVM |