일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스택 자바 코드
- 멤버변수
- 객체
- rxjava cold observable
- 서비스 vs 쓰레드
- Rxjava Observable
- 플러터 설치 2022
- 스택 큐 차이
- 자바 다형성
- 안드로이드 유닛 테스트 예시
- 2022 플러터 설치
- 큐 자바 코드
- 2022 플러터 안드로이드 스튜디오
- jvm이란
- jvm 작동 원리
- 안드로이드 레트로핏 사용법
- 클래스
- rxjava disposable
- 안드로이드 레트로핏 crud
- 안드로이드 라이선스 종류
- rxjava hot observable
- android retrofit login
- ar vr 차이
- android ar 개발
- 안드로이드 라이선스
- 안드로이드 유닛 테스트
- 서비스 쓰레드 차이
- ANR이란
- 안드로이드 os 구조
- 안드로이드 유닛테스트란
- Today
- Total
목록분류 전체보기 (1024)
나만을 위한 블로그
단위 테스트를 작성하다 보면 목과 스텁, 페이크, 스파이 중 뭘 선택해서 작성해야 할지 고민될 수 있다.결론부터 보면 테스트의 목적에 따라 뭘 사용할지 달라진다고 할 수 있다. 뭘 목적으로 하는 테스트인가? 먼저 4가지의 정의를 간단하게 각각 정리하면 아래와 같다. 스텁 : 미리 정의된 고정값을 리턴하는 객체. 정의된 값을 리턴하는 것 외에 다른 로직은 포함하지 않음목 : 객체 행동을 시뮬레이션할 때 사용. 행동 기반 검증(몇 번 호출됐는지, 무슨 매개변수로 호출됐는지 등)을 위해 사용페이크 : 실제 시스템과 유사하게 작동하는 가짜 객체. 로직이 포함돼 있어서 스텁과 다른 구현체스파이 : 실제 객체를 감시하며 실제 메서드를 호출하지만 호출 내용을 기록하거나 일부 메서드 동작을 변경할 수 있음 스텁을 사용..

이 포스팅에선 컴포즈에서 마진을 설정하는 방법들을 정리한다. 앱을 만들면 필수적으로 마진, 패딩을 입혀야 하는 경우가 있는데 패딩은 Modifier의 padding()을 사용하면 되지만 마진은 다양한 방법들이 있어서 정리하려고 한다. Modifier.padding() 정확히는 요소 주변에 공간을 추가해서 마진처럼 보이게 하는 방법이다. 내부 컴포넌트와 부모 레이아웃 사이에 공간을 추가한다. @Composablefun Test() { Scaffold( modifier = Modifier.fillMaxSize(), ) { innerPadding -> Column( modifier = Modifier .padding(innerP..

바텀 시트를 만들던 도중 아래처럼 바텀 시트의 내용물들이 시스템 네비게이션 바와 겹쳐서 표시되는 현상이 일어났다. 원인은 간단했다. TextField에서 키보드를 띄우기 위해 키보드 inset을 고려해서 아래처럼 코드를 짰었다. ModalBottomSheet( // ... windowInsets = WindowInsets.ime,) 이렇게 하고 앱을 실행하면 위의 사진처럼 시스템 네비게이션 바와 바텀 시트 안의 내용물이 겹쳐서 표시될 수 있다.해결하려면 아래처럼 수정하면 된다. 바텀 시트 안에서 Column을 사용하기 때문에 아래처럼 수정했음을 참고한다. ModalBottomSheet( // ... windowInsets = WindowInsets.systemBars.only(Wi..

빗 정렬 https://en.wikipedia.org/wiki/Comb_sort Comb sort - WikipediaFrom Wikipedia, the free encyclopedia Interval based sorting algorithm Comb sort is a relatively simple sorting algorithm originally designed by Włodzimierz Dobosiewicz and Artur Borowy in 1980,[1][2] later rediscovered (and given the name "Combsort") byen.wikipedia.org빗 정렬은 비교적 간단한 정렬 알고리즘으로 쉘 정렬이 삽입 정렬을 개선하는 것과 같은 방식으로 버블 정렬을 개선..

ktor.io에서 제공하는 튜토리얼을 바탕으로 작성했다. 프로젝트 생성은 아래 페이지에서 진행한다. https://start.ktor.io/settings Ktor: Project Generator start.ktor.io Ktor 프로젝트를 빠르게 생성하기 위한 페이지다. 여기서 필요한 플러그인들을 선택하고 프로젝트명을 정할 수 있다.유료 인텔리제이를 사용한다면 Ktor 플러그인을 써서 프로젝트를 만들 수 있지만 여기선 무료 버전인 인텔리제이 커뮤니티로 진행한다.우측 상단의 Project artifact 밑에 Configure 버튼이 있는데 이걸 누르면 다른 설정들을 바꿀 수 있다. 각각은 아래와 같다. Build System : Gradle Kotlin, Gradle Groovy, Maven 중 하..

정렬 알고리즘 1에서 힙 정렬을 확인할 때 이진 트리, 우선순위 큐를 알아야 힙을 알 수 있다고 했었다. 이 포스팅에선 우선순위 큐부터 무엇인지 알아보고 코틀린으로 구현한 예시를 확인한다.아래는 우선순위 큐에 대한 영문 위키백과다. https://en.wikipedia.org/wiki/Priority_queue Priority queue - WikipediaFrom Wikipedia, the free encyclopedia Abstract data type in computer science In computer science, a priority queue is an abstract data type similar to a regular queue or stack abstract data type. E..

퀵 정렬 https://en.wikipedia.org/wiki/Quicksort Quicksort - WikipediaFrom Wikipedia, the free encyclopedia Divide and conquer sorting algorithm Quicksort is an efficient, general-purpose sorting algorithm. Quicksort was developed by British computer scientist Tony Hoare in 1959[1] and published in 1961.[2] It is still a comen.wikipedia.org퀵 정렬은 범용 정렬 알고리즘이다. 정렬에 일반적으로 쓰이는 알고리즘이다. 특히 큰 분포의 무작위 데이터에 ..

정렬의 뜻은 이 글을 보는 사람이면 모두 알겠지만 사전적 의미는 아래와 같다. 가지런하게 줄지어 늘어섬 또는 그렇게 늘어서게 함, 데이터를 특정 조건에 따라 일정 순서가 되게 재배열하는 일 규칙 없이 막 늘어놓은 것들을 특정 규칙에 따라 정리한다는 걸로 이해할 수 있겠다. 아래는 정렬 알고리즘에 대한 영문 위키백과의 설명이다. https://en.wikipedia.org/wiki/Sorting_algorithm Sorting algorithm - WikipediaFrom Wikipedia, the free encyclopedia Algorithm that arranges lists in order Merge sort In computer science, a sorting algorithm is an al..
아래는 경쟁 상태를 설명하는 영문 위키백과다. https://en.wikipedia.org/wiki/Race_condition Race condition - WikipediaFrom Wikipedia, the free encyclopedia When a system's behavior depends on timing of uncontrollable events Race condition in a logic circuit. Here, ∆t1 and ∆t2 represent the propagation delays of the logic elements. When the input value A changes from len.wikipedia.org경쟁 조건은 시스템의 실질적인 동작이 제어할 수 없는 다른 ..

이 글은 아래의 미디엄 링크를 번역한 포스팅이다. 2편은 추후 번역한다. https://medium.com/proandroiddev/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62 Loading Initial Data in LaunchedEffect vs. ViewModelWhen initializing or fetching data upon entering a screen, it’s crucial to select the right trigger point for loading the initial data…proandroiddev.com 화면에 들어갔을 때 데이터를 초기화하거나 가져올 경우 초기 데이터를 불러오기 위한 올바른 트리거 ..