앞선 두 개의 게시물에서 완성한 gitlab-ci.yml과 helm manifest를 통해 CD를 만들어보자.ArgoCD 구축kubectl create namespace argocdkubectl apply -n argocd -f https://raw.githu
목표 Helm chart manifest를 작성해서 Backend 서비스를 GCP k8s engine에 배포할 수 있도록 한다. Domain에 HTTPS(SSL 인증서)까지 적용한다. Env variable을 사용하기 위해 GCP secret manager 서비스를
GCP에 있는 K8S 서비스의 CI/CD를 구축해본다.기술 스택은 Gilab-ci, helm chart, argoCD최종 결과의 Flow는 gitlab에 소스코드를 푸시하면 gitlab ci가 소스 코드를 빌드하고 Docker Registry에 푸시한다. Helm ch
K8S에 ES + kibana를 배포해보자.RestAPI를 통해 테스트해보고 예상한대로 작동하는지 확인해보자.Kibana를 통해 데이터를 확인해보자.https://github.com/HoneyJung/k8s-elasticsearch-kibanaes.zipkub
ElasticSearch가 무엇인지 안다.ElasticSearch의 특징과 핵심 용어들을 안다.ElasticSearch를 실무적으로 사용하기 위해 최소한의 내부 동작 원리를 파악한다.Scale out, Availability - 분산 시스템이기 때문에 수평적으로 확장
Vector DB LLM, Generative AI, semantic search 등을 포함하는 기술이 발전하면서 Vector DB의 중요성도 커졌다. AI는 벡터로 Data를 이해한다. 여기서 말하는 vector는 간단하게는 다차원 공간에서 존재하는 한 점 혹은 좌표
RAG(Retrieval Augmented Generation)는 미리 학습된 LLM(대규모 언어 모델) 및 자체 데이터를 사용하여 응답을 생성하는 패턴이다.현재 널리 쓰이고 있는 Chatgpt와 같은 LLM은 수많은 범용적인 데이터로 그리고 특정 시점 데이터로(과거
줄여서 NL JOIN이라고도 불리는 NESTED LOOP JOIN은 2개 이상의 테이블에서 하나의 집합을 기준으로 순차적으로 상대방 Row를 결합하여 원하는 결과를 조합하는 조인 방식입니다. 조인해야 할 데이터가 많지 않은 경우에 유용하게 사용됩니다. NESTED LO
관계형 데이터베이스에서 테이블을 정규화하여 불필요한 정보의 반복을 방지합니다. 그런 다음 조인 연산자를 사용하여 정보 손실 없이 두 개 이상의 테이블로 나누었던 데이터를 조합할 수 있다.optimizer는 query에 대해 최적의 실행방법을 결정하는 역할을 하는 녀석이
이번에는 Event loop에서 javascript를 특히 비동기 함수들을 어떤 순서로 실행 순서로 실행시키는지 예시 위주로 알아보자.첫번째로 기본적인 동기 함수와 SetTimeout의 콜백 함수가 어떤 방식으로 실행되는지 보자.정답 : Frist -> Third ->
자바스크립트 엔진의 대표적인 예는 Google V8 엔진이다. Chrome 브라우저, NodeJS 런타임 등에서 사용되고 있다. V8 은 Chrome과 Node.js에서 사용합니다. 아래는 엔진의 구조도를 간단히 나타낸 그림입니다.1) Memory Heap : 메모리
Database에서 자주 primary key로 uuid와 auto increment integer를 사용하는데 이 둘의 장단점에 대해 알아보자.UUID는 128 bit, 32자리의 16진수로 이루어진 아래 그림과 같은 모습의 숫자이다. (종류가 몇 가지 있긴 하다)
변수의 타입이 결정되는 시점이 기준이다.동적 타입변수의 타입이 런타임 시 정해진다. 대표적으로 Python이다. 코딩하는 입장에서 type에 크게 신경쓰지 않아도 돌아가는 코드를 만들 수 있다. python이 간단한 script를 짜는 데에 생산성이 좋은 이유 중 하나
데이터베이스 인덱스(Database Index)는 데이터베이스 내의 테이블에 대한 성능 향상을 위해 사용되는 데이터 구조이다. 인덱스는 테이블의 특정 열(또는 열의 조합)에 대한 검색 속도를 향상시키기 위해 사용된다. 정도만 알고는 application level에서
JWT(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. JWT는 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다.JWT는 세 개의 점으로 구분된 문자
인증에 대해 공부하고 까먹고 공부하고 까먹고를 반복했다. 글이라도 쓰면 안까먹을 것 같아 작성한다.인증이란 클라이언트가 서비스에 접근할 수 있는 권한이 있는 사용자인지 인증하는 과정이다.보통 서버가 클라이언트를 인증하는 방식은 대표적으로 쿠키, 세션, 토큰 3가지 방식
석사, 창업, 일과 병행, 졸업 미국에서의 인턴 생활을 마치고 전문 분야가 있으면 좋겠다고 생각했다. 굉장히 막연한 생각이었다. 학부 때 인턴을 한 분야로 생각없이 Database 연구실에 들어가게 됐다. 내 인생의 후회다. 지금 생각하면 분야에 대한 깊은 고민도 없었
뜬금없이 5장부터 시작하는 이유는 "한 권으로 읽는 컴퓨터 구조와 프로그래밍"이라는 책으로 스터디를 진행하는데 5장 발표를 맡아서...나머지도 천천히 채워나가볼 계획이다. 다룰 내용 주로 메모리와 관련한 구조 개선을 다룬다. 5장의 부제와 같이 "컴퓨터는 어떻게 프로