본문 바로가기

분류 전체보기139

2022-12-03 일주일 회고록 마음만은 야심차다 아 부트캠프에서 개인프로젝트 들어가면서 마음으로는 "아 남은 인강이랑 병행하고 코테도 공부하면서 학교 시험공부도 하며서 다야한 기술 적용해봐야지 프로젝트에" 정말 야침찼다. ㅎㅎ 하지만 불가능했다. 일단 인강 볼 시간이 없다. 처음 기술을 도입해본 것들 천지라서 공부하고 적용해보고 에러 찾고 테스트 해보면 한 8시간 지나있다. 언제 인강을 볼까...?? 거기다가 코테도 꾸준히 한다고 하루에 3문제 이상 풀겠다고 했지만 한문제도 못 풀때가 많다. 아니 에러에 한 번 꽂히면 그거 해결하고 싶어서 주구창창 그거만 검색하고 시도해보고 이래서...ㅎㅎㅎ 물론 좋은 경험이지만...공부에 시간 분배를 못하는 사람인가?? 아 적용해보고 싶은게 너무 많은데.. 처음으로 개인프로젝트하고 단순히 crud기.. 2023. 12. 3.
[개인프로젝트] 동시성 해결을 위한 AOP 분산락과 트랜젝션?? 아 비상이다 비상... 에러가 이틀째 찾고 있다. 사실 해결방법은 찾았는데 왜 그런지 모르겠어서 이틀째 찾고 있는데 자료가 별로 없다.. 그래서 지금 다 로그 찍어서 보는 중.. 그랬더니 아주 난리다 난리 분산락 관련해서는 프로젝트 적용을 위해 블로그에 이미 기록을 했다 https://haebing.tistory.com/99 문제상황 나는 동시성 문제를 분산락 Redisson을 이용해서 해결하려고 하고 있다. 그래서 분산락 관련된 AOP클래스를 만들고 joinPoint.proceed()는 따로 트랜젝션으로 시작하게 하기 위해 propagation = Propagation.REQUIRES_NEW 로 따로 클래스를 분리해두고 부모 커밋해야 다른 스레드가 이용할 수 있게 해놨다. 그니까 순서대로 얘기하자면 a.. 2023. 12. 2.
[Spring] 동시성 어떻게 해결할 것인가? - 분산락 개인프로젝트에서 예약시스템을 구축하고 있다. 그러다보니 동시성 문제가 매우 중요하다. 한날짜에 같이 예약을 걸게 되면 최악의 상황이...그래서 어떻게 동시성을 핸들링 할까하다가 나같은 경우 redisson의 분산락을 이용했다. 일단 동시성이 왜 일어나는지와 동시성을 해결할 수 있는 방법에 대해서 얘기해보자. 이 글은 redis를 통한 분산락 해결책을 더 자세하게 다룰 계획이다. 동시성??그게 뭐고 왜 일어나는 건데?? 동일한 하나의 데이터가 2개이상의 스레드가 동시에 데이터를 제어또는 접근할때 발생하는 문제이다. 예를 들어 재고관리 시스템에서 재고를 감소시킨다고 생각해보자. 재고는 1개 남았다 만약 두 스레드가 병렬로 작업을 진행하게 되면 어느 한쪽에서 예외가 발생하거나 그래야한다. 하지만 실재로 실행해.. 2023. 11. 29.
[Spring Security] AccessToken과 RefreshToken 개인 프로젝트에 AccessToken이랑 RefreshToken을 아무 생각없이 도입하다 문득 생각이 들었다. 나는 왜 Refresh Token을 rdb에 저장했을까?? 만약 로그아웃 했는데 AccessToken이 유효기간이 살아있는 채로 탈취당했다면 어쩌야하는 거지?? 만약 RefreshToken 탈취는...?? 아 기능 하나 중심으로 이렇게 많은 궁금증이 생기다니... 이거 찾다보니 2시간 뚝딱이었다. 나의 밑거름이 되리라 믿고 지금까지 찾아본 결과와 생각을 정리해본다 RefreshToken은 왜 도입했나?? 나의 경우 JWT토큰을 accesstoken으로 하여 인증 인가 서비스를 구현했다. 토큰을 client에게 보내주면 클라이어트에서는 요청의 Authorization헤더에 토큰을 담아서 서버로 보.. 2023. 11. 26.
[Spring] Spring MVC Webconfig와 Interceptors, Argument Resolvers 최근에 개인 프로젝트하면서 스프링 시큐리티 필터말고 인터셉처를 통해서 인증관련된 기능을 구현하고 있다. 어떠한 이유로 스프링 시큐리티를 사용안한다기보다는 부트캠프 미션때 이미 스프링 시큐리티를 간단하게 써본적이있어서 한번 인터셉터를 통해 구현해보고 싶었다. 스프링 시큐리티와 인터셉터가 뭐가 다르냐고 물어본다면 이미 정리해둔 내용이 있다 https://haebing.tistory.com/85 또 arguementResolver가 정확히 몰라서 간단하게 정의와 코드로 정리해둔 내용이 있다 https://haebing.tistory.com/87 WebConfig파일 프로젝트 한번 해봤다하면 WebConfig파일은 한번씩 봤을 것이다. 한마디로 정리하면 웹 구성에 대해 지정하는 내용이 담겨있는 파일이다 스프링부.. 2023. 11. 26.
2022-11-26 일주일 회고록 개인프로젝트..?? 개인프로젝트를 시작하면서 여러 기술을 사용해보려고 하다보니...사실 기본적인 기술인데 내가 안사용해본거..ㅋㅋㅋ 음 코드 파악하다보면 반나절 지나가고 반나절 코드 치면 하루 뚜딱임.. 아 인강도 들어야하고 코테도 해야하는데 개인프로젝트 할께너무 많다 고비아닌 고비? 아니 깃 사용해서 프로젝트 중인데 ...나로 말하자면 1월달에 처음 개발ㅇ르 공부한 사람으로서 깃을 6월달쯤 처음 사용했고 pull request, merge,commit이 뭔지 정확하게 모르는 내가 브랜치만들고 pull request하고 있으니 깃 문제 한번 만나면 반나절 뚜딱... 어쩔 수 없지...이러면서 배우는 거지 하면서도 코드친 파일 다 날라가고 멘붕오고 하하하하하하하하 빠르게 적응하기를... 곧 시험기간 아 1.. 2023. 11. 26.
728x90