본문 바로가기
  • Where there is a will there is a way.

분류 전체보기124

트랜잭션에 대한 심화 이해 현대의 거의 모든 관계형 데이터베이스와 일부 비관계형 데이터베이스는 트랜잭션을 지원한다. 2000년대 후반에는 비관계형 데이터베이스가 인기를 얻기 시작하면서 새로운 데이터 모델을 선택할 수 있게 하고 기본적으로 복제와 파티셔닝을 제공함으로써 관계형 데이터베이스의 현 상황을 개선하는 것을 목표로 했다. 새로운 세대의 데이터베이스 중 다수는 트랜잭션을 완전히 포기하거나 과거에 인식되던 것보다 훨씬 약한 보장을 의미하는 단어로 트랜잭션의 의미를 재정의 했다. 다른 모든 기술적 설계 선택과 마찬가지로 트랜잭션은 이점과 한계가 있다. 트랜잭션은 기본적으로 ACID 의 특성을 지닌다. 이에 대해서도 설명이 되어있지만 기본적인 이야기는 본인 외에도 다른곳에도 정리가 잘 되어있기 때문에 생략한다. 단일 객체의 쓰기 원.. 2020. 6. 30.
스프링 트랜잭션 서비스 추상화 2020/05/24 - [개발/기타개발] - 마이크로 서비스 트랜잭션 마이크로 서비스 트랜잭션 내가 정리한 내용은 마이크로 서비스 패턴 (공)저: 크리스 리처드슨 에서 참조한 내용이다. 기존 앤터프라이즈 애플리케이션을 개발할 때 createOrder() 를 만든다고 해보자 1. 주문 가능한 소비자인 derekpark.tistory.com 2020/04/23 - [개발/spring-boot] - spring transaction 이란 spring transaction 이란 나는 spring 개발을 하면서 흔히 서비스 메소드에 @Transaction 어노테이션을 보곤했다. 처음엔 아무것도 모르고 개발을 했었지만 점차 여러가지 문제에 직면하게 되었고 그러다 보니 Transaction 에 �� derekpark.. 2020. 6. 3.
Iterator design pattern 흔히 개발할때 컬렉션 프레임워크를 사용해서 데이터를 처리할때 for 문을 사용했었다. 그렇게 개발하던 도중에 다음과 같은 로직이 필요했고 지난번과 같이 for 문으로 처리할 계획을 했다. 요구사항 도서관 에서 '칼의 노래'는 제거하고 나머지는 2 를 붙이는 요구사항이 왔으면 어떻게 할 것인가? List books; @Before public void setUp() throws Exception { books = new ArrayList(); Book book = new Book("해리포터"); books.add(book); Book book2 = new Book("반지의 제왕"); books.add(book2); Book book3 = new Book("헝거게임"); books.add(book3); Bo.. 2020. 5. 28.
마이크로 서비스 트랜잭션 내가 정리한 내용은 마이크로 서비스 패턴 (공)저: 크리스 리처드슨 에서 참조한 내용이다. 기존 앤터프라이즈 애플리케이션을 개발할 때 createOrder() 를 만든다고 해보자 1. 주문 가능한 소비자인지 확인 2. 주문 내역 확인 3. 소비자의 신용카드를 승인하고 4. DB 에 주문을 생성 4가지의 작업이 하나의 DB 에서 이루어 진다. 스프링 프레임워크를 사용할 경우에 우리는 흔히 @Transactional public void createOrder() { 1. 주문 가능한 소비자인지 확인 2. 주문 내역 확인 3. 소비자의 신용카드를 승인하고 4. DB 에 주문을 생성 } 로 해결할 수 있다. 이러면 ACID 가 보장된다. 하지만 , 마이크로 서비스 아키텍처는 1-> 소비자 서비스 2-> 주문 서.. 2020. 5. 24.
spring security custom filter 인증 구현 http request 에서 custom filter 를 적용하여 특정 header 에 토큰을 담고 해당 토큰이 유효하면 인증된 요청이 되게끔 구현하고 싶었다. 스프링 사이트에서 표시된 이미지다. 솔직히 스프링에 대해서 제대로 모르는 사람이 딱 이 그림을 접했을때 무슨생각이 들지 모르겠다. 위에서 중요한 핵심은 ( custom filter 를 구현할 때 ) 1. AuthenticationFilter 2. SecurityContextHolder.getContext() -> Authentication 3. AuthenticationProviders 이 3개다. security 에 filter 들이 여러개 기본적으로 구현되어 있는데 난 여기에다가 custom filter 를 추가할 계획이다. 그렇다면 어느 위.. 2020. 5. 20.
데이터 모델과 질의 언어 NoSql 등장 다양한 유형의 데이터 모델이 있고 각 데이터 모델은 사용 방법에 대한 가정을 나타낸다. 어떤 종류의 사용법은 쉽고 어떤 동작은 지원하지 않는다. 어떤 연산은 빠르지만 또 어떤 연산은 매우 느리게 작동한다. 하나의 데이터 모델만을 완전히 익히는 데도 많은 노력이 필요하다. 데이터 모델을 하나만 사용하고 내부 동작에 대한 걱정이 없을지라도 소프트웨어 작성은 그 자체로 충분히 어렵다. 그러나 데이터 모델은 그 위에서 소프트웨어가 할 수 있는 일과 할 수 없는 일에 지대한 영향을 주므로 애플리케이션에 적합한 데이터 모델을 선택하는 작업은 상당히 중요하다. !! NoSql 의 특징 오늘날 가장 많이 알려진 데이터 모델은 관계형 데이터모델 이다. 웹에서 볼 수 있는 대부분의 서비스 생산은 여전히 관계형 데이터베이스.. 2020. 5. 17.