2021년 독서목록

Clean Code by 로버트 C. 마틴

  • 1장 깨끗한 코드
    • 코드가 존재하리라
    • 나쁜 코드
    • 나쁜 코드로 치르는 대가
    • 우리들 생각
    • 우리는 저자다
    • 보이스카우트 규칙
    • 프리퀄과 원칙
  • 2장 의미 있는 이름
    • 의도를 분명히 밝혀라
    • 그릇된 정보를 피하라
    • 의미 있게 구분하라
    • 발음하기 쉬운 이름을 사용하라
    • 검색하기 쉬운 이름을 사용하라
    • 인코딩을 피하라
    • 자신의 기억력을 자랑하지 마라
    • 클래스 이름
    • 메서드 이름
    • 기발한 이름은 피하라
    • 한 개념에 한 단어를 사용하라
    • 말장난을 하지 마라
    • 해법 영역에서 가져온 이름을 사용하라
    • 문제 영역에서 가져온 이름을 사용하라
    • 의미 있는 맥락을 추가하라
    • 불필요한 맥락을 없애라
    • 마치면서
  • 3장 함수
    • 작게 만들어라!
    • 한 가지만 해라!
    • 함수 당 추상화 수준은 하나로!
    • Switch 문
    • 서술적인 이름을 사용하라!
    • 함수 인수
    • 부수 효과를 일으키지 마라!
    • 명령과 조회를 분리하라!
    • 오류 코드보다 예외를 사용하라!
    • 반복하지 마라!
    • 구조적 프로그래밍
    • 함수를 어떻게 짜죠?
    • 결론
  • 4장 주석
    • 주석은 나쁜 코드를 보완하지 못한다
    • 코드로 의도를 표현하라!
    • 좋은 주석
  • 5장 형식 맞추기
    • 형식을 맞추는 목적
    • 적절한 행 길이를 유지하라
    • 가로 형식 맞추기
    • 가짜 범위
    • 팀 규칙
    • 밥 아저씨의 형식 규칙
  • 6장 객체와 자료 구조
    • 자료 추상화
    • 자료/객체 비대칭
    • 디미터 법칙
    • 자료 전달 객체
    • 결론
  • 7장 오류 처리
    • 오류 코드보다 예외를 사용하라
    • Try-Catch-Finally 문부터 작성하라
    • 미확인unchecked 예외를 사용하라
    • 예외에 의미를 제공하라
    • 호출자를 고려해 예외 클래스를 정의하라
    • 정상 흐름을 정의하라
    • null을 반환하지 마라
    • null을 전달하지 마라
    • 결론
    • 참고문헌
  • 8장 경계
    • 외부 코드 사용하기
    • 경계 살피고 익히기
    • log4j 익히기
    • 학습 테스트는 공짜 이상이다
    • 아직 존재하지 않는 코드를 사용하기
    • 깨끗한 경계
    • 참고 문헌
  • 9장 단위 테스트
    • TDD 법칙 세 가지
    • 깨끗한 테스트 코드 유지하기
    • 깨끗한 테스트 코드
    • 테스트 당 assert 하나
    • F.I.R.S.T.
  • 10장 클래스
    • 클래스 체계
    • 클래스는 작아야 한다!
    • 변경하기 쉬운 클래스
  • 11장 시스템
    • 도시를 세운다면?
    • 시스템 제작과 시스템 사용을 분리하라
    • 확장
    • 자바 프록시
    • 순수 자바 AOP 프레임워크
    • AspectJ 관점
    • 테스트 주도 시스템 아키텍처 구축
    • 의사 결정을 최적화하라
    • 명백한 가치가 있을 때 표준을 현명하게 사용하라
    • 시스템은 도메인 특화 언어가 필요하다
    • 결론
  • [o] 12장 창발성(創發性)
    • 창발적 설계로 깔끔한 코드를 구현하자
    • 단순한 설계 규칙 1: 모든 테스트를 실행하라
    • 단순한 설계 규칙 2~4: 리팩터링
    • 중복을 없애라
    • 표현하라
    • 클래스와 메서드 수를 최소로 줄여라
    • 결론
  • 13장 동시성
    • 동시성이 필요한 이유?
    • 난관
    • 동시성 방어 원칙
    • 라이브러리를 이해하라
    • 실행 모델을 이해하라
    • 동기화하는 메서드 사이에 존재하는 의존성을 이해하라
    • 동기화하는 부분을 작게 만들어라
    • 올바른 종료 코드는 구현하기 어렵다
    • 스레드 코드 테스트하기
  • 14장 점진적인 개선
    • Args 구현
    • Args: * [ ] 1차 초안
    • String 인수
  • 15장 JUnit 들여다보기
    • JUnit 프레임워크
  • 16장 SerialDate 리팩터링
    • 첫째, 돌려보자
    • 둘째, 고쳐보자
  • 17장 냄새와 휴리스틱

Clean Architecture

Test Driven Design

누워서 읽는 알고리즘

프로그래머의 길, 멘토에게 묻다

  • 목차
  • 옮긴이의 글
  • 추천의 글
  • 지목은이의 글
  • 감사의 글

  • 소프트웨어 장인정신 선언

  • 1장 들어가는 글
    • 소프트웨어 장인정신이란 무엇인가?
    • 견습과정이란 무엇인가?
    • 견습과정 패턴이란 무엇안가?
    • 패턴들은 어디서 비롯되었는가?
    • 여기서 이제 어디로 가는가?
  • 2장 잔을 비우다
    • 첫 번째 언어
    • 흰 띠를 매라
    • 열정을 드러내라
    • 구체적인 기술
    • 무지를 드러내라
    • 무지에 맞서라
    • 깊은 쪽
    • 한발 물러서라
    • 장을 마치며
  • [.] 3장 긴 여정을 걷다
    • 긴 여정
    • 예술보다 기예
    • 지속적인 동기 부여
    • 열정을 키워라
    • 자신만의 지도를 그려라
    • 직위를 이용하라
    • 전장에 머물러라
    • 또 다른 길
    • 장을 마치며
  • 4장 정확한 자기 평가
    • 가장 뒤떨어진 이가 돼라
    • 멘토를 찾아라
    • 마음 맞는 사람들
    • 팔꿈치를 맞대고
    • 바닥을 쓸어라
    • 장을 마치며
  • 5장 끊임없는 학습
    • 능력의 폭을 넓혀라
    • 연습, 연습, 또 연습
    • 부숴도 괜찮은 장난감
    • 소스를 활용하라
    • 일하면서 성찰하라
    • 배운 것을 기록하라
    • 배운 것을 공유하라
    • 피드백 루프를 만들어라
    • 실패하는 법을 배워라
    • 장을 마치며
  • 6장 학습 과정의 구성
    • 독서 목록
    • 꾸준히 읽어라
    • 고전을 공부하라
    • 더 깊이 파고들어라
    • 익숙한 도구들
    • 장을 마치며
  • 7장 결론
    • 부록 A 패턴 목록
    • 부록 B 견습과정의 개설을 요청함
    • 부록 C 옵티바 견습과정 프로그램의 첫 일 년을 회고하다
    • 부록 D 온라인 자료

왜 리더인가

  • 이나모리 가즈오 저
  • 첫 번째 질문 진아 "당신의 마음은 무엇을 끌어당기는가?"
    • 왜 어떤 리더는 금세 사라지고, 어떤 리더는 영원히 존재하는가
    • 그릇 무엇이 마음을 움직이는가
    • 당신의 진아는 우주와 닿아 있는가
    • 리더의 마음은 무엇으로 이루어져 있는가
    • 무엇이 본능을 압도하는가
    • 운명 마음이라는 정원을 어떻게 가꿀 것인가
    • 동기 나만을 위한 일인가, 모두를 위한 일인가
  • 두 번째 질문 조화 "타인을 위한 마음은 어떻게 다시 돌아오는가?"
    • 타력 기꺼이 먼저 죽을 각오가 되어 있는가
    • 이타 사업의 성공은 언제 결정되는가
    • 우주에는 이타의 바람이 분다
    • 인력 마음이 부르지 않는 일은 일어나지 않는다
    • 선용 우주가 지닌 거대한 두 힘
    • 절도 그것은 신이 허락하지 않습니다
  • 세 번째 질문 투지 "강한 마음을 어떻게 끝까지 유지할 것인가?"
    • 저력 고결하게, 강인하게, 그리고 한결같이
    • 기세 성공을 의심하는 사람에게 성공이 찾아올 리 없다
    • 염원 정말 강한 리더는 소리가 없다
    • 확신 미래를 믿고 나아가면 '신의 속삭임'이 들린다
    • 돌파 리더라면 일 앞에서 좀 더 난폭해져야 한다
  • 네 번째 질문 도리 "인간으로서 옳은 일을 하고 있는가?"
    • 응전 옳다고 생각한다면 다시 가서 싸우라
    • 역경 당신이 아니면 누가 그 말을 하겠는가
    • 신념 리더는 팔다리가 뜯겨나가도 옳은 일을 해야 한다
    • 공감 나는 철학이 없는 사람과는 함께 일하지 않는다
    • 재건 마음에 닿지 않으면 아무것도 바뀌지 않는다
  • 다섯 번째 질문 근본 "이 모든 것을 어떤 토대 위에 쌓을 것인가?"
    • 항복 절대 무너지지 않는 방법
    • 실패 재난은 기꺼이 받아들이고 행운은 신중히 받아들인다
    • 정진 내가 60년간 한 번도 빠뜨리지 않고 되뇌는 한마디
    • 무심 삶의 모든 기회와 위기는 이미 내 마음속에 들어 있었다
    • 인연 인생은 만남의 축적이다

아주작은 습관의 힘 Atomic Habits

  • 제임스 클리어 저
  • [o] 아주 작은 습관이 만드는 극적인 변화
    • 평범했던 선수들은 어떻게 세계최고가 되었을까
    • 정체성, 사람을 움직이는 가장 큰 비밀
    • 무엇이든 쉽게, 재밌게, 단순하게
  • 첫 번째 법칙 분명해야 달라진다
    • 인생은 생각하는 만큼 바뀐다
    • 아주 구체적으로 쪼개고 붙혀라
    • 환경이 행동을 결정한다
    • 나쁜습관 피하기 기술
  • 두 번째 법칙 매력적이어야 달라진다
    • 왜 어떤 습관은 더 하고 싶을까
    • 왜 주위사람에 따라 내 습관이 변할까
    • 나쁜습관도 즐겁게 고칠 수 있을까
  • 세 번째 법칙 쉬워야 달라진다
    • 1만 시간의 법칙은 틀렸다
    • 웬만하면 쉽게 갑시다
    • 변화를 위한 최소한의 시간
    • 그들은 어떻게 나쁜습관을 버리는가
  • 네 번째 법칙 만족스러워야 달라진다
    • 재미와 보상 두마리 토끼를 잡는 법
    • 어떻게 매일 반복할 것인가
    • 누군가 당신을 지켜보고 있다
  • 최고의 습관은 어떻게 만들어지는가
    • 습관에도 적성이 있다
    • 계속 해내는 힘은 어디서 오는가
    • 습관의 반격