20220314_북이

권도토잠보·2022년 3월 14일
0

북이흥행홍

목록 보기
9/16
post-thumbnail

🪴ㅤTIL (DAY - 11)

2022.03.14

오늘 읽은 범위

👉ㅤ클린코드 11장.시스템

기억하고 싶은 내용ㅤ📕

우선 제작(construction)은 사용(use)과 아주 다르다는 사실을 명심한다.(p.194)

시작 단계는 모든 애플리케이션이 풀어야 할 관심사(concern)다. 이것이 이 장에서 우리가
맨 처음 살펴볼 관심사다. 관심사 분리는 우리 분야에서 가장 오래되고
가장 중요한 설계 기법 중 하나다. (p.195)

체계적이고 탄탄한 시스템을 만들고 싶다면 흔히 쓴느 좀스럽고 손쉬운 기법으로
모듈성을 깨서는 절대로 안 된다. (p.196)

사용과 제작을 분리하는 강력한 메커니즘 하나가 의존성 주입(Dependency Injection, DI)이다.
의존성 주입은 제어 역전(Inversion Control, loC)기법을 의존성 관리에 적용한
메커니즘이다. (p.198)

'처음부터 올바르게' 시스템을 만들 수 있다는 믿음은 미신이다. (p.199)

소프트웨어 역시 나름대로 형체(physics)가 있지만, 소프트웨어 구조가
관점을 효과적으로 분리한다면, 극적인 변화가 경제적으로 가능하다.
다시 말해, '아주 가단하면서도' 멋지게 분리된 아키텍처로 소프트웨어 프로젝트를
진행해 결과물을 ㅂ재빨리 출시한 후, 기반 구조를 추가하며 조금씩 확장해 나가도
괜찮다는 말이다. 세계 최대 웹 사이트들은 고도의 자료 캐성, 보안, 가상화 등을 이용해
아주 높은 가용성과 성능을 효율적이고도 유연하게 달성했다. 설계가 최대한 분리되어
각 추상화 수준과 범위에서 코드가 적당히 단순하기 때문이다. (p.210)

우리는 때때로 가능한 마지막 순간까지 결정을 미루는방법이 최선이라는 사실을 까먹곤 한다.
게으르거나 무책임해서가 아니다. 최대한 정보를 모아 최선의 결정을 내리기 위해서다.
성급한 결정은 불충분한 지식으로 내린 결정이다. 너무 일찍 결정하면 고객 피드백을 더 모으고,
프로젝트를 더 고민하고, 구현 방안을 더 탐험할 기회가 사라진다. (p.211)

시스템 역시 깨끗해야 한다. 깨끗하지 못한 아키텍처는 도메인 논리를 흐리며 기민성을
떨어뜨린다. 도메인 노닐가 흐려지면 제품 품질이 떨어진다. 버그가 숨어들기 쉬워지고,
스토리 구현하기 어려워지는 탓이다. 기민성이 떨어지면 생산성이 낮아져
TDD가 제공하는 장점이 사라진다. (p.213)

시스템을 설계하든 개별 모듈을 설치하든, 실제로 돌아가는 가장 단순한 수단
사용해야 한다는 사실을 명심하자. (p.213)

오늘 읽은 소감ㅤ📙

이번에 읽은 범위도 역시나 JAVA에 대한 내용이 거의 대부분을 차지했기 때문에
코드를 읽으면서 책을 읽기가 매우 힘들었다. 하지만 저번부터 계속해서
강조한 것 처럼 JAVA든 뭐든간에 깨끗한 코드를 쓰는 것이 가장 중요하단 것이다.
결벽증이 있고 게으른 프로그래머가 최고라는 뜻일지도...?

궁금하거나 이해가 잘 가지 않는 내용ㅤ📘

🦖ㅤXML ?
👉ㅤXML(eXtensible Markup Language)은 W3C에서 개발된, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어이다. XML은 SGML의 단순화된 부분집합으로, 다른 많은 종류의 데이터를 기술하는 데 사용할 수 있다.


profile
낯선이여, 당도하였으면 당도높은 복숭아

0개의 댓글