일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- GIT
- AI
- 캡슐화
- 오블완
- 2024 톨스토이문학상 수상
- 티스토리챌린지
- go
- Intellij
- 서비스메쉬
- cosine similarity metric
- context7
- AWS
- ssh 에이전트
- golang
- typescript
- redirect-gateway
- RDS
- Infra
- Kubernetes
- javascript
- 디자인패턴
- authorizationpolicy
- goland
- model context protocol
- GoF
- esbuild
- elasticsearch
- 구조체
- replication lag
- sqs fifo queue
- Today
- Total
Fall in IT.

1. 배경: 자동 회로 설계 툴과 부품 매칭우리는 자동 회로 설계 도구를 개발하면서, 회로에 배치할 다양한 부품들을 적절히 배치하기 위해 부품의 타입과 카테고리를 자동으로 매칭하는 작업이 필요했다. 사전에 정의된 매칭 데이터가 없는 경우에는 부품 분석 서버에 분석을 요청하고, 그 결과로부터 카테고리와 타입 정보를 전달받는 구조로 설계했다.2. 처리 방식: 비동기 분석과 메시지 응답 구조부품 분석 작업은 종류가 방대하고, 처리 시간도 예측하기 어려웠다. 따라서 동기 요청이 아닌 비동기 방식으로 분석 요청을 보내고, 분석 결과는 메시지 큐를 통해 응답받는 구조를 설계했다. 이렇게 함으로써 시스템은 다양한 부품 분석 요청을 병렬로 처리할 수 있고, 결과는 분산된 여러 인스턴스에서 수신 및 반영할 수 있게 되었..
MSA 아키텍처로 여러 서비스를 운영하면서, 저는 도메인 단위로 유스케이스를 묶는 구조를 사용해 왔습니다.예를 들어, User 서비스에서는인증 관련 로직은 AuthUsecase회원 정보 관련 로직은 UserUsecase이렇게 기능별로 Usecase를 구분해 구성했습니다.AuthUsecase에는 이메일 인증, 휴대폰 인증, 본인 인증 등을, UserUsecase에는 회원가입, 로그인, 유저 정보 조회, 비밀번호 재설정 등 다양한 메서드를 구현해 관리했습니다.처음에는 이 구조가 충분히 단순하고 효과적이었습니다. 하지만 서비스가 점차 확장되고 비즈니스 요구사항이 복잡해지면서 한계가 드러났습니다.문제의 시작: 사용자 유형에 따른 분기 증가시간이 지나면서 User 서비스는 B2B와 B2C 사용자를 동시에 지원하게..
1. 문제 상황어드민 페이지에서 관리자가 신규 상품을 등록한 직후, 목록을 조회했을 때 등록한 상품이 목록에 나타나지 않는 현상이 발생했습니다. 이 문제는 사용자 입장에서 혼란을 줄 수 있고, 등록 여부에 대한 오해로 이어질 수 있기 때문에 즉시 분석이 필요했습니다.2. 문제 확인 과정테스트 중 어드민 페이지에서 상품 등록 후 곧바로 목록을 조회했을 때, 신규 상품이 조회되지 않는 현상을 직접 확인할 수 있었습니다.처음에는 클라이언트 측 캐싱 문제를 의심했지만, 서버에서 응답한 JSON 로그를 추적해본 결과, 실제로 응답 데이터에 새로 등록된 상품이 포함되지 않았습니다.흥미롭게도, 몇 초 후 다시 상품 목록을 조회했을 때는 등록한 상품이 정상적으로 나타났습니다. 또한, 테스트 코드에서 상품 등록 직후 5..
최근 AI 기반 코딩 도구들이 급격히 발전하면서, "정확한 문서 기반 코드 생성"에 대한 수요가 높아졌습니다.특히, 최신 프레임워크/라이브러리는 LLM의 학습 시점을 벗어나기 때문에, 낡은 정보에 기반한 답변이 큰 문제로 떠오르고 있습니다.이 문제를 해결해주는 도구가 바로 Context7입니다.이 글에서는 MCP 프로토콜, Context7의 핵심 기능, 그리고 동작 흐름까지 간단하게 정리합니다.MCP(Model Context Protocol)란?MCP는 Claude, Cursor, Windsurf 등 코딩 어시스턴트 툴이 외부 컨텍스트 소스와 통신할 수 있도록 만든 표준 프로토콜입니다.쉽게 말해, LLM에게 "이 문서도 참고해서 답해줘!"라고 알려줄 수 있게 해주는 통로입니다.MCP는 JSON 기반의 요..
이 글에서는 온프레미스 환경에서 클라우드의 Elasticsearch에 보안적으로 안전하게 접근하기 위해 Istio의 AuthorizationPolicy를 활용하여 특정 도메인만 특정 IP에서 접근 가능하도록 설정한 방법을 공유한다.참고로, 필자가 다니는 회사에서는 클라우드와 온프레미스 환경을 둘다 사용하여 서비스를 운영하고 있다.상황 요약AI 추론 및 학습 서버는 온프레미스에 구축되어 있고,그 외의 서비스의 클라우드 인프라는 AWS EKS에서 운영되고 있다.각 서비스에서 발생하는 로그는 클라우드 Kubernetes에 설치형으로 운영 중인 Elasticsearch에 저장된다.Elasticsearch는 보안상 외부에 노출되지 않고, VPC 내부에서만 접근 가능하도록 설정되어 있다.온프레미스에서 동작하는 서비..