-
Notifications
You must be signed in to change notification settings - Fork 4
π Daily Scrum
-
μμ΄λμ΄ νμ β μΌμΈ λ₯Ό νμ©ν μΌκΈ°μ₯ μ±
-
Feature List μμ± λ° μμ μκ° μμ
-> Feature List
-
Project Name κ³ λ―Ό (λ―Έμλ£)
- clip
- day
- shorts
- stamp
- Project Name(μ± μ΄λ¦) μ νκΈ°
- Github Repository μμ±
- wiki μ 리
- project μμ±
- κ·ΈλΌμ΄λ λ£° μ νκΈ°
- 컨벀μ μ νκΈ°
- κ°λ° νκ²½ ν΅μΌ
- κΈ°λ₯μ , κΈ°μ μ feature list λ§λ¬΄λ¦¬
- νλ‘μ νΈ μ΄λ¦ μ νκΈ° -> DailyFilm
- κ·ΈλΌμ΄λ λ£° μμ±
- μ½λ 컨벀μ μμ±
- Git 컨벀μ μμ±
- Github Projects, Labels, Milestone μ€μ
- νλ‘μ νΈ μμ± λ° gradle μμ‘΄μ± μΆκ°
- PRλ‘ Issue Resolve μ²λ¦¬
- Figma 보좩
- λ©ν λκ³Ό νμ
- λ©ν λ νΌλλ°± λ°μ νμ νλ‘μ νΈ λ³΄μΆ©
- λ‘κ·ΈμΈ νλ©΄ (κ΅¬κΈ λ‘κ·ΈμΈ)
- μμ μ
λ‘λ νλ©΄μ λν κ³ μ°°
- μΌλ°μ μΈ μ λ‘λμ²λΌ κ°€λ¬λ¦¬μμ μ ννκΈ°
- μΈμ€νκ·Έλ¨μ²λΌ μ νν μμμ 보μ¬μ£Όλ©΄μ κ³ λ₯΄κΈ° β
- μμ νΈμ§ νλ©΄
- μ 체 κΈΈμ΄κ° 5μ΄μΈ 건 κ³ μ , μ¬λΌμ΄λλ₯Ό μμ§μ¬ μμ μ§μ λ§ λ³κ²½νκ² νκΈ°
- λ΄μ© μμ± νλ©΄μ λν κ³ μ°°
- λ°°κ²½μ μμμ΄ μ¬μλκ³ μκ³ κ·Έ μμ λ΄μ©μ μ κΈ° 1οΈβ£
- μλ¨μ μμμ΄ λ³΄μ΄κ³ νλ¨μ λ΄μ©μ μ κΈ° 2οΈβ£
-
λ©ν λ μλ£
-
μμΈ λμμ 보기 νλ©΄
- viewPagerλ‘ κ΅¬μ±
-
Activity vs Fragment
-
리μμ€κ° 무κ²κ³ , λμμ ν¬κΈ° λ° λ©λͺ¨λ¦¬λ₯Ό μν΄μ Fragment κ΅¬μ± λ³΄λ€λ Activityλ‘ νλκ±Έ μΆμ²
-> μ’ λ£λ μμμ΄ λͺ ννλ―λ‘, λμμ μμ μ’ λ£ κ΄λ ¨ μ²λ¦¬κ° κ°νΈν λλ
-
-
λμμ λΆλ¬μ€κΈ°
- λμμ μ΅μ νμμ μκ°μ΄ νμν κ²μΌλ‘ μμ
-
λμμ νΈμ§
-
λμμ κΈ°λ³Έ κ°λ (μ κ³΅λΆ νμ)
- iframe
- decoding
-
μ¬ν κΈ°μ (μ°Έκ³ )
- λ€νΈμν¬ λλ¦΄κ²½μ° μ νμ§λ‘ μ€νΈλ¦¬λ°
-
UI Kit
- ν° ν
- μΊλ¦°λ : μ€ν, μ¬ν
- μμ : 무ν, λν
- week1 λΆλ΄ μ¬ν
- κ° ννΈλ³ νμ ν λ΄μ© μ 리 ν κΈμμΌ μ€ν¬λΌ μ 곡μ
- κΈμΌ λ
Όμ λ λΆλ΄κΈ°λ₯
- Firebase λ‘κ·ΈμΈ
- κΈ°λ³Έ νλ©΄ ν ꡬμ±
- DB ꡬ쑰 μ€κ³
- μΆκ° λ
Όμ νμ μ¬ν
- λ‘κ·ΈμΈ νμ΄μ§ νμ μ 무
- ννΈλ³ νμ μ§ν ν μ€ν 6μμ λ΄μ© μ€κ° 곡μ
- μ€μ μ€ν¬λΌμ, MVVM ν¨ν΄ κ΄λ ¨ Base λ΄μ© λ Όμ
1. Base, Hilt, Application λ Όμ λ° μ ν
- Base μμ± λ° μ μ©
- Hilt Application νμΌ μμ
- registerActivityLifecycleCallbacks μΆκ°λ₯Ό ν΅ν Logging
2. μμ μ Fork
3. κΈμΌ μμ κ³ν 곡μ
-
μμ
- μΈλΆ λΌμ΄λΈλ¬λ¦¬ μ°Έκ³
- MediaStore & ContentResolver νμ©ν κ°€λ¬λ¦¬ λ΄ λΉλμ€ λΆλ¬μ€κΈ°
- μλ¨ μμ 미리보기 μ¬μμ λν κ³ μ°°
-
μΊλ¦°λ
- μΈλΆ λΌμ΄λΈλ¬λ¦¬ μ°Έκ³ (λ©ν λ μΆμ²)
- ViewPager2 + RecyclerView or CustomView νμ©νμ¬ μΊλ¦°λ ꡬν
- RecyclerViewλ‘ λ¨Όμ ꡬνν ν μ±λ₯μ λ¬Έμ λ°μμ CustomViewλ‘ κ΅¬ννμ¬ λΉκ΅
- κΈ°ν곡μ λ°ν μ λͺ¨μ λ°ν
- νΌλλ°± ν μμ , μμ μ§λ¬Έ λμΆ
- νκ³ (λ€μμ£Ό κ³ν)
- μ€κ³ 곡μ λͺ¨μ λ°ν μ§ν (μ¬ν)
- νΌλλ°± μ§ν
- google-service.json hide μ²λ¦¬ νμ (+ API ν€ μ¬λ°κΈ)
- μΊ νΌλ€ νΌλλ°± μ¬ν
- λ¨μν κΈ°μ λμ΄λ³΄λ€ κ° κΈ°μ λ€μ μ΄λ»κ² μ¬μ©ν μ μλμ§ λͺ μνλ κ²μ΄ λ μ’μ 보μΈλ€
- μλ λΆμΊ μ μΊλ¦°λ 컀μ€ν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°Έκ³ ν΄λ μ’μ κ² κ°λ€
- μμ΄λμ΄ λ©μ§λ€
- μ§λ¬Έ λ΄μ©
- encoding μ΄λ μμΆμ λν΄μ κ³ λ €νκ³ μλμ?
- 컀μ€ν μΊλ¦°λλ‘ λ§λ€ κ²½μ° μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ€λ©΄ μ΄λ€ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ€ κ±΄κ°μ?
- μ΄λ―Έμ§ νΉμ κΈ΄ μμμ΄ μλ 5μ΄λ‘ μ νμ μ΄μ κ° λ¬΄μμΈκ°μ?
-
λν
- μ’μ μ : μ견 ν΅μΌμ΄ λΉ λ₯΄κ² λμκ³ , Ground Ruleμ μ νλ λ°μ κΈ΄ μκ°μ΄ κ±Έλ¦¬μ§ μμλ€.
- μμ¬μ΄ μ : μ€κ³ λ¨κ³μμ μμ±ν λ¬Έμ λμ΄ μ΄λ»κ² 보면 λΆμ‘±νλ€κ³ λ³Ό μλ μλ κ² κ°μ§λ§(UML μμ± λ±), λ§μ€ν° λμ μ‘°μΈμ λ€μ΄λ³΄λ μ νμ¬νμΈ κ² κ°μμ μ¬μ€ ν¬κ² μμ½μ§λ μλ€.
- κ°μ ν μ : Githubμ μ¬λ¬ κΈ°λ₯μ κ±°μ μ²μ μ¬μ©ν΄λ³΄λ κ²μ΄λΌ μμ§μ Issue μμ± λ±μ λν΄ μλ ¨λκ° λ¨μ΄μ§λ κ² κ°λ€. νμ§λ§ μ΄κ²λ μκ°μ΄ μ§λλ©΄ κΈλ°© μ΅μν΄μ§ κ²μ΄λΌκ³ μκ°νλ€.
-
무ν
- μ’μ μ : μ μ νλ©΄μλ‘, ν΅μ¬ κΈ°λ₯μ μ§μ€ ν μμκ³ κΈ°νμ΄ μ’λ€.
- μμ¬μ΄ μ : κΈ°λ₯μ λν μ μ© κΈ°μ μ λν μ΄ν΄κ° μμ§ λΆμ‘±ν¨
- κ°μ ν μ : κΈ°λ₯μ λν νμν κΈ°μ μ λ νμ΅νλ μκ°μ μ£Όλ§μ κ°μ Έμ 보좩νκΈ°
-
μ¬ν
- μ’μ μ : μ£Όμ λ₯Ό λΉ λ₯΄κ² μ μ νμκ³ , μ견 μΆ©λ μμ΄ μ§νλμλ€.
- μμ¬μ΄ μ :
- Figma νμ©λ²μ μ λͺ°λΌ μκ°ν λλλλ‘ νλ©΄μ ꡬμ±νλ κ²μ΄ νλ€μλ€.
- μ²μ ν΄λ³΄λ ꡬνμ΄ λ§μ μμ μμ μκ°μ κ³μ°νκΈ° νλ€μλ€.
- κ°μ ν μ : μ²μ μ νλ λΌμ΄λΈλ¬λ¦¬, κΈ°μ λ€μ λν νμ΅μ΄ νμνλ€. (νΉν μμ)
-
μ€ν
- μ’μ μ : κΈ°νμ΄ λΉ λ₯΄κ³ μ견 μΆ©λ μμ΄ μ 무 λΆλ΄μ΄ λΉ λ₯΄λ€.
- μμ¬μ΄ μ : ν΅μ¬ κΈ°λ₯μ λν΄ νμ€ν μΌμ κ΄λ¦¬κ° λΆμ‘±νλ€. ( μ²μ λ€λ£¨λ κΈ°λ₯μ΄κΈ° λλ¬Έ )
- κ°μ ν μ : ν΅μ¬ κΈ°λ₯μ λν νμ΅κ³Ό λμ± μΈμΈν κ³ν μΈμ°κΈ°, λͺ¨λ νμ΅ λ΄μ© μ 보 곡μ !!
- Notion νμλΌμΈμ μμ±
- μ λμ μΌλ‘ λ³κ²½ κ°λ₯
- 11-14 ~ 11-15 Infinite ViewPager ꡬν
- 11-15 ~ 11-16 Calendar + RecyclerView ꡬν
- 11-16 ~ 11-18 CustomView Calendar ꡬν ν RecyclerView νμκ³Ό λΉκ΅
- 11-14 ~ 11-15 Custom Gallery ꡬν
- 11-15 ~ 11-16 Custom Galleryμμ μμ 미리보기 ꡬν
- 11-16 ~ 11-17 Firebaseμ μμ μ λ‘λ
- νΌκ·Έλ§ νλ‘ν νμ λ§ν¬ μΆκ°
- λ΄μ© 보좩
- Custom gallery ꡬν
- ContentResolver, Media Storeλ₯Ό ν΅ν κ°€λ¬λ¦¬ λ΄μ λΉλμ€ data Load
- Paging μ μ©
- μλλ‘μ΄λ λ²μ μ λ°λ₯Έ Permission λΆκΈ°
- Infinite ViewPager2 λ₯Ό μ¬μ©νμ¬ λ¬΄ν μ€ν¬λ‘€ νμΈ
- Fragment Position μ μ©
- ViewPager2 Fragmentμ Calendar κ°μ²΄ μ λ¬
- μΊλ¦°λμ νμν λ μ§ Log μΆλ ₯
- μμ
- Custom Gallery Item ν΄λ¦μ μμ 미리보기 μ¬μ
- μΊλ¦°λ
- Recyclerview Item μ λ¬νμ¬ view ꡬμ±
- RecyclerView μλ³ λ¬λ ₯ ꡬν
- xμ, μ£Ό(μΌ~ν ) μ λν View λ Activity λ‘ λΆλ¦¬
- μμ΄ν ν΄λ¦ μ΄λ²€νΈ ( μ¬μ§, λ μ§ )
- μ λ‘λ λ²νΌ ν΄λ¦ μ μ νλ λ°μ΄ν° κ°μ²΄ 보λ΄κΈ°
- μ¬μ§ Glideλ‘ λΆλ¬μ€κΈ°
ViewPager2 μ΄κΈ°ν μ currentItem μ λλ©μ΄μ μ€μ
setCurrentItem(int, boolean)
// smoothScroll false μΌ λ μλ position λΆν° μ΄κΈ°ν
if (!smoothScroll) {
mRecyclerView.scrollToPosition(item);
return;
}
// smoothScoll true μΌ λ, default κ°μΈ 3 page μ λΆν° μλ position μΌλ‘
// μ€ν¬λ‘€ λλ μ λλ©μ΄μ
if (Math.abs(item - previousItem
) > 3) {
mRecyclerView.scrollToPosition(item > previousItem ? item - 3 : item + 3);
// TODO(b/114361680): call smoothScrollToPosition synchronously (blocked by b/114019007)
mRecyclerView.post(new SmoothScrollToPosition(item, mRecyclerView));
} else {
mRecyclerView.smoothScrollToPosition(item);
}
DateModel list λ₯Ό μ΄κΈ°ν νλ λ°©λ²
private val _dateFlow = MutableStateFlow(initialDateList())
val dateFlow: StateFlow<List<DateModel>> = _dateFlow.asStateFlow()
private fun initialDateList(): List<DateModel> {...}
- Shared vs State
- SharedμΌ λ μ μλλ?
- emit μμ μ λ¬Έμ
- ViewModel init μμ μ emitνκ³ κ·Έ μ΄ν collect λμ΄μ νλ©΄μ λμ¬ μκ° μλ€.
- Custom Gallery ꡬν
- GridLayoutμΌλ‘ λλ°μ΄μ€ λ΄μ μμ λͺ©λ‘ μΆλ ₯
- MediaStore + ContentResolver νμ©
- Flow + Paging λΌμ΄λΈλ¬λ¦¬λ‘ μμ λͺ©λ‘ Load
- CoordinatorLayoutμΌλ‘ λμ UI κ΅¬μ± (νλ¨μΌλ‘ μ€ν¬λ‘€ μ, μμ μλ‘ λ°κΈ°)
- μμ μ ν μ μλ¨μ 미리보기 μ¬μ
- ExoPlayer νμ©
- 첫λ²μ§Έ μμ μλ μ¬μ
- μμ λ°λ³΅ μ¬μ
- ExoPlayer νμ©
- GridLayoutμΌλ‘ λλ°μ΄μ€ λ΄μ μμ λͺ©λ‘ μΆλ ₯
- Paging μ리 μ΄ν΄
- Flow μ΄ν΄
- μμ΄ν ν΄λ¦μ UI λ³κ²½ (background, Text μμ λ³κ²½)
- μ΄μ λ¬, λ€μ λ¬ λ μ§ UI λ€λ₯΄κ² νμ & ν΄λ¦ λͺ»νλλ‘ λ³κ²½
- μΊλ¦°λ 보μ¬μ§κ² νκ³ ν΄λ¦ λͺ»νκ² νκΈ°
- νμ¬ λ¬λ‘ λμμ€κΈ°
- Date Picker λ‘ μ ν΄μ§ λ μ§λ‘ λμ΄κ°κΈ°
- μ 체μ μΈ μΊλ¦°λ UI λ€λ¬κΈ°
- Firestore μμ μ λ‘λ
- Paging, Flow νμ΅
- 컀μ€ν κ°€λ¬λ¦¬ μμ΄ν ν΄λ¦μ ν΄λ¦λ UIλ‘ λ³κ²½ λ° λ€λ¬κΈ°
- 컀μ€ν κ°€λ¬λ¦¬ νλ©΄ λ€λ‘κ°κΈ°, λ€μ μΆκ°
- μλ³ μΊλ¦°λ μ€ν¬λ‘€μ Focus μλ μ§μ
- μΊλ¦°λ λμμΈ κ°μ
- μμ μ ν ν Firebase μ λ‘λ
- μμ μ νμ ν΄λΉ Item clicked UI μΆκ°
- μλ¨μ λμ΄κ°κΈ° λ° λμκ°κΈ° λ²νΌ μΆκ°
- Launcher Activity β LoginActivityλ‘ λ³κ²½
- μΊλ¦°λ - μμ Activity μ°κ²°νκΈ°
- λ°λͺ¨ μμ μ€λΉ
- PPT ν νλ¦Ώ κ°λ¨νκ² λ§λ€κΈ°
μΊλ¦°λ
- Glide μ΄μ ν΄κ²°
- μμ΄ν
λμ΄ λ³κ²½
- νλ©΄ ν¬κΈ°μ λ§κ² λμ λμ΄ λΆμ¬
- ν λ¬μ 5μ£Ό, 6μ£Ό ꡬλΆνμ¬ λ μ§ λμ΄ λ³κ²½
- 컀μ€ν DatePicker ꡬν
μμ
- μμ μ
λ‘λ νλ©΄ μΆκ°
- λ· λ°°κ²½ μμ μ¬μ
- μ¬μ©μ ν μ€νΈ μμ±
- Firebase Realtime database μ λ‘λ
μΊλ¦°λ
- Fragment, Activity μ½λ μ 리
- μ€μ μΈλ€μΌ μ μ©
μμ
- μμ νΈμ§ νλ©΄ ꡬν μμ
곡ν΅
- collect μ½λλ₯Ό BindingAdapterλ‘ κ±·μ΄λ΄λ λΆλΆ ννλκ» μ‘°μΈλ£κΈ°
λ°μ΄ν° ꡬ쑰 μμ
- UID
- λ
μμΌ (20220101 νμ)
- μμ URL
- λ΄μ© ν μ€νΈ
- λ
μμΌ (20220101 νμ)