Home
Youngho's Devlog
Cancel

[클린코드] Chapter14-점진적인 개선

이 장은 점진적인 개선을 보여주는 사례다. 프로그램을 짜다보면 종종 명령행 인수(public static void main(String[] args))의 구문을 분석할 필요가 있는데 이 구문을 분석할 유틸리티 모듈을 개선해나가는 예제를 설명한다. 세부적인 개선 과정과 자세한 내용은 서적을 참고하기 바란다. p.246 결론 깨끗한 코드...

[클린코드] Chapter13-동시성

동시성이 필요한 이유? 동시성은 결합(coupling)을 없애는 전략이다. 즉, 무엇(what)과 언제(when)을 분리하는 전략이다. 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다. 예를 들어, 서블릿은 웹 요청이 들어올때마다 웹서버는 비동기식으로 서블릿을 실행한다. 서블릿 프로그래머는 들어오는 ...

[클린코드] Chapter12-창발성

창발적 설계로 깔끔한 코드를 구현하자 다음 켄트 벡이 제시한 단순한 설계 규칙 네 가지가 소프트웨어 설계 품질을 크게 높여준다고 믿는다. 1) 모든 테스트를 실행한다. 2) 중복을 없앤다. 3) 프로그래머 의도를 표현한다. 4) 클래스와 메서드 수를 최소로 줄인다. 단순한 설계 규칙1: 모든 테스트를 실행하라 테스트가 가능한 시스템을 만들려고...

[클린코드] Chapter11-시스템

“복잡성은 죽음이다. 개발자에게서 생기를 앗아가며, 제품을 계획하고 제작하고 테스트하기 어렵게 만든다.” - 레이 오지, 마이크로소프트 CTO 도시를 세운다면? 이 장에선 높은 추상화 수준, 즉 시스템 수준에서도 깨끗함을 유지하는 방법을 살펴본다. 시스템 제작과 시스템 사용을 분리하라 소프트웨어 시스템은 (애플리케이션 객체를 ...

[클린코드] Chapter10-클래스

클래스 체계 클래스의 구성원 변수 목록 -> 함수순으로 구성된다. 정적 공개 상수(static public) -> 정적 비공개(private static)변수가 나오게되고 그다음 비공개 인스턴스 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다. 함수는 공개 함수가 나오고 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는...

[클린아키텍처] 34장 빠져 있는 장

‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆‍♂️ 계층 기반 패키지 기술적 관점에서 해당 코드가 하는 일에 기반하여 그 코드를 분할 계층 사이의 의존성은 모두 아래를 향하도록 (단방향) 출처: https://skidrow6122.tistory.com/26 마틴 파울러...

[클린아키텍처] 33장 사례 연구: 비디오 판매

‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆‍♂️ 유스케이스 분석 출처: https://skidrow6122.tistory.com/25 단일 책임 원칙에 따르면 이들 네 액터(제작자, 관리자, 구매자, 시청자)가 시스템이 변경되어야할 네 가지 주요 근원이 된다. 신규 기능을...

[클린아키텍처] 30 ~ 32장

‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆‍♂️ 30장 - 데이터베이스는 세부사항이다. 애플리케이션 내부 데이터 구조는 시스템 아키텍처에서 대단히 중요하다. 하지만 데이터베이스는 데이터 모델이 아니다. 데이터가 테이블 구조를 가진다는 사실은 오직 아키텍처의 외부 원에 위치한 ...

[디자인패턴] 상태 패턴(State Pattern)

아래 출처 포스팅이 정리가 잘 되어 있습니다. 기록용으로 남깁니다😊 출처 https://johngrib.github.io/wiki/pattern/state/

[클린아키텍처] 29장 클린 임베디드 아키텍처

‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆‍♂️ 소프트웨어는 닳지 않지만, 펌웨어와 하드웨어에 대한 의존성을 관리하지 않으면 안으로부터 파괴될 수 있다. 소프트웨어는 시간이 지나도 유용하게 쓸 수 잇지만, 펌웨어는 하드웨어가 발전할 수록 낡아갈 것이다. 안드리오드 앱 ...