본문 바로가기

전체 글104

[항해 취업 리부트 코스] 개인프로젝트 3주차 후기 들어가며3주차... 대망의 3주차... 지금까지는 아무것도 아니었다. 프로젝트 주차의 피날레...? 랄까 😵‍💫이번주에는 결제 관련 api를 만들고 자동화 테스트 툴 구축하는 것이 목표이다. 우선 결제 관련 api를 만들면서 상품 재고 감소 -> 주문 -> 배송 -> 결제 이 프로세스로 동작한다.현재 결제 진입 api는 거의 다 완성한 상태고 결제 api가 남아있다. 결제 프레세스에 대해 EDM을 활용해서 이벤트를 처리할 생각이다. 원래는 AWS sqs 를 사용했지만 대용량 처리라는 주제에 걸맞게 카프카를 도입해보기로 했다.어제는 카프카 세팅을 완료하고 토픽을 생성하고 재고 감소, 주문, 배송 프로세스까지 완료 했다. 트러블 슈팅 및 기술적 고민Circuit Breaker 메소드에 적용하는 방식cir.. 2024. 5. 7.
[백준] 2373번 세 용액 들어가며두 용액을 이분탐색으로 풀어서 이 문제도 이분탐색으로 풀어야하나? 라는 생각이 당연하게 들었다. 근데 보통 left, right로 나눠서 3개의 포인터(?)를 가지고 답을 구해나가야하는데 이건 세가지인데? 이런 혼란이 생겼다. 그래서 아 그럼 2개씩 뽑아서 구한 조합의 합을 먼저 구하고 원본 배열 (nC2 + n) 합쳐서 이분탐색을 돌리면 3개의 합이 나오지 않을까? 라고 생각했다. 근데 3개의 원소를 어떻게 기록하지...이처럼 생각이 많았던 문제이다. 브루트포스, 조합을 거쳐갔지만 결국 이분탐색으로 풀었다.  문제 풀이우선 이분탐색이지만 주의할 점은 3개의 용액의 합을 비교해서 풀어야한다는 것이다. 그래서 2중으로 반복문이 돌아가겠지만 이분 탐색이므로 O(nlgn)이 될것으로 예상된다.1. 먼저.. 2024. 5. 7.
동시성 이슈를 해결하기 위한 Redisson 적용기 들어가며현재 개인프로젝트로 예약 구매 이커머스 프로젝트를 진행하고 있다. 특정 시간에 구매 버튼이 활성화되는 예약 구매 시스템이다. 해당 시간에는 많은 트래픽이 몰리는 상황을 조건으로 걸 예정이다. 이를 구현하기 위해 동시성 이슈를 학습하고 이를 해결하는 방법에 대해 알아보았다. 다양한 방법이 존재했지만 그중에서도 Redis의 Redisson을 사용하기로 했다. 그래서 여러가지 방법과 그중에서도 Redisson을 선택한 이유에 대해서 이야기 해보려고 한다. 동시성 이슈란?쉽게 말하면 공유된 자원에 동시에 접근해 발생하는 문제를 말한다.결국 Race Condition(경쟁 상태)가 발생하게 되는 것인다. Race Codition 란?둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결과값에 영향을 줄 수 .. 2024. 5. 5.
멀티 모듈 자바 21 보호되어 있는 글 입니다. 2024. 5. 2.