목록전체 글 (41)
코더
배경 : 전의 부하테스트에서 락을 걸지 않아 deadLock이 발생해 오류가 나는것을 확인했다.낙관락,비관락,분산락을 적용 시켜 오류가 없이 예약을 만드려 한다. 과정 : @Versionprivate Long version;을 추가해서 낙관락을 걸어주었다. 문제점 : 오류는 발생하지 않았지만 공유락(s)이 배타락(x)을 가져오는 과정에서 데드락이 발생하였다. 2026-09-22T15:10:03.538+09:00 ERROR 11328 --- [dream_stadium_V2] [o-8080-exec-214] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with pat..
배경 :dream_stadium_V1에서는 예약시스템에서 유저가 예약을 하고 현장에서 쿠폰을 보여줘서 직원이 할인해주는 구조였다.하지만 지금 dream_stadium_V2는 예약시스템에서 유저가 예약과 동시에 쿠폰사용여부를 결정하고 바로 할인이 적용되는 구조이기 때문에 부하테스트를 적용 할 필요가 있었다. 과정 : 일단 맨처음 dbeaver를 통해 데이터를 넣었다.(.csv)파일 passwordEncoder를 통해 넣은값이어야 함으로 email,login_type,nickname,password,user_role,deletedtest001@dream.com,LOCAL,loadtest001,$2y$10$vaR6iQgminOYXNp1Jvvx9uomtzFgct9iWzQAlOX29NvpIEIzBj9R2,CUST..
문제점 : seat이 a가 있고 matchSeat이 이에대해 자식연관으로 A,B,C 일 때a를 삭제하려 하면 matchSeat이 db에 남게 됨으로 seat이 삭제가 안된다.원하는 구조는 matchSeat이 존재한든 안하든 seat이 삭제가 되어야 하기 때문에 수정을 해주었다. 발생한 문제 :2026-09-10T17:22:09.190+09:00 ERROR 5167 --- [dream_stadium_V2] [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing fa..
배경 : UserCoupon을 owner가 만드는 즉시 customer에게 발급하도록 구조를 만들었다.편하게 하려고 그렇게 구조를 만들었으나 그러면 UserCoupon을 만들 때 마다 수천명 혹은 수만명의 사람들에게 UserCoupon을 발급하게 되는 상황이 오게된다. 과정 :public List createUserCoupon( CustomUserPrincipal customUserPrincipal, UserCouponRequestDto dto) { User user = authRepository.findById(customUserPrincipal.getUserId()) .orElseThrow(() -> new BaseException(ErrorCode...
배경 : docker 배포하는 방법은 알지만 자세하게 어떻게 동작하는지에 대한 지식이 부족해 정리가 필요했다. CASE : 1 mysql:3306 차이 만약에 인텔리제이에서 실행을 하고 내 pc에서 테스트 하려면?jdbc:mysql://localhost:3306/dream_stadium_V2으로 일단 localhost로 yml파일 설정을 한 후 docker compose up -d로 일단 docker-compose.yml 을 빌드를 해준다. 그 후 생긴 컨테이너로 start 하면 된다. docker start dream-stadium-V2 즉, 이렇게 하면 docker-compose.yml 통해 빌드 된것을 통해 docker start로 mysql 만 키는것이다. 즉, 인텔리제이도 실행 + 맨 처..
-------------------로컬에 있는 develop 가져오는 방식---------------------------# 1. 작업 중인 내용 임시 커밋git add .git commit -m "wip: 작업 중"# 2. 다른 사람이 develop에 최신 코드를 올렸다면git switch developgit pull origin develop# 3. 다시 내 작업 브랜치로git switch feature/payment$ 4. 병합git merge develop------------------원격에 있는 develop 가져오는 방식----------------------------# 1. 최신 develop을 내 브랜치에 반영git stash(내 feature/payment에서)git fetch ori..
배경 : 로그인에서 logintype = NAVER, 일 경우 네이버 보안 정책을 따르지만 logintype = LOCAL 인 경우, 해당하는 로그인에 보안 정책 설정을 추가하지 않았기에 구글 recaptcha를 적용하기로 했다. 결과 : 개선 점 :살제 프로젝트라면 return 값을 Void로 설정을 하는게 맞다 생각하는데 아직은 테스트 용이하게 하기위해 응답값에 유저에 대한 token 값을 내렸다.당연하게 실제 프로젝트라면 빈값을 return 하고 쿠키 정보만 내려줘야 한다.(인지는 하고 있어야 한다.)
배경 : 최종 프로젝트에서 한번 더 api 요청 흐름이나 정리가 필요하다 느껴 작성하게 되었다. 발생 오류 : // 해당하는 로그인 요청은 잘 받아왔는데 계속 다른곳으로 리다이렉팅 하며 url이 계속 바뀌는 버그가 일어났다.. 해결 :생각을 해보니 Oauth2.0 검증 완료된 코드 마지막에 / 로 리다이렉팅을 시켜준 후 아무 조치도 취하지 않았다. 아래 코드를 간단하게 추가하니 오류가 해결되었다.@RestControllerpublic class TestStaticController { @GetMapping("/") public String home() { return "로그인 성공"; }} 흐름도 정리 :[OAuth 2.0 인증]네이버 로그인 ↓Authorizati..
