일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- android
- 쿠링
- Rxjava
- Python
- activity
- relay
- AWS
- Kotlin
- MyVoca
- Coroutine
- 암호학
- 코루틴
- textfield
- Coroutines
- Hilt
- 코드포스
- Codeforces
- Compose
- 백준
- livedata
- androidStudio
- architecture
- TEST
- Gradle
- 프로그래머스
- MiTweet
- ProGuard
- pandas
- GitHub
- boj
- Today
- Total
목록분류 전체보기 (379)
이동식 저장소
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bHBITn/btrKQigS19n/hw9pDf7XmkhR8L9kLeXqGk/img.png)
Hilt module은 Dagger의 module에 ``@InstallIn`` 어노테이션을 추가한 형태이다. 잠깐 복습: ``@InstallIn`` 어노테이션을 사용하면 module을 어느 component에 설치할 지, 즉 해당 module에 정의된 의존성을 어느 범위에서 사용할 수 있는지 지정할 수 있다. ``@InstallIn`` 모듈에 ``@InstallIn`` 어노테이션을 붙일 수 있다. Hilt를 사용할 때는 모든 module에 ``@InstallIn``을 붙여야 한다. ``@InstallIn``이 없는 모듈은 어떠한 Hilt component에도 속하지 않고, 어쩌면 컴파일 에러가 날 수도 있다. 모듈을 ``SingletonComponent``에 설치하는 예시이다. @Module @Insta..
Hilt는 Jetpack ViewModel을 생성자 주입할 수 있다. 생성자 주입이란 생성자에 ``@Inject`` 키워드를 붙이는 방식이다. @HiltViewModel class MainScreenViewModel @Inject constructor( private val someData: Data ) : ViewModel() { /* ... */} 이제 ``@AndroidEntryPoint`` 어노테이션이 붙은 클래스에서 ViewModel 객체를 얻을 수 있다. ``by viewModels()`` 구문이 많이 사용된다. KTX(KoTlin eXtension) 구문 중 하나이다. 기차 아님. @AndroidEntryPoint class MyActivity : AppCompatActivity() { pr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c6miXR/btrKMGIHuJJ/QoYkAlPACEkK21jfCVwgT0/img.jpg)
ㅋㅋㅋ 지난주에 10년만의 가족 여행을 다녀왔다. 운전 빼고 모든 게 완벽했던 이틀이었다. 근데 속초~서울 4시간은 좀..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kQRHQ/btrKi7GzlMc/FBY2ah1h1v0rK27sbVwHXk/img.png)
오래 전부터 알고만 있던 문제. 3653번: 영화 수집 각 테스트 케이스에 대해서 한 줄에 m개의 정수를 출력해야 한다. i번째 출력하는 수는 i번째로 영화를 볼 때 그 영화의 위에 있었던 DVD의 개수이다. 상근이는 매번 영화를 볼 때마다 본 영화 DVD www.acmicpc.net 영화의 위치를 추적하는 문제이다. $N$과 $M$이 각각 최대 10만이므로 로그 시간 안에 위치를 찾고 업데이트해야 한다. 쿼리를 로그 시간에 수행하는 방법은 여러 가지이지만, 알고 있는 모든 방법을 검토해 보니 세그먼트 트리가 적당해 보인다. 그 중에서도 합 세그먼트 트리를 써 보자. 트리에 무엇을 저장할까? 위치를 직접 저장할 수는 없고, 특정 위치에 DVD가 있는지 저장하면 될 것 같다. 이렇게 하면 특정 DVD 앞에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxZae9/btrJSLTx8PT/yO8nvYyX00fmiKOA1mFDZ0/img.png)
플래티넘 재활중. 물론 쉽지 않다... 13141번: Ignition 첫 번째 줄에는 그래프의 정점의 수 N과 간선의 수 M이 주어진다. (2 ≤ N ≤ 200, N-1 ≤ M ≤ 20,000) 두 번째 줄부터 M개의 줄에는 각 간선의 시작점 S, 끝점 E, 길이 L이 주어진다. (1 ≤ L ≤ 100) 시작점 www.acmicpc.net 정점 중 하나에 불을 붙여 그래프를 태울 때, 그래프가 다 타는 시간의 최솟값을 구해야 한다. 일단 지문에서 파악할 수 있는 내용은 그래프가 다 타는 최소 시간을 구하기만 하면 된다. 불은 1초에 거리 1씩 간선을 태운다. 간선의 양 끝에 불이 붙는 경우, 불이 간선의 어느 지점에서 만날 때 불이 꺼진다. 불이 정점에 도달하면 정점에 연결된 모든 정점에 즉시 불이 붙는..