/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
1:32 5/31
americanopeople.tistory.com
1:32
americanopeople.tistory.com
복세편살
https://americanopeople.tistory.com/
저작도구: tistory
최종 피드 수집: 2023-03-26 05:18
전체 (51)
22d
ChatGPT에게 IfNecessary, IfNeeded 함수명의 차이를 물어보다.
함수명의 접미사로 xxxIfNecessary, xxxIfNeeded를 사용하는 경우가 있다.
이는 특수한 조건에 해당하는 경우에만 함수를 실행하게 하는 경우 사용한다.
그러나 두 함수의 차이점이 무엇인지 궁금해져 chatgpt에
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
1M
Kafka Streams In action: State store
Event
이벤트에 문맥이 있어야 의미있는 정보를 제공해주는 경우가 있다. 예를 들어, 주식 거래 이벤트를 상상해보자. 주식의 가격과 매매 정보가 기록된 이벤트는 큰 의미없는 지표로 보일 수 있다. 그러나 이벤트가 특정 기간동안의
독후감
+ 더보기
0
0
0
읽기모드
1M
BFF (Backend For Front. aka Aggregator)
BFF는 왜 사용할까?
마이크로 서비스 아키텍처로 구현된 이커머스는 여러 도메인 앱으로 구성되어 있다. 도메인의 예로는 회원, 장바구니, 주문, 상품, 쿠폰 등이 있다. 그리고 각 MSA는 프론트엔드에서 사용할 수 있도록 API를
0
0
0
읽기모드
1M
디자인패턴 - Strategy Design Pattern
Strategy Design Pattern
대부분의 기능은 동일하지만, 타입에 따라 일부 동작만 다르게 처리해야하는 경우, 유용한 디자인 패턴이다.
본 글에서는 결제 방법 (토스 혹은 포인트 결제)에 따라 장바구니 기능이 다르
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
1M
Kafka 컨슈밍와 재시도
카프카 이벤트를 컨슈밍할 때, 오류가 발생하는 경우 이를 재시도하는 방안에 대해서 정리해보고자 한다.
컨슈밍에 실패한 경우, 재시도 방법을 크게 Blocking과 Non-Blocking 으로 나눠볼 수 있다.
여기서 Block
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
2M
Enum 활용하기
Enum의 장점
public enum PizzaStatus {
ORDERED,
READY,
DELIVERED;
}
Enum의 장점은 다음과 같다.
코드의 가독성을 높여준다.
허용하는 값의 목록을 문서화한다
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
2M
<2022년 회고> 부제: 오히려 좋아
바야흐로 대 회고의 시대가 왔다. 2022년이 끝나기 마지막 40분을 남기고, 한 해 회고를 써보고자 한다.
올해의 키워드는 크게 복직, 이직, 육아이다.
복직
2022년 3월. 6개월 간의 출산휴가, 육아휴직을 끝내고 복
보통의 존재
+ 더보기
0
0
0
읽기모드
3M
15단계로 배우는 도커와 쿠버네티스
✏️ 줄치며 책 읽기
챕터 05. 컨테이너 API
docker run -d --name myd -e INTERVAL=10 -v 'pwd'/data/:pv my_daemon:0.3
-d은 백그라운드 데몬으로 컨테이너를 돌린다는
독후감
+ 더보기
0
0
0
읽기모드
3M
Zalando 사례를 통해 REST API 가이드 살펴보기
zalando는 패션, 신발, 뷰티 부문을 판매하는 독일의 온라인 커머스 기업이다. zalando에서 작성한 Restful API 가이드의 몇가지 사례를 통해 좋은 API를 설계하는 방법을 정리해보고자 한다.
https://op
Web
+ 더보기
0
0
1
읽기모드
4M
Lombok 기본 생성자와 Getter/Builder 어노테이션
@Getter
@Builder
public class AddItemToCartCommand {
private final Long userId;
private final Long productId;
privat
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
4M
JPA Entity와 Lombok Annotation
java entity를 쓰다보면 Lombok annotation이 덕지덕지 붙게 된다.
요렇게 말이다.
@AllArgsConstructor
@NoargsConstructor(access = AccessLevel.PROTEC
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
6M
Product catalog란?
제품 카탈로그는 상품을 표현하는 공통된 속성들의 집합을 말한다. 셀러는 달라도 동일한 제품을 판매한다면 그건 하나의 카탈로그로 묶을 수 있다.
아마존 도서 상품 상세 페이지를 예시로 살펴보자.
상품 상세 진입 시 보여지는
IT와 서비스
+ 더보기
0
0
0
읽기모드
6M
Mock VS Stub VS Spy
Mock
반환값이 없는 함수를 테스트할 때, 특정 객체에서 특정 함수가 호출되었는지 테스트할 때 사용한다.
Stub
특정 객체에서 특정 함수를 호출할 때, 특정한 값이 반환되라고 더미 데이터를 지정할 때 사용한다.
Spy
테스트-자동화
+ 더보기
0
0
2
읽기모드
6M
gradle build와 Jenkins
gradle java plugin을 사용하면, build 명령문 실행 시, gradle에서 task check 함수를 실행한다.
그래서 단순히 gradlew build 명령문으로 build를 하는 경우, 테스트에 실패해도 젠킨스에
테스트-자동화
+ 더보기
0
0
0
읽기모드
6M
개발자를 위한 최소한의 네트워크 지식
방화벽
방화벽은 미리 정의해둔 보안 규칙에 의해서 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 역할을 한다.
인바운드 트래픽
인바운드 트래픽은 외부에서 서버 내부로 들어오는 요청을 말한다. 인바운드 트래픽 IP 제한
인프라
+ 더보기
0
0
0
읽기모드
6M
IPv6와 Nginx
Ipv4
ipv4 프로토콜은 우리가 익히 알고있는 32bit의 IP 주소 체계로 되어있다. 그러다보니 사용할 수 있는 IP 수가 43억개로 제한되어있다.
223.130.195.95
Ipv6
Ipv6 프로토콜은 Ipv4 인터넷
인프라
+ 더보기
0
0
0
읽기모드
8M
[EDA] 이벤트 발행하기 (작성중)
애플리케이션에서 이벤트를 발행하는 방법은 크게 Application layer event와 Persistence layer event으로 나뉜다.
Application layer event
애플리케이션 안에서 명시적으로 이벤트를
아키텍처
+ 더보기
0
0
0
읽기모드
8M
좋은 API 설계하기
규칙
항상 사용자를 생각하기
설명서 작성하기 (api docs)
성공 / 실패 응답 모델을 모두 준비하기
명사만 사용하기
안티패턴 :
/get-user, /add-user
/delete-account
명확하고 직관적인 이름 사용하
0
0
0
읽기모드
8M
[EDA] 이벤트 데이터 설계
이벤트 설계
이벤트는 “뭔가" 일어났음을 전하는 메시지가 아니라, 이벤트가 발생한 동안의 모든 일들을 기록해야한다.
이 출력 이벤트를 단일 진실 공급원으로 간주해서 다운스트림 컨슈머가 소비할 불변의 팩트로 기록해야한다. 때문에 컨
프로그래밍 언어와 프레임워크
+ 더보기
0
0
0
읽기모드
9M
broadleafcommerce으로 재고 시스템 맛보기
이커머스 오픈소스인 broadleafcommerce의 재고 서비스를 살펴봄으로써, 재고 시스템 구조를 맛보고자 한다.
재고 예약 Flow Diagram
체크아웃을 완료하기 전인 임시 주문 단계에서 재고를 임시로 예약한다. (S
아키텍처
+ 더보기
0
0
0
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy