일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 유닛테스트란
- 자바 다형성
- 스택 자바 코드
- jvm이란
- android ar 개발
- 안드로이드 유닛 테스트 예시
- 서비스 쓰레드 차이
- 클래스
- 플러터 설치 2022
- ar vr 차이
- rxjava disposable
- 큐 자바 코드
- 객체
- 2022 플러터 안드로이드 스튜디오
- rxjava hot observable
- 스택 큐 차이
- rxjava cold observable
- 안드로이드 유닛 테스트
- 안드로이드 레트로핏 crud
- 서비스 vs 쓰레드
- 멤버변수
- 안드로이드 라이선스 종류
- android retrofit login
- 2022 플러터 설치
- 안드로이드 라이선스
- Rxjava Observable
- 안드로이드 레트로핏 사용법
- jvm 작동 원리
- 안드로이드 os 구조
- ANR이란
- Today
- Total
목록개인 공부 (108)
나만을 위한 블로그
비동기 프로그래밍이 무엇이고 왜 필요한지 모른다면, 잠시 생각해 보자. 비동기라는 건 뭘까? 아주 간단한 예시를 들어 본다. 어떤 식당에 들어갔는데 키오스크 앞에 이미 줄 서 있는 사람들이 5명 정도 있다고 가정한다. 내가 주문하려면 내 앞의 5명이 모두 키오스크를 통해 주문을 완료하고 자기 자리로 돌아가야 한다. 그리고 내 앞의 사람들은 키오스크에서 메뉴를 고른 다음 결제를 해서, 주문완료라는 화면이 표시된 뒤에야 키오스크 앞을 뜰 수 있다. 이 일련의 과정들은 나를 비롯해 내 뒤에 줄을 선 사람들도 공평하게 모두 똑같이 겪어야 하는 일이다. 이것이 동기(synchronous)다. 즉 어떤 요청이 발생하면 시간이 얼마나 걸리든 그 자리에서 결과를 받아야 한다. 만약 내 앞의 누군가가 결정을 빨리 못 하..
캐스케이드 연산자는 .. 연산자를 사용해서 특정 인스턴스의 속성이나 멤버 함수를 연속해서 사용할 수 있게 하는 연산자다. 자바로 치면 빌더 패턴을 통한 메서드 체이닝이 비슷한 형태고, 코틀린이면 apply, run, also 같은 범위 지정 함수가 비슷한 형태다. 공식문서의 캐스케이드 연산자에 대한 설명은 아래와 같다. https://dart.dev/language/operators#cascade-notation Operators Learn about the operators Dart supports. dart.dev 캐스케이드(.., ?..)를 사용하면 같은 객체에 대해 일련의 작업을 수행할 수 있다. 인스턴스 멤버에 접근하는 것 외에도 같은 객체에서 인스턴스 메서드를 호출할 수도 있다. 이렇게 하면 ..
윈도우 환경에서의 설치법은 다른 설치글이나 아래 링크를 참고한다. https://onlyfor-me-blog.tistory.com/401 [React-Native] 윈도우에서 vs code에 리액트 네이티브 개발 환경 설정하는 법 (2022 ver) 수정 내역) 2022.04.13 - 오랜만에 해봤는데 에러 발생해서 구글링으로 해결함. 에뮬레이터와 실기기에서 작동하는 것 확인 후 올림 이 글은 윈도우 기준으로 작성됐으니 주의하자. 이 포스팅을 진 onlyfor-me-blog.tistory.com 맥북에 리액트 네이티브 환경을 처음부터 설정한다면 설치해야 하는 것들은 아래와 같다. Node.js npm yarn java cocoapods 안드로이드 스튜디오 + XCode 하나씩 설치해 보자. 먼저 아래의 ..
예전에 이펙티브 코틀린을 읽으면서 use를 써서 리소스를 닫으라는 내용을 봤었다. https://onlyfor-me-blog.tistory.com/489 [이펙티브 코틀린] 아이템 9. use를 써서 리소스를 닫아라 더 이상 필요하지 않을 때 close()를 써서 명시적으로 닫아야 하는 리소스가 있다. Input/OutputStream java.sql.Connection java.io.Reader(FileReader, BufferedReader, CSSParser) java.new.socket, java.util.Scanner 이런 리소스들 onlyfor-me-blog.tistory.com 요약하면 Input/OutputStream, Scanner 등의 요소들은 더 이상 사용하지 않는다면 close()를..
미디엄을 돌아다니다가 7월 10일에 올라온 포스팅을 발견했다. https://medium.com/teknasyon-engineering/kotlin-enums-replace-values-with-entries-bbc91caffb2a Kotlin Enums — Replace values() With entries Make use of Kotlin 1.9.0 updates to improve performance… engineering.teknasyon.com 이 글의 핵심은 코틀린 1.9.0을 사용할 경우, enum을 쓴다면 value() 대신 entries를 사용하라는 것이다. 진짠가 싶어서 구글링해보니 이것과 관련된 내용의 코틀린 공식문서를 찾았다. https://kotlinlang.org/docs/e..
안드로이드 디벨로퍼 공식문서 중 앱 아키텍처 가이드라는 페이지를 보면 아래와 같은 그림을 제시하고 있다. https://developer.android.com/jetpack/guide?hl=ko 앱 아키텍처 가이드 | Android 개발자 | Android Developers 앱 아키텍처 가이드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드에는 고품질의 강력한 앱을 빌드하기 위한 권장사항 및 권장 아키텍처가 포함 developer.android.com 기본 뼈대는 MVVM이지만 뷰모델과 Model, Remote Data Source 사이에 Repository(저장소)라는 레이어(이하 계층)가 존재한다. MVVM이라면 View, ViewModel, Model 3가..
아래는 내가 참고한 2023 자바 개발자 로드맵이다. javarevisited.blogspot.com/2019/10/the-java-developer-roadmap.html The 2021 Java Developer RoadMap [UPDATED] A blog about Java, Programming, Algorithms, Data Structure, SQL, Linux, Database, Interview questions, and my personal experience. javarevisited.blogspot.com 이 중에서 이번 포스팅의 주제인 스프링에 대해서 기록하고자 한다. Spring은 '봄, 스프링'이란 사전적 의미를 가진 단어다. 왜 이 이름이 붙게 된 걸까? https://stac..
sealed class에 대해선 이전에 data class와 같이 포스팅을 작성한 적이 있다. https://onlyfor-me-blog.tistory.com/454 [Kotlin] 코틀린에서 제공하는 특수 클래스(Data Class, Sealed Class) 코틀린에는 자바와 달리 특수한 클래스가 존재한다. Data Class와 Sealed Class라는 것인데 각각 어떤 것인지 정리한다. Data Class 코틀린 공식 홈페이지에서 설명하는 Data Class는 아래와 같다. https://kotli onlyfor-me-blog.tistory.com 그러나 sealed interface를 사용하게 되면서 sealed 키워드가 겹치는 두 요소에 대해 포스팅을 작성하는 것도 재밌겠다 싶어서 작성한다. s..
Dart에도 당연히 함수는 존재한다. 그러나 사용법이 자바 / 코틀린과 매우 달라서 주의깊게 확인할 필요가 있다. 공식문서부터 쭉 읽어본다. https://dart.dev/language/functions Functions Everything about functions in Dart. dart.dev Dart는 객체지향 언어기 때문에 함수도 객체고 유형이 Function이다. 이는 함수를 변수에 할당하거나 다른 함수에 인수로 전달할 수 있음을 의미한다. 함수처럼 Dart 클래스의 인스턴스를 호출할 수도 있다. 아래는 함수 구현 예시다 bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } 이펙티브 Dart에선 공개 API..
Dart 언어를 공부하다가 mixin이란 키워드가 나왔다. 무슨 뜻인지 공식문서를 확인하니 아래와 같다. https://dart.dev/language/mixins Mixins Learn how to add to features to a class in Dart. dart.dev 믹스인은 여러 클래스 계층 구조에서 클래스 코드를 재사용하는 방법이다. 믹스인을 쓰려면 with 키워드와 하나 이상의 믹스인 이름을 사용하라. 아래 예제는 믹스인을 사용하는 두 클래스다 class Musician extends Performer with Musical { // ··· } class Maestro extends Person with Musical, Aggressive, Demented { Maestro(String..