본문 바로가기

Book

(20)
실용주의 프로그래머(5~6장) 구부러지거나 부러지거나 유연한 코드를 작성하기 위한 자세한 기법들을 소개함 Topic 28 결합도 줄이기 여기서는 문제가 되는 여러 상황들에 대해서 소개한다 자세한 기법들은 뒤에 토픽에서 하나씩 다룬다 열차사고 여기서 처음 예시로 인스턴스가 메소드 체이닝형태로 호출하는 코드를 보여준다. 여기서 강조하는 게 TDA(tell don’t ask)인데 리팩터링 한 코드 보면 코드 내부상태 묻는 코드를 수정한다. 기존 코드 대로 객체를 노출시켜서 호출하면 캡슐화가 의미가 없어진다고 한다. //수정전 코드 public void applyDiscount(customer, order_id, discount){ totals = customer.orders.find(order_id).getTotals(); totals.g..
실용주의 프로그래머(3~4장) 3. 기본도구 3장에서는 프로그래밍을 할 때 필요한 도구들과 관련된 숙련법들을 정리했다 Topic 16 일반 텍스트의 힘 프로그래머로서 기본 재료는 지식인데, 이 지식은 전부 텍스트로 이루어진다. 여기서는 텍스트 그 자체의 특징과 장점을 말해준다. 예를 들어 이진 포맷 같은 특정 형태는 분명 이점이 존재하지만 데이터를 이해하는데 필요한 문맥이 데이터 자체와 별도로 분리되어 있다는 문제가 있다. 즉, 인위적으로 데이터와 그 데이터의 의미가 분리된 것이다. 가능하다면 텍스트로 기록해 놓는다면 시간이 지나도 쉽게 사용이 가능하다. Topic 17 셸 가지고 놀기 여기선 셸 명령어가 얼마나 유용하고 생산성을 증가시켜주는지 말해준다. 각각 독립적으로 동작하는 명령어를 잘 조합해서 사용하면 자동화에 큰 도움이 될 ..
실용주의 프로그래머(1~2장) 실용주의 프로그래머 실용주의 철학 이 부분은 큰 틀에서 실용주의를 위해 기본적으로 갖춰야 할 철학들이 담겨있다. Topic 1 당신의 인생이다 이 토픽에서는 주도적으로 행동해야 함을 강조한다. Topic 2 고양이가 내 소스코드를 삼켰어요 실용주의 철학의 초석인 책임에 대해서 이야기한다. 책임을 진다는 건 기본적으로 솔직해야 하고 결과를 내가 감당해야 하는 것이다. 따라서 할 수 있는 일과 할 수 없는 일을 구분할 줄도 알아야 한다. 예전에 나는 책임진다는 게 나에게 주어진 일은 어떻게든 내가 해야 한다고 생각했다. 물론 이것도 맞는 말이지만 집단에서 일이라는 것은 결국 내가 한 일이 집단 전체에 영향을 주기 때문에 나의 한계를 명확히 알고 알릴 줄도 알아야 했다. 그렇게 상황을 공유하고 조율하는 것도 ..
Book. 수학이 필요한 순간 이 책은 정글 들어가기 전에 읽다가 다 못 읽어서 끝나고 다시 읽게 되었다. 일단 너무 재밌게 읽었다 수학 관련 책을 읽고 싶어서 산 책이었는데 대략 300 pg 정도로 비교적 짧은 책이었고 내용도 수학을 잘 모르는 독자들을 최대한 배려해서 쓰신 거 같아서 빠져들어서 읽은 거 같다. 책은 대화 형식으로 질문과 답변을 통해 이야기가 진행이 되는데, 수학이 무엇인지에 대해 이야기 하면서 시작이 된다. 우리가 일반적으로 수학에 대해 갖고 있는 오해들과 관점에 대해서 설명하면서 다양한 예시를 보여준다. 각 장을 통해서 수학이 무엇인지 또 수학적인 사고가 무엇인지를 알려준다. 3,4,5 강을 읽어보면 우리가 흔히 현실에서 만날 수 있는 문제들과 윤리적, 사회적 문제들, 쉽게 답을 내릴 수 없는 문제들을 수학적인 ..