Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 코드프레소
- 파이썬
- 코테
- 스터디
- pyladiesseoul
- git
- mongodb
- 전문가를위한파이썬
- env
- codepresso
- AWS
- 예리님
- Python
- 리액트
- 개발스터디
- 개발
- React
- 플라스크
- 환경변수
- pyladies
- flask
- cleancode
- 패스트캠퍼스
- 한빛
- 깃
- 프리온보딩
- fluentpython
- 원티드
- 위코드
- 한빛미디어
Archives
- Today
- Total
개발자가 내팔자
[Nomad Coder] 노개북 클린코드 챌린지 2기 Assignment 9 본문
TIL (Today I Learned)
2022.02.22 - 2022.02.24
오늘 읽은 범위
6장. 객체와 자료구조
책에서 기억하고 싶은 내용을 써보세요.
- 흔히 위와 같은 코드를 기차 충돌이라 부른다. 여러 객차가 한 줄로 이어진 기차처럼 보이기 때문이다.
- 활성 레코드는 DTO의 특수한 형태다. ...(중략) ... 해결책은 간단하다. 활성 레코드는 자료 구조로 취급한다. 비즈니스 규칙을 담으면서 내부 자료를 숨기는 객체는 따로 생성한다.
- 자료를 세세하게 공개하기 보다는 추상적인 개념으로 표현하는 편이 좋다. 인터페이스나 조회/설정 함수만으로는 추상화가 이뤄지지 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다.
- 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다.
- 분별있는 프로그래머는 모든 것이 객체라는 생각이 미신임을 잘 안다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 아직 읽는 중이긴 한데 active record pattern에서 DTO와 관련하여 명확하게 설명을 해줘서 흥미로웠다.
- 추상화를 하는 이유
- 모든 걸 알 필요가 없게끔 만들려고
- 통제하기 위해 - 문이 수백개인 것과 문이 한 두개인 것을 상상해보자.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 목록 6-4가 목록 6-3보다 더 좋은 코드라고 하는데 (추상화가 더 잘되어있어서) 회사에서 비슷한 코드를 개발한 적이 있는데, 조금 달라서 많은 생각이 들었다. 프론트에서 계산하는 게 좋을지, 서버에서 계산하는 게 좋을지 항상 고민을 하고, 종종 프론트에서 계산을 할 수 있도록 추상화 단계를 낮춰서 그대로 내려줄 때가 있다. 서버에서 모든 걸 계산해서 내려주면 프론트가 편하고 좋겠지만, 전체적으로 서버가 느려진다면 그것도 손해이기 때문에. 항상 추상화를 하는 것이 좋을까? 라는 생각이 든다.
- 객체와 자료구조의 차이가 뭘까?
- 디미터 법칙이 뭘까?
- 휴리스틱은 뭘까?
'BOOK' 카테고리의 다른 글
[Nomad Coder] 노개북 클린코드 챌린지 2기 Assignment 11 (0) | 2022.03.05 |
---|---|
[Nomad Coder] 노개북 클린코드 챌린지 2기 Assignment 10 (0) | 2022.03.04 |
[Nomad Coder] 노개북 클린코드 챌린지 2기 Assignment 8 (0) | 2022.03.01 |
[Nomad Coder] 노개북 클린코드 챌린지 2기 Assignment 7 (0) | 2022.02.26 |
[Nomad Coder] 노개북 클린코드 챌린지 2기 Assignment 6 (0) | 2022.02.25 |
Comments