Skip to content

우아한테크코스 5기 안드로이드 교육과정 수료

Notifications You must be signed in to change notification settings

s9hn/Archiving-woowacourse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

우아한테크코스 5기 안드로이드 학습 과정

Lv1. 코틀린 & 객체 지향 프로그래밍

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단계

📖 WHAT I LEARNED

  • 코틀린, 객체지향 프로그래밍을 학습했어요.
  • 페어프로그래밍과 TDD를 활용해 미션을 진행했어요.
    • Junit을 활용해 단위 테스트를 작성했어요.
  • 정적 팩토리 메서드 패턴, 상태 패턴, MVC 패턴 등 다양한 디자인 패턴을 구현했어요.
  • 안드로이드 프레임워크의 기초를 학습했어요.
    • SQLite를 활용해 데이터베이스를 구축할 수 있어요.

Lv2. 안드로이드 기초 & 심화

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단계

📖 WHAT I LEARNED

2-1

  • 안드로이드 기초에 대해 학습했어요.
    • Intent, Context, 안드로이드 4대 컴포넌트, Activity Lifecycle
  • savedInstanceState를 통한 상태관리로 화면 회전에 대응할 수 있어요.
  • Serializable, Parcelable 등 직렬화 라이브러리의 차이와 구현 방식을 학습했어요.
  • Espresso, Robolectric을 통해 UI 테스트를 경험했어요.
  • 도메인 모듈 분리를 통해 단위테스트를 작성했어요.
  • ListView와 RecyclerView를 자유롭게 다룰 수 있어요.

2-2

  • 안드로이드 심화에 대해 학습했어요.
    • Fragment, Broadcast Receiver, DataBinding
  • AlarmManager, SharedPreference를 구현했어요.
  • MVC -> MVP 패턴 리팩터링을 경험했어요.
  • 테스트 더블을 사용하기 위해 Mockk을 구현할 수 있어요.

2-3

  • 데이터 로딩 전략을 수립할 수 있어요.
    • Pagination, Load More, Infinite Scroll의 차이와 구현 방식을 알고 있어요.
  • Glide 라이브러리를 사용해 캐싱 전략 및 후처리 구현을 학습했어요.
  • Presenter 단위 테스트를 작성했어요.
  • ScrollView, RecyclerView 최적화를 위한 방법들을 학습했어요.
  • MockWebServer를 구축할 수 있어요.
  • Repository Pattern에 대해 이해하고 구현할 수 있어요.
  • LiveData 적용 리팩터링 및 테스트를 학습했어요.

2-4

  • 백엔드와 협업을 경험했어요.
  • 핸들러, 메시지 큐, 루퍼에 대해 학습했어요.
  • MockWebServer, okhttp3 -> 외부 API, Retrofit2로 리팩터링을 진행했어요.
  • Service(Foreground, Background, Bount)에 대해 학습했어요.
  • View LifeCycle을 학습하고 뷰 최적화 방법들을 학습했어요.
  • MVVM 패턴에 대해 학습하고 발표했어요.

Lv3. 프로젝트

Mission Repository
프로젝트 협업 201 Created

📖 WHAT I LEARNED

  • 협업에 필요한 소프트 스킬에 대해 배웠어요.
  • 다양한 깃 관리 전략들을 학습했어요.
  • 초기 기획 프로세스를 직접 경험해볼 수 있었어요.

Lv4. 바퀴를 재발명하는 이유 DI & 뷰 챌린지

Mission Repository PR 1 PR 2 PR 3
만들면서 배우는 DI android-di 1단계 2, 3단계 4단계
뷰 챌린지 android-paint 1단계 2단계 3단계

📖 WHAT I LEARNED

  • 페어와 상호 코드리뷰를 통해 미션을 진행했어요.

4-1

  • 서비스 로케이터 패턴의 수동 DI를 구현했어요.
  • Reflection을 사용해 자동 DI를 직접 구현하는 과정을 경험했어요.
  • Robolectric을 사용한 ViewModel 테스트를 학습했어요.
  • Hilt와 Koin을 학습했어요.
  • LifeCycle Aware Components에 대한 DefaultLifecycleObserver를 구현했어요.

4-2

  • 공식 문서의 권장 아키텍처에 대해 이해했어요.
    • 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

About

우아한테크코스 5기 안드로이드 교육과정 수료

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published