|
1 | 1 | # Reed - 문장과 감정을 함께 담는 독서 기록 |
2 | 2 |
|
3 | | -[](https://kotlinlang.org) |
| 3 | +[](https://kotlinlang.org) |
4 | 4 | [](https://gradle.org/) |
5 | 5 | [](https://developer.android.com/studio) |
6 | 6 | [](https://developer.android.com/distribute/best-practices/develop/target-sdk) |
|
37 | 37 | | <img width="230" alt="기록 카드 공유" src="https://github.com/user-attachments/assets/4c01a5ed-e5a2-4be4-b950-96a457c87ad7" /> | |
38 | 38 |
|
39 | 39 | ## TroubleShooting |
40 | | -- [[Compose] M3 ModalBottomSheet 드래그(터치 이벤트) 막는 법](https://velog.io/@mraz3068/Compose-M3-ModalBottomSheet-Drag-Disabled) |
| 40 | +- [Metro 적용해보기](https://velog.io/@mraz3068/Metro-Apply) |
| 41 | +- [Compose Stability Analyzer 사용 후기](https://velog.io/@mraz3068/compose-stability-analyzer-review) |
| 42 | +- [[Android] Toast 내부 구현 확인 해보기](https://velog.io/@mraz3068/Android-Toast-Deep-Dive) |
| 43 | +- [Coroutine CancellationException 따로 처리해야하는 케이스](https://velog.io/@mraz3068/Coroutine-CancellationException-UseCase) |
| 44 | +- [Coroutine 에러 처리 패턴: 여러 API 호출을 한 번에 성공/실패 판정하기](https://velog.io/@syoon513/Coroutine-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC) |
| 45 | +- [[Circuit] ImpressionEffect](https://velog.io/@mraz3068/Circuit-ImpressionEffect) |
| 46 | +- [[Android] 일회성 이벤트를 StateFlow, Compose의 State로 처리할 때 주의해야할 점](https://velog.io/@mraz3068/Handle-One-Time-Event-As-State) |
| 47 | +- [Jetpack Compose에서 CameraX + MLKit으로 OCR을 구현해보자](https://velog.io/@syoon513/Jetpack-Compose%EC%97%90%EC%84%9C-CameraX-MLKit%EC%9C%BC%EB%A1%9C-OCR%EC%9D%84-%EA%B5%AC%ED%98%84%ED%95%B4%EB%B3%B4%EC%9E%90) |
41 | 48 | - [Circuit 찍먹해보기(부제: Circuit 희망편)](https://speakerdeck.com/easyhooon/circuit-jjigmeoghaebogi-buje-circuit-hyimangpyeon) |
42 | 49 | - [Circuit 찍먹해보기(부제: Circuit 절망편)](https://speakerdeck.com/easyhooon/circuit-jjigmeoghaebogi-buje-circuit-jeolmangpyeon) |
43 | | -- [Jetpack Compose에서 CameraX + MLKit으로 OCR을 구현해보자](https://velog.io/@syoon513/Jetpack-Compose%EC%97%90%EC%84%9C-CameraX-MLKit%EC%9C%BC%EB%A1%9C-OCR%EC%9D%84-%EA%B5%AC%ED%98%84%ED%95%B4%EB%B3%B4%EC%9E%90) |
44 | | -- [[Android] 일회성 이벤트를 StateFlow, Compose의 State로 처리할 때 주의해야할 점](https://velog.io/@mraz3068/Handle-One-Time-Event-As-State) |
45 | 50 | - [Circuit Navigation 사용 시 feature 모듈간의 참조는 어떻게 해결했을까?](https://velog.io/@syoon513/Circuit-Navigation-%EC%82%AC%EC%9A%A9-%EC%8B%9C-feature-%EB%AA%A8%EB%93%88%EA%B0%84-%EC%88%9C%ED%99%98-%EC%B0%B8%EC%A1%B0%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%B4%EA%B2%B0%ED%96%88%EC%9D%84%EA%B9%8C) |
46 | | -- [Coroutine 에러 처리 패턴: 여러 API 호출을 한 번에 성공/실패 판정하기](https://velog.io/@syoon513/Coroutine-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC) |
47 | | -- [[Circuit] ImpressionEffect](https://velog.io/@mraz3068/Circuit-ImpressionEffect) |
48 | | -- [Coroutine CancellationException 따로 처리해야하는 케이스](https://velog.io/@mraz3068/Coroutine-CancellationException-UseCase) |
| 51 | +- [[Compose] M3 ModalBottomSheet 드래그(터치 이벤트) 막는 법](https://velog.io/@mraz3068/Compose-M3-ModalBottomSheet-Drag-Disabled) |
| 52 | + |
49 | 53 |
|
50 | 54 | ## Development |
51 | 55 |
|
|
55 | 59 | - JDK : Java 17을 실행할 수 있는 JDK |
56 | 60 | - (권장) Android Studio 설치 시 Embedded 된 JDK (Open JDK) |
57 | 61 | - Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM) |
58 | | -- Kotlin Language : 2.2.0 |
| 62 | +- Kotlin Language : 2.2.21 |
59 | 63 |
|
60 | 64 | ### Language |
61 | 65 |
|
|
76 | 80 | - Material3 |
77 | 81 |
|
78 | 82 | - [Circuit](https://github.com/slackhq/circuit) |
79 | | -- ~~Google ML Kit~~ Google Cloud Vision |
80 | | -- ~~Dagger Hilt~~ Metro |
| 83 | +- ~~Google ML Kit~~ -> [Google Cloud Vision](https://cloud.google.com/vision) |
| 84 | +- ~~Dagger Hilt~~ -> [Metro](https://github.com/ZacSweers/metro) |
81 | 85 | - Retrofit, OkHttp3 |
82 | 86 | - Lottie-Compose |
83 | 87 | - Firebase(Analytics, Crashlytics, Remote Config) |
|
0 commit comments