반응형

전체 글 2168

PuTTYgen ppk 변환, 키가 안 읽힐 때

PuTTY에서 키가 안 읽히거나 서버가 키를 거절하면 키 형식부터 확인한다. PuTTY는 자기 형식의 .ppk를 읽고, OpenSSH 서버는 OpenSSH 형식의 공개키 한 줄을 읽는다. 둘이 어긋나면 에러가 난다.해결은 두 가지다. .pem은 PuTTYgen으로 .ppk로 저장해 PuTTY에 지정하고, 서버에는 PuTTYgen 위쪽 칸의 한 줄짜리 공개키를 붙인다.나는 2022년쯤 EC2를 처음 만지면서 개인 Windows PC에서 AWS 가이드대로 PuTTY와 PuTTYgen을 썼다. 지금은 WSL의 ssh를 주로 쓰고, 가끔 PowerShell에서 Windows 내장 OpenSSH의 ssh.exe를 쓴다. 새 키만 만들 거라면 Windows 내장 OpenSSH의 ssh-keygen으로도 접속까지 된..

HLS·ABR 직접 만들지 말고 Stream부터

영상 서비스를 처음 만든다면 HLS와 ABR은 직접 구현하지 않고 Cloudflare Stream에 맡기는 쪽이 낫다는 게 내 판단이다. 2026년 9월에 CatTube라는 개인 프로젝트를 만들면서 그렇게 했다. 고른 이유는 단가 계산이 단순해서였다. 저장 분과 전달 분, 두 숫자만 보면 됐다. 왜 직접 만들지 않고 Stream에 맡겼나초기 서비스라면 업로드·인코딩·전달은 맡기는 편이 맞다. 직접 만들 이유가 아직 생기지 않았고, 서비스를 빠르게 만드는 일과 인프라를 직접 운영하는 일은 별개이기 때문이다.CatTube는 Next.js, Supabase, Drizzle, pgvector, Better Auth, Cloudflare Stream, Vercel로 구성한 개인 프로젝트다. 지금은 중단했고 배포..

발로란트 VAN9003 재부팅해도 똑같을 때 해결

VAN9003은 Vanguard가 Secure Boot(보안 부팅)가 켜져 있어야 실행된다고 알려주는 오류다. 해결은 Windows가 아니라 BIOS에서 Secure Boot 상태를 바꾸는 쪽이다.내 경우는 ASUS 데스크톱이었고, 해결까지 1시간 안팎이 걸렸다. 그중 재설치와 재부팅에 쓴 시간이 40분 안팎, BIOS에서 보낸 시간이 20분 안팎이었다. VAN9003은 무엇을 요구하는 오류인가VAN9003은 Secure Boot가 꺼져 있다는 뜻이다. Riot 공식 문서 기준으로 이 오류는 보안 부팅 활성화를 요구한다.내 화면에는 영어로 이렇게 떴다.This build of Vanguard requires Secure Boot to be enabled in order to play Secure Boo..

미니PC 사기 전에 확인할 5가지

개발 서버로 24시간 켜 둘 N100급 미니PC라면 사기 전에 다섯 가지를 본다. 정전 뒤 스스로 돌아오는지, 메모리 16GB 한계, 2.5G NIC, NVMe 슬롯 규격, 어댑터와 AS다. 스펙표만 보고 사면 놓치기 쉬운 것들이다.이 글은 내가 미니PC를 사서 써 본 기록이 아니라, 노트북 홈서버를 돌리며 정리한 구매 전 확인 목록이다. 미니PC 서버, 먼저 집에 둘 일인지부터 본다밖에서 들어오는 요청이 없는 내부 배치면 미니PC가 맞고, 웹훅을 받아야 하면 VPS가 낫다.서버 위치를 가르는 질문은 「홈서버 vs VPS, 스펙 전에 물어볼 질문 4가지」에, 클라우드 대신 직접 서버가 나은 순간은 따로 정리했다.나도 미니PC는 사지 않기로 했다. 견적을 보고도 상시 서비스는 이미 VPS에서 안정적으로 ..

IT/Hardware 00:00:38

갤럭시탭 S12+ vs 울트라, 노트북 있다면 고를 쪽

갤럭시탭 S10+를 약 2년 쓰고 S11은 건너뛰었다. 2026년 10월 S12 시리즈가 나오자 S12+ 256GB Wi-Fi 모델을 주문했다. S12+도 울트라도 S11도 써본 적이 없어서, 이 글은 주문 전에 무엇을 따졌는지만 정리했다.결론은 이렇다. 노트북을 들고 다니는 개발자에게는 12.6형 S12+가 맞다고 판단했고, 14.6형 울트라는 뺐다. 통신은 Wi-Fi로 충분하다고 봤다. S12+와 울트라 중 뭘 고르나노트북이 있고 들고 다닌다면 S12+, 책상에서 큰 화면으로 쓴다면 울트라가 맞다고 본다. 내 기준따져 본 것내 선택노트북과 함께 들고 다닌다14.6형보다 12인치대가 들고 보기 편하다S12+문서를 좌우 2분할로 본다11인치는 글자가 작아 눈이 피로하다12.6형책상에서 큰 화면이 필요하..

IT/Hardware 2026.10.12

로컬 LLM, 4090 있는데 DGX Spark 살까

로컬 LLM 장비는 먼저 모델이 메모리에 들어가는지 보고, 그다음 대역폭을 본다. RTX 4090 24GB가 있어서 DGX Spark 128GB는 구매 검토 단계까지만 가고 아직 사지 않았다.DGX Spark는 보유한 적이 없어서 공식 사양으로만 비교한다. 맥미니 M6 32GB는 2026년 9월 말에 샀고 LLM은 보조 실험 수준이다. 직접 측정한 값은 4090 쪽에만 있다. 맥미니를 개발용으로 쓴 이야기는 별도 글에 정리했다. 로컬 LLM에서 용량은 왜 입장권인가모델 가중치에 context(KV cache)를 더한 크기가 쓸 수 있는 메모리 안에 들어가야 한다. 안 들어가서 RAM으로 넘어가면 실행은 돼도 매일 쓸 속도는 아니었다.4090에서 Qwen3-Coder 30B(MoE, Q4 계열 약 17G..

IT/Data · AI 2026.10.12

Appwrite vs Supabase 써보고 고른 기준

복잡한 쿼리나 pgvector가 필요하면 Supabase, 폐쇄망 셀프호스팅이 필수면 Appwrite를 고른다. Appwrite는 인증·DB·스토리지·함수를 묶은 오픈소스 BaaS다.현직 백엔드 개발자로, Appwrite는 셀프호스팅 PoC로 약 3주, Supabase는 CatTube 프로젝트에서 직접 썼다. 이 글은 그 두 서비스만 비교한다. Appwrite 셀프호스팅 PoC 3주, 쿼리에서 막혔다Appwrite는 셀프호스팅 PoC에서 복잡한 JOIN·집계가 필요해지는 순간 SDK 쿼리 문법에 막혔다. 3주 쓰고 내린 결론이다.개인용 북마크·메모 동기화 미니 백엔드를 만들었다. 로컬 Ubuntu 머신에 공식 docker-compose.yml로 올렸다. 프로덕션 운영이 아니라 후보 검토용 PoC였고, ..

SSH SOCKS 프록시 설정, 내부 주소 안 열릴 때

브라우저에 SOCKS 프록시를 넣었는데 내부 주소만 안 열리면, 터널이 아니라 이름 해석(DNS)이 어디서 일어나는지를 봐야 한다. SSH 터널은 정상인데 호스트 이름을 내 PC가 먼저 풀어버리면 이런 일이 생긴다.Mac에서 공개하지 않은 AWS 서버를 거쳐 내부 웹 페이지를 열어야 했다. 터널은 열렸고 외부 사이트도 열렸는데, 내부 hostname만 Firefox에서 안 열렸다. 풀린 건 Firefox의 SOCKS5 프록시 DNS 옵션을 켠 뒤였다. SSH SOCKS 터널은 어떻게 여나ssh -N -D 127.0.0.1:1080 user@서버주소 한 줄이면 된다. 로컬 1080 포트가 SOCKS 프록시가 되고, 이 포트로 들어온 트래픽이 SSH 서버를 거쳐 나간다.-D는 ssh가 SOCKS4/SOCK..

Windsurf 써 보고 접은 이유, 범위 제어 문제

Windsurf(윈드서프)는 지금 Devin Desktop이라는 이름으로 바뀌었다. 내가 2024년 말 ~ 2025년 초에 약 2 ~ 3주 쓰고 접은 이유는 수정 범위 제어와 반응성, 두 가지였다.Next.js와 FastAPI로 영화 앱 프로토타입을 만들며 직접 써 본 기록이다. Windsurf를 접은 이유는 수정 범위와 반응성이었다단일 기능 수정에도 무관한 파일까지 바뀌어 diff 검토 비용이 늘었고, 인덱싱 때 팬 소음과 타이핑 지연이 생겼다.첫 번째가 더 컸다. 영화 카드 컴포넌트(MovieCard.tsx)의 평점 뱃지 UI를 고치고 북마크 토글 이벤트를 붙여 달라고 했더니, 당시 Cascade 에이전트는 북마크 상태를 저장해야 한다고 스스로 판단했다. 그러고는 app/api/ 아래 라우트 핸들러..

IT/AI Tools 2026.10.12

DuckDB vs SQLite, 분석과 저장 선택법

CSV·Parquet 여러 개를 읽어 집계하는 일이 중심이면 DuckDB가 맞고, 앱에서 한 건씩 추가·수정·삭제하며 상태를 보관한다면 SQLite가 먼저다. 작은 도구에서는 SQLite로 CRUD와 영속성을 확인했고, 로컬 파일 집계에는 DuckDB를 썼다. 하나를 다른 하나로 교체하기보다 저장과 분석의 역할을 나눠 보았다. DuckDB vs SQLite, 무엇을 기준으로 고를까?DuckDB와 SQLite는 행 수보다 쿼리 형태와 쓰기 패턴으로 고르는 편이 정확하다. 대량 스캔·JOIN·GROUP BY는 DuckDB 쪽이고, 작은 트랜잭션과 단건 CRUD는 SQLite 쪽이다.둘 다 프로세스 안에서 쓰는 임베디드 데이터베이스지만 저장과 실행 방식이 다르다. DuckDB는 열 지향 저장과 벡터화 실행으..

아이폰 18 Pro 용량, 256GB면 충분할까

사진을 iCloud에 맡긴다고 아이폰 저장공간 고민이 끝나지는 않는다. 앱과 오프라인 파일, 촬영 중인 영상은 기기 안에 자리가 필요하다. 나는 지금 다시 산다면 512GB 아이폰에 iCloud+ 2TB를 함께 쓰고 약 4년 사용하겠다. 로컬 여유와 가족용 클라우드에 각각 비용을 내는 조합이다. 기기 용량과 iCloud는 어떻게 다를까아이폰 기기 용량은 앱·게임·오프라인 파일과 촬영 공간이고, iCloud는 사진 동기화·기기 백업·가족 공유를 맡는다. 같은 GB로 표시돼도 서로 바꿔 쓸 수 없다. iCloud 사진의 ‘iPhone 저장 공간 최적화’를 켜면 원본은 iCloud에 두고 기기에는 용량을 줄인 버전을 남길 수 있다. 사진 비중이 큰 사람에게는 효과가 크다. 설치한 앱, 게임 데이터, 내려..

IT/Hardware 2026.10.11

개발자 노트북 추천, 맥 vs 윈도우

개발자 노트북은 운영체제 취향보다 반드시 실행할 OS, CPU 아키텍처, CUDA 조건으로 먼저 좁혀야 한다. 그다음 RAM과 휴대성을 보면 된다. 현직 백엔드 개발자인 나는 Mac을 주 개발기로 쓰고, Windows 11·WSL2와 Ubuntu RTX 4090 장비를 필요한 작업에 붙인다. 두 OS를 같은 조건으로 잰 벤치마크가 아니라, 호환성 문제에 시간을 써본 뒤 정착한 선택법이다. 개발자 노트북 추천은 취향보다 실행 조건부터 본다개발자 노트북은 로컬에서 반드시 실행해야 하는 OS·도구·CPU 아키텍처부터 확인해야 한다. 그 조건을 만족하는 기기 중에서 RAM과 휴대성을 비교하면 된다. 필수 도구·산출물필요한 환경먼저 제외할 선택지iOS·macOS 앱 개발용 XcodemacOSWindowsWind..

IT/Hardware 2026.10.11

맥북 에어 M5 스펙·가격, 어떤 구성?

맥북 에어 M5의 크기는 사용하는 장소, 메모리는 동시에 켜는 앱, 가격은 같은 날짜의 같은 구성으로 골라야 한다. 내 선택은 외장 모니터를 주로 쓴다면 13형, 개발용이라면 24GB 이상이다.이 글은 M5 Air 장기 사용기가 아니다. Mac 개발 환경에서 여러 앱을 함께 써 온 경험을 바탕으로, 공식 사양과 가격 안에서 어떤 구성이 맞는지 판단한 구매 가이드다. 맥북 에어 M5 가격, 2026년 10월 일반가와 교육가2026년 10월 8일 Apple KR 기준 M5 MacBook Air는 13형 219만 원, 15형 249만 원부터다. 같은 날 교육 스토어 시작가는 각각 202만1천 원과 232만7천 원이다. 구분13형15형일반 시작가2,190,000원2,490,000원교육 스토어 시작가2,021,..

IT/Hardware 2026.10.11

프레임워크 선택 기준, 책임부터 나눴다

프레임워크 선택 기준을 잡을 때 인기 순위부터 보면 비교 대상부터 어긋나기 쉽다. 현직 백엔드 개발자로서 내가 먼저 본 것은 어떤 기술이 더 좋은지가 아니라, 이번 프로젝트에서 누가 인증과 데이터와 장애를 책임질 것인가였다. 기존 Spring Boot 시스템에 Python 기능을 붙일 때도 이 순서로 후보를 줄였다. 프레임워크 선택 기준은 같은 역할부터 나눈다프레임워크 비교는 같은 책임을 맡을 후보끼리 해야 한다. 사용자 화면을 만드는 기술과 서버의 인증·데이터 처리를 맡는 기술은 한 줄에 세워 우열을 가릴 대상이 아니다.프론트엔드 쪽에는 React·Vue·Angular가 자주 언급되고, 백엔드 쪽에는 Spring Boot·Django·Rails·FastAPI 같은 예시가 있다. 엄밀히 말하면 Reac..

ARM 서버 비용 절감, Java보다 먼저 볼 것

Java/Spring 서비스를 ARM 서버로 옮길 때 Java 코드만 확인하면 전환 가능성을 잘못 판단할 수 있다. Docker 이미지, JNI, APM·보안 에이전트처럼 JVM 밖에 있는 운영 의존성이 전환 난이도를 결정한다.나는 AWS Graviton 운영 전환을 검토·테스트했다. 이 글은 장기 운영 절감 성과가 아니라 후보 선정과 전환 검토 기준을 다룬다. 성공 기준도 x86보다 빠른지가 아니라, 기존 지연시간·오류율 목표(SLO)를 더 낮은 총비용으로 지키는지다. 목차ARM 서버로 바꾸면 실제 비용이 줄어드는가Java/Spring은 쉬운데 어디에서 막히는가Docker·JNI·운영 에이전트는 어떤 순서로 확인하는가멀티 아키텍처·카나리 배포는 어떻게 검증하는가어떤 서비스는 ARM으로 옮기지 말아야 ..

IT/Cloud · DevOps 2026.10.10

트레이딩뷰·파이썬 백테스트가 다를 때 먼저 볼 것

같은 이동평균 long-only 전략을 트레이딩뷰(TradingView)의 Pine과 파이썬으로 돌렸더니 신호 위치는 비슷한데 거래별 진입가와 PF가 맞지 않았다. 처음에는 데이터를, 그다음에는 TradingView의 체결 방식을 의심했다. 둘 다 주범이 아니었다.내 Python 코드가 신호를 만든 봉의 수익률을 이미 가져가고 있었다. shift(1) 누락이다.이 글은 그 뒤로 정한 진단 순서와, 가정을 하나씩 바꿔 가며 TradingView와 Python을 대조한 결과다. 투자 조언이 아니라 검증 방법이다. 백테스트 결과가 다르면 데이터부터 봐야 할까데이터 비교는 필요한 첫 확인이지만, 내 경우 결과를 크게 흔든 원인은 아니었다. 거래소, timezone, 봉 생성 기준은 맞춰 놓고 시작할 전제 조건..

윈도우11 업데이트 뒤 WSL·Docker 점검 순서

윈도우11 업데이트 뒤에는 WSL, Docker Desktop, 기존 컨테이너·volume, localhost 순서로 본다. 26H2 같은 기능 업데이트와 월간 누적 업데이트는 따로 본다.24H2 Home/Pro 지원 종료(서비스 종료)는 한국 시간으로 환산해 10월 14일 오후 4시경이다. 26H2 제안이 아직 안 떠도 정상일 수 있다. 26H2 때문에 WSL이 깨지는 건가공식 등재 기준으로는 아니다. WSL이 영향 앱으로 오른 폴더 공유 문제는 9월 8일 월간 누적 업데이트 KB5124008에서 나왔고, 9월 14일 긴급 업데이트 KB5129195로 해결됐다.26H2는 enablement package다. 기능을 미리 깔아 두고 스위치만 켜는 방식이고, 재시작은 한 번이다.KB5124008은 Mic..

Cursor rules 안 먹힐 때, 범위부터 봤다

Cursor rules가 안 먹히면 규칙 내용보다 적용 범위와 설정부터 본다. 기존 프로젝트 패턴과 다른 코드가 계속 나오는 걸 보고 알았다.이 글은 범위를 나누는 법, Cursor에서 쓰는 Live Preview 계열 미리보기 대신 npm run dev로 확인하는 기준, Agent·Auto·Cloud Agent를 맡기는 선을 적는다. Cursor rules를 만들면 항상 적용되는 줄 알았다규칙은 만들었다고 항상 들어가는 게 아니라, 유형마다 들어가는 조건이 다르다..cursor/rules에 적어두면 항상 적용되는 줄 알았다. 그런데 Spring 프로젝트에서 이미 비슷한 구현이 있는데도 Agent가 새 dependency나 별도 abstraction을 붙이는 일이 계속 나왔다. 기존 프로젝트 패턴과 다..

IT/AI Tools 2026.10.09

OpenAI 모델 종료, 200 OK인데 달라지는 것

OpenAI 모델 종료 대응에서 가장 쉬운 실패는 model_not_found다. 더 위험한 건 새 모델도 정상 응답해서 migration이 끝난 줄 알았는데, JSON 계약이나 tool 선택이 조용히 달라지는 경우였다.그래서 지금은 종료 공지를 보면 문자열부터 치환하지 않는다. 사용처를 inventory하고, 새 모델을 golden set에 먼저 돌리고, side effect가 있는 agent는 검증 전 자동 fallback하지 않는다. 일정은 표 하나로 모았고, 나머지는 이 절차 이야기다. 10월 23일 종료 목록은 이 표 하나로 본다2026-10-23에 gpt-3.5-turbo, o4-mini 등이 종료된다. 공식 표는 별칭과 날짜 스냅샷을 같은 행에 적고 있어서, 스냅샷으로 고정해도 종료는 피할..

IT/AI Tools 2026.10.09

HTTP 402 Payment Required 한도부터

HTTP 402는 향후 사용을 위해 예약만 된 상태 코드다. 그래서 일반 클라이언트가 unexpected status 402 payment required를 받았을 때 기본값은 자동 재시도하지 않는 것이다. 예외는 x402다. 결제한 뒤 다시 요청하는 프로토콜을 402 위에 정의한다.x402로 AI 에이전트에게 결제를 맡기려면 결제 방법보다 지출 한도를 먼저 정해야 한다는 게 이 글의 결론이다.2026년 10월 확인 기준이다. 개인 POC에서 직접 만든 가드와, 이후 정리한 판단을 나눠 적는다. 상용 결제 서비스를 운영한 경험이 아니라 테스트넷·소액 범위에서 결제 흐름을 확인한 POC였다. HTTP 402는 왜 429처럼 재시도하면 안 될까RFC 9110은 402를 미래 사용을 위해 예약된 상태 코드로..

반응형