들어가기 전.. 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다. [재고시스템으로 알아보는 동시성 이슈 해결방법] #4 Pessimistic Lock 비관적 락 , Optimistic Lock 낙관적 들어가기 전... 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다. [재고시스템으로 알아보는 동시 dev-rosiepoise.tistory.com GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법 재고시스템으로 알아보는 동시성이슈 해결방법. Contribute ..
전체 글
하면 하는거지 모! 또 다시 하면되지 모! 그냥 하는거지 모!들어가기 전... 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다. [재고시스템으로 알아보는 동시성 이슈 해결방법] #3 synchronized 와 문제점 들어가기 전..1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다. [재고시스템으로 알아보는 동시성 dev-rosiepoise.tistory.com GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법 재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie128/stock..
들어가기 전..1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다. [재고시스템으로 알아보는 동시성 이슈 해결방법] #2 재고감소 로직 작성 및 테스트들어가기 전 .. 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다! 참고하면 좋을 이전 글 [재고시dev-rosiepoise.tistory.com GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie128/stock deve..
들어가기 전 .. 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다! 참고하면 좋을 이전 글 [재고시스템으로 알아보는 동시성 이슈 해결방법] #1 개발환경 및 프로젝트 구조 들어가기 전 1. 매일 정리해야지 하며 미뤄두었던, 동시성 이슈 해결방법 강의를 정리하려 한다. 2. 동시성 이슈를 고려한 개발을 해보지 않아서 나한텐 흥미로운 접근방식의 강의였다. 3. 책에서 dev-rosiepoise.tistory.com GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법 재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie..
들어가기 전 1. 매일 정리해야지 하며 미뤄두었던, 동시성 이슈 해결방법 강의를 정리하려 한다. 2. 동시성 이슈를 고려한 개발을 해보지 않아서 나한텐 흥미로운 접근방식의 강의였다. 3. 책에서 단편적으로만 경험했던 멀티스레드, 다중 서버 환경에서 실무적인 문제에 입각한 해결론을 제시한 강의였다. 까먹지 말고,, 기록하자,, 기록만이 살길 코드 샘플 GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법 재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie128/stock development by creating an account on GitHub. github.com 개발 환경 Intellij java 11 ..
시작하기 전 ... 회사에서는 B2B 서비스이고 폐쇄망이었기 때문에 세션과 쿠키만 사용했었는데 최근 spring security를 사용해 볼 기회가 생겼다 근데 이제 너무 당연하게 세션, 쿠키를 사용해서 막상 떠올리면 정의를 내리는데 모호했던,, 지금부터 정의하고 알면되지 !!!!! 스프링 시큐리티와 Jwt를 정리하기전에 쿠키와 세션을 짚고 넘어가보자!!! 그럼 쿠키와 세션은 무엇인지, 언제 왜 사용하는지 살펴보자! Goal HTTP 특징과 쿠키와 세션을 사용하는 이유 쿠키(cookie)를 이해한다 세션(session)을 이해한다 일단 쿠키와 세션을 이해하기 위해서는 HTTP의 동작과정과 특징을 이해할 필요가 있다. 참고 [네트워크] http 동작과정 Goal HTTP 동작과정을 알아본다 HTTPS의 동..
Goal NoSQL를 사용하는 이유를 이해한다. NoSQL과 RDB(관계형 데이터 베이스)의 차이를 이해한다. NoSQL이란 ? Not only SQL 혹은 Non-Relational Operational Database 약자로 비관계형 데이터베이스를 지칭한다. 등장 배경 NoSQL은 점점 빅데이터의 등장(모바일, 웹 시장의 데이터)으로 인해 데이터와 트래픽이 기하급수적으로 증가함에 따라 RDBMS에 단점인 성능을 향상시키기 위해서는 장비가 좋아야 하는 Scale-Up의 특징이 비용을 기하급수적으로 증가시키기 때문에 데이터 일관성은 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장하였다. 이 다양한 형태의 저장기술은 RDBMS 스키마에 맞추어 데이터를 관리해야..
시작하기 전 ... 기존 프로젝트 구조는 항상 Controller.java - Service.java - DAO.java - Mapper.xml 의 구조를 사용하였으며 DAOImpl의 구현 클래스에서 @Repository 어노테이션을 사용하여 해당 클래스가 Database와 통신하는 클래스임을 약속하였다. 하지만, Controller.java - Service.java - Mapper.java - Mapper.xml의 구조가 될 수도 있음을 알게되었다. 그럼 언제 어떻게 사용하는지, 무엇이 다른지 살펴보자! Goal Mybatis를 사용하는 이유를 이해한다. @Repository vs @Mapper 언제, 왜 사용하고 어떻게 다른지를 이해한다 각각의 Layer 프레젠테이션 계층 (Presentation ..
Goal 요청데이터와 응답데이터 및 HTTP 상태코드를 디자인 해보자 API를 디자인 했으니, 해당 API가 작동시 요청 데이터와 응답데이터를 미리 디자인 해보자! HTTP 상태코드란 ? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다 자세한 내용은 아래 포스팅 참고! https://dev-rosiepoise.tistory.com/123 [네트워크] HTTP 상태코드 (2xx - 성공, 3xx - 리다이렉션, 4xx - 클라이언트 오류, 5xx - 서버 오류) Goal HTTP 상태코드에 대해서 알아본다 2xx 성공코드에 대해 알아본다 3xx 리다이렉션 코드에 대해 알아본다 PRG post redirect get 에 대해 알아본다 4xx 클라이언트 오류에 대해 알아본다 5xx 서버 오류에..
Goal HTTP 상태코드에 대해서 알아본다 2xx 성공코드에 대해 알아본다 3xx 리다이렉션 코드에 대해 알아본다 PRG post redirect get 에 대해 알아본다 4xx 클라이언트 오류에 대해 알아본다 5xx 서버 오류에 대해 알아본다 HTTP 상태코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다 가령, 상황에 따라 다른 종류의 100~500까지의 상태코드가 있다. 1xx (informational) : 요청이 수신되어 처리중 거의 사용하지 않으므로 생략 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수..