일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 트러블 슈팅
- 인메모리
- OOP
- 객체지향
- N+1 문제
- 3-way-handshake
- docker
- RDS
- 백준
- 로그인
- JMeter
- 코딩테스트
- 스프링부트
- 성능 개선
- Java
- JWT
- OSI 7계층
- 동시성 문제
- 프로토콜
- Spring
- TCP/IP
- Spring Security
- 알고리즘
- redis
- 형상관리
- EC2
- 4-way-handshake
- 네트워크
- 객체지향의 사실과 오해
- AWS
- Today
- Total
목록Spring (2)
열공스토리
현재 진행중인 “DevHub” 프로젝트의 회원가입 과정에는 이메일 인증 기능이 존재합니다. 여타 서비스와 같이 자신의 이메일을 입력하고 인증 요청을 하면 입력한 이메일로 인증 코드가 포함된 메일이 발신되고 받은 인증 코드로 이메일 인증을 하게 됩니다. 문제를 인식하게 된 시점은 JMeter 테스트 도구로 이메일 인증 기능을 테스트 하는 과정에서 요청에 대한 응답 시간이 오래 걸리는 걸과를 얻었을 때 였습니다. 이를 계기로 문제를 개선할 필요가 있다고 생각이 들었고 결과적으로 1초 동안 각 요청으로부터 소요된 응답 시간을 평균 4.159초(4159ms) → 0.017초(17ms)로 개선하였습니다.개선 전 테스트 결과이메일 인증 기능을 개선하기 전 코드는 다음과 같았습니다.[서비스 로직]public Mail..
현재 git과 같은 형상관리 시스템을 활용하기 어려운 초보 개발자들을 위한 형상관리 웹 서비스를 개발하고 있습니다. 형상관리 서비스에는 "팀 프로젝트 최초 저장"이라는 API가 존재하는데, 이는 팀을 만들고 팀의 레포지토리를 만든 다음에 최초로 프로젝트를 업로드하는 API 입니다. 처음에는 이 API를 여러 팀원이 동시에 요청했을 경우 파일을 업로드 했을 경우 서버에는 최초 한 팀원의 파일만이 저장되는 것을 의도하였습니다. 하지만 의도와 달리 여러 팀원이 동시에 업로드한 파일이 서버에 모두 저장되었고 이러한 문제를 DB 락을 걸어 우회적인 방법으로 해결하였습니다. 이번 포스팅에서는 위 상황에서의 문제를 해결하는 과정에 대한 자세한 기록을 남겨보았습니다. 처음 "팀 프로젝트 최초 저장" API 요청에 대..