AI · 알고리즘 · DB · DevOps · Java/Spring · JS/TS · React · Next.js · System. 공부하면서 기록하고, 기록하면서 다시 배웁니다.
실행 계획은 DB가 SQL 한 문장을 「어떤 순서로, 어떤 방법으로 읽고 합칠지」 적어 둔 작업 지시서다. 이 글은 SQL은 매일 쓰지만 DB 안에서 그 SQL이 어떻게 실행되는지는 잘 모르는 Java 백엔드 개발자를 위해, 실행 계획을 읽는 데 필요한 기초를 그림과 비유로 정리한다. 수식과 내부 구현의 세부는 뺐다. 이 시리즈의 다음 두 편은 이 글의 용...
진행 기간: 2026.05–현재 PDF·이미지·오피스 문서를 LLM이 다룰 수 있는 Markdown으로 변환하는 Document Parser를 담당했다. OCR 제품을 만드는 게 아니라 OCR을 활용해 문서를 Markdown으로 변환하는 서비스다. 스택: Python 3.11, FastAPI, docling(+TableFormer), 멀티프로세스 워커 풀,...
PyTorch를 pip install로 깔았는데 시스템에 CUDA Toolkit을 따로 안 깔아도 GPU가 돌았다. 그러다 nvidia-smi는 CUDA 12.2라고 하고, nvcc --version은 아예 명령이 없다고 하고, python -c "import torch; print(torch.version.cuda)"는 12.6이라고 한다. 같은 머신에서...
애플리케이션에서 LLM 을 처음 붙일 때는 SDK 하나를 호출하면 끝난다. 그런데 모델이 둘 이상 되고, 어떤 요청은 싼 모델로 충분하고 어떤 요청은 비싼 모델이 필요하고, 제공자 한 곳이 죽었을 때 다른 곳으로 넘겨야 하는 상황이 오면 그 판단을 어디에 둘지가 문제가 된다. 애플리케이션 코드마다 if 로 흩어 놓으면 팀이 늘어날 때마다 같은 판단이 복제된...