목록전체 글 (395)
민프
개발 노트2026 · Backend › [기타]#성능테스트#performance testing#부하테스트#load testing#stress test#soak test#spike test#스트레스테스트#k6#Gatling“부하 테스트 한번 돌려보자”라고 말했다.그런데 막상 짜려고 보니 무엇을 어떻게 올릴 건지가 안 정해졌다.성능 테스트는 한 가지가 아니었다.표준만 여섯 종류고, 종류마다 잡아내는 장애가 완전히 다르다.정의부터 정리하고, 네이버 · 카카오페이 · 메타가 실제로 어떻게 하는지도 찾아봤다.01“부하 테스트 돌려보자”가 위험한 말인 이유서비스에 웹과 안드로이드를 추가하기로 하면서, 서버가 얼마나 버티는지 알아야 했다.그래서 부하 테스트를 계획했다.문제의 정체“부하 테스트”라는 말을 하나의 작..
공부 노트vLLM은 프로그램(추론 엔진)이고, VLM은 모델의 종류(이미지를 이해하는 언어 모델)다. 둘이 어디서 나왔고 어떻게 지금에 이르렀는지 논문과 공식 블로그를 따라 정리했다.2026 · 인공지능 › [AI | ML]#vLLM#VLM#Vision Language Model#비전언어모델#PagedAttention#LLaVA#CLIP#멀티모달#추론엔진오픈소스 LLM을 공부하다 보면 vLLM과 VLM이 계속 같이 튀어나온다.처음엔 같은 건 줄 알았다.알고 보니 하나는 주방 기계, 하나는 눈이 달린 요리사였다.둘의 정체와 역사를 차례로 정리해 본다.01vLLM과 VLM, 뭐가 다른가 vLLMVLM정체프로그램 (추론·서빙 엔진)모델의 종류이름고유명사 (제품 이름)Vision-Language Model의..
보호되어 있는 글입니다.
공부 노트오픈소스 모델은 다운로드만 해서는 돌아가지 않는다. 모델 파일을 실제로 돌려 주는 추론 엔진(Ollama, llama.cpp, vLLM, SGLang, MLX…)을 누가 만들었고, 무엇이 다르고, 언제 뭘 써야 하는지 정리했다.2026 · 인공지능 › [AI | ML]#추론엔진#Inference Engine#Ollama#llama.cpp#vLLM#SGLang#MLX#로컬LLM#오픈소스LLM오픈소스 LLM을 직접 돌려 보려다가 막힌 지점이 있었다."Gemma나 Qwen은 무료라는데, 그냥 설치하면 되는 거 아냐?"알고 보니 모델은 두뇌 파일일 뿐이고, 그걸 돌려 주는 추론 엔진이 따로 필요했다.이 글은 그 추론 엔진들을 처음부터 끝까지 정리한 공부 노트다.01추론 엔진이 뭔가Hugging Fa..
기술 선택 노트Flutter Web SEO는 튜닝으로 해결되는 문제가 아니다. 렌더링 모델 자체가 검색엔진이 읽는 것과 어긋나 있다. React Native for Web은 뭐가 다른지, 그리고 진짜 답은 왜 “둘 다 아님”인지.2026 · Frontend › [Flutter]#FlutterWeb#플러터웹#CanvasKit#ReactNativeWeb#리액트네이티브웹#ExpoRouter#SEO#검색엔진최적화#Nextjs#크로스플랫폼모바일 앱은 Flutter로 잘 굴러가고 있었다. 그런데 검색 유입이 필요해졌다. “Flutter Web으로 랜딩·콘텐츠 페이지도 같이 뽑으면 되지 않나?” — 이 질문의 답을 찾다가, 문제가 설정값이 아니라 렌더링 모델에 있다는 걸 알게 됐다. Flutter Web과 Rea..
개발후기App Tracking Transparency는 macOS에서 컴파일은 되는데 동작은 하지 않는다.그리고 그 사실은 Xcode 안에 처음부터 적혀 있었다.2026 · Frontend › [IOS]#ATT#AppTrackingTransparency#앱추적투명성#IDFA#macOS#iOS#Flutter#AppsFlyer#앱스플라이어#Amplitude폰용으로 만든 iOS 앱이 어느 날 Mac App Store에서 검색됐다. 이왕 이렇게 된 거 ATT 권한 요청도 Mac에서 되게 하자고 마음먹었다가, 플러그인 · 배포 타겟 · Info.plist를 차례로 헤집은 끝에 Xcode SDK 헤더 주석 한 줄에서 끝났다. 처음부터 불가능한 일이었다.01폰용 앱이 Mac App Store에 있었다우리 앱은 아..
음성 AI 기초 뜯어보기음량이 임계값 아래면 무음이라고 판단하는 코드를 짰다. 조용한 방에서만 잘 됐다.2026 · 인공지능 › [AI | ML]#VAD#Voice Activity Detection#음성활동감지#Silero VAD#WebRTC VAD#무음감지#음성인식#STT#Opus DTX음성 입력 기능을 만들면서 "지금 말하고 있나?"를 판단해야 했다. 라이브러리를 찾기 전에 음량(RMS)이 임계값을 넘으면 말하는 중이라는 코드를 먼저 짰다. 동작은 했다 — 조용한 방에서만. 그러고 나서야 왜 다들 VAD라는 걸 따로 쓰는지 이해했다.01VAD란 무엇인가VAD는 Voice Activity Detection, 우리말로 음성 활동 감지다.오디오 조각을 받아서 "이 안에 사람의 말소리가 있는가"를 판별한..
음성 AI 아키텍처 뜯어보기음성 입력에 "무음 2초면 자동 전송"을 넣었다가 생각하느라 멈출 때마다 말이 잘려나갔다. 큰 앱들은 이 문제를 어떻게 풀었을까.2026 · 인공지능 › [AI | ML]#VAD#엔드포인팅#turn detection#ChatGPT Voice#Gemini Live#Silero VAD#semantic VAD#음성인식#STT음성 입력 기능에 자동 전송을 붙이면서 "무음이 N초 지속되면 끝난 걸로 보고 보낸다"는 로직을 짰다. 조용한 방에선 잘 됐는데, 말을 고르느라 잠깐 멈추면 문장이 두 동강 났다. 큰 앱들은 어떻게 하고 있는지 공식 문서를 뒤졌더니 — 애초에 침묵 길이로 판단하는 시대가 지나 있었다.01증상 — 생각하면 잘린다처음 만든 로직은 단순했다.마이크에서 오는 오디오 ..
DB 실험 일지PostgreSQL Seq Scan이 DB CPU를 100%로 만들자, ALB 헬스체크가 멀쩡한 서버를 처형하기 시작했다.2026 · Backend › [DB]#PostgreSQL#인덱스#SeqScan#ALB헬스체크#ECS#BullMQ개발 중인 AI 채팅 서비스의 테스트 서버가 한낮에 두 번 죽었다. 원인을 파보니 문제는 하나가 아니라 네 개가 쌓인 탑이었다 — 인덱스 없는 테이블, 무한 반복 기능, DB를 기다리는 헬스체크, 그리고 좀비가 된 백그라운드 잡. 그 추적기와 수습기를 정리한다.01증상 — 멀쩡한 서버가 자꾸 처형당했다오후에 갑자기 "서버 죽은 것 같다"는 말이 나왔다.ECS 콘솔을 열어보니 백엔드 태스크가 이미 두 번 교체돼 있었다.중지 사유는 전부 이거였다.stopped..
개발 후기AppsFlyer의 SKAN 경고 배너에서 시작해, Apple 문서의 NSAdvertisingAttributionReportEndpoint와 SKAdNetworkItems가 각각 누구를 위한 키인지 정리한 기록.2026 · Frontend › [IOS]#SKAdNetwork#SKAN#AppsFlyer#iOS#InfoPlistAppsFlyer를 붙이고 SKAN 대시보드를 열었더니 경고 배너가 떠 있었다.해결하려고 문서를 읽다 보니 Info.plist 키가 두 개 등장하는데, 하나는 우리 앱에 없었다.없어도 되는 이유를 이해하고 나니, iOS 광고 측정의 큰 그림이 같이 정리됐다.그리고 다 끝난 줄 알았을 때 넣어야 할 키가 하나 더 나왔고,“로컬에선 확인 못 한다”던 전송을 실기기에서 눈으로 ..
