와잼이 있는 개발블로그
close
프로필 배경
프로필 로고

와잼이 있는 개발블로그

    • 분류 전체보기 (22)
      • 잡담 (5)
      • back-end (7)
        • java (1)
        • spring (6)
      • front-end (6)
        • javascript (1)
        • vue (1)
        • nuxt (4)
      • 회고 (4)
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록
Spring 특정 API의 Response 압축하기

Spring 특정 API의 Response 압축하기

들어가며최근 구현한 기능 중 특정 API 의 응답 크기가 100kb 가 초과하는 것들이 있었다. 배포 후 큰 문제는 없었지만, 네트워크 대역폭 제한이 있어서, 사용자가 몰릴 경우 잠재적인 문제가 될 수도 있다는 생각이 들었다. 이를 해결하기 위해 응답을 압축하는 방법을 사용했는데, 그 과정에 대해 예제와 함께 글을 적어본다.Gzip 압축을 사용한 이유응답 크기가 큰 특정 몇 API 는 사용자가 최초 접속 시 반드시 호출 되어야만 하고, 데이터 특성상 자주 변경되어 HTTP 의 Cache-Control 을 사용해 캐싱하기 어려웠다. ETag 를 적용하는 것도 고려했지만, 데이터가 너무 크고 빈번하게 변동되어 매번 식별자를 생성하는 작업이 비효율적이라 판단했다. 대신, Last-Modified 를 적용해서 ..

  • format_list_bulleted spring
  • · 2024. 8. 9.
  • textsms
Spring Security 6 hasIpAddress 사용하는법 (feat.Spring boot 3)

Spring Security 6 hasIpAddress 사용하는법 (feat.Spring boot 3)

들어가며 이번 프로젝트에서 WhiteIpList 관리 기능 부분을 맡아 만들게 되어 해당 기능을 Security 를 이용해서 붙여보려 했었다. 결국은 다르게 구현했지만 Security 로는 어떻게 할 수 있을까 공부 해보는 좋은 시간이었다. Spring Security 가 6버전으로 올라오며 많은것들이 바뀌었다. 이전에 사용하던 authorizeRequests() 와 authorizeHttpRequests() 가 Deprecated 되고, authorizeHttpRequests(Customizer) 를 사용되게 권장되게 바뀌었다. 그러면서 메서드들의 사용법이 조금씩 바뀌었는데 그 중 제법 많이 쓰이던 hasIpAddress 메서드는 authorizeHttpRequests 를 사용하면 존재하지 않는다. 그..

  • format_list_bulleted spring
  • · 2023. 10. 3.
  • textsms
Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (3/3) - 한계와 극복

Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (3/3) - 한계와 극복

들어가며 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 이번 글은 1.템플릿 콜백 패턴으로 구현 과 2.AOP 로 구현 을 기반으로 작성되었으니 먼저 읽어주시길 바랍니다. Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (1/3) - 템플릿 콜백 패턴 들어가며 우선 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제 jongmin4943.tistory.com Spring Redisson 분산락(Distribute ..

  • format_list_bulleted spring
  • · 2023. 7. 24.
  • textsms
Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (2/3) - AOP

Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (2/3) - AOP

들어가며 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 이번 글은 1.템플릿 콜백 패턴으로 구현 에서 참고하는 부분이 있으므로 필요하시면 먼저 읽어주세요. Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (1/3) - 템플릿 콜백 패턴 들어가며 우선 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제 jongmin4943.tistory.com 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제에 대한 이야..

  • format_list_bulleted spring
  • · 2023. 7. 23.
  • textsms
Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (1/3) - 템플릿 콜백 패턴

Spring Redisson 분산락(Distribute Lock) 좀 더 잘 써보기 (1/3) - 템플릿 콜백 패턴

들어가며 우선 이 글은 1.템플릿 콜백 패턴으로 구현, 2. AOP 로 구현, 3. Spring Redission 의 한계와 극복 총 3편으로 이루어져 있습니다. 여기서 사용한 예제코드에는 특정 문제가 있습니다. 해당 문제에 대한 이야기는 3편에서 할 예정입니다. 그리고 Spring Redisson 이 뭔지, 왜 쓰는지, 분산락이 뭔지 등등 에 대해서는 글이 너무 길어져 설명하지 않았습니다. 궁금하신분은 인프런의 "재고시스템으로 알아보는 동시성 이슈 해결방법" 강의 를 보시거나 해당 강의의 잘 정리된 블로그글을 첨부하니 참고해주세요. 사건의 시작 사내 그룹웨어에서 칸반 기능을 개발 하던 도중 사용 하시던 동료 두 분이 버그를 제보해주셨다. "저희 둘이 쓰는 칸반이 있는데 갑자기 순서가 이상해졌어요. 아마..

  • format_list_bulleted spring
  • · 2023. 7. 22.
  • textsms
Spring 의 TransactionalEventListener 실행 순서

Spring 의 TransactionalEventListener 실행 순서

사건의 시작 나는 회사에서 특정 상황에 처음으로 TransactionalEventListener 를 사용해본 뒤 유용하다는것을 알고 회사 동료분들에게 이런게 있다고 알려드렸다. 그러던 어느 날 한 회사 동료분이 나에게 물었다. "와잼님 TransactionalEventListener 를 여러개 쓰면 어떤게 먼저 실행되나요?" 나는 답변으로 "몇번 테스트 해보고 사용해본바로는 TransactionalEventListener 에 phase 라는게 존재해서 Before Commit, After Commit, After Rollback, After Completion 이 있으며 성공이면 Before Commit 으로 시작해 After Commit -> After Completion , 실패면 After Roll..

  • format_list_bulleted spring
  • · 2023. 7. 9.
  • textsms
  • 1
전체 카테고리
  • 분류 전체보기 (22)
    • 잡담 (5)
    • back-end (7)
      • java (1)
      • spring (6)
    • front-end (6)
      • javascript (1)
      • vue (1)
      • nuxt (4)
    • 회고 (4)
최근 글
인기 글
최근 댓글
태그
  • #Spring
  • #Java
  • #nuxt3
  • #분산락
  • #기술컨퍼런스
  • #DistributedLock
  • #동시성
  • #Spring Redisson
  • #동시성문제
  • #redisson
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.