ziro의 발자취
close
프로필 배경
프로필 로고

ziro의 발자취

  • 전체보기
    • 실무
      • 회고
      • 경험
    • 공부
      • Java
      • Spring
      • Spring Data Jpa
      • Redis
      • Git
    • 후기
      • 강의
      • 책
  • Home
  • 태그
  • github
DataDog 이상 결제 탐지 알림 받기 (datadog log pipelines, monitor, grok)

DataDog 이상 결제 탐지 알림 받기 (datadog log pipelines, monitor, grok)

데이터독을 사용한다면 로그 기반으로 이상 데이터에 대해 알람을 수신받아보기 괜찮은 방법이상 결제에 대한 정의와 기준 Context 정의 (가장 중요)1. 이상 결제란 무엇인가?정기 결제 시스템을 운영하다 보면 예상치 못한 방식으로 발생하는 결제 시도가 문제가 될 수 있습니다. 이상 결제(Anomalous Payment)란 우리가 정의한 결제 프로세스의 틀을 벗어난 결제를 의미합니다. 이는 기술적 오류, 사용자 실수, 혹은 시스템 설계에서 예상하지 못한 결제 흐름으로 인해 발생할 수 있습니다.2. 우리 서비스의 상황우리는 정기 구독 서비스를 운영하며, 고객은 초기에 발급된 빌링 키(Billing Key)를 통해 주기적으로 결제가 이루어집니다. 이 과정에서 재시도 프로세스와 같은 결제 로직이 체계적으로 마련..

  • format_list_bulleted 실무/경험
  • · 2025. 3. 11.
  • textsms
[독후감] 해드 퍼스트 디자인 패턴

[독후감] 해드 퍼스트 디자인 패턴

(옮긴글 - 2022.10.12작성)NEXT STEP 의 ‘TDD with Java’ 를 수강할 때 코드리뷰로 디자인 패턴을 적용해보라는 피드백을 받았었다. 그 당시 추천 받은 디자인 패턴은 ‘전략 패턴’인데 3년 동안 전혀 들어본 적 없는 디자인 패턴이었다. 검색하면서 이미 많은 개발자들이 흔히 사용하고 알고 있는 디자인 패턴이라는 것을 알 수 있었다. 그 만큼 디자인 패턴에 대해 알고 있는 것이 없었다. 추가로 Java, Spring 의 코드 곳곳에 디자인 패턴들이 녹여져있다는데 도저히 내 눈엔 보이지 않는 것이다. 그래서 디자인 패턴을 공부해보고자 결심했다.목표디자인 패턴과 친해지고 싶다. 유명하다고 하는 GoF 디자인 패턴 14가지가 각각 어떤 디자인 패턴인지 학습해보고싶다.공부 방법이 책은 친한..

  • format_list_bulleted 후기/책
  • · 2023. 1. 30.
  • textsms
Redis 로 따닥 방지하기 (API 중복 요청 방지)

Redis 로 따닥 방지하기 (API 중복 요청 방지)

사용자가 버튼을 실수로 두 번 누르게 될 수 있다. (따닥!하고 더블 클릭한다고 하여 개발자들이 따닥이라고 부른다고 한다.)일반적으로는 front에서 중복방지를 위한 처리를 해주지만 서버 입장에서는 들어오는 요청이 올바르게 들어오길 기대만 하고 있을 수는 없다. 그 어떤 요청에 대해서 원하는 결과가 나오도록 하는게 서버의 역할이기 때문이다.따닥 시 발생하는 일사용자가 결제요청 시 임시주문이 등록되는 처리 flow 를 통해 확인해보겠다.임시주문 등록 flow사용자가 ‘결제하기’를 누르면 기존에 생성되어있던 주문시트 정보를 기반으로 임시주문이 등록된다.임시주문은 결제가 완료될 때 주문, 결제 등의 정보를 RDB 에 저장할 때 사용할 데이터다. 또한 결제서버가 별도로 있는 프로젝트의 경우 결제서버에게 주문 관..

  • format_list_bulleted 공부/Redis
  • · 2023. 1. 18.
  • textsms
가변객체를 단계적으로 불변객체로 만들어 보자

가변객체를 단계적으로 불변객체로 만들어 보자

💡 가변객체로 시작해서 단계적으로 불변객체를 만들어보자.문제 1) 객체의 변수가 public인 경우문제: 외부에서 값을 변경해버릴 수 있다.변경 전 코드public class Person { public String name; public int age; public Person(String name, int age) { this.name = name; this.age = age; }}public class ImmutableMain { public static void main(String[] args) { Person person = new Person("길동이", 20); person.age = 21; }} 해결 1)..

  • format_list_bulleted 공부/Java
  • · 2022. 11. 3.
  • textsms
[cache] LRU 알고리즘 with LinkedHashMap

[cache] LRU 알고리즘 with LinkedHashMap

💡 Cache 알고리즘 중 가장 유명하다고 하는 LRU 알고리즘을 LinkedHashMap을 활용하여 공부해보았다. LRU (Least Recently Used) LRU 알고리즘은 운영체제의 페이지 교체 알고리즘 중 하나이다. Cache 알고리즘 중 가장 유명한 알고리즘 이기도 하다. LRU 알고리즘은 가장 오랫동안 참조되지 않은 항목을 교체 하는 알고리즘이다. LinkedHashMap 으로 구현하기 LinkedHashMap 의 다음 생성자를 활용하였다. accessOrder 속성 public LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder) { super(initialCapacity, loadFactor); this.ac..

  • format_list_bulleted 공부/Java
  • · 2022. 8. 22.
  • textsms
제네릭을 활용하여 범위를 구하는 'Range' util class 만들기

제네릭을 활용하여 범위를 구하는 'Range' util class 만들기

💡 제네릭을 직접 적용해보며 훈련합니다. 다음의 예시처럼 특정 숫자가 정해진 숫자 범위 안의 숫자에 해당하는지 확인하는 조건문이 있다. if (age >= 10 && age = 10 && age of(N start, N end) { return new Range(start, end); } public boolean contain(N target) { return start.doubleValue()

  • format_list_bulleted 공부/Java
  • · 2022. 8. 3.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 전체보기
    • 실무
      • 회고
      • 경험
    • 공부
      • Java
      • Spring
      • Spring Data Jpa
      • Redis
      • Git
    • 후기
      • 강의
      • 책
최근 글
인기 글
최근 댓글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바