MSA에서 다른 서비스의 트랜잭션이 실패된다면 어떻게 해야할까?, Saga

이 글은 MSA 환경에서 다른 서비스의 트랜잭션 Fail으로 인한 보상로직을 작성하는 방법에 대해서 다루는 글입니다. 이 글을 쓰는 이유 최근에 MSA하다가 A 컴포턴트에서 트랜잭션을 마치고, B 컴포넌트에 이벤트를 던져두었더니, B 컴포넌트가 제대로 처리를 못하면 어떻게 해야하나라는 질문을 받았습니다. 그래서 해결책을 찾아보다가 이 해결책으로 Saga pattern을 알게 되었고, Saga pattern에 대해서 공유하고자 글을 씁니다. https://microservices.io/patterns/data/saga.html Microservices Pattern: Pattern: Saga Implement transactions using a saga, which is sequence of local ..

Web 2024.04.13 0

인텔리제이는 생각보다 더 많은 도움을 준다.

평소에 인텔리제이에 IdeaVim을 켜서 쓰는 편이다. 그것만으로 충분히 좋은 IDE라고 생각했는데 최근에 김영한님의 스프링 강의를 들으면서 더 강력한 기능들을 많이 배울 수 있었다. 그래서 좋은거 나눠가지자는 생각으로 내가 쓰는 좋은 기능들을 함께 공유하고자 한다. 내 키보드는 capslock의 위치에 ctrl이 들어가있다. 이걸 감안하고 보길 바란다. 그리고 나는 Mac 유저다. 그러니 윈도우 유저들은 기능만 참고하고 위치는 알아서 쓰면 된다. Keymap Tool window 화면 전환과 관련된 키맵들이다. run 현재 실행중인 어플리케이션의 출력물을 확인할 수 있다. 테스트코드를 돌리고 있었다면 테스트 코드, 어플리케이션 코드를 작성하고 있었다면 어플리케이션 코드를 볼 수 있다. cmd + 4 g..

Web 2023.01.25 0

다트 자료형, Dart Built-in Types

안녕하세요 오늘은 다트 자료형에 대해서 다뤄보겠습니다. 자료형이란 자료의 형식입니다. 자료의 형태는 많은 종류가 있는데 아래 코드에서 먼저 보고 지나가도록 하겠습니다. int number = 1; // 정수 double detailKg = 87.3; // 실수 String myName = 'mayleaf'; // 스트링 bool amIMayleaf = false; // 진리값 List numbers = [1, 2, 3, 3, 5]; // 정수를 담은 리스트 Set avatarset = {1, 6, 3, 4}; // 정수를 담은 집합 Map json = {'black': 'out', 'get the job': 'done'}; // 맵 이렇게 수많은 자료형들이 존재합니다. 숫자 , numbers 먼저 숫자들..

Dart 2021.08.29 0

플러터에서 위치정보 사용하는 법, How to use location in flutter

이 글은 로케이션, Location 패키지를 통해서 사용자의 위치정보를 사용하는 법을 다룬 글입니다. 많은 어플리케이션의 기획에서는 위치정보를 필요합니다. 예를 들어, 근처에 있는 ATM기의 위치나, 음식점의 정보를 알기 위해서는 내 위치를 알아야하죠. 사용자가 본인의 위치정보를 사용할 수 있게 하려면 어떻게 해야할까요? Location 사용자가 본인의 좌표를 얻기 위해서 사용하는 패키지가 바로 로케이션, location입니다. pubspec.yaml에서 디펜던시를 추가한 다음 설치를 진행합니다. dependencies: location: ^4.2.0 권한 요청 먼저 디바이스의 위치 정보를 얻기 위해서는 권한, Permission을 받아야합니다. Android project_dir/android/app/..

Flutter 2021.08.25 2

Nginx 프록시 서버

이 글은 Nginx를 프록시 서버로 사용하는 방법을 적은 글입니다. 이 글에서 다루고자 하는 내용은 크게 두 가지로 첫 번째는 Nginx를 리버스 프록시 서버로 운용할 때의 장점이고 두 번째는 Nginx를 리버스 프록시 서버로 운용하는 방법 입니다. 리버스 프록시 서버를 운용하는 장점 첫 번째는 어플리케이션 서버의 정보를 외부에 노출하지 않고 운영할 수 있다는 점이고, 두 번째는 하나의 포트만으로 여러 서버에 접근 할 수 있는 아키텍쳐를 만들 수 있다는 점입니다. Nginx를 리버스 프록시 서버로 운용하기 우리는 두가지 실습을 진행할 것입니다. 첫 번째는 간단한 Nginx 리버스 프록시 서버를 세팅하는 것이고 두 번째는 Nginx 리버스 프록시 서버에 어플리케이션 서버를 연결하는 것입니다. Beginne..

Nginx 시리즈 2020.04.04 0