Caffeine
I. SpringBoot Cache 어플리케이션은 기능 구현을 위해 다양한 DataSource를 사용한다. 자주 사용되는 기능일수록 특정 DataSource에 대한 접근이 늘어나고, 그에 따른 부담이 증가한다. Cache는 어플리케이션이 특정 DataSource에 접근하지 않고, 데이터가 임시로 저장된 공간에 접근해 빠르게 데이터를 반환할 수 있도록 ...
I. SpringBoot Cache 어플리케이션은 기능 구현을 위해 다양한 DataSource를 사용한다. 자주 사용되는 기능일수록 특정 DataSource에 대한 접근이 늘어나고, 그에 따른 부담이 증가한다. Cache는 어플리케이션이 특정 DataSource에 접근하지 않고, 데이터가 임시로 저장된 공간에 접근해 빠르게 데이터를 반환할 수 있도록 ...
I. SlackSDK (그림 I-1) SlackSDK SlackSDK는 Slack API 사용을 위해 Slack에서 제공하는 모듈이다. Web API부터 UI Builder까지 상당히 많은 기능을 제공하는데, 이번엔 Web API를 통해 간단한 알림 로직을 구현했다. (그림 I-2) Flow chart 알림 로직이 적용된 부분은 위와 같다....
I. NotionClient (그림 I-1) NotionClient(notion-sdk-py) NotionClient는 JavaScript Notion SDK를 기준으로 작성된 모듈로, Official Notion API의 사용을 좀 더 편하게 사용할 수 있는 기능을 제공한다. 사실 사용하다보면 공식 API에 직접 requests로 보내는 게 나...
I. ECS Scheduled Task Spring Batch, FastAPI Utilities등 WebFramework에서 스케줄링을 구현하는 방법은 다양하게 존재하지만, WebFramework 자원과 독립적으로 동작하는 기능이 필요한 경우도 분명 존재한다. AWS EchoSystem 내에서 스케줄링은 보통 *EventBridgeScheduler를...
I. Testcontainers (그림 I-1) Testcontainers TestContainers는 통합 테스트를 지원하기 위해 개발된 오픈 소스 JAVA 라이브러리로, 도커 컨테이너를 활용해 다양한 스택에 대한 테스트 환경을 구축하고 관리할 수 있게 한다. MySQL, Redis 같은 DBMS뿐만 아니라, Kafka, ElasticSear...
I. GA4(Google Analytics 4) GA4(Google Analytics 4)는 어플리케이션 혹은 웹에서 발생하는 사용자 데이터 수집 및 분석을 지원하는 도구이다. GA3까지 GA는 웹에서 발생하는 사용자 데이터만을 다루었으며, 2016년 상용화된 Firebase Analytics를 통해 어플리케이션에 발생하는 데이터를 확인할 수 있었다....
I. Data structure 1. Zset (그림 I-1-1) Redis Zset 예시 Redis에서 sorted set은 Zset이라 표현한다. Zset은 ZipList와 SkipList라는 두 가지 데이터 구조로 구성되어 있으며, Redis는 데이터에 따라 저장할 데이터 구조를 선택한다. Redis가 데이터 구조를 결정하는 조건은 다음과 같...
해당 게시글은 Chirpy 템플릿 사용 시 게시글 작성 방법을 번역한 글이다. Chirpy 템플릿은 게시글 작성 시 다소 복잡한 설정을 요구하기 때문에, 한 번쯤 읽어보는 것을 추천한다. 1. 게시글 파일의 이름 및 경로 기본적으로 Chirpy 는 _posts 이하 경로에 있는 모든 Markdown 형식의 파일을 게시글로 처리한다. 이 때, 파일의...