만들면서 배우는 클린 아키텍쳐
·
Book/DEV
들어가며보통 스프링 프로젝트를 시작하게 되면 계층형 아키텍쳐를 쉽게 채택한다.계층형 아키텍쳐의 대안에 대해 미리 알아두고, 필요할 때 잘 채택할 수 있도록 해당 서적을 읽기 시작했다.나아가 기존 프로젝트의 결합도를 낮출 수 있는 방법에 실습하며 익혀보고자 했다.계층형 아키텍쳐 영속성 계층에 의존하기 때문에 데이터베이스 설계에 의존하게 된다.데이터베이스의 구조를 먼저 생각하고, 이를 토대로 도메인 로직을 구현하게 된다.영속성 개체에 대한 의존성이 높아지면, 개발자들의 병렬(동시) 작업에 어려움이 생길 수 있다.ex) 엔티티의 변경이 발생해 서비스 코드의 변화가 생김 -> merge conflict의존성 역전컴포넌트 사이의 의존성이 생기면 상위 컴포넌트의 변경이 생길 때 마다 하위 컴포턴트의 변경이 불가피..
자바/스프링 개발자를 위한 실용주의 프로그래밍
·
Book
https://product.kyobobook.co.kr/detail/S000213447953 자바/스프링 개발자를 위한 실용주의 프로그래밍 | 김우근 - 교보문고자바/스프링 개발자를 위한 실용주의 프로그래밍 | 소프트웨어 개발을 잘하고 싶다면 ‘개발’ 공부를 해야 합니다! 자바 개발자가 코틀린 같은 신생 언어를 다룰 수 있게 된다고 해서 개발을product.kyobobook.co.kr[감상]예시가 명료해서 술술 읽히는 책이었다. 마치 선배 개발자와 커피챗을 한 기분이 들었다. 종이책을 소장하는 것을 좋아하는 편이라 사비로 책을 구매했는데, 후회 없는 선택이었다👍!다른 서적(ex. DDD, Clean Architecture)과 저자의 경험을 기반으로 직관적이고 좋은 사례를 많이 포함하고 있어 스스로를 ..
Effective Java - 상속과 합성
·
Book/DEV
상속보다는 합성을 우선시하자 상속은 도형 - 동그라미 관계에서 도형은 각, 면적, 기타 등의 필드가 존재한다. 상속은 캡슐화를 깨트릴 우려가 있다. ➡️ 캡슐화가 깨진다? : 상위 클래스를 수정하였을 때 하위 클래스에 미치는 영향이 생긴다는 뜻에서 캡슐화가 깨진다고 묘사 또한 상속을 이용하게 되면 상위 클래스에 변경이 생기게 될 경우 상속받은 모든 하위 클래스에서 변경이 일어난다. 순수한 is-a 관계에서만 상속을 사용하고, 그 외의 경우에는 합성을 사용하는 것이 바람직하다 자바 9 이상부터 정적 팩토리 메서드를 지원한다. Arrays.asList 안 쓰고 List.of, Map을 새로 생성 할 때는 Map.of을 사용하자. 다만 불변 객체가 되기 때문에 UnsupportedOperationExcepti..
Clean Code - 1장(깨끗한 코드)
·
Book
Clean Code✨ 1장을 읽으며 간략하게 정리한 포스트입니다. 장인 정신 = 원칙, 패턴, 기술을 기반으로 한 이론적인 지식의 습득 + 직접 경험해 연습하는 체득 나쁜 코드 미약한 전제에 기반해 발생한다. 시간을 핑계로 나쁜 코드를 양산하지 말자. 오히려 나중에 시간이 더 필요해질 수 있다. 클린 코드의 특성 우아하다(보기에 좋다) 가독성이 뛰어나다 다른 사람이 고치기 좋다 주의 깊게 작성된다 테스트 코드의 통과 중복이 없다 모든 설계 아이디어를 포함 클래스, 메서드, 함수를 줄인다. 읽기 쉽다 (bec. 기존 코드를 계속 참고하기 때문) 시간이 지날수록 코드의 품질이 좋아진다