전체 글

Hello World!😀 Hi, I'm Judy🐰(Junior Developer)
이번 글은 삼성 코테 기출 문제인 19238번 문제를 복기하면서 쓰는 글이다.https://www.acmicpc.net/problem/19238  해당 문제는 문제설명에서도 나와있듯이, 택시가 승객이 위치한 곳으로 이동해야하며 이때 택시의 위치에서 가장 가까운 위치에 있는, 즉 최단경로에 있는 승객을 태우러 가기 때문에 BFS 알고리즘을 떠올려야 했다. + 조건을 잘 따져가면서 풀어야 하는게 중요했다. 해당 문제는 눈높이 개발에서 진행하는 코딩테스트 챌린지를 진행하면서 푼 문제인데, 여기서 힌트를 주신게 메모리 초과가 나지않게 점검해보라고 하셨던 거였다! 그래서 처음에 딱 생각이 났던게, 택시와 승객의 최단 경로 길이를 구해야하는데 이걸 승객마다 BFS를 돌리기에는 시간초과가 뜰 것 같다는 생각이 들었다..
해당 글은 지난 글에 이어서 작성하는 글이며, 김영한님의 '스프링 DB 1편 - 데이터 접근 핵심 원리' 강의를 참고했습니다.  멀티스레드 환경에서의 트랜잭션 동작 - feat. 테스트 코드최근에 한 프로젝트에서 테스트 코드를 짜다가 트러블 슈팅 과정에서 새롭게 안 사실이 있어서 블로그를 작성하게 되었다. "동일한 이메일로 사용자가 동시에 가입할 경우, 하나의 계정만 생성judyalwayswantscarrot.tistory.com   지난번 글에서 "멀티스레드 환경에서의 트랜잭션 동작"을 살펴보았다!  아래와 같이 테스트 코드를 짰을때, 메인 스레드인 테스트가 시작되는 메서드와 내부에서 생성된 3개의 스레드들에서 트랜잭션이 제대로 동작하고 있는지 확인보았다. 결과적으로는 메인 스레드인 테스트 메서드에서는..
최근에 한 프로젝트에서 테스트 코드를 짜다가 트러블 슈팅 과정에서 새롭게 안 사실이 있어서 블로그를 작성하게 되었다. "동일한 이메일로 사용자가 동시에 가입할 경우, 하나의 계정만 생성되는지"에 대한 테스트 코드를 짰다. 이를 위해 멀티스레드 환경에서 동시에 같은 이메일로 유저를 저장했을 때, 하나의 계정만 생성되었는지 확인하고자 했다. 처음 구성한 코드는 아래와 같다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950@DataJpaTestclass MemberRepositoryTest {     @Autowired    private MemberRepository memberRepositor..
최근 프로젝트에서 nginx 무중단 배포 설정을 하면서 겪은 일인데, 기록을 해두면 좋을 것 같아서 오랜만에 블로그를 쓰게 되었다.ㅎㅎ 우선 해당 프로젝트에서 github actions + aws code depoly + aws s3 + aws ec2를 사용하여 CI/CD 구축을 해놓은 상황이었다.무중단 배포 설정은 해두지 않아서, 새 버전으로 배포를 할 시에 다운타임이 생긴다는 치명적인 문제점이 있었다..! 이를 해결할 수 있는 방법으로, 리버스 프록시 역할을 해줄 수 있는 nginx로 무중단 배포를 하고자 하였다.  TO-BE- 하나의 EC2 혹은 리눅스 서버에 Nginx 1대와 스프링부트 jar를 2대를 사용- 스프링부트1은 8081포트로, 스프링부트2는 8082포트(포트 번호는 자유)를 사용 Fl..