블로그
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 3672 편
#2026-03 762#culture 283#deep-dive 275#kubernetes 260#career 233#ai 220#llm 216#devops 195#2026-04 158#security 147#observability 118#database 113#communication 108#history 107#architecture 101#productivity 98#performance 93#linux 90#networking 89#finance 87#economy 84#mindset 80#psychology 79#ai-papers 78#food 78#it 78#travel 78#japanese 76#deep-learning 75#english 74#gpu 74#ai-agent 69#business-travel 69#postgresql 66#cs-fundamentals 63#rag 63#systems 63#python 55#learning 54#self-improvement 53
주니어가 특히 불안한 이유 — 진입 계단이 달라졌다는 것
주니어의 불안은 성격이 아니라 위치에서 나옵니다. 대체 가능성이 가장 크다고 지목되는 층이면서, 증거는 가장 적고, 비교 대상은 가장 많은 자리이기 때문입니다. 이 글은 AI가 주니어 일을 한다는 말의 어디까지가 관측이고 어디부터가 예측인지 가른 뒤, 진짜 문제는 일이 사라지는 것이 아니라 시니어로 가는 계단이 아직 다시 설계되지 않았다는 점임을 짚습니다. 그리고 그 상황에서 사람이 배워야
2026-08-15 · 12 분 읽기 #career#junior-developer#ai#learning#entry-level남들은 다 앞서 가는 것 같을 때 — 표본과 시간표에 대하여
피드를 열면 모두가 앞서 가고 있는 것처럼 보입니다. 이 글은 그 감각을 위로로 덮지 않고 구조로 설명합니다. 우리가 보는 것이 왜 표본이 아니라 자기 선택된 광고인지, 잘 안 된 사람은 왜 그 선택에 대해 글을 쓰지 않는지, 커리어에 정해진 시간표가 있다는 감각이 어디서 왔는지, 그리고 상상한 마감과 진짜 마감을 어떻게 구분하는지를 다룹니다. 마지막으로 비교를 끄는 대신 정보로 바꾸는 방법
2026-08-15 · 11 분 읽기 #career#comparison#social-media#career-timeline#anxietyLangfuse SDK 계측 — 무엇이 자동으로 잡히고 무엇을 손으로 넣나
트레이스를 만드는 일은 SDK를 설치하는 일이 아니라 경계를 긋는 일입니다. 이 글은 Langfuse 파이썬 SDK v4를 기준으로 데코레이터, 컨텍스트 매니저, 수동 생성 세 가지 계측 방식이 각각 무엇을 다르게 하는지 정리하고, 속성을 하위로 흘려보내는 propagateattributes가 왜 필요한지, OpenAI와 LangChain 같은 프레임워크 통합이 자동으로 잡아 주는 범위가 어
2026-08-14 · 15 분 읽기 #observability#langfuse#llm-tracing#instrumentation#opentelemetryLangfuse가 트레이스를 ClickHouse에 두는 이유 — 저장 계층의 역할 분담
Langfuse를 직접 띄워 보면 저장소가 하나가 아니라는 사실에 먼저 놀랍니다. ClickHouse, Postgres, Redis, 오브젝트 스토리지 네 가지가 각각 다른 몫을 맡습니다. 이 글은 공식 문서를 기준으로 각 저장소가 무엇을 담는지, 수집된 이벤트가 어떤 순서로 이 구성 요소들을 지나가는지, 큰 payload가 어디로 빠지는지를 정리합니다. 컬럼 지향 저장이 트레이스 분석 질의
2026-08-14 · 20 분 읽기 #observability#langfuse#clickhouse#architecture#postgresLangfuse 자체 호스팅 — 배포 경로, 시크릿, 그리고 첫 기동에서 걸리는 것들
Langfuse를 직접 운영하려면 컨테이너 두 개와 저장소 네 개를 동시에 세워야 합니다. 이 글은 공식 문서를 기준으로 docker compose 경로와 헬름 차트 경로를 각각 정리하고, 반드시 직접 만들어 넣어야 하는 시크릿이 무엇인지, Postgres와 ClickHouse의 연결 문자열이 왜 두 개씩 필요한지, 오브젝트 스토리지 설정에서 MinIO가 요구하는 옵션이 무엇인지를 짚습니다.
2026-08-14 · 17 분 읽기 #observability#langfuse#self-hosting#docker-compose#kubernetes트레이스가 비용이 될 때 — Langfuse의 보존, 샘플링, 마스킹
트레이싱은 트래픽이 적을 때는 공짜처럼 보이다가 어느 순간 저장 비용과 개인정보 문제로 되돌아옵니다. 이 글은 Langfuse에서 양이 비용으로 바뀌는 지점을 네 곳으로 나눠 정리하고, 공식 문서 기준으로 샘플링이 trace 단위로 결정된다는 사실과 그것이 실무에서 무엇을 뜻하는지, 파이썬과 JS 각각의 마스킹 방식이 데이터를 어느 시점에 가리는지를 확인합니다. 보존 정책의 기본값이 삭제하지
2026-08-14 · 17 분 읽기 #observability#langfuse#cost#sampling#data-retentionLangfuse 트레이싱 데이터 모델 — trace, observation, score가 한 번의 실행을 담는 방식
Langfuse 화면을 먼저 보면 무엇을 보고 있는지 알 수 없습니다. 이 글은 Langfuse가 수집하는 데이터의 형태부터 정리합니다. trace가 무엇을 묶고 observation이 span·generation·event로 갈리는 기준은 무엇인지, session과 user가 trace 위에 어떤 층으로 얹히는지, score가 어디에 붙는지를 공식 문서 기준으로 확인합니다. RAG 한 번의
2026-08-14 · 15 분 읽기 #observability#langfuse#llm-tracing#data-modeling#opentelemetry수집한 다음 — Langfuse 대시보드, 메트릭 API, 그리고 트레이스에 붙는 평가
트레이스를 모으는 것과 그 트레이스로 답을 얻는 것은 다른 일입니다. 이 글은 Langfuse가 제공하는 지표 축이 무엇이고 그것을 어떤 차원으로 쪼개 봐야 하는지 정리한 뒤, 메트릭 API v2의 질의 구조를 실제 요청 형태로 확인합니다. v4에서 traces 뷰가 사라지고 observations 중심으로 재편된 변화, score가 trace·observation·session·데이터셋 실
2026-08-14 · 17 분 읽기 #observability#langfuse#llm-evaluation#metrics-api#dashboardRHEL 폐쇄망 설치가 어려운 진짜 이유 — 의존성은 그래프이고, 그 그래프는 안쪽에서 풀 수 없습니다
금융·공공·국방 폐쇄망에 RHEL 패키지를 반입해 설치할 때 왜 "rpm 파일 하나 복사"로 끝나지 않는지를 구조부터 정리합니다. RPM 의존성이 목록이 아니라 심볼 단위 그래프라는 점, 그 그래프를 푸는 depsolver가 저장소 메타데이터를 필요로 하는데 폐쇄망 안에는 그 메타데이터가 없다는 점, 그래서 문제가 "파일 옮기기"가 아니라 "해결된 트랜잭션을 통째로 옮기기"가 된다는 점을 짚
2026-08-14 · 16 분 읽기 #linux#rhel#air-gap#dnf#rpm폐쇄망에서 모듈과 버전 고정 — RHEL 8·9·10이 서로 다른 이야기를 합니다
RHEL 8의 모듈러리티가 폐쇄망에서 정확히 어디서 꼬이는지, 그리고 RHEL 9와 RHEL 10에서 그 이야기가 어떻게 달라지는지를 공식 문서 기준으로 갈라 정리합니다. 핵심은 모듈러 RPM을 그냥 복사해서 만든 로컬 저장소에서는 그 패키지들이 조용히 보이지 않게 된다는 점입니다. dnf가 모듈 메타데이터로 RPM을 필터링하기 때문인데, 해법은 reposync에 --download-meta
2026-08-14 · 15 분 읽기 #linux#rhel#air-gap#dnf#modularity폐쇄망 안에 로컬 저장소 만들기 — createrepo_c, repodata, .repo 파일과 GPG 키
반입한 rpm 묶음을 폐쇄망 안에서 정상적인 dnf 저장소로 만드는 전 과정을 다룹니다. createrepoc가 만들어 내는 repodata 디렉터리의 구조와 repomd.xml의 역할, 패키지를 추가했을 때 --update로 증분 갱신하는 법, 그리고 체크섬 타입과 메타데이터 압축 옵션을 공식 man 페이지 기준으로 정리합니다. 이어서 baseurl에 file 스킴을 쓰는 단일 서버 구성과
2026-08-14 · 15 분 읽기 #linux#rhel#air-gap#dnf#createrepo폐쇄망 반입 절차와 무결성 — 6개월 뒤에도 같은 설치가 나오는 번들 만들기
반입 매체에 무엇을 담고 무엇을 검증할지, 그리고 그 번들을 6개월 뒤에 다시 열었을 때 같은 결과가 나오게 만드는 방법을 정리합니다. 폐쇄망에서 서명 검증이 연결망보다 오히려 더 중요한 이유 — 나중에 온라인으로 대조할 수단이 사라진다는 점 — 을 먼저 짚고, rpm과 rpmkeys의 서명 검사 명령을 최신 man 페이지 기준으로 구분해 설명합니다. 이어서 재현 가능한 번들의 핵심인 매니페
2026-08-14 · 13 분 읽기 #linux#rhel#air-gap#rpm#gpg폐쇄망 반입을 위해 밖에서 받기 — dnf download, reposync, yumdownloader는 서로 다른 문제를 풉니다
인터넷이 연결된 장비에서 RHEL 패키지를 의존성까지 통째로 받아 폐쇄망에 반입하는 실제 절차를 명령 단위로 정리합니다. dnf download의 --resolve와 --alldeps가 정확히 무엇을 다르게 하는지, 왜 이미 설치된 패키지 때문에 의존성이 조용히 빠지는지, 그리고 --installroot로 빈 루트를 만들어 그 함정을 없애는 방법을 공식 문서 문장과 함께 다룹니다. 빈 ins
2026-08-14 · 15 분 읽기 #linux#rhel#air-gap#dnf#rpmMistral OCR 4.1의 블록 단위 신뢰도 점수 — 문서 파이프라인에서 사람을 어디에 넣을지 정하는 값
Mistral이 OCR 4.1을 공개하면서 문단 단위 바운딩 박스와 구조 블록 레이블, 그리고 블록별 신뢰도 점수를 내놓았습니다. 문서 파이프라인을 만들어 본 사람에게 실제로 중요한 것은 셋째입니다. 신뢰도 점수가 있으면 전수 검토와 무검토 사이에 임계값이라는 선택지가 생기기 때문입니다. 그 임계값을 어떻게 정하는지, 신뢰도를 확률로 착각하면 무엇이 깨지는지, 그리고 페이지 단가 기준으로 자
2026-08-14 · 13 분 읽기 #ocr#document-ai#data-pipeline#human-in-the-loop#cost-optimization동형암호 컴파일러 HEIR과 비용이라는 조건 — 발표문에 없는 숫자를 댓글이 채운 사례
Google이 동형암호용 오픈소스 컴파일러 툴체인 HEIR을 공개했습니다. 여기서 진짜 뉴스는 암호가 아니라 컴파일러입니다. 지금까지 동형암호 배포를 막아 온 것은 수학이 아니라 암호 전문가만 할 수 있던 파라미터 선택 작업이었기 때문입니다. 다만 발표문은 오버헤드 수치를 하나도 제시하지 않았고, 그 빈칸을 이 분야를 연구한 댓글 작성자들이 채웠습니다. 어떤 워크로드가 이 기술의 적용 대상이
2026-08-14 · 14 분 읽기 #cryptography#privacy#compiler#machine-learning#securityDeepSeek Harness의 플러그인 커널 구조 — 되감을 수 있는 에이전트는 무엇이 다른가
DeepSeek이 공개한 오픈소스 코딩 에이전트 Harness는 모델도 도구도 UI도 전부 플러그인으로 만든 구조입니다. 그런데 실제로 흥미로운 부분은 플러그인이라는 단어가 아니라 두 가지 설계 결정입니다. 하나는 모든 실행을 추가 전용 이벤트 로그로 남겨 재개·분기·재생을 같은 스트림 위에서 처리한다는 것이고, 다른 하나는 플러그인 해제 시 부수 효과를 되돌리도록 강제한다는 것입니다. 이
2026-08-14 · 15 분 읽기 #ai-agent#architecture#plugin-system#observability#open-sourceQwen3.8-27B의 하이브리드 어텐션 — 64개 층 중 16개만 KV 캐시를 쌓는 구조
27B 모델이 26만 토큰 컨텍스트를 노트북에서 감당하는 이유는 파라미터 수가 아니라 층 구성에 있습니다. Qwen3.8-27B는 64개 층 중 48개를 선형 어텐션(Gated DeltaNet)으로, 16개만 일반 어텐션으로 배치해 KV 캐시가 자라는 층 자체를 4분의 1로 줄였습니다. 이 구조가 무엇을 아끼고 무엇을 잃는지, FP8 블록 양자화가 어디에 적용되는지, 그리고 로컬 추론을 검토
2026-08-14 · 15 분 읽기 #llm#inference#quantization#local-llm#attention분류하지 말고 지어내라는 기법과 그 검증 — 가짜 레이블이 원본 질의보다 나은 이유
수백 개짜리 분류 체계를 프롬프트에 넣는 대신, 작은 모델에게 그럴듯한 가짜 분류를 지어내게 하고 그것을 임베딩으로 실제 분류에 붙이는 기법이 논의됐습니다. 왜 이것이 동작할 수 있는지는 임베딩 공간의 비대칭성으로 설명됩니다. 다만 원문에는 측정 결과가 없고, 댓글에는 이 기법이 정말 원본 질의를 직접 임베딩하는 것보다 나은지 묻는 정확한 반론과 더 싼 대안이 함께 나왔습니다. 무엇을 어떻게
2026-08-14 · 13 분 읽기 #llm#embedding#classification#search#retrievalDRAM 주소 스크램블링과 보안 경계의 아래층 — 울타리가 번역보다 위에 있으면 생기는 일
CPU 안에서 가장 숨겨진 메모리 영역들을 DRAM 컨트롤러의 주소 변환을 흔들어 읽어 내는 연구 도구가 공개됐습니다. 취약점은 암호나 권한 검사에 있지 않습니다. 보호 울타리가 주소 변환보다 위층에 세워져 있다는 배치 자체에 있습니다. 이 구조가 왜 무너지는지, 별칭 주소를 GF(2) 위의 선형대수와 SMT 솔버로 어떻게 복원하는지, 그리고 이 연구가 실제로 무엇을 요구하고 무엇을 요구하지
2026-08-14 · 14 분 읽기 #security#hardware#memory#reverse-engineering#firmware이해가 병목이라는 주장과 그 순환 논리 — 설명을 생성한 쪽이 검증 대상일 때
에이전트가 코드를 만드는 속도가 사람이 읽는 속도를 넘어서면 무엇이 남는가를 다룬 글이 논의를 모았습니다. 저자는 검증을 위한 이해에서 참여를 위한 이해로 목표를 옮기자고 제안하고 세 가지 장치를 내놓습니다. 그런데 댓글에서 나온 가장 강한 반론은 그 설명 자체를 모델이 쓴다면 검증이 성립하느냐는 순환 지적이었습니다. 제안된 장치 중 어느 것이 이 반론을 견디고 어느 것이 견디지 못하는지 구
2026-08-14 · 13 분 읽기 #engineering-culture#code-review#developer-experience#documentation#ai-assisted-development