일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디자인패턴
- 병럴프로그래밍
- 코루틴
- Coroutine
- viewmodel
- k8s
- 안드로이드스튜디오
- Gradle
- 코틀린
- Compose
- 안드로이드
- android
- 안드로이드강좌
- Rxjava
- 글또
- 회고
- g 단위테스트
- ReactiveProgramming
- 알고리즘
- mockito
- 테스트
- Kotlin
- 커스텀상태
- 알게되는
- 책
- kotlin강좌
- 자바
- 병렬프로그래밍
- theming
- 스레드
- Today
- Total
목록일상/책 리뷰 (50)
선생님, 개발을 잘하고 싶어요.

총점 3/5 총평 위대한 것은 개인의 작고 위대한 생각에서 부터 시작된다. 컴퓨팅 세상에서 가장 위대한 운영체제의 개발 역사를 잘 보여주는 책이다. 재밌는 사실 벨연구소는 AT&T가 전국적인 전화 시스템을 제공하며 마주한 문제를 체계적으로 다루기 위해서 설립되었다. 벨연구소에서 트랜지스터가 발명되었다. 초기의 운영체제는 다수의 분산된 사용자에게 하나의 컴퓨터를 나눠 사용하게 만들기 위한 수단이었다. 최초 컴퓨터가 얼마나 비쌋는지는 유명하다. 유닉스 처음은 켄 톰프슨이 벨연구소에 있던 PDP-7을 위한 1000줄짜리 단일 사용자용 OS 커널부터 시작이었다. 이 코드는 3주만에 작성되었다. 켄 톰프슨은 구글에서 Go 언어를 개발했다. core dump는 초기 컴퓨터의 주기억장치가 자기 코어 장치였던 점에서 ..

총점 5/5 총평 위대한 제품을 만들고자 하는 욕망으로 똘똘 뭉친 기밀한 조직의 숨 막히는 마라톤을 보았다. 책을 읽으며 알게된 재밌는 사실들 안드로이드는 카메라를 위한 운영체제를 만들고 싶어서 시작한 프로젝트다. 구글에 투자를 받으러 갔다가 인수당했다. 구글은 안드로이드 팀을 인수한 이후에 자본과 기술력을 제공하면서도 큰 회사의 일부로 두지 않고 작은 스타트업의 자율성을 그대로 보장했다. 구글에 인수됐을 때 안드로이드 팀은 총 8명이고 그중 절반만 코드를 건드리고 있었다. 자바를 사용하기로 결정하고보니 런타임이 필요했다. 성능과 공간에 모두 이득을 얻고자 달빅런타임을 만들었다. 초창기 모바일기기에는 GPU가 없었다. GPU를 모방하는 소프트웨어 계층인 PixelFlinger를 설계했다. 나중에는 GPU..

4장 - 좋은 단위 테스트의 4대 요소 다루는 내용 좋은 단위 테스트의 관점 간 차이점 모색 이상적인 테스트 정의 테스트 피라미드 이해 블랙박스 테스트 및 화이트박스 테스트 사용 가치 있는 테스트를 작성하기 위해서는 가치 있는 테스트를 식별할 줄 알아야 한다. 이 장에선 그 방법을 알아본다. 4.1 좋은 단위 테스트의 4대 요소 자세히 살펴보기 총 네 가지 특성이 있다. 회귀 방지 리팩터링 내성 빠른 피드백 유지 보수성 4.1.1 첫 번째 요소: 회귀 방지 회귀: 코드를 수정한 후 기능이 의도한 대로 작동하지 않는 경우(소프트웨어 버그) 회귀 방지 차원에서 가치있는 테스트란 다음 사항을 고려해야 한다. 테스트 중에 실행되는 코드의 양 (많을 수록 회귀 방지 가능성 ⤴️) 코드 복잡도 (단순한 코드는 실수..

왜 단위 테스트를 해야할까? 모든 소프트웨어 개발 방법론의 목표는 무엇일까? 확장성 있고 지속 가능한 소프트웨어를 만드는 것이다. 단위 테스트를 해야하는 이유도 다르지 않다. 그렇다면 단위 테스트만 작성하면 지속 가능한 소프트웨어가 되나? 단위 테스트를 운영하는 프로젝트는 새로운 기능을 추가해도 회귀 문제가 발생하지 않나? 당연히 그렇지 않다. 단위 테스트는 지속 가능한 소프트웨어를 만들기 하나의 도구일 뿐이다. 우리는 이 도구를 잘 사용하는 법을 배워야 한다. 단위 테스트의 목적이 지속가능성에 있는 만큼 테스트를 작성할 때 불필요한 코드를 버려야한다. 단순하게 100% 코드 커버리지를 달성한다고 좋은 테스트가 아니라는 뜻이다. 좋은 테스트라고 하면 다음 세가지 속성을 만족해야 한다. 개발 주기에 통합 ..