일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Kotlin
- git
- AWS
- PAGING
- spring
- centos7
- Streams
- entity graph
- consumer
- Spring JPA
- bean
- kafka
- CodePipeline
- CI
- spring kafka
- Spring Data JPA
- ECS
- QueryDSL
- mysql
- Entity
- cd
- topic생성
- Kubernetes
- transactionaleventlistener
- producer
- API
- mirror maker2
- offsetdatetime
- K8s
- JPA
- Today
- Total
목록전체 글 (100)
Yebali

카프카 스트림즈란? 토픽에 있는 데이터를 실시간으로 변환하여 다른 토픽에 적재하는 라이브러리이다. 카프카 스트림즈의 장점 카프카가 공식적으로 지원하는 라이브러리이다. 그리고 카프카와 카프카 스트림즈는 함께 버전업이 되어 호환성이 서로 좋다. 스트림 처리에 필요한 다양한 기능(토픽 생성, 상태 저장, 데이터 조인 등)을 제공한다. 장애가 발생해도 장애 허용 시스템(Fault Tolerant System)을 통해 데이터가 딱 한 번만 처리되도록 보장한다. '프로듀서 + 컨슈머' vs '스트림즈' ‘프로듀서 + 컨슈머’조합으로 스트림즈와 유사한 것을 만들 수 있다. 하지만 단 한번의 데이터 처리, 장애 허용 시스템 등의 기능들은 ‘프로듀서 + 컨슈머’의 조합으로는 구현하기 어렵다. 만약 소스 토픽(사용하는 토..

회사에서 개발을 하며 가끔씩 전체 테스트를 돌려보지 않고 PR을 요청하여 Prod/Dev 서버에 배포를 하는 도중 에러가 난적이 있다. 이런 경우를 방지하기 위해 GitHub Action을 통해서 PR이 발생할 때마다, 테스트를 진행하여 배포 중 발생할 수 있는 문제를 방지하기로 했다. GitHub Action이란? Github Action은 Github 저장소를 기반한 Workflow 자동화 도구이다. Github 내부에서 프로젝트를 빌드, 테스트, 배포 등을 지원하는 CI/CD 도구이다. GitHub Action의 주요 개념 Workflow Workflow는 프로젝트를 빌드, 테스트 또는 배포하기 위한 전체적인 프로세스이다. 여러 개의 Job으로 구성되어 event기반으로 동작한다. Event Wor..

필터(Filter)란? 필터(Filter)는 J2EE표준 스펙 기능으로 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공한다. 즉, 스프링 컨테이너가 아닌 톰캣과 같은 웹컨테이너에 의해 관리가 되므로 디스패처 서블릿으로 가기 전에 요청을 처리하는 것이다. 일반적으로 클라이언트와 자원 사이에는 1개의 필터가 존재하지만, 여러 개의 필터가 모여 필터 체인(Filter Chain)을 형성하기도 한다. 또한 필터는 요청/응답 정보를 변경하는 역할뿐 아니라 흐름을 변경하는 역할도 할 수 있다. 즉 필터는 클라이언트의 요청을 필터 체인의 다음 단계에 보내는 것이 아니라, 다른 자원의 결과를 클라이언트에 전송할 ..

백엔드 개발자라면 알아야 하는 상식이지만... 누군가의 물음에 답하지 못한 슬픈 일이 있어서 정리한다. 쿠키와 세션의 필요성 HTTP은 요청과 응답이 끝나면 연결을 끊어버리는 비연결 지향의 통신이며, 동시에 상태를 저장하지 않는 Stateless방식의 통신이다. 그래서 로그인과 같은 일을 할 때, '누가' 로그인 한 '상태'인지를 기억하기 위해 쿠키, 세션, 토큰을 사용한다. 쿠키(Cookie)란? HTTP의 일종으로 사용자가 어떤 웹 사이트를 방문할 경우 그 사이트의 서버를 통해 사용자 쪽에 설치되는 작은 기록 정보를 말한다. 주로 사용자의 웹 페이지의 방문 기록, 서버에서 발급된 세션을 열기 위한 키 값 등의 정보를 저장한다. (일반적으로 브라우저에 저장) 세션(Session)이란? 세션은 쿠키를 기..

참고 2021/11/24 기준으로 위의 OAuth 2.0 방식으로 얻은 Access Token으로는 The Confluence Cloud REST API에 나와있는 API를 사용할 수 없다 (401 Error 발생함) OAuth 2.0 (3LO) apps의 3.2 Construct the request URL부분을 참고하여 URL을 적절히 수정하여 사용해야 한다. Oauth Token 얻기 Oauth Token을 얻기 위해서는 아래와 같은 절차를 거친다. Confluence Oauth2(3LO) 인증용 App을 만든다. App에 필요한 권한들을 부여한다. Callback URL을 설정한다. Authorization Code 얻기 Authorization Code로 Access Token 얻기 (필요시) ..

Confluence는 많은 기업들에서 사용하고 있는 협업 소프트웨어이다. 사용자들은 Blog나 Page를 만들어 지식이나 정보를 공유하기에 좋은 소프트웨어이다. 회사에서 JmsListener 자동 문서화 작업 중, 문서화된 내용을 Confluence 게시글에 업데이트하는 작업을 하며 알게 된 Confluence API 사용법을 조금 적어보겠다. Confluence 자동 문서화 예제코드 참고로 confluence는 자신의 서버에 직접 설치하여 사용하거나 아틀라시안이 제공하는 서버에 월 요금을 내고 사용한다. 자신의 서버에 직접 운용하는 경우 'Server REST API'를 사용하고, 아틀라시안 서버를 사용하면 'Cloud REST API'를 사용한다. 이 글에서는 'Cloud REST API'를 사용하는..