✍️ 글쓰기/📕 읽고14 자청의 초사고 글쓰기, 29만원의 가치가 있나? 그래서 전자책이 29만원이라고? 그렇다. 정식 출판된 책도 아닌, 서점에서 찾아볼 수 있는 책도 아닌, 고작 전자책이 29만원이다. 이 책이 정말 29만원의 가치를 하는지에 대해 오늘 이야기해보려 한다. 내가 이 책을 구매한 동기는 뭐였을까? '자청' 이라는 이름은 들어본 적이 있다. 그의 블로그 글들을 읽어보면서 생소한 충격을 받았던 기억이 난다. '이 사람 글은 왜 이렇게 잘 읽히지? 왜 재밌지? 왜 계속 다른 글을 찾아 보고 있는거지?' 라는 생각이 줄곧 들었던 경험이다. 그렇게 그의 이름을 잊어가던 어느 날, 평소 구독하던 '업글하는 돈 덕후'님의 한 글에서 다시 한번 그의 이름을 보게 된다. 그리고 자연스럽게 프드프 사이트까지 들어가 를 사기까지는 불과 1시간이 걸리지 않았다. 나는 '경제적 자.. 2022. 6. 27. #노마드북클럽 | 클린 코드 (Clean Code) Challenge Complete! #노마드북클럽 챌린지 완료! 생각보다 시간이 정말 빨리 지나갔다. 매일 매일 꾸준히 하는 일들이 지루하게 느껴질 수도 있지만, 오히려 시간을 더 빨리 흘러가게 만드는 것 같다. 처음 시작할 때만 하더라도, 3주 내내 할 수 있을까 걱정을 많이 했던 기억이 난다. 책을 읽기만 한 게 아니라, 중간에 퀴즈도 풀고 코드를 깨끗하게 바꾸는 미션도 진행하면서 지겹지 않게 책을 읽을 수 있었던 것 같다. #노개북 챌린지가 아니었다면 클린 코드를 이렇게까지 정독할 수 있었을까 싶다. 거기에 더해 TIL 작성 방법을 알게 되고, 몸에 익히게 되면서, 앞으로 책을 읽으면서 공부할 땐 어떤 방식으로 해야할지 방향도 잡을 수 있었다. 그리고 한 과제당 이틀의 시간을 주는 경우도 있었는데, 그 부분이 오히려 챌린지를 빼먹지 .. 2022. 3. 15. #노마드북클럽 | 클린 코드 (Clean Code) 14일차 TIL (DAY 14) 🔖 오늘 읽은 범위: 10장, 클래스 * 13일차는 Quiz 진행 완료! 책에서 기억하고 싶은 내용 클래스 체계 (p172) 변수 목록: 정적(static) 공개(public) 상수 / 정적 비공개(private) 변수 / 비공개 인스턴스 변수 * 공개 변수가 필요한 경우는 거의 없음 공개 함수 * 비공개 함수는 자신을 호출하는 공개 함수 직후에 온다 추상화 단계가 순차적으로 내려가, 프로그램이 신문 기사처럼 읽힌다. 캡슐화 (p172) 변수나 유틸리티 함수들을 최대한 비공개 상태로 유지하되, 필요한 경우 protected 로 선언해 패키지 단위까지 공개해 테스트 코드에 접근을 허용하기도 한다. 하지만 캡슐화를 풀어주는 결정은 언제나 최후 수단으로 생각해야 한다. 클래스는 작아야 .. 2022. 3. 9. #노마드북클럽 | 클린 코드 (Clean Code) 12일차 TIL (DAY 12) 🔖 오늘 읽은 범위: 9장, 단위 테스트 책에서 기억하고 싶은 내용 TDD 법칙 세 가지 (p155) 첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 둘째 법칙: 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 깨끗한 테스트 코드 유지하기 (p156) 테스트 코드는 실제 코드 못지 않게 중요하다. ... 테스트 코드는 사고와 설계와 주의가 필요하다. 실제 코드 못지 않게 깨끗하게 짜야 한다. (p157) 테스트는 유연성, 유지보수성, 재사용성을 제공한다. (p157) 테스트 케이스가 없으면 실제 코드를 유연하게 만드는 버팀목도 사라진다. (p157.. 2022. 3. 7. #노마드북클럽 | 클린 코드 (Clean Code) 11일차 TIL (DAY 11) 🔖 오늘 읽은 범위: 7장, 오류 처리 * 10일차는 Quiz 진행 완료! 책에서 기억하고 싶은 내용 오류 처리는 중요하다. 하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. (p130) 오류 코드보다 예외를 사용하라. (p130) Try-Catch-Finally 문부터 작성하라. (p132) 어떤 면에서 try 블록은 트랜젝션과 비슷하다. try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. (p132) 먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다. 그러면 자연스럽게 try 블록의 트랜젝션 범위부터 구현하게 되므로 범위 내에서 .. 2022. 3. 4. #노마드북클럽 | 클린 코드 (Clean Code) 9일차 TIL (DAY 9) 🔖 오늘 읽은 범위: 6장, 객체와 자료구조 책에서 기억하고 싶은 내용 변수를 비공개(private)로 정의하는 이유가 있다. 남들이 변수에 의존하기 않게 만들고 싶어서다. (p118) 그저 (형식 논리에 치우쳐) 조회 함수와 설정 함수로 변수를 다룬다고 클래스가 되지 않는다. 그보다는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. (p119) 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 아무 생각 없이 조회 / 설정 함수를 추가하는 방법이 가장 나쁘다. (p119) 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제.. 2022. 3. 1. #노마드북클럽 | 클린 코드 (Clean Code) 8일차 TIL (DAY 8) 🔖 오늘 읽은 범위: 5장, 형식 맞추기 * 7일차는 Mission으로 나쁜 코드를 고치는 방식으로 진행 완료! 책에서 기억하고 싶은 내용 오랜 시간이 지나 원래 코드의 흔적을 더이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. (p96) 신문 기사처럼 작성하라. ... 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저차원 함수와 세부 내역이 나온다. (p98) 개념은 빈 행으로 분리하라 (p98) 서로 밀접한 코드 행은 세로로 가까이 놓아야 한다는 뜻이다. (p100) 변수는 사용하는 위치에 최대한 가까이 선언한다. ..... 2022. 2. 28. #노마드북클럽 | 클린 코드 (Clean Code) 6일차 TIL (DAY 6) 🔖 오늘 읽은 범위: 4장, 주석 책에서 기억하고 싶은 내용 나쁜 코드에 주석을 달지 마라. 새로 짜라. (p68) 주석은 언제나 실패를 의미한다. 때때로 주석 없이는 자신을 표현할 방법을 찾지 못해 할 수 없이 주석을 사용한다. (p68) 진실은 한곳에만 존재한다. 바로 코드다. (p69) 좋은 주석: 법적인 주석 정보를 제공하는 주석 의도를 설명하는 주석 의미를 명료하게 밝히는 주석 결과를 경고하는 주석 TODO 주석 중요성을 강조하는 주석 이해가 안 되어 다른 모듈까지 뒤져야 하는 주석은 독자와 제대로 소통하지 못하는 주석이다. 그런 주석은 바이트만 낭비할 뿐이다. (p76) 오늘 읽은 소감 및 생각 변수명이 길고 서술적이거나, 긴 class 오브젝트를 위한 주석은, 코드를 다.. 2022. 2. 25. #노마드북클럽 | 클린 코드 (Clean Code) 5일차 TIL (DAY 5) 🔖 오늘 읽은 범위: 3장, 함수 책에서 기억하고 싶은 내용 함수를 만드는 첫째 규칙은 '작게!'다. 함수를 만드는 둘째 규칙은 '더 작게!'다. (p42) if 문 / else 문 / while 문 등에 들어가는 블록은 한 줄이어야 한다는 의미다. ... 그러므로 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 당연한 말이지만, 그래야 함수는 읽고 이해하기 쉬워진다. (p44) 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. (p44) 단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다. (p45) 함수가 확실히 '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 .. 2022. 2. 23. #노마드북클럽 | 클린 코드 (Clean Code) 4일차 TIL (DAY 4) 🔖 최애 TIL을 찾아라! (1) leeq님의 DAY 2 TIL 2장. 의미 있는 이름을 읽으면서 김춘수의 이라는 시를 나도 떠올렸었기 때문에 공감할 수 있는 포인트가 있어 좋았다. 그리고 책에서 기억하고 싶은 내용을 일목요연하게, 필요한 부분을 불릿포인트로 써둔 것 같아 깔끔했다. 책을 읽은 소감 또한 에세이처럼 경험과 함께 써주셔서 더 부드럽게 읽혔던 것 같다. (2) wpvspv님의 DAY 1 TIL 깨끗한 코드의 특징을 정리해둔 부분이 인상 깊었다. 나도 그렇게 해보려 했지만 자기전에 작성하느라 게을러져서 그 부분은 제외하고 제출했다. 앞으로는 귀찮아도 미래의 나를 위해서 정리해둘 수 있도록 노력해보려 한다 :) (3) cjsn92님의 DAY 1 TIL God is in th.. 2022. 2. 21. 이전 1 2 다음