본문 바로가기

upcurve631

[독서 기록] 도메인 주도 설계로 시작하는 마이크로서비스 개발, 1~2장 도메인 주도 설계로 시작하는 마이크로서비스 개발 넷플릭스, 우버, 아마존, 쿠팡 등의 대규모 인터넷 서비스를 제공하는 회사들의 애플리케이션은 어떤 구조로 만들어졌을까? 가상화되고 유연하게 변경되는 클라우드 인프라에 최적화된 애플리케이션 형태는 무엇일까? 이러한 질문의 해답이 되는 애플리케이션 형태가 바로 마이크로서비스이며, 마이크로서비스는 클라우드 환경에서 가장 진화된 애플리케이션 형태다. 이 책은 마이크로서비스 개발에 입문하고자 하는 분들을 위해 전반적인 마이크로서비스 아키텍처의 개념과 주요 패턴들을 소개하고 마이크로서비스 개발 방법으로 가장 주목받는 도메인 주도 설계를 살펴본다. 특히 도메인 주도 설계의 업무 분석 및 설계 기법인 이벤트 스토밍을 통해 업무를 빠르게 분석하고 마이크로서비스를 도출 및 .. 2023. 5. 30.
레디스redis 자료구조 예시 코드 (Geospatial 이용 거리 찾기 예제 포함) 우선 docker에서 실행중인 redis를 컨테이너에 접속하여 실행한다. docker exec -it 0dda0724c460 redis-cli --raw 1. String 자료 구죠 (key-value) set id 10 get id del id 2. Hash 자료 구조 (key-subKey-value) hgetall USER //key(USER)와 매핑되는 모든 필드와 값들을 조회 hset USER subkey value // key의 subkey의 값을 지정 hget USER subkey // 조회 3. 리스트 (List) # 리스트에 값 추가 RPUSH mylist "apple" RPUSH mylist "banana" RPUSH mylist "cherry" # 리스트에서 값 조회 LRANGE myl.. 2023. 5. 29.
[독서 기록] 소프트웨어 장인, 산드로 만쿠소 소프트웨어 장인 이 책에서 풀어낸 소프트웨어 장인정신의 프로페셔널리즘, 기술적 탁월함, 고객 만족은 애자일, 린(lean) 원칙들과 시너지를 일으켜 소프트웨어 업계를 한 단계 도약시킬 수 있다. 또한 프로젝트와 개발자를 공장 운영과 생산 라인 노동자로 보는 관점을 바꾸는데 기여할 것이다. 그리고 책에서 다룬 경험을 바탕으로 한 사례와 실용적인 조언은 소프트웨어 개발자뿐만 아니라 프로젝트와 연관이 있는 모든 참여자에게 도움이 될 것이다. 저자 산드로 만쿠소 출판 길벗 출판일 2015.09.25 "이 코드는 지금 수정 못해. 담당자가 휴가에서 돌아와야 해. 다른 사람은 이 코드를 이해할 수가 없거든."이라는 식의 이야기가 흔한 때였다. - 28p 해가 가면서 '고참'이라는 것이 '일시적'이고 '상대적'임을 .. 2023. 5. 28.
docker compose를 이용한 mariadb build시 트러블 슈팅 (3306이 아닌 다른 포트 사용시) 문제상황 : 도커 컴포즈를 이용해 mariaDb를 생성하고 jdbc 혹은 datagrip을 이용해 접속하려고 했을 때 아래와 같은 에러가 발생했다. Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=localhost)(port=3307)(type=master) : Could not connect to localhost:3307 : unexpected end of stream, read 0 bytes from 4 (socket was closed by server) 이러한 상황은 로컬에서 이미 3306 포트를 사용하고 있기 때문에 포트 번호를 바꿔주려고 시도한 데서부터 발생했다. pharmacy.. 2023. 5. 23.
테스트 컨테이너 TestContainer를 이용한 단위/통합 테스트 환경 구성 테스트컨테이너란 ? 테스트 환경에서 독립적으로 실행되는 컨테이너로, 자바 라이브러리이다. 테스트 컨테이너를 사용함으로써 실제 환경과 유사하게 테스트 환경을 구사할 수 있고, 다양한 자동화가 가능하다. 일반적으로 테스트 환경을 구성할 때 4가지 방식을 따른다. 1. 로컬 db 2. 인메모리 db (h2) 3. docker 4. test container 테스트 컨테이너는 3번 도커의 방식과 유사하다고 할 수 있지만 보다 나은 편의성을 제공한다. - 자바 언어만으로 테스트 환경 구성 - docker를 따로 클린해주어야 하는 번거로움 없음 무엇보다도 포트를 알아서 잡아주기 때문에 포트가 안잡혀서 docker db와 연동할 때 애먹는 문제를 겪지 않아도 된다! test container 환경 구성하기 // te.. 2023. 5. 23.