본문 바로가기
메뉴

2

무신사 코딩테스트 결과물 개선 및 부하테스트 해보기

무신사 2차 코딩테스트에서 비관적 락으로만 대학교 수강 신청 시스템을 처리했다. (후기글 보기)예전에 쿠폰 이벤트 관련 프로젝트를 했을 때, 처음부터 쌩으로 비관적 락으로만 해보진 않고 카운팅에는 바로 레디스를 도입했어서 성능이 어느정도인지 비교하고 싶어졌다.그래서 점차 개선해 나가며 수치를 비교하고자 한다. (Github 레포)테스트 방향성내가 원하는 방향은 있지만 좀 더 AI에게 자율성을 주기 위해 테스트 도구 지정 외에 다른 제약은 주지 않고 물어봤다. 여기서 k6를 선택한 이유는, 따로 GUI로 설정하지 않고 Javascript와 터미널로 실행되기 때문에 에이전트가 다루기 더 쉬울 것 같아 선택하게 됐다. 이것저것 나에게 질문을 하다가 3가지 접근법을 던져줬다. 내가 원하던 방향은 접근법 A라서..

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 6, 7장

이번 장에는 책에서 반복적으로 다뤄지는 내용들이 많이 포함되어 있었다.6장. 동시성Java에서의 동시성 제어synchronized (모니터)Lock자바에 이렇게 락이 많은지 처음알았다. 아래말고도 더 있다LockReadWriteLockReentrantLockReentrantReadWriteLockStampedLock낙관적 읽기쓰기 락읽기 락Semaphore세마포어에서 퍼밋 획득 (P 연산 → wait)코드 실행퍼밋 반환 (V 연산 → signal)Atomic 타입들기본적으로 CAS(Compare And Swap) 방식으로 구현되어 있음(CAS를 이용한 Lock-Free 자료구조 만들어보기)DB와 동시성비관적 락 (선점 락)실패할 가능성이 높을 때 사용한다.트랜잭션이 select ~ for update 로..

보호된 글

비밀번호를 입력하세요