| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- assertThrows
- 스프링 부트
- llmops
- 스프링 컨테이너
- thymeleaf
- JPA
- DIP
- 생성자 주입
- jdbc
- Javascript
- @Configuration
- Agent
- 스프링 부트 기본
- springboot
- spring
- LLM
- java
- db
- 스프링
- 스프링 프레임워크
- SQL
- Rag
- 스프링부트
- Effective Java
- 스프링 빈
- assertThat
- sqld
- mybatis
- 필드 주입
- 스프링 부트 입문
- Today
- Total
목록전체 글 (333)
선 조치 후 분석
들어가며쿠버네티스 자격증(CKA) 공부 두 번째 글이다. 스킬잇 입문 강의 Day2(이론 + 실습)를 듣고 Pod와 Node, 그리고 kubectl 기본 명령을 정리했다. 이 글의 핵심 메시지는 하나다. "Pod는 최소 단위지만, 운영에서는 직접 만들지 않는다."1. 먼저 결론Pod는 컨테이너가 담기는 가장 작은 실행 단위이고, Node는 그 Pod가 올라가서 실행되는 서버다.어느 Node에 올릴지는 컨트롤 플레인의 스케줄러가 정한다.같은 Pod 안의 컨테이너는 네트워크와 저장소를 공유해서 localhost로 서로 통신한다.직접 만든 단독 Pod는 죽어도 자동으로 복구되지 않는다. 그래서 운영에서는 Deployment 같은 상위 리소스를 쓴다. (Day3 주제)kubectl은 kubectl 구조로..
들어가며쿠버네티스 자격증(CKA)을 목표로 공부를 시작했다. 스킬잇의 쿠버네티스 입문 강의 Day1을 듣고, 큰 그림을 내 말로 다시 정리한 글이다. 개별 명령어보다 "쿠버네티스가 왜 필요하고, 안에서 무엇이 어떻게 돌아가는가" 를 먼저 잡는 것이 목적이다.1. 먼저 결론쿠버네티스(K8s)는 컨테이너 애플리케이션의 배포·확장·운영을 자동화하는 플랫폼이다.클러스터 하나는 컨트롤 플레인(두뇌) 과 노드(실제 실행 현장) 두 영역으로 나뉜다.리소스는 "원하는 상태"를 선언하는 방식(선언형)으로 관리하는 것이 핵심 철학이다.모든 요청은 kube-apiserver 하나로 모인다.우리가 쓴 YAML은 API 서버에 기록되고, 컨트롤러·스케줄러·kubelet이 API 서버의 변화를 지켜보다가(watch) 차례로 일을..
들어가며전자정부 표준프레임워크 템플릿 두 개를 받아서 돌려 보다가 이상한 점이 있었다. 모놀리식 템플릿(egovframe-template-simple-backend)은 pom.xml이 있는 Maven 프로젝트였고, MSA 템플릿(egovframe-msa-edu)은 gradlew로 실행하는 Gradle 프로젝트였다. "모놀리식은 Maven, MSA는 Gradle인가?"라는 의문이 들어서 두 빌드도구를 한 번에 정리했다.1. 먼저 결론아키텍처와 빌드도구는 무관하다. 모놀리식을 Gradle로 빌드해도 되고, MSA를 Maven으로 빌드해도 된다. 템플릿을 만든 쪽의 선택일 뿐이다.두 도구가 하는 일은 같다. 라이브러리를 내려받고, 컴파일·테스트·패키징을 자동으로 해 준다.Maven은 규칙이 고정된 선언형(XM..
들어가며RAG를 공부하다 보면 검색 관련 용어가 한꺼번에 쏟아진다. 키워드 검색, BM25, 벡터 검색, 하이브리드 검색, RRF, Reranker까지, 각각은 따로 들어서 알겠는데 한 줄로 이어서 설명하려면 막힌다. 앞서 정리한 PostgreSQL 전문 검색과 임베딩 모델 글이 각각 키워드 쪽, 벡터 쪽 이야기였다면, 이 글은 둘을 한 번에 비교하고 합치는 방법까지 정리한 종합편이다.1. 먼저 결론키워드 검색은 검색어의 단어가 문서에 들어 있는지를 본다. 대표 점수 방식이 BM25다.벡터 검색은 질문과 문서를 임베딩(숫자 배열) 으로 바꿔서 의미가 가까운지를 본다.둘은 잘하는 것이 반대라서 하이브리드 검색으로 결과를 합친다. 순위를 합치는 대표 방법이 RRF다.합친 결과 상위 몇십 건을 Reranker..
들어가며전자정부 표준프레임워크의 MSA 교육용 템플릿(egovframe-msa-edu)을 로컬에서 직접 띄워 보다가 이상한 점을 하나 발견했다. 같은 프로젝트 안인데 user-service는 Spring MVC로, apigateway는 WebFlux로 짜여 있었다. 평소 Spring Security를 MVC 방식으로만 써 왔기 때문에, 게이트웨이 코드의 ServerHttpSecurity, pathMatchers, Mono 같은 이름이 낯설었다.그리고 이런 의문이 들었다. "어차피 게이트웨이 뒤의 서비스는 MVC로 처리하는데, 게이트웨이만 WebFlux로 갈 이유가 있나?" 이 글은 그 의문을 풀면서 정리한 내용이다.1. 먼저 결론WebFlux는 기능이 다른 것이 아니라 요청을 처리하는 스레드 사용 방식이..
들어가며온톨로지를 공부하면서 가장 헷갈리는 것은 비슷해 보이는 용어들의 경계다. 온톨로지와 스키마, 온톨로지와 지식그래프, 클래스와 인스턴스, Object Property와 DataType Property, Domain과 Range 같은 것들이다. 이 글은 프로테제(Protégé)에서 온톨로지를 만들 때 바로 부딪치는 핵심 개념만 따로 모아 정리한다. 왜 온톨로지를 쓰는지, 모델링 절차는 어떻게 되는지는 별도 글(온톨로지 기초 정리)에서 다룬다.1. 온톨로지 = 스키마, 지식그래프 = 온톨로지 + 데이터가장 먼저 구분할 것은 온톨로지와 지식그래프다.온톨로지: 스키마에 해당한다. 어떤 종류의 개체가 있고, 어떤 관계를 가질 수 있는지 정의한 틀이다. 아직 데이터는 담기지 않았다.지식그래프: 온톨로지(틀)에..
