일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이진 탐색
- flow buffering
- 자료구조
- 백준 1644
- Coroutine Flow
- 1644 파이썬
- git local remote
- 1753 다익스트라
- Android Room
- 1806 백준
- 자바
- android hilt
- 6588 파이썬
- 1003 파이썬
- 1806 파이썬
- 투포인터 알고리즘
- 백준 5582
- 10819 파이썬
- 백준 10819
- 백준 2096
- 안드로이드 hilt
- 2096 파이썬
- java
- 5582 DP
- 코루틴 플로우
- 1806 투포인터
- 5582 파이썬
- 1753 파이썬
- Jetpack Room
- Android mvp
- Today
- Total
목록전체 글 (101)
Gemstone's Devlog
https://velog.io/@wonseok
https://kotlinworld.com/292 [GitHub] Branch Protection Rule 적용해 브랜치 보호하기 Branch를 보호하는 것이 중요한 이유 협업을 할 때 Rule이 없으면 각자 자신의 방식으로 일을 하게 되기 때문에 뒤죽박죽이 된다. 만약 인원이 적다면 별 문제가 되지 않지만, 실무에서는 적게는 3 kotlinworld.com
Local에서 브랜치 항목을 살펴보기 위해서는 터미널에서 $ git branch 이렇게 git branch 를 입력하면 로컬의 branch들을 확인 가능하고, Remote 브랜치 항목들을 살펴보기 위해서는 $ git branch -r 이렇게 git branch -r을 입력하면 원격 저장소의 branch 들을 확인할 수 있다. 간혹 프로젝트를 하다보면 remote 저장소에 추가되거나 삭제된 브랜치가 내 로컬에 적용이 안될 때가 있다. 특히 삭제가 그러하다. 간혹 이렇게 로컬에서 삭제된 브랜치(haru/july_2nd/permission_pop-up)가 remote에는 적용되지 않음을 볼 수 있는데 참고할 점은 로컬에서 git branch -r 로 보이는 remote branch 목록들은 실제 remote ..
https://aroundck.tistory.com/6529 [git] Git Prune 에 대해 알아보자 [git] Git Prune 에 대해 알아보자 https://www.atlassian.com/git/tutorials/git-prune - git pull (fetch) 과정에서 ref lock 에러를 마딱뜨렸는데, 이 때 해결방법중 하나가 'git remote prune origin' 을 수행.. aroundck.tistory.com 가끔 소스트리로 git pull (fetch) 하는 과정에서 ref lock 에러를 위 블로그의 글쓴이처럼 자주 맞닥뜨렸었다. 이번에 다음의 명령어로 간단하게 해결했었는데 $ git remote prune origin 이것의 정체를 알아보고자 한다. git prune..
MVP 패턴이란? Model View Presenter 패턴은 MVC(Model View Controller) 패턴을 기반으로 하는 아키텍처 패턴으로 관심사의 분리를 높이고 단위 테스트를 용이하게 합니다. 요약 : MVC 패턴에서 View와 Model의 의존성을 없애고 단위 테스트가 어려웠던 문제점을 해결하기 위해 등장하게 된 패턴이라고 할 수 있습니다. Model 앱에 사용되는 데이터를 관리 담당하는 역할을 한다. 흔히 '비즈니스 로직'이라고 부르는 부분입니다. 모델에는 Network API, 데이터 캐싱, 데이터베이스 등이 포함되고, Repository Pattern을 사용하는 경우 Repository도 포함됩니다. View 사용자 인터페이스 영역이며, Activity, Fragment 등이 포함되고..
Sealed Class https://kotlinlang.org/docs/sealed-classes.html Sealed classes | Kotlin kotlinlang.org https://codechacha.com/ko/kotlin-sealed-classes/ Kotlin - Sealed class 구현 방법 및 예제 Sealed class는 Super class를 상속받는 Child 클래스의 종류 제한하는 특성을 갖고 있는 클래스입니다. Enum과의 차이점은 Enum은 single instance만 만들 수 있는 반면에 Sealed class는 여러개의 객체를 생성할 codechacha.com Generics Class https://kotlinlang.org/docs/generics.html#u..
운영체제 공부할 때 race condition과 비슷한 내용인 것 같다. 여러 쓰레드가 공유된 변수를 동시에 접근해서 프로세스를 진행할 때 race condition이 발생하게 되는데 코틀린에서도 다음과 같이 공유 변수 counter를 AtomicInteger로 선언해두면 이를 방지할 수가 있다.
https://kotlinlang.org/docs/flow.html#conflation Asynchronous Flow | Kotlin kotlinlang.org 위 공식 사이트에서 flow에 대해서 더욱 자세히 공부하다가 Buffering에 대해 정리하려고 한다. 내가 이해한 바로는 Flow는 cold이기 때문에 collect를 호출해야만 데이터 스트림이 방출되고, 처음에 buffer를 등록해두고 collect를 통해 flow 데이터를 수집하기 시작할 때, 처음 emit에서 100ms가 걸리고, 처음 프로세스에서 300ms 가 소요되는 동안 emit(2)와 emit(3)의 결과가 buffer에 저장되고, 처음 프로세스가 끝나면 두번 째, 세번째 프로세스는 buffer에 저장된 emit된 결과를 가져오기..
https://developer.android.com/training/data-storage/room?hl=ko Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android 개발자 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기 developer.android.com
callbackFlow is a flow builder that lets you convert callback-based APIs into flows. As an example, the Firebase Firestore Android APIs use callbacks. To convert these APIs to flows and listen for Firestore database updates, you could use the following code: class FirestoreUserEventsDataSource( private val firestore: FirebaseFirestore ) { // Method to get user events from the Firestore database ..