책
-
도메인 주도 설계로 시작하는 마이크로서비스 개발 - (3)책 2025. 9. 24. 13:57
CHAPTER05. 마이크로서비스 설계5.1.2. DDD의 바운디드 컨텍스트 기반 도출마이크로서비스를 도출할 때 서비스가 소유권을 가진 데이터를 독립적으로 식별하는 것이 중요하다DDD에서는 데이터를 기능과 분리해서 식별하지 않고 문제 영역인 하위 도메인마다 별도의 도메인 모델로 정의한다도메인 모델은 각 업무에 특화된 유비쿼터스 언어로 정의되고 그 업무에 특화된 개념으로 구성된다 5.2. DDD에서의 설계클라우드와 마이크로서비스 아키텍처 적용을 통해 얻을 수 있는 장점인 독립적 개선과 배포, 장애 격리, 장애 발생 시 빠른 재실행을 가능하게 하려면 마이크로서비스를 응집성 있게 식별하는 것이 매우 중요하다 DDD의 전략적 설계에서는 비즈니스 응집성이 있는 컨텍스트를 구분하고 이를 바운디드 컨텍스트라 하는데..
-
도메인 주도 설계로 시작하는 마이크로서비스 개발 - (2)책 2025. 9. 23. 12:40
CHAPTER03. 마이크로서비스 애플리케이션 아키텍처3.2.2. 헥사고날 아키텍처헥사고날 아키텍처에서는 고수준의 비즈니스 로직을 표현하는 내부 영역과 인터페이스 처리를 담당하는 저수준의 외부 영역으로 나눈다 - 내부 영역은 순수한 비즈니스 로직을 표현하는 기술 독립적인 영역이다 그리고 외부 영역과 연계되는 포트를 가지고 있다 - 외부 영역은 외부에서 들어오는 요청을 처리하는 인바운드 어댑터와 비즈니스 로직에 의해 호출되어 외부와 연계되는 아웃바운드 어댑터로 구성된다 헥사고날 아키텍처의 가장 큰 특징은 고수준의 내부 영역이 외부의 구체 어댑터에 전혀 의존하지 않게 한다는 것이다 이를 가능하게 하는 것이 내부 영역에 구성되는 포트이다 포트는 인바운드/아웃바운드 포트로 구분- 인바운드 포트는 내부 영역의 ..
-
도메인 주도 설계로 시작하는 마이크로서비스 개발 - (1)책 2025. 9. 23. 10:38
CHAPTER01. 아마존 비즈니스 민첩성의 비밀1.3.4. 개발 환경의 변화 : 인프라 자동화개발지원 환경을 자동화하는 데는 소스코드를 빌드하는 도구와 빌드와 동시에 테스트하는 도그 가상화된 인프라에 배포하는 도구가 모두 필요하다 이 같은 환경은 개발과 운영을 동시에 수행하는 데브옵스를 궁극적으로 가능하게 하므로 데브옵스 개발 환경이라 속칭하기도 한다또한 이러한 개발 환경, 개발지원 환경을 자동화하는 것을 모두 통틀어 인프라 자동화라고 하기도 한다인프라 자동화는 마이크로서비스 개발 과정의 필수조건이 돼야 한다 1.3.5. 저장소의 변화 : 통합 저장소가 아닌 분권 데이터 관리마이크로서비스는 폴리글랏 저장소 접근법을 선택하며 서비스별로 데이터베이스를 갖도록 설계한다즉, 각 저장소가 서비스별로 분산돼 있..
-
스프링 퀵 스타트책 2025. 9. 18. 15:36
입사 초기에 구매했던 책이었는데 드디어 완독했다 스프링부트를 사용하니 사실 찍어내는 느낌으로 코딩을 했었는데 책을 읽으면서 수동 설정을 하나씩 보고 스프링 원리를 개략적으로 복습하는 느낌이어서 재밌었다 지금 생각해도 아무것도 모를 때 보기에는 조금 지루했을 것 같고 어느 정도 스프링 실무를 하고 보니 빠르고 쉽게 읽을 수 있었다 https://gitofjy.tistory.com/280https://gitofjy.tistory.com/282https://gitofjy.tistory.com/285https://gitofjy.tistory.com/287
-
이것이 취업을 위한 백엔드 개발이다 - with 자바책 2025. 8. 30. 14:32
이직을 준비하면서 책을 정리하던 중에 발견한 막 취업했을 때 구매했던 책이다"취업을 위한"이라는 타이틀 때문에 읽을까 말까 고민했지만 가볍게 정리하는 느낌으로 완독 했다3년 차 개발자에게는 쉬운 내용인 것은 맞지만 놓칠 수 있는 or 까먹고 있던 기초를 정리하는데 좋았다 전공자의 경우에는 모르겠고 비전공자라면 입문하기에 살짝 두꺼워서 부담스러울 수 있을 것 같다비전공자 + 실무 1년 경험이 읽기에 적절한 책이지 않을까 싶다 어쨌든 완독 !https://gitofjy.tistory.com/250https://gitofjy.tistory.com/260https://gitofjy.tistory.com/264https://gitofjy.tistory.com/265
-
이것이 취업을 위한 백엔드 개발이다 - with 자바 (4)책 2025. 8. 30. 14:23
3. 상품 추가 기능 구현하기JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속하는 기능을 제공하는 API이다 데이터베이스 커넥션과 커넥션 풀애플리케이션과 데이터베이스 사이의 연결은 커넥션이라고 표현한다애플리케이션에서는 데이터베이스와의 연결을 수행하는 커넥션 인스턴스를 생성하고 데이터베이스에서는 그에 상응하는 인스턴스를 만들어서 대응한다커넥션 풀은 애플리케이션이 앞으로 사용하게 될 커넥션들을 미리 만들어 주고 애플리케이션 내에서 커넥션이 필요한 곳에 커넥션을 빌려줬다가 돌려받는다 만약 커넥션 풀을 사용하지 않는다면 데이터베이스와 커넥션을 맺을 때 해당 커넥션 인스턴스를 별도로 생성해 줘야 하므로 데이터베이스와 연결할 때마다 리소스가 낭비된다 이는 성능에도 영향을 미치..
-
이것이 취업을 위한 백엔드 개발이다 - with 자바 (3)책 2025. 8. 30. 12:51
CHAPTER10. 상품 관리 애플리케이션에 유효성 검사 추가하기1. 도메인 객체 및 컨트롤러 유효성 검사 추가하기Bena Validation 통한 유효성 검사Bean Validation은 JSP-303 이라는 스펙을 사용하여 유효성을 검사하는 행위를 의미한다- @Validated 에노테이션은 해당 클래스에 있는 메서드들 중 @Valid가 붙은 메서드 매개변수를 유효성 검사하겠다는 의미이다 2. 전역 예외 핸들러 추가하기@RestControllerAdvice로 유효성 검사 예외 처리- 도메인 객체 : jakarta.validation.ConstraintViolationException- 컨트로러 : org.springframework.web.bind.MethodArgumentNotValidExcepti..
-
이것이 취업을 위한 백엔드 개발이다 - with 자바 (2)책 2025. 8. 24. 23:10
CHAPTER 08. 서버와 클라이언트의 약속, HTTP1. HTTP 트랜잭션HTTP(HyperText Transfer Protocol) 특징HTTP는 웹 페이지들 사이에서 링크를 타고 다니면서 정보를 전송하는 통신 규약을 의미한다기본적으로 알아야 할 HTTP 버전은 HTTP/1.1 버전이다HTTP/1.1 버전은 HTTP라는 프로토콜이 안정적으로 자리 잡은 버전이자 가장 널리 사용되고 있는 버전이다 HTTP 트랜잭션HTTP 트랜잭션은 HTTP 요청과 응답이 하나의 묶음으로 이루어진다는 의미를 가지고 있지만 일반적으로 사용되는 트랜잭션이라는 표현은 보통 쪼개질 수 없는 처리를 의미한다 HTTP/1.1 버전에 기반한 HTTP의 대표적 특징1. HTTP는 크라이언트 요청으로 HTTP 트랜잭션이 시작된다클..