일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Compose
- mockito
- 디자인패턴
- k8s
- theming
- 글또
- 자바
- ReactiveProgramming
- 코루틴
- 알게되는
- g 단위테스트
- 테스트
- 책
- 병렬프로그래밍
- 회고
- Gradle
- Rxjava
- Coroutine
- 스레드
- 커스텀상태
- kotlin강좌
- 코틀린
- 안드로이드강좌
- 병럴프로그래밍
- 안드로이드
- viewmodel
- Kotlin
- 알고리즘
- 안드로이드스튜디오
- android
- Today
- Total
목록일상 (61)
선생님, 개발을 잘하고 싶어요.
총점 3/5 총평 위대한 것은 개인의 작고 위대한 생각에서 부터 시작된다. 컴퓨팅 세상에서 가장 위대한 운영체제의 개발 역사를 잘 보여주는 책이다. 재밌는 사실 벨연구소는 AT&T가 전국적인 전화 시스템을 제공하며 마주한 문제를 체계적으로 다루기 위해서 설립되었다. 벨연구소에서 트랜지스터가 발명되었다. 초기의 운영체제는 다수의 분산된 사용자에게 하나의 컴퓨터를 나눠 사용하게 만들기 위한 수단이었다. 최초 컴퓨터가 얼마나 비쌋는지는 유명하다. 유닉스 처음은 켄 톰프슨이 벨연구소에 있던 PDP-7을 위한 1000줄짜리 단일 사용자용 OS 커널부터 시작이었다. 이 코드는 3주만에 작성되었다. 켄 톰프슨은 구글에서 Go 언어를 개발했다. core dump는 초기 컴퓨터의 주기억장치가 자기 코어 장치였던 점에서 ..
총점 5/5 총평 위대한 제품을 만들고자 하는 욕망으로 똘똘 뭉친 기밀한 조직의 숨 막히는 마라톤을 보았다. 책을 읽으며 알게된 재밌는 사실들 안드로이드는 카메라를 위한 운영체제를 만들고 싶어서 시작한 프로젝트다. 구글에 투자를 받으러 갔다가 인수당했다. 구글은 안드로이드 팀을 인수한 이후에 자본과 기술력을 제공하면서도 큰 회사의 일부로 두지 않고 작은 스타트업의 자율성을 그대로 보장했다. 구글에 인수됐을 때 안드로이드 팀은 총 8명이고 그중 절반만 코드를 건드리고 있었다. 자바를 사용하기로 결정하고보니 런타임이 필요했다. 성능과 공간에 모두 이득을 얻고자 달빅런타임을 만들었다. 초창기 모바일기기에는 GPU가 없었다. GPU를 모방하는 소프트웨어 계층인 PixelFlinger를 설계했다. 나중에는 GPU..
러스트 왜 시작했나 안드로이드 개발자로 커리어를 쌓으며 항상 한 쪽에 불안감을 가지고 있다. 내가 지금까지 쌓은 커리어와 지식이 특정 플랫폼에만 종속되는 것은 아닐지, 소프트웨어 개발이라는 커다란 판에서 일회용 코더가 되는 것은 아닐지 하는 불안이다. 러스트는 이런 불안을 해소하기 위해 내가 찾은 공부 거리 중 하나였다. 예전에 웹 프론트 개발하는 친구에게 러스트라는 언어를 들었었고 C와 비슷한 런타임 성능을 내는 낮은 수준의 언어라는 내용이라 흥미를 자극했다. 지난 추석 시간이 남아서 러스트에 대해 본격적으로 알아보기 시작했는데 조금만 검색해봐도 양질의 학습 자료를 찾을 수 있었고, 이 언어는 공부할 만하겠다고 생각했다. 뭐가 재밌나 그리고 실제로 러스트에 다이브했다. 거의 3주 정도 시간을 들여서 러..
4장 - 좋은 단위 테스트의 4대 요소 다루는 내용 좋은 단위 테스트의 관점 간 차이점 모색 이상적인 테스트 정의 테스트 피라미드 이해 블랙박스 테스트 및 화이트박스 테스트 사용 가치 있는 테스트를 작성하기 위해서는 가치 있는 테스트를 식별할 줄 알아야 한다. 이 장에선 그 방법을 알아본다. 4.1 좋은 단위 테스트의 4대 요소 자세히 살펴보기 총 네 가지 특성이 있다. 회귀 방지 리팩터링 내성 빠른 피드백 유지 보수성 4.1.1 첫 번째 요소: 회귀 방지 회귀: 코드를 수정한 후 기능이 의도한 대로 작동하지 않는 경우(소프트웨어 버그) 회귀 방지 차원에서 가치있는 테스트란 다음 사항을 고려해야 한다. 테스트 중에 실행되는 코드의 양 (많을 수록 회귀 방지 가능성 ⤴️) 코드 복잡도 (단순한 코드는 실수..