기록 잡화점 기록 잡화점
[개발 일기 #31] 3개월 간 신입 개발자는 무엇을 했을까?

[개발 일기 #31] 3개월 간 신입 개발자는 무엇을 했을까?

24년도 11월 25일에 입사하고 벌써 3개월이 지났다. 그리고 오늘 수습 기간이 끝나고 정직원이 됐다. 3개월, 약 90일 동안 신입 개발자로서 나는 어떤 것을 배웠고 무엇을 했을까? 또한 개발 외에 어떤 것에 관심이 생겼을까? 3개월 간 수습 생활을 돌아보고자 회고록을 남겨본다. 입사, 나의 팀 24년도 11월 25일 월요일 첫 출근을 했다. 입사 동기는 총 8명. 나와 같은 개발자 직무인 동기는 나 포함 총 4명이고, 엔지니어 직무인 나머지 4명은 아쉽지만 OT 기간이 끝나면 서초/가산으로 발령이 난다고 알고 있었다. 근무 지역이 달라지지만 그래도 서로 대화도 많이 하고 저녁도 먹고 일주일 OT 기간을 함께 재밌게 보냈다. 다들 너무 성격이 좋아서 마음이 편했다. 인사팀과 다양한 부서에서 신경을 써주신 덕분에 OT기간에 회사가 무엇을 하는지, 어떻게 나아가는지 알 수 있었고, 비즈니스 매너 같은 기본적인 예절과 회사 문화와 생활에 대해 배울 수 있었다. (진짜 놀금 복지는 최고
[25.01] 다시 돌아온 상하이 여행

[25.01] 다시 돌아온 상하이 여행

https://blog.naver.com/sosow0212/223653421271 [24.01] 우끽끼 민주와 신나는 상하이 여행 2024.01.29 - 24.02.06 올해 2월에 여자친구와 상하이에 다녀왔습니다. 처음에 중국에 대해 무섭기도 하고 ... blog.naver.com 설날 황금 연휴 기간에 여자친구랑 상하이를 다녀왔습니다. 작년 1월에 갔다가 1년만에 다시 갔네요! 동방항공을 탔는데 기내식이 나왔습니다. 중국식 돼지고기 덮밥인데 별로였고 저기 빵과 과자는 맛있었습니다~ 숙소는 상하이 푸동에 있는 '더 이튼 호텔'입니다. 작년에도 여길 갔고 올해 더 좋은 곳 갈까 하다가 다 비슷비슷하고 위치도 좋고 깨끗하고 무엇보다 배달도 1층으로 시키면 가져갈 수 있어서 한 번 더 왔습니다. 여자친구도 저도 너무 만족하는 숙소라서 앞으로 상하이에 또 간다면 또 여기로 올 것 같아요. 인민광장이나 난징동루나 다 가깝기 때문에 깨끗한 이튼 호텔이 더 좋은 것 같습니다. 사실 저희가 상하
코틀린과 헥사고날 아키텍처에 대해

코틀린과 헥사고날 아키텍처에 대해

안녕하세요. 굉장히 오랜만에 학습 포스팅 글을 작성하는 것 같습니다. 벌써 입사 한 달이 다 됐는데 시간이 참 빠른 것 같습니다! 취업을 해도 공부를 하는 것은 변함이 없지만 그래도 이제는 궁금했던 것들을 학습할 수 있게 돼서 좋은 것 같습니다. 입사 후 2주는 펑펑 놀았고, 이제는 퇴근하고 조금씩 공부를 하고 있는데 현업에서 사용하는 개념적인 것들과 궁금했던 아키텍처에 대해서 학습을 먼저 진행 했습니다. 재밌게 학습을 하고 싶어서 가장 대중적인 주제인 [상품 주문, 결제, 배송] 시스템을 간단하게 만들면서 학습을 진행하고 있습니다. 오늘 진행한 코드에 대해서는 아래 레포지토리에서 확인하실 수 있습니다. https://github.com/sosow0212/order-process/pull/1 코틀린과 헥사고날 아키텍처에 익숙하지 않아서 틀린 부분이 있을 수 있는데, 틀린 부분이 있다면 피드백 부탁드립니다. 목차 코틀린에 대해 레이어드 아키텍처와 헥사고날 아키텍처에 대해서 (+ Dom
[24.11] 밍구와 함께하는 당일 예약 무계획 후쿠오카 여행기

[24.11] 밍구와 함께하는 당일 예약 무계획 후쿠오카 여행기

공채 최종합격 소식을 목요일 저녁 늦게 메일로 확인하고 기쁜 마음으로 여자친구한테 전화 했습니다. 입사가 당장 11월 25일이기 때문에 원래 계획한 발리 한 달 살이는 못하게 되었고, 아쉬운 마음에 같이 여행을 가기로 했습니다! 새벽까지 알아봤지만 일본, 동남아 등등 모든 항공권이 5~60만원이나 하고 숙박은 더 비싸서 아쉬운 마음에 그냥 잤습니다 ㅠㅠ 아침 일찍 여자친구가 전화해서 후쿠오카 항공기랑 숙박을 찾았다고 하길래 당장 부랴부랴 씻고 정신 없이 인천으로 차타고 달려갔습니다. 15시 비행기가 있어서 바로 10시에 양말도 챙기지 못한 상태로 떠났습니다 ㅋㅋ 이렇게 저희의 취업 파티 무계획 후쿠오카 여행이 시작 됐습니다. 여자친구 집이 검단신도시라 주차를 해놓고, 근처 계양역 공항철도를 타니 30분만에 도착했습니다! 민주가 밥을 잘 안 먹는데 한식이 땡긴다해서 공항에 소문난집? 이라는 한식집에서 맛나게 먹고 비행기를 바로 탔습니다. 역시 공항은 언제 가도 너무 설렙니다~~ 비행기
[24.08] 사이판 여행

[24.08] 사이판 여행

24.08.07 - 24.08.12 여자친구와 여름에 사이판에 다녀왔습니다. 먼저 저희 둘다 괌은 다녀왔는데, 괌이 너무 예뻤어서 이번에는 괌 바로 옆인 사이판에 가기로 했습니다. 사이판은 투어 외에는 섬 자체가 너무 작고 할게 없어서 심심했고, 숙소와 물가가 생각보다 많이 비쌌습니다. 켄싱턴, 크라운 숙소 모두 1박에 20만원 정도 하는데 그정도로 좋진 않기 때문에 차라리 괌이 더 좋은 것 같습니다. 그래도 너무 예쁘고 바다만 봐도 좋아서, 조용한 휴양지를 가고 싶다면 사이판도 괜찮습니다! 아이러브사이판 이거랑 아이러브괌 사장님이 한국 사람인거 아셨나요? 저도 투어 가이드한테 들었습니다 ㅋㅋㅋㅋ 저기 가자마자 아이러브사이판 티셔츠를 샀는데, 지금도 잠옷으로 잘 입고 있습니다~ 사이판은 되게 작은 섬인데요. 아이러브사이판 나와서 앞에 있는 버거집에서 윙이랑 버거를 사서 먹었는데 역시 맛있었습니다. 숙소 앞에 바다로 바로 갔습니다! 역시 바다 정말 깨끗하고 보기만 해도 힐링이 되는 장
[24.01] 우끽끼 민주와 신나는 상하이 여행

[24.01] 우끽끼 민주와 신나는 상하이 여행

2024.01.29 - 24.02.06 올해 2월에 여자친구와 상하이에 다녀왔습니다. 처음에 중국에 대해 무섭기도 하고 가기 싫었는데, 막상 가보니 되게 좋았어서 남겨봅니다. 여자친구가 중국어를 엄청 잘하기 때문에 편하게 갔다왔지만, 중국 자체에 구글 맵에 정보도 없고, 고덕지도라는 현지 어플 (영어가 없음)만 사용해야해서 중국어를 모르면 좀 힘들 수 있을 것 같아요. 어딜 가든 영어가 하나 없고 중국어로만 적혀있다는 것 빼고는 여행하기 참 좋았습니다~ 중국 상하이여행 정리 지하철 역마다 엄청나게 큰 백화점이 하나씩 있다. 유명하거나 큰 음식점은 대부분 CCTV를 주방에 달아서 외부에서 볼 수 있게 했다. (깨끗) 지하철마다 공안이 짐 검사를 한다. 한국인한테 되게 호의적이고 뭐 하나라도 더 챙겨준다. 모든 것 (어플, 안내판, 메뉴 등등)이 중국어이다. 모든 결제는 알리페이와 같은 온라인 결제이다. 현지 사람들도 소맥을 어디서 들었는지 마신다. 차량의 대부분이 전기차이고 테슬라가
pop-cloud #4 : 지도에서 추천 경로 탐색을 위한 확장성 있는 코드 설계하기

pop-cloud #4 : 지도에서 추천 경로 탐색을 위한 확장성 있는 코드 설계하기

안녕하세요. 오늘은 저희 팝 클라우드 서비스에서 지도로 추천 경로를 어떻게 다뤘는지 작성하고자 합니다. 범위가 많은 PR이지만 작업 내용은 아래에서 확인하실 수 있습니다! https://github.com/sosow0212/2024-pop-cloud/pull/84 feat: 좌표 기준 주변 쇼케이스 탐색 및 추천 경로 반환 기능 구현 by sosow0212 · Pull Request #84 · sosow0212/2024-pop-cloud Summary Map API 좌표 기준 주변 쇼케이스 탐색 기능 추가 추천 경로 반환 기능 추가 shortest path (다익스트라 기반 최단 경로 조회) popular path (조회수, 좋아요 수를 기반으로 인기순 조회) 🏻 More close #20 github.com 목차 기능 소개 설명에 앞서 간단한 코드 설명 DI를 활용한 확장성 있는 구조 설계 1. 기능 소개 팝 클라우드 서비스에서는 (1)사용자 현재 위치 기준 주변 쇼케이스 탐색
pop-cloud #3 : 중복 스케줄러를 막고, 실패시 재처리 작업 진행하기 (DistributionLock, Idempotency, Retry)

pop-cloud #3 : 중복 스케줄러를 막고, 실패시 재처리 작업 진행하기 (DistributionLock, Idempotency, Retry)

안녕하세요. 오늘은 팝 클라우드에서 사용되는 스케줄러 작업의 중복을 막고 실패시 재처리 하도록 만드는 과정에 대해서 작성하도록 하겠습니다. 팝 클라우드에서는 IP 캐싱 초기화와, 인기 팝업스토어 산정 초기화 작업에 대해서 매일 새벽에 작업을 시행하고 있습니다. batch 서버는 SPOF 지점이라 MVP 배포시 스케일아웃할 예정입니다. 만약 다중 환경에서 매일 새벽 2시에 돌아가는 스케줄이 있다면 중복 작업 처리가 될 여지가 있습니다. 먼저 이를 막는게 첫 단계입니다. 두 번째는 스케줄링 작업이 실패하면 어떻게 될까요? 매일 새벽 2시에 작업이 수행되지만, 사용자 입장에서는 만료된 팝업 스토어 정보가 보일 수 있습니다. 따라서 스케줄링 처리시 재처리를 할 수 있도록 별도의 장치를 설정해주었습니다. Spring-batch로 처리하지 않고 최대한 기본 작업에서 처리하고자 아직 Batch는 적용하지 않았다는 점 이해 부탁드립니다! 오늘 소스코드가 담긴 작업 PR 범위는 다음과 같습니다. h
pop-cloud #2 : Redis를 이용한 인기 쇼케이스 캐싱 및 조회수 치팅 방지하기, Batch 스케줄러 작업 추가

pop-cloud #2 : Redis를 이용한 인기 쇼케이스 캐싱 및 조회수 치팅 방지하기, Batch 스케줄러 작업 추가

안녕하세요. Pop-cloud의 가장 중요한 뼈대 작업을 어느정도 마치고 본격적인 트러블슈팅과 성능 개선 작업을 진행하고 있습니다. 아직 배포까지는 갈 길이 멀지만 천천히 트러블슈팅과 학습을 하며 진행하도록 하겠습니다. 저희 서버 Repository는 아래 링크를 통해 확인하실 수 있습니다. https://github.com/sosow0212/2024-pop-cloud/tree/develop/backend 오늘 작업한 PR 범위는 아래와 같습니다. https://github.com/sosow0212/2024-pop-cloud/pull/29 feat: Popups, Recommend의 캐싱 작업 및 배치 스케줄러 추가 by sosow0212 · Pull Request #29 · sosow0212/2024-pop-cloud Summary 1. PR 내용 요약 2. 기술 사용 근거 및 고민한 지점에 대해서 2-1. Redis 사용 이유 2-2. Redis 고민 지점 (캐시 스탬피드 및
pop-cloud #1 : 멀티 모듈 및 프로젝트 기초 세팅 작업

pop-cloud #1 : 멀티 모듈 및 프로젝트 기초 세팅 작업

안녕하세요. 상반기에는 mju-market 이라는 졸업작품 프로젝트를 만들었습니다. 학교와 관련된 주제를 하다보니 원하고 애정있는 프로젝트는 아니었지만, 많은 것을 배울 수 있었습니다. 이번 프로젝트는 아쉬웠던 부분을 해소하고 정말 해보고 싶은 개발을 하고 꾸준하게 유지보수하고 싶은 생각에 같이하는 친구와 정말 많은 고민을 했습니다. 좋아하는 주제로 좁히고 좁히다 팝업스토어 및 개인 전시회까지 다룰 수 있는 서비스로 정해졌습니다. 이미 팝업스토어 관련 서비스는 있지만, 차별점을 만들고 개선하는 것을 목표로 정했습니다. 기존에 사용자들은 SNS를 통해 흩어진 정보들을 찾는데, 이 부분을 개선하고 개인 전시회까지 이어나갈 수 있도록 애정을 가지고 개발하고자 합니다! 서비스 깃허브 https://github.com/sosow0212/2024-pop-cloud 포스팅과 관련된 PR https://github.com/sosow0212/2024-pop-cloud/pull/6 1. 멀티 모듈 분
RestTemplate을 Transaction과 함께 쓸 때 주의해야할 점에 대해 (+ 캐싱과 함께 사용할 때 고민한 점과 해결방법)

RestTemplate을 Transaction과 함께 쓸 때 주의해야할 점에 대해 (+ 캐싱과 함께 사용할 때 고민한 점과 해결방법)

안녕하세요. 최근에 RestTemplate에 대해 배운 점이 있어서 포스팅으로 작성하게 되었습니다. 저는 평상시에 크롤링을 할 때 RestTemplate을 사용하곤 했는데요. 타임아웃에 대해 인지하지 못하고 있었습니다. 상황에 따라 다를 순 있겠지만, 타임아웃 설정에 따라서 문제가 생길 수 있는 부분이 있습니다. 이 부분에 대해서 글로 다뤄보도록 하겠습니다. 목차 예시 설명 RestTemplate에 Timeout을 적용하지 않은 경우 시나리오와 문제점 RestTemplate에 Timeout 설정하기 RestTemplate을 캐싱과 함께 사용할 때 했던 고민과 해결방법 (캐싱에 더 가까운 고민) 1. 예시 설명 예제에서 사용되는 코드 이해를 위해 간단하게 예시부터 설명드리도록 하겠습니다. 먼저 스케일아웃 되지 않은 단일 서버이고, Java + Spring Framework로 작성된 코드입니다. 그리고 캐싱같은 경우는 단일 서버이므로 글로벌 캐시가 필요 없어서 자바에서 제공되는 Conc
중복 결제를 멱등성을 이용하여 막아보기 (토스페이먼츠 - 멱등성이 뭔가요?)

중복 결제를 멱등성을 이용하여 막아보기 (토스페이먼츠 - 멱등성이 뭔가요?)

안녕하세요. 최근에 토스페이먼츠의 기술 아티클인 '멱등성이 뭔가요?'를 읽고 직접 구현과 생각을 정리해봤습니다. https://docs.tosspayments.com/blog/what-is-idempotency 멱등성이 뭔가요? | 토스페이먼츠 개발자센터 생소한 표현이지만 알고 보면 쉬워요. 멱등성에 대해 이해하고 API를 멱등하게 제공하기 위한 방법도 함께 알아봐요. docs.tosspayments.com 직접 진행한 예제 코드는 아래 깃허브에서 확인하실 수 있습니다. 부족한 부분이 있을 수도 있고, 필드도 최대한 간소화해서 진행했으니 참고만 해주세요 :) https://github.com/sosow0212/payment_with_idempotency GitHub - sosow0212/payment_with_idempotency Contribute to sosow0212/payment_with_idempotency development by creating an account on
E-Market #12 - 멀티모듈 전환 2편 : Redis pub/sub으로 외부 이벤트 수신, 스케일아웃 환경에서 중복 스케줄링 막기

E-Market #12 - 멀티모듈 전환 2편 : Redis pub/sub으로 외부 이벤트 수신, 스케일아웃 환경에서 중복 스케줄링 막기

[멀티모듈 전환 1편 - 멀티모듈로 전환한 이유] (https://blog.naver.com/sosow0212/223401237314) [멀티모듈 전환 2편 - Redis Pub/Sub으로 외부 이벤트 수신, 스케일 아웃 환경에서 중복 스케줄링 막기] (https://blog.naver.com/sosow0212/223408645604) 안녕하세요. 저번 포스팅에서는 기존 단일 서버를 api-server와 batch-server로 서버를 분리하였습니다. (++ 프로젝트 규모가 작기 때문에 batch-server는 batch 작업만 수행하지 않고 외부 라이브러리에 대한 기능도 수행합니다.) 관심사의 분리와 유동적인 스케일아웃을 위함이었는데요. 오늘은 서버를 분리하면서 이벤트를 수신하는 것과 batch 서버를 스케일아웃 했을 때 중복되는 스케줄링 문제는 어떻게 해결할 수 있었는지 작성해보도록 하겠습니다. 아래 사진은 최종적으로 개선한 아키텍처입니다. 지난 번에는 멀티 모듈로 전환하였고,
E-Market #11 - 멀티모듈 전환 1편 : 메일링 기능과 API 기능을 분리하기

E-Market #11 - 멀티모듈 전환 1편 : 메일링 기능과 API 기능을 분리하기

[멀티모듈 전환 1편 - 멀티모듈로 전환한 이유] (https://blog.naver.com/sosow0212/223401237314) [멀티모듈 전환 2편 - Redis Pub/Sub으로 외부 이벤트 수신, 스케일 아웃 환경에서 중복 스케줄링 막기] (https://blog.naver.com/sosow0212/223408645604) 안녕하세요. E-Market 프로젝트에서는 회원가입을 진행하면 가입자에게 메일로 쿠폰을 전달해주는 기능이 있습니다. 이전 포스팅에서는 메일 비동기 전송 처리 및 실패 메일 재전송을 다뤘습니다. (작업물 - https://blog.naver.com/sosow0212/223322476947) 즉 이전 과정까지는 다음 순서대로 메일링 기능이 진행되었습니다. 유저가 회원가입 한다. (Commit) 이벤트를 발행한다. 이벤트를 수신 및 메일을 비동기로 전송한다. (Commit) 만약 네트워크 지연 혹은 어떤 이유로 메일을 전송하지 못했다면 데이터베이스에 FAI
E-Market #10 - Infra 3편 : Jenkins 무중단 배포 설정 및 Docker를 이용하여 서버를 띄우도록 CD 방식 변경

E-Market #10 - Infra 3편 : Jenkins 무중단 배포 설정 및 Docker를 이용하여 서버를 띄우도록 CD 방식 변경

Infra 시리즈 1편 : Jenkins를 이용한 CI/CD 파이프라인 구축하기 https://blog.naver.com/sosow0212/223369462311 2편: Spring Boot Actuator, Prometheus, Grafana로 모니터링 환경 구축하기 https://blog.naver.com/sosow0212/223369973401 3편: Jenkins 무중단 배포 설정 및 Docker를 이용하여 서버를 띄우도록 CD 방식 변경 https://blog.naver.com/sosow0212/223371181808 안녕하세요. 지난 포스팅에 이어서 오늘은 무중단 배포과 함께 기존 jar를 전달 받아 실행한 방법에서 docker image를 실행하는 방법으로 변경을 했습니다. 앞서 설명 드렸지만 저희 서비스는 EC2 인스턴스가 현재 infra, Dev, DB 이렇게 세 개로 나눴는데요. 그 이유는 인스턴스 분리를 통해 관심사에 맞는 각자의 역할을 수행할 수 있도록 관리와
E-Market #9 - Infra 2편 : Spring Boot Acutuator, Prometheus, Grafana로 모니터링 환경 구축하기

E-Market #9 - Infra 2편 : Spring Boot Acutuator, Prometheus, Grafana로 모니터링 환경 구축하기

Infra 시리즈 1편 : Jenkins를 이용한 CI/CD 파이프라인 구축하기 https://blog.naver.com/sosow0212/223369462311 2편: Spring Boot Actuator, Prometheus, Grafana로 모니터링 환경 구축하기 https://blog.naver.com/sosow0212/223369973401 3편: Jenkins 무중단 배포 설정 및 Docker를 이용하여 서버를 띄우도록 CD 방식 변경 https://blog.naver.com/sosow0212/223371181808 지난 포스팅에 이어서 오늘은 모니터링 환경 구축을 진행했습니다. 목차 모니터링 하는 이유 모니터링 방법과 아키텍처 설정 방법 1. 모니터링을 하는 이유 우리가 서버를 모니터링을 하는 이유는 여러가지가 있을 수 있습니다. 먼저 저 같은 경우는 주기적인 배치 작업을 진행하면서 데이터 처리를 하기 위해 서버에서 메모리에 데이터들을 올려놓고 처리하는 기능들이 있습니다
E-Market #8 - Infra 1편 : Jenkins를 이용한 CI/CD 파이프라인 구축하기

E-Market #8 - Infra 1편 : Jenkins를 이용한 CI/CD 파이프라인 구축하기

Infra 시리즈 1편 : Jenkins를 이용한 CI/CD 파이프라인 구축하기 https://blog.naver.com/sosow0212/223369462311 2편: Spring Boot Actuator, Prometheus, Grafana로 모니터링 환경 구축하기 https://blog.naver.com/sosow0212/223369973401 3편: Jenkins 무중단 배포 설정 및 Docker를 이용하여 서버를 띄우도록 CD 방식 변경 https://blog.naver.com/sosow0212/223371181808 안녕하세요. E-market 프로젝트에서 개발이 어느정도 진행이 됐고, 문서화 공유를 위해서 슬슬 배포를 진행해야했습니다. 그래서 어떤 과정으로 배포하였는지 적어보도록 하겠습니다. 1편에서는 Jenkins를 이용하여 빌드하여 Jar 파일을 Prod 서버에 전송하고 실행시키는 과정을 다룹니다. 서버 아키텍처 서버는 AWS EC2 인스턴스를 2대 사용하고, 각각
E-Market #7 - 상품의 조회수 치팅 방지 구현하기

E-Market #7 - 상품의 조회수 치팅 방지 구현하기

안녕하세요. 일단 기능을 빠르게 구현하고 성능 개선을 진행할 생각인데 할 것이 아직 많이 남았네요.. 지금까지 올라온 PR의 코드는 전반적으로 뼈대코드라고 생각해주시면 될 것 같습니다! 일단 오늘은 상품의 조회수 기능을 구현했습니다. 조회수 증가만을 구현하는 건 쉽지만 부가적으로 신경쓸 부분들이 있었습니다. 만약 한 명이 같은 상품을 반복적으로 들어가면 조회수가 계속 증가한다. (치팅) 많은 사용자로부터 동시 요청이 오면 조회수에서 동시성 문제가 생긴다. 2번은 지난 포스팅에서 다뤘으므로 오늘은 1번 문제를 집중적으로 어떻게 해결했는지 작성해보도록 하겠습니다. 피드백은 언제나 환영입니다 :) 해당 PR 링크입니다. https://github.com/sosow0212/2024-electronic-market/pull/29 feat: 상품의 조회수 기능 및 치팅 방지 기능 구현 by sosow0212 · Pull Request #29 · sosow0212/2024-electronic-m
E-Market #6 - 동시성 문제를 해결할 수 있는 여러가지 방법과 성능테스트를 바탕으로 적합한 방식 선택하기

E-Market #6 - 동시성 문제를 해결할 수 있는 여러가지 방법과 성능테스트를 바탕으로 적합한 방식 선택하기

안녕하세요. 오늘은 E-Market에서 발생하는 여러 동시성 문제에 대해 어떻게 해결했는지에 과정과 고민을 포스팅 하겠습니다. 단순히 동시성 문제를 해결하는 방법이 아닌 적절한 방식을 선택한 과정에 대해 적도록 하겠습니다. 저와 같은 고민을 하신 분들에게 많은 도움이 되셨으면 좋겠습니다. 해당 글에선 여러가지 동시성 처리 방법에 대해 알아보고 성능 테스트를 통한 프로젝트에 적합한 방식을 선택하는 방법에 대해 기술하였습니다. 먼저 저희 서비스에서는 여러 부분에서 동시성 이슈가 발생하지만 해당 글에서는 간단하게 게시글 좋아요 기능을 바탕으로 설명해보도록 하겠습니다. 목차 1. 동시성 문제가 발생하는 이유와 간단한 도메인 설명 1-1. 동시성 문제가 발생하는 이유 1-2. 간단한 도메인 설명 2. 동시성 제어를 위해 여러가지 시도한 방법들 2-1. 기존 방식 2-2. 트랜잭션 격리 수준 바꾸기 2-3. Update 쿼리를 직접 날려 해결하기 2-4. 낙관적 락을 이용해 해결하기 2-5.
[23~24] 크리스마스 우기 나트랑 여행

[23~24] 크리스마스 우기 나트랑 여행

굉장히 게으름 피우다가 지금 올리는 나트랑 여행기입니다. 여자친구와 12월 중순 크리스마스 포함해서 6박 8일 여행을 다녀왔습니다. 비행기 타는 날에 눈이 많이 와서 비행기 연착이 1시간 되고 저녁 늦은 비행기를 타고 새벽 2시쯤 나트랑에 도착했습니다! 나트랑 깜란 공항에 도착하면 자기 택시 타라고 호갱이 많은데 저희는 그랩으로 택시를 잡았습니다. 근데 지금 생각해보면 큰 차이는 안나지만 시세 제시 했을 때 그랩보다 현지에서 잡는게 더 쌀 수도 있습니다. 시간이 애매해서 0.5박을 하려고 바로 사타호텔가서 잠을 잤습니다! 아침에 일어나자마자 숙소 앞에 있는 해피 스파를 갔는데요. 여기 정말 대박입니다. 저렴하고 엄청 시원한데, 오일로 발 만지시다가 바로 얼굴과 머리도 주물러주셔서 여자친구는 얼굴에 여드름이 많이 났습니다. 그리고 사타호텔 앞에 그릭 수블라키라는 서브웨이 비스무리 한 것이 있는데 진짜 너무 맛있어서 배달로도 3번정도 시켜먹었습니다. 저희가 며칠 묵을 숙소는 나트랑 시내
ⓒ 2022 [기록 잡화점] All rights reserved.
Supported by Keyzard