![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bYnwKN/btsuqBiycvP/NzdqFURcfoZTerrHjLQ3Wk/img.png)
목차 벡터 데이터베이스는 벡터 검색 기반 환경을 만들고자 하는 개발자를 위한 것이다. 개발자는 임베딩으로 생성된 벡터를 벡터 데이터베이스에 인덱싱 할 수 있으며, 이를 통해 인접 벡터를 쿼리 하여 유사한 데이터를 찾을 수 있다. 위 설명은 AWS 공식문서에 쓰인 번역문이다. https://aws.amazon.com/ko/what-is/vector-databases/ 벡터 데이터베이스란? 벡터 데이터베이스 설명 - AWS 정보는 다양한 형태로 제공됩니다. 텍스트 문서, 리치 미디어, 오디오와 같이 비정형 정보도 있고 애플리케이션 로그, 테이블, 그래프와 같이 정형화된 정보도 있습니다. 인공 지능과 기계 학습( aws.amazon.com 그러니까 한 마디로 말하자면 고차원 데이터를 벡터 형태로 임베딩 하여 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/syVfv/btsudkh7IpC/0h8S8Bp6Y9ecNyStVKwa70/img.png)
목차 https://pages.cs.wisc.edu/~akella/CS744/F17/838-CloudPapers/Kafka.pdf Kafka: 로그 처리를 위한 분산 메시징 시스템 이 논문은 카프카가 처음 만들어진 후(2011) 발간된 첫 논문이다. 정확하게는 논문이라기 보다는 내부 기술문서의 형태를 가지는데, 기념할만한 문서라 생각해서 읽고 정리해 보았다 당연히 전문 번역은 아니고 요약에 가깝다. Abstract 데이터 파이프라인에서 로그 처리는 중요한 구성요소가 되었다. 큰 용량의 데이터를 낮은 지연시간으로 수집하고 전달하기 위한 분산 메시징 시스템으로써 카프카를 소개한다. 이 시스템은 기존의 로그 집계기와 메시징 시스템의 아이디어를 통합하고, 오프라인/온라인 메시지 소비에 모두 적합하다. 카프카는 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/WRw6S/btsuegr9BH6/7Alkqhacko8XfKfhVzyLXK/img.png)
목차 회사에서 카프카를 사용한 데이터 파이프라인을 스터디하다 보니 데이터 추적을 위한 스키마의 필요성을 깨달았다. 그리고 검색을 해 본 결과 내가 찾던 대상이 레지스트리 스키마이며, 카프카를 사용하는 데 있어서는 사실상의 필수라 했다. 바쁘게 구현하느라 코드의 품질이 떨어지긴 하지만 그나마라도 다음 글에 올려두기로 하고, 이 글에서는 스키마 레지스트리와 Avro에 대해 짧게 짚고 넘어가자. Schema Registry 스키마 레지스트리는 일종의 데이터 저장소이다. RDBMS와 같이 스키마를 만들어서 중간에 자료를 저장하는 역할을 한다. 특별히 여러 언어와 서비스에서 사용하는 Avro 스키마를 저장 및 버전관리를 해주는 앱으로 보면 된다. 이를 통해 데이터의 생산(Produce)과 소비(Consume)가 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cKx2me/btssSrbTBOs/PKBH2Ud3gCPG53z8OKpxa1/img.png)
목차 지난 글에서, 도커로 카프카를 실행하고 자바 프로젝트의 yml파일을 아래와 같이 구성했다. spring: kafka: topic: myTopic: test-topic consumer: bootstrap-servers: localhost:9092 group-id: test auto-offset-reset: earliest producer: bootstrap-servers: localhost:9092 이번 글에선 위 설정을 바탕으로 실제 프로듀서와 컨슈머를 구현한 뒤, 간단한 사칙연산을 구현해 보겠다. 들어가기 전에 먼저, 위 설정은 보안과 관련된 부분이 전부 제거된 상태이기 때문에 MSK 사용 시 해당 설정을 추가해야 한다. KafkaProducerConfig 먼저 프로듀서에 대한 설정이다. 굉장히 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qCoWH/btssbCMG7nZ/fQmw3OXYKb8qjE5AIdoBQ0/img.png)
목차 한 달쯤 전에 올렸던 글에서, 야심 차게 MSK를 도입하겠노라고 선언을 했었다. [Cloud]Java 17 + WebFlux 환경에 AWS MSK 도입하기(1) - MSK? [Cloud]Java 17 + WebFlux 환경에 AWS MSK 도입하기(1) - MSK? 목차 Apache Kafka 아파치 카프카는 그 유명한 링크드인에서 개발해 11년에 공개한 오픈소스 메시지 브로커 프로젝트이다. Message Broker 오픈소스는 그렇다 치고 메시지 브로커라는 단어를 처음 보니 gnidinger.tistory.com 그 이후 이리 구르고 저리 구르다가 알게 된 사실은, 로컬 환경에서 MSK로 접근하는 건 불가능한 것은 아니지만 쉽지 않다는 것. 가장 쉽게 MSK에 접근하는 방법은 같은 VPC안에 EC..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bFeX4r/btsn6Nqtl1D/DF1qeZPuLfptzKdQn9UDZK/img.png)
목차 Apache Kafka 아파치 카프카는 그 유명한 링크드인에서 개발해 11년에 공개한 오픈소스 메시지 브로커 프로젝트이다. Message Broker 오픈소스는 그렇다 치고 메시지 브로커라는 단어를 처음 보니 정리하고 지나가자면, 브로커라는 단어 뜻 그대로 프로그램 간의 메시지를 전달하는 중개인 역할을 하는 앱이라고 생각하면 된다. 출처: https://www.g2.com/articles/message-broker 특히 카프카는 복잡한 시스템에서 컴포넌트 간의 통신을 담당하며, 이 과정에서 컴포넌트들이 직접 통신하는 대신 카프카를 통해 메시지, 즉 요청과 응답을 주고받는다. 이를 통해 시스템은 컴포넌트 사이의 결합도를 낮추는 동시에, 확장성과 유연성을 동시에 높일 수 있게 된다. Key Featur..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/G1x6Z/btsm4A5i04r/KJ5sYPmomKYZbx2KtwDJVK/img.png)
목차 이 글은 2023년 7월 9일 기준, OAuth 2.0 구현을 위한 클라이언트 아이디/시크릿 발급 방법을 정리한 것이다. 지금 진행 중인 노드/타입스크립트/Express로 게시판 만들기에서 길어져 분리된 글이며, 처음 하는 사람에게 설명하듯이 아주 상세하게 설명되어 있기 때문에, 잘 아는 사람은 굳이 읽을 필요가 없다. Google 구글부터 시작하자. 먼저 구글 클라우드에 로그인한다. https://console.cloud.google.com/ Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 그러면 아래와 비슷한 화면이 보이는데, 새로운 프로젝트를 생성하자. 이름을 정해주고 만들기를 누르면, 잠시 후에 프로젝트가 생성된다. 프로젝트 선택을..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zs4Sh/btsmcK8QEn5/V1PILMSkFQ6tdVi6cZFaY0/img.png)
작은 프로젝트를 개발하면서는 만날 일이 없지만, 의외로 회사에서 일하다 보면 3분이 넘는 요청을 처리해야 하는 경우가 종종 있다. 스프링 부트의 경우, application.yml에 명시적인 타임아웃 설정이 없다면 연결 타임아웃은 기본 30초, 읽기 타임아웃은 기본적으로 무제한으로 설정된다. 하지만 AWS를 이용해 배포를 하는 경우, 특별히 설정을 해주지 않으면 60초 만에 타임아웃 에러가 뜨는데, 이런 경우 .yml 파일에 명시적으로 타임아웃을 길게 적어도 해결되지 않는 것을 확인할 수 있다. 해결 방법은 AWS의 어느 서비스를 사용하느냐에 따라 다르겠지만, 나의 경우 EC2, ELB, Route53을 사용하고 있다. 이런 경우 해결책은 생각보다 허무한데, 우선 AWS 콘솔에 로그인한 뒤, EC2에서 ..
목차 NoSQL NoSQL은 Not only SQL의 약자이며, 기존의 관계형 데이터베이스에서 벗어난 저장방식을 가리킨다. 이에 관한 더 자세한 설명 및 SQL과의 비교는 예전에 정리한 적이 있으므로, 해당 게시글로 대체한다. [데이터베이스]SQL vs. NoSQL [데이터베이스]SQL vs. NoSQL NoSQL는 Not only SQL의 약자로, SQL만을 사용하지 않는 DBMS(DataBase Management System)을 말한다. 관계형 데이터베이스를 주로 사용하는 SQL과 달리 여러 유형의 데이터베이스를 사용하는 넓은 범위라고 보 gnidinger.tistory.com 이 글에서는 Node.js, TypeScript, 그리고 mongoose를 사용하는 환경을 기반으로 mongoDB의 1:N..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mdcBm/btslaeYzM6s/GLbzbXofBJhkE0MFETUkK0/img.png)
목차 두 대의 EC2로 CI/CD 구현하기 [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(1/3) [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(2/3) 지난 글까지 해서 젠킨스 설정의 대략 절반을 정리했다. 이번 글에서 끝을 보는 것이 목표! Project Settings 프로젝트 세팅은 순서대로 하나의 섹션으로 정리한다. 먼저 대시보드로 돌아와 새로운 아이템을 누른다. 다음 창에서 프로젝트 이름을 정해주고 Freestyle project 클릭 후 아래로 스크롤을 내려 OK. 이어지는 화면에서 GitHub project를 누르고 레포지토리 URL을 입력해 준다. 다음은 바로 아래에 위치한 소스 코드 관리. 레포지토리 URL을 위와 같이 주소.git으로 입력하고 크..
- Total
- Today
- Yesterday
- 백준
- 칼이사
- 세계여행
- 중남미
- 남미
- 여행
- 알고리즘
- 스트림
- 유럽
- java
- 유럽여행
- 파이썬
- 스프링
- 야경
- RX100M5
- a6000
- 면접 준비
- 맛집
- 세계일주
- 세모
- 지지
- 자바
- BOJ
- spring
- Python
- 기술면접
- 리스트
- 동적계획법
- Backjoon
- Algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |