Home
Youngho's Devlog
Cancel

[만들면서 배우는 클린 아키텍처] Chapter3 - 코드 구성하기

‘만들면서 배우는 클린 아키텍처’ 기술 서적을 읽고 학습 내용을 정리하기 위한 목적의 TIL 포스팅입니다🙆‍♂️ 예제코드는 깃허브 레포지토리를 참고해주세요. 3장 - 코드 구성하기 코드를 구성하는 몇 가지 방법을 살펴보고, 육각형 아키텍처를 직접적으로 반영하는 표현력있는 패키지 구조를 소개한다. BuckPal 예제 코드를 구조화히...

[만들면서 배우는 클린 아키텍처] Chapter2 - 의존성 역전하기

‘만들면서 배우는 클린 아키텍처’ 기술 서적을 읽고 학습 내용을 정리하기 위한 목적의 TIL 포스팅입니다🙆‍♂️ 예제코드는 깃허브 레포지토리를 참고해주세요. 2장 - 의존성 역전하기 이번장에선 계층형 아키텍처 문제점에 대한 대안을 이야기한다. 단일 책임 원칙 하나의 컴포넌트는 오로지 한 가지 일만 해야 하고, 그것을 올바르게 수행해...

[만들면서 배우는 클린 아키텍처] Chapter1 - 계층형 아키텍처의 문제는 무엇일까?

‘만들면서 배우는 클린 아키텍처’ 기술 서적을 읽고 학습 내용을 정리하기 위한 목적의 TIL 포스팅입니다🙆‍♂️ 예제코드는 깃허브 레포지토리를 참고해주세요. 시작하기전 추천사 (객체지향의 사실과 오해 저자 조영호) 클린아키텍처의 핵심은 의존성 방향으로 비즈니스 로직이 외부 요소에 존재하지 않고 프레젠테이션 계층과 데이터 소스 계층이 ...

[디자인패턴] Visitor 패턴

개요 Visitor(방문자)패턴은 방문자와 방문 공간을 분리하여 방문 공간이 방문자를 맞이할 때, 이후에 대한 행동을 방문자에게 위임하는 패턴이다. 클래스 다이어그램은 아래 이미지와 같다. 출처: https://brownbears.tistory.com/575 예제 아래 예제는 문서 변환 시스템에 적용한 예제이다. DocumentElement 인...

[AWS] AWS TGC 내용 정리

2주차 세션: AWS 네트워크의 이해 S3 는 VPC에 종속적이지 않는다. RFC1918 (private IP 표준)에 따르면 사설망 내부 IP대역을 할당시 특정 대역 IP를 미리 사용하기로 약속한다. IP의 앞 구역을 몇자리를 고정할건지에 따라 사용할 IP대역이 결정되며 크게 3가지로 나뉘어진다. I...

[Database] MySQL VARCHAR vs TEXT

글자수 제한이 큰 데이터를 저장해야하는 요구사항에 대해 데이터 모델링 작업을 진행하게 되었다. 그러면서 mysql 의 varchar 타입과 text 타입의 차이점에 대한 차이점에 대해 정리하게 되었다. 먼저 결론은 다음과 같다. 물론 DBMS 서버스펙이나 데이터 모델 그리고 유입되는 트래픽에 따라서 미치는 영향도가 다를수 있다는점을 감안해야 한다....

[클린코드] Chapter17-냄새와 휴리스틱

주석 C1: 부적절한 정보 다른 시스템(ex. 소스 코드 관리 시스템, 이슈 추적 시스템 등)에 저장할 정보는 주석으로 적절치 못하다. 예를 들어, 변경 이력은 장황한 날짜와 따분한 내용으로 소스 코드만 번잡하게 만든다. 주석은 코드와 설계에 기술적인 설명을 부연하는 수단이다. C2: 쓸모 없는 주석 오래된, 엉뚱한, 잘못된 주...

[Swagger] swagger 사용시 패키지가 다른 동일 클래스를 구별하지 못하는 이슈

자바/스프링부트 기반 애플리케이션에서 응답 모델 구현시 inner 클래스명이 겹치다보면 swagger-ui 에서 클래스를 정확하게 구분하지 못하는 이슈가 생길수 있다. 아래 출처 포스팅 내용처럼 use-fqn 옵션을 활용하면 Schema 가 패키지를 포함하여 관리되므로 위와 같은 이슈를 해결할 수 있다. 자세한 내용은 출처 포스팅에 잘 정리되어 ...

[클린코드] Chapter16-SerialDate 리팩터링

일반적으로 기반 클래스 (base class, 부모 클래스)는 파생 클래스(derivative, 자식 클래스)를 몰라야 바람직하다. (p.351) 저자는 실질적인 가치가 없으면서 코드만 복잡하게 만드는 인수와 변수 선언된 final 키워드를 제거하는게 좋다고 한다. (p.356) final을 제거하는것은 일부 기존 관례에 ...

[클린코드] Chapter15-Junit 들여다보기

Junit 은 자바 프레임워크 중에서 가장 유명하다. 일반적인 프레임워크가 그렇듯 개념은 단순하며 정의는 정밀하고 구현은 우아하다. 하지만 실제 코드는 어떨까? 이 장에서는 Junit 프레임워크에서 가져온 코드를 평가한다. Junit 프레임워크 Junit 은 저자가 많다. 하지만 시작은 켄트 벡과 에릭 감마, 두 사람이 함께 아틀...