일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Coroutines
- androidStudio
- AWS
- 프로그래머스
- Hilt
- 암호학
- 쿠링
- MiTweet
- 백준
- livedata
- activity
- Kotlin
- TEST
- boj
- 코루틴
- architecture
- android
- 코드포스
- textfield
- ProGuard
- Coroutine
- Compose
- Rxjava
- pandas
- MyVoca
- Gradle
- Codeforces
- Python
- GitHub
- relay
- Today
- Total
목록분류 전체보기 (379)
이동식 저장소
현재 Canary 5 버전인 Giraffe의 신기능을 정리해 보자. UI 대격변 Android Studio에서도 IntelliJ의 새로운 UI를 사용할 수 있다. 오.. 이게 뭐지? VSCode 스타일의 깔끔한 UI이다. Settings - Apperaance & Behavior에서 적용할 수 있다. 자세한 내용은 IntelliJ 공식 문서를 참고하자. 그런데 아직은 버그가 적지 않은 듯하다. Gradle 파일에서 Sync Project 툴바가 뜨지 않는 등 사용하는 데 불편함이 있을 것 같아 나중에 안정화되면 사용해 보자. 더 많은 Compose Animation Preview Compose의 애니메이션 API 중 기존에는 ``updateTransition``과 ``AnimatedVisibility``..
왠지 반도체 가격이 바닥인 것 같아서, 이참에 램을 증설하기로 했다. 이미 8GB 램 2개를 쓰고 있는데, 2개를 더 사서 8GB 4개를 사용하는 것이다. 32GB면 최소 5년은 버틸 수 있겠지. 웬 초콜릿? 초콜릿 아니고 램이다. 제조사는 믿고 쓰는 삼성전자. 원래 쓰던 램은 하이닉스(정확히는 에센코어) 제품인데, 오히려 에센코어가 더 비싸서 삼성전자 램을 사기로 했다. 쨘~ 이렇게 꽂아주면 된다. 그런데 접촉이 제대로 안 된 건지 자꾸 에러가.. 사진의 빨간색 불은 DRAM 부분에 문제가 있음을 나타내는 표시이다. 어찌어찌 뺐다 끼웠다 하다 보니 정상적으로 인식됐다. 말은 이렇게 해도 무려 3시간이나 씨름했다는 사실.. 중간에 저녁을 먹긴 했지만.. 캬 32기가~ 안드로이드 스튜디오를 2개나 띄워도 ..
RxJava에는 ``Single``이라는 특수한 형태의 Observable이 구현되어 있다. Single은 Observable과 비슷하지만, 값을 단 한 번만 emit한다는 결정적인 차이점이 있다. 그래서 ``onNext``, ``onError``, ``onCompleted`` 3개의 매개변수를 받아들이는 Observable과 달리 ``onSuccess``, ``onError`` 2개만 있으면 된다. 저 함수들이 무슨 일을 하는지는 설명하지 않아도 될 것이다. 끝! 연산자 쪽은 안 봐도 될 것 같다.
Disclaimer: 이 글에서는 원문의 느낌을 살리기 위해 일부 용어를 원문 그대로 사용한다. Rx에서는 observer가 Observable을 subscribe한다. Observer는 Observable이 emit하는 값을 처리한다. Observer 패턴은 특히 비동기 작업에서 유용하다. 데이터가 언제 주어질 지 모르고, 몇 개나 주어질 지도 모르는 상황에서 스레드를 무작정 block해놓고 기다릴 수는 없다. 따라서 작업을 호출할 때 주어진 데이터에 대해 수행할 작업을 지정해놓기만 하고(subscribe), 실제 작업은 데이터가 주어진 시점에 수행하면 된다. Rx에서는 이 패턴을 reactive pattern이라고 부른다. 이미지 한 장으로 보면 다음과 같다. 장황하게 적긴 했지만, Kotlin의 `..
ReactiveX는 비동기, 이벤트 기반 코드를 작성할 수 있게 하는 라이브러리이다. Java 시절에 많이 사용하던 RxJava가 유명하지만, 사실 웬만한 언어는 다 지원한다. ReactiveX(이하 Rx)는 기본적으로 데이터(Observable)를 관찰(observe)하고 처리하는 함수(observer)를 선언하는 observer 패턴을 사용한다. 마치 ``Iterable``의 데이터를 for문에서 하나씩 읽어 처리하듯이, Observable에서 주어지는 데이터를 observer가 읽고 처리한다. 개념 자체는 Kotlin의 ``Flow``와 매우 유사하다. Kotlin 등장 이전에 Rx를 사용하지 않던 기업이 있었을까? 라는 질문이 나올 정도로 RxJava는 유명한 라이브러리였고, 지금도 그렇다. 멀쩡..