일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Android Room
- 이진 탐색
- Coroutine Flow
- 1753 파이썬
- 투포인터 알고리즘
- 1003 파이썬
- 5582 DP
- 안드로이드 hilt
- 6588 파이썬
- 백준 1644
- 1806 백준
- Jetpack Room
- 10819 파이썬
- android hilt
- 2096 파이썬
- Android mvp
- 1806 파이썬
- git local remote
- flow buffering
- 1753 다익스트라
- 5582 파이썬
- 코루틴 플로우
- java
- 1644 파이썬
- 자바
- 1806 투포인터
- 백준 5582
- 백준 10819
- 백준 2096
- 자료구조
- Today
- Total
목록전체 글 (101)
Gemstone's Devlog
Async 게으르게 사용하기 async 키워드를 사용하는 순간 코드 블록이 수행을 준비하는데, async(start = CoroutineStart.LAZY)로 인자를 전달하면 우리가 원하는 순간 수행을 준비하게 할 수 있습니다. 이후 start 메서드를 이용해 수행을 준비하게 할 수 있습니다. import kotlin.random.Random import kotlin.system.* import kotlinx.coroutines.* suspend fun getRandom1(): Int { delay(1000L) return Random.nextInt(0, 500) } suspend fun getRandom2(): Int { delay(1000L) return Random.nextInt(0, 500) } ..
코루틴 빌더 launch는 Job 객체를 반환하고, 이를 통해 종료가 될 때까지 기다릴 수 있습니다. 바로 join() 함수를 사용! import kotlinx.coroutines.* suspend fun doOneTwoThree() = coroutineScope { val job = launch { println("launch1: ${Thread.currentThread().name}") delay(1000L) // suspension point println("3!") } job.join() // join은 기다리게 하는 것. // suspension point // 원래는 delay(1000L) 호출되면 양보를 해야하는데 // join이 있기때문에 기다리게 된다. // 순서를 잡은 것이지 바로 수행..
https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-%EA%B9%83%ED%97%99-PRPull-Request-%EB%B3%B4%EB%82%B4%EB%8A%94-%EB%B0%A9%EB%B2%95-folk-issue [GIT] ⚡️ 깃헙 Pull Request 보내는 방법 - 알기 쉽게 정리 코드 기여 원리 (Fork 와 Pull Request (PR)) 다음과 같이 Gildong와 Minji 라는 깃헙 리포지토리가 있다고 하자. 이때 Minji가 GIldong 개발자의 프로젝트가 마음에 들어, 같이 프로젝트에 참여해 기여자(Cont.. inpa.tistory.com 해당 블로그에 잘 정리가 되어있다.
Coroutine의 Flow는 데이터 스트림이며, 코루틴 상에서 리액티브 프로그래밍을 지원하기 위한 구성요소이다. 이를 이해하기 위해서는 먼저 리액티브(반응형) 프로그래밍이 무엇인지, 그리고 Flow가 리액티브 프로그래밍에 대응하여 어떠한 역할을 하는지를 알아야 한다. 시작하기에 앞서 다음의 영상이 Coroutine Flow를 이해하는데에 도움이 많이 되었다. 비유와 예시가 적절하고 구글 안드로이드 개발자분들께서 자세히 설명해주신다. https://youtu.be/fSB6_KE95bU 리액티브 프로그래밍이란? 리액티브 프로그래밍이란 데이터가 변경 될 때 이벤트를 발생시켜서 데이터를 계속해서 전달하도록 하는 프로그래밍 방식을 뜻한다. 기존 명령형 프로그래밍에서는 데이터의 소비자는 데이터를 요청한 후 받은 ..
명령형 프로그래밍은 컴퓨터에게 무엇을 하라고 명령하는 것이다. 예를 들어 1, 2, 3을 출력하는 명령형 프로그램을 만든다고 해보자. println("count : 1") println("count : 2") println("count : 3") 반응형 프로그래밍은 어떨까? (처음엔 이해하기 힘들 수도 있다.) 먼저 PublishSubject를 이용한 데이터 발행자(Publisher)를 만든다. 우선은 자세히 알필요는 없고, 그냥 PublishSubject가 자신을 구독하는 구독자에게 변수를 발행(Publish)한다는 것만 알면 된다. val publisher: PublishSubject = PublishSubject.create() publisher 라고 명명된 변수는 자신을 구독하는 구독자에게 값을 ..
이번에 새롭게 방학용(?) 포트폴리오를 위한 앱 프로젝트를 진행하기 전 팀원이랑 회의를 하던 도중.. 지금까지 거의 솔플 + 팀플한다해도 Git 제대로 사용안하면서 요상하게 개발하던 내가 Git에 대해 얼마나 무지한지 잘 알게 되었다. 오늘 하루종일 Git에 대해 다시 개념정리 및 공부하고, source tree라는 툴의 사용법 또한 익혔다. 공부를 하다 보니 git flow 전략이라는 게 있다고 하는데, 궁금해서 찾아보았다. https://techblog.woowahan.com/2553/ 우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그 {{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사..
https://developer.android.com/codelabs/android-navigation Jetpack Navigation | Android 개발자 | Android Developers 이 Codelab에서는 Android 앱의 일반적인 탐색 요건을 구현하는 방법을 알아봅니다. 탐색 구성요소는 프래그먼트 트랜잭션, 업/백 스택, 탐색 창과 같은 탐색 UI 패턴, 딥 링크 등을 처리합니다. 새 유 developer.android.com 조금 더 공부를 해서 정리해야겠다. Navigation을 쓰니 굉장히 편한 것 같다.
https://jwprogramming.tistory.com/13 Semaphore란? 세마포어와 뮤텍스의 차이는? Deadlock에 이어, Semaphore와 mutex에 대해 설명하고자 합니다. - 프로세스 간 메시지를 전송하거나, 공유메모리를 통해 특정 데이터를 공유하게 되는 경우 문제가 발생할 수 있습니다. 즉, 공유된 자 jwprogramming.tistory.com
https://junyoung-developer.tistory.com/175 [Android] Moshi를 이용한 Retrofit2 통신 최근 프로젝트를 하면서 서버와 통신하는 작업을 하게 되었습니다. 그래서 기존에 사용하던 Retrofit2와 GSON으로 작업을 진행하려고 했다가, 새롭게 사용할 라이브러리가 있을까하고 찾아보게 되 junyoung-developer.tistory.com https://github.com/square/moshi GitHub - square/moshi: A modern JSON library for Kotlin and Java. A modern JSON library for Kotlin and Java. Contribute to square/moshi development ..
https://developer.android.com/topic/libraries/architecture/paging/v3-overview?hl=ko 페이징 라이브러리 개요 | Android 개발자 | Android Developers 페이징 라이브러리 개요 Android Jetpack의 구성요소 페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다. developer.android.com Paging 라이브러리 핵심 구성요소 PagingSource : 특정 페이지 쿼리의 데이터 청크를 로드하는 기본 클래스. 데이터 레이어의 일부이며 일반적으로 DataSource클래스에서 노출되고 이후에 ViewModel에서 사용하기 위해 Rep..