목록독서 (8)
티끌모아 태산
스터디 내용은 아래에 정리하고있음 https://www.notion.so/10af59ac13a14d33affe40355f5e9852 Topic 16. 일반 텍스트의 힘 Tip 25. 지식을 일반 텍스트로 저장하라 여기서 말하는 일반 텍스트는, 바이너리 데이터나 암호화된 데이터 등의 별도의 어플리케이션이 있어야 읽을 수 있는 문자가 아닌, 있는 그대로 읽을 수 있는 텍스트를 말하는 것이다. 다음과 같은 이유로 일반 텍스트를 사용할 것을 권장한다. 지원 중단에 대한 보험 기존 도구의 활용 더 쉬운 테스트 위에서 말하는 일반텍스트의 장점은 "쉽다"이다. 반대로 바이너리 파일이나 암호화된 데이터는 "어렵다". 쉬운 것을 두고 어려운 것으로 한 이유는 분명 있을 것이다. XML이나 JSON보다는 바이너리 데이터가..

스터디 내용은 아래에 정리하고있음 https://www.notion.so/10af59ac13a14d33affe40355f5e9852 Topic 8. 좋은 설계의 핵심 Tip 14. 좋은 설계는 나쁜 설계보다 바꾸기 쉽다. 잘 설계된 코드는 바뀜으로써 사용하는 사람에게 맞춰져야 한다. ETC 원칙. (Easier to Change) 결합도를 줄인다. 단일 책임 원칙(Single Responsibillity Principle) : 하나의 모듈은 한 가지 책임만 져야한다. 이름 짓기가 중요 ETC는 규칙이 아니라 가치 초기에는 의식적으로 노력해야 한다. "내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들었을까, 어렵게 만들었을까?" ETC 규칙을 어떻게 지킬지 잘 모르겠을 때 앞으로 어떤 모습으로 바뀔지 모..

Topic 1. 당신의 인생이다 불만이 많은 프로그래머들에게 이렇게 질문한다. " 왜 직접 바꾸지 않습니까?" Tip 3. 당신에게는 에이전시가 있다. > 스스로 행동을 직접 결정할 수 있는 힘이 있다. Topic 2. 고양이가 내 소스 코드를 삼켰어요 납품이 늦어지거나, 예상치 못했던 기술적 문제가 발생한다. 이런 일이 일어나면 우리는 가능한 전문가답게 처리하고 노력한다. 이는 정직하고 솔직해져야 한다는 것이다. 우리는 자신의 능력에 자부심을 가질 수 있지만, 실수나 무지 같은 단점도 인정해야만 한다. Tip 4. 어설픈 변명 말고 대안을 제시하라. > 상사에게 변명하기 전에 내면의 소리를 들어 보라. 곁에 놓인 고무 오리에게라도 이야기해 보라. 변명이 그럴싸하게 들리는가? 아니면 멍청하게 들리는가? ..
8장: 템플릿 메소드 패턴 - 알고리즘 캡슐화하기 커피와 홍차 만들기 커피 만들기 물을 끓인다 끓는 물에 커피를 우려낸다 커피를 컵에 따른다 설탕과 우유를 추가한다홍차 만들기 물을 끓인다 끓는 물에 찻잎을 우려낸다 홍차를 컵에 따른다 레몬을 추가한다. public class Coffee { void prepareRecipe() { // 알고리즘 작동 boilWater(); brewCoffeeGrinds(); pourInCup(); addSugarAndMilk(); } public void boilWater() { // 알고리즘 단계 1 System.out.print("물 끓이는 중"); } public void brewCoffeeGrinds() { // 알고리즘 단계 2 System.out.print("..
아래 링크 Repository 중 내가 작성한 부분만 가져온 글이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main GitHub - yesman9692/Head-First-Design-Patterns: 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. Contribute to yesman9692/Head-First-Design-Patterns development by creating an account on GitHub. github.com 6장: 커맨드 패턴 - 호출 캡술화 하기 만능 IOT 리모컨 만들기 기존 인터페이스에 공통점이 딱히 없다 클래스는 새로 추가될 수 있다 커맨드..
아래 링크 Repository 중 내가 작성한 부분만 가져온 글이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main 4장: 팩토리 패턴 new 연산자의 문제점 변화에 취약하다! Duck duck; if(picnic){ duck = new MallardDuck(); } else if(hunting){ duck = new DecoyDuck(); } else if(inBathTub){ duck = new RubberDuck(); } 위의 코드처럼 Duck이라는 인터페이스가 있지만 그럼에도 불구하고 MallardDuck, DecoyDuck, RubberDuck과 같은 인스턴스를 만들어야 한다. 코드를 변경하거나 확장시에는 기존 코드를 제거..

아래 링크 Repository 중 내가 작성한 부분만 가져온 글이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main GitHub - yesman9692/Head-First-Design-Patterns: 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. Contribute to yesman9692/Head-First-Design-Patterns development by creating an account on GitHub. github.com
모든 아래 Github 저장소에 업데이트되며 여기에는 그냥 내가 정리한 내용만 복사해올 것이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main GitHub - yesman9692/Head-First-Design-Patterns: 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. Contribute to yesman9692/Head-First-Design-Patterns development by creating an account on GitHub. github.com