일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Rxjava
- 안드로이드스튜디오
- Kotlin
- 자바
- 안드로이드
- 병럴프로그래밍
- Coroutine
- 테스트
- 안드로이드강좌
- 알고리즘
- 스레드
- k8s
- 회고
- viewmodel
- theming
- ReactiveProgramming
- 글또
- 커스텀상태
- 알게되는
- 병렬프로그래밍
- android
- 코틀린
- g 단위테스트
- 책
- 코루틴
- mockito
- 디자인패턴
- Gradle
- kotlin강좌
- Compose
- Today
- Total
목록분류 전체보기 (154)
선생님, 개발을 잘하고 싶어요.
총점 5/5 총평 위대한 제품을 만들고자 하는 욕망으로 똘똘 뭉친 기밀한 조직의 숨 막히는 마라톤을 보았다. 책을 읽으며 알게된 재밌는 사실들 안드로이드는 카메라를 위한 운영체제를 만들고 싶어서 시작한 프로젝트다. 구글에 투자를 받으러 갔다가 인수당했다. 구글은 안드로이드 팀을 인수한 이후에 자본과 기술력을 제공하면서도 큰 회사의 일부로 두지 않고 작은 스타트업의 자율성을 그대로 보장했다. 구글에 인수됐을 때 안드로이드 팀은 총 8명이고 그중 절반만 코드를 건드리고 있었다. 자바를 사용하기로 결정하고보니 런타임이 필요했다. 성능과 공간에 모두 이득을 얻고자 달빅런타임을 만들었다. 초창기 모바일기기에는 GPU가 없었다. GPU를 모방하는 소프트웨어 계층인 PixelFlinger를 설계했다. 나중에는 GPU..
Composable의 라이프사이클은 Activity 라이프사이클에 비하면 무척 간단하다. 총 세 단계만 기억하면 된다. Enter the Composition Composable 함수가 Composition 트리에 추가되는 순간이다. 즉, 최초로 Composable 함수가 호출되는 순간이다. Recompose 0 or more times 그러진 Composable에 State가 변경되면 UI를 다시 그려야 한다. 즉, 새로운 파라미터로 Composable 함수가 호출되는 순간이다. Leave the Composition Composable 함수가 Composition 트리에서 제거되는 순간이다. Lifecycle 확인하기 아래 코드로 설명한 Composable 각 라이프사이클 단계에 로그를 심을 수 있다..
러스트 왜 시작했나 안드로이드 개발자로 커리어를 쌓으며 항상 한 쪽에 불안감을 가지고 있다. 내가 지금까지 쌓은 커리어와 지식이 특정 플랫폼에만 종속되는 것은 아닐지, 소프트웨어 개발이라는 커다란 판에서 일회용 코더가 되는 것은 아닐지 하는 불안이다. 러스트는 이런 불안을 해소하기 위해 내가 찾은 공부 거리 중 하나였다. 예전에 웹 프론트 개발하는 친구에게 러스트라는 언어를 들었었고 C와 비슷한 런타임 성능을 내는 낮은 수준의 언어라는 내용이라 흥미를 자극했다. 지난 추석 시간이 남아서 러스트에 대해 본격적으로 알아보기 시작했는데 조금만 검색해봐도 양질의 학습 자료를 찾을 수 있었고, 이 언어는 공부할 만하겠다고 생각했다. 뭐가 재밌나 그리고 실제로 러스트에 다이브했다. 거의 3주 정도 시간을 들여서 러..
이전 포스트 그래들 기본 컨셉의 이해 후속 포스팅입니다. 이번 포스팅을 잘 따라오려면 다음과 같은 걸 알고있으면 좋습니다. 그래들 프로젝트, 빌드 스크립트, 테스크, 플러그인에 대한 이해 자바 프로그램 컴파일에 대한 아주 최소한의 지식 이번 포스팅을 읽으면 좋은 대상은 다음과 같습니다. 자바 프로젝트 생성하는데 ide의 도움 없이는 만들지 못하는 사람 이제 자바 애플리케이션 직접 만들며 각 컨셉이 어떻게 사용되는지 확인해봅시다. 그래들 프로젝트 준비하기 우선 그래들 프로젝트를 초기화합니다. mkdir gradle-java-project # 폴더 생성 cd gradle-java-project # 폴더로 이동 gradle init # gradle project 생성 그래들 init 옵션은 전부 기본 값으로 ..