일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 큐 자바 코드
- 안드로이드 os 구조
- android retrofit login
- 스택 자바 코드
- ar vr 차이
- rxjava cold observable
- ANR이란
- 멤버변수
- 안드로이드 레트로핏 crud
- 객체
- 클래스
- rxjava disposable
- 플러터 설치 2022
- Rxjava Observable
- 2022 플러터 설치
- jvm이란
- android ar 개발
- 안드로이드 라이선스
- 안드로이드 유닛테스트란
- 안드로이드 유닛 테스트 예시
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛 테스트
- 서비스 vs 쓰레드
- 서비스 쓰레드 차이
- jvm 작동 원리
- 안드로이드 라이선스 종류
- 스택 큐 차이
- 자바 다형성
- rxjava hot observable
- 안드로이드 레트로핏 사용법
- Today
- Total
목록개인 공부 (108)
나만을 위한 블로그
이 에러가 표시되더라도 VS code나 에뮬레이터에서 작동하는 데는 문제가 없다. 그러나 노란색으로 상단에 계속 표시되기 때문에 거슬려서 해결 방법을 찾아봤다. 내 경우 File > Project Structure > modules 클릭 > 빨간 줄이 표시되는 폴더 클릭 > module sdk가 Android 29로 설정된 걸 33으로 바꾸니 해결됐다. 이 방법 전에는 Settings > Language & Frameworks > Android SDK 클릭 후 29가 설치되어 있지 않았어서 설치했고, 그래도 계속 경고가 표시되서 위 방법대로 하니 해결됐다. 참고한 사이트) https://stackoverflow.com/questions/76982304/android-sdk-android-api-29-pl..
record는 Dart 3.0에서 등장했고, 익명이고 불변인 집계(aggregate) 타입이다. 이걸 쓰면 여러 객체를 하나의 객체로 묶을 수 있다. 특징만 보면 컬렉션이 떠오르지만 Dart 공식문서를 보면 레코드와 컬렉션은 별도의 문서로 구분되어 있어서 서로 다른 개념이다. 어떤 것인지 공식문서를 확인해 본다. https://dart.dev/language/records Records Summary of the record data structure in Dart. dart.dev 레코드는 익명의 불변 집계 유형이다. 다른 컬렉션 타입과 마찬가지로 여러 객체를 하나의 객체로 묶을 수 있다. 다른 컬렉션 타입과 달리 레코드는 크기가 고정돼 있고 이질적이며 타입이 지정돼 있다. 레코드는 실제 값이므로 변수..
플러터에선 위젯을 써서 UI를 구현한다. 그리고 이 위젯은 Stateful하거나 Stateless하거나 둘 중 하나의 특징을 갖는다. Stateful, Stateless를 확인하려면 위젯이 뭔지 알아야 이해가 좀 더 쉬울 것 같아 위젯부터 확인한다. https://docs.flutter.dev/ui Building user interfaces with Flutter Introduction to user interface development in Flutter. docs.flutter.dev 플러터 위젯은 리액트에서 영감을 얻은 프레임워크를 써서 제작됐다. 핵심 아이디어는 위젯으로 UI를 구축한다는 것이다. 위젯은 현재 구성, 상태에 따라 뷰가 어떤 모습이어야 하는지 설명한다. 위젯 상태가 바뀌면 위젯은..
이 포스팅은 플러터가 어떤 구조인지 샅샅이 파악하려고 쓰는 게 아니다. 대략적으로 어떻게 만들어져 있는지 알아보는 포스팅이다. 포스팅의 바탕이 되는 사이트는 플러터 공식문서다. 너무 깊은 내용을 다루는 듯하거나 상관없어 보이는 내용은 생략했다. https://docs.flutter.dev/resources/architectural-overview Flutter architectural overview A high-level overview of the architecture of Flutter, including the core principles and concepts that form its design. docs.flutter.dev 플러터는 iOS, 안드로이드 같은 OS에서 코드 재사용을 허용하는..
예전에 synchronized를 주제로 자바 예시 코드를 사용한 포스팅을 작성했었다. https://onlyfor-me-blog.tistory.com/251 [JAVA] 쓰레드의 동기화 (synchronized) 요즘 출시되는 컴퓨터는 대부분이 멀티쓰레드를 지원한다. 말 그대로 쓰레드가 여러 개기 때문에 별도의 처리를 하지 않는 이상 종종 여러 쓰레드가 같은 자원에 액세스하려고 시도하고, 그 결 onlyfor-me-blog.tistory.com 지금 와서 다시 보니 설명이 빈약하고 코틀린으로 동작하는 코드로 다시 써보는 것도 좋겠다 싶어 다시 작성한다. synchronized가 뭔지 알아보기 위해 검색하면 나타나는 키워드가 멀티 쓰레딩, 동시성 프로그래밍이다. 그러면서 프로세스와 쓰레드의 차이, 컨텍스트..
이 포스팅은 아래의 코틀린 공식문서를 바탕으로 작성했다. https://kotlinlang.org/docs/collection-filtering.html Filtering collections | Kotlin kotlinlang.org 필터링은 컬렉션 처리에서 가장 많이 사용되는 작업 중 하나다. 코틀린에서 필터링 조건은 조건자라는 컬렉션 요소를 받아서 Boolean 값을 리턴하는 람다 함수로 정의된다. true가 리턴된다면 주어진 요소가 조건자와 일치한다는 뜻이고 false는 일치하지 않는다는 뜻이다. 코틀린 표준 라이브러리에는 한 번의 호출로 컬렉션을 필터링할 수 있는 확장 함수 그룹이 존재한다. 이 함수들은 기존 컬렉션을 바꾸지 않고 유지하므로 가변 컬렉션, 불변 컬렉션 모두에 적용할 수 있다. 필..
마냥 기능을 작동시키는 코드만 짤 수는 없다. 필요하다면 어떤 클래스, 함수가 무슨 일을 하고 왜 이걸 만들었는지에 대한 주석을 써야 할 수 있다. 주석에 대해 찾다가 이 글까지 본 사람이라면 알겠지만, 코틀린의 주석은 3종류 있다. 한 줄 주석(Line comment) 블록 주석(Block comment) KDoc 주석 이 중에서 KDoc 주석에 대해 정리하려고 한다. 먼저 자바를 공부했던 사람이라면 자바독 주석을 알 텐데, KDoc 주석이 바로 자바독 주석이다. 코틀린이라 앞에 'K'가 붙은 걸 빼면 모든 게 자바독 주석과 일치한다. 하지만 자바를 공부한 적 없고 코틀린부터 시작했다면 아래 공식문서부터 보자. https://kotlinlang.org/docs/kotlin-doc.html Documen..
람다를 공부하면 필연적으로 나오는 개념인 함수형 인터페이스에 대해서 정리한다. 아래는 함수형 인터페이스를 설명하는 코틀린 공식문서다. https://kotlinlang.org/docs/fun-interfaces.html Functional (SAM) interfaces | Kotlin kotlinlang.org 추상 메서드가 하나뿐인 인터페이스를 함수형 인터페이스 또는 SAM(Single Abstract Method) 인터페이스라고 한다. 함수형 인터페이스에는 여러 비추상 멤버가 있을 수 있지만 추상 멤버는 하나만 존재할 수 있다. 코틀린에서 함수형 인터페이스를 선언하려면 fun 키워드를 사용한다 fun interface KRunnable { fun invoke() } 함수형 인터페이스는 람다식을 써서 ..
이 포스팅은 아래 글을 바탕으로 작성했다. https://medium.com/simform-engineering/best-practices-for-error-handling-in-kotlin-37a58cb63293 Best practices for error handling in Kotlin Code confidently with Kotlin medium.com 코틀린에는 null safety, let, 엘비스 연산자, 지연 초기화, "as?" 연산자를 통한 안전한 캐스팅(형 변환)과 여러 오류 처리 기능이 있다. 이제부터 코틀린에서 에러를 처리하는 몇 가지 기술을 나열한다. 코루틴의 예외 코루틴은 실패하면 부모 코루틴에 예외를 전달한다. 그 후 부모 코루틴은 스스로를 취소한다 남아있는 자식 코루틴을 취..
suspendCancellableCoroutine(이하 scc)은 코루틴 라이브러리에 속한 API 중 하나로, 취소 가능한 비동기 연산을 가능하게 하고 어떤 코루틴이 취소되면 연산도 취소되게 하는 기능을 지원한다. 물론 코루틴 자체적으로도 cancel()을 지원하고 있다. 그러나 코루틴의 cancel()을 잘못 사용하게 되면 cancel() 호출 후에도 코루틴이 작동을 멈추지 않고 작동할 수 있다. 이것은 코틀린 공식문서에서도 설명하는 내용이다. https://kotlinlang.org/docs/cancellation-and-timeouts.html#cancellation-is-cooperative Cancellation and timeouts | Kotlin kotlinlang.org (중략)...ko..