Sehyup
Preview Image

C#은 어떻게 실행되고, 어떻게 자기 자신을 읽는가

이 글이 출발한 자리 언젠가 유니티 프로젝트의 C# 코드를 분석하는 작은 도구를 만들기로 했습니다. “이 프레젠터의 이 메서드가 실제로 어떤 구현을 호출하는가”를 따라가 주는 도구입니다. 코드를 짜기도 전에 두 가지 질문에 막혔습니다. 이 도구 자체를 어떻게 빌드해서 배포하지? — C#으로 만든 이 실행 파일을 어떤 형태로 내보내야 빠르고...

Preview Image

CS 로드맵 10편 — 동기화 프리미티브: Mutex는 어떻게 단 한 명만 들여보내는가

서론: “때때로 죽는다”라는 말의 의미 Stage 2를 시작할 때 던진 질문이 있었습니다. 스레드 두 개가 같은 변수를 쓰면 왜 프로그램이 때때로만 죽는가? 7편 OS 아키텍처, 8편 프로세스와 스레드, 9편 스케줄링을 거치면서 답의 절반에는 도착했습니다. OS가 스레드를 보이지 않는 곳에서 갈아끼우고 있고, 갈아끼우는 순간은 예측 불...

Preview Image

Tailscale 시리즈 3편 — 작동 원리와 비용·한계 (DERP·MagicDNS·hole punching·연 1만 원 회고)

이 편이 다루는 것 시리즈 마지막 편입니다. 두 가지를 묶습니다. Part 1 — 작동 원리: 시리즈의 인프라가 가능한 메커니즘. 가정 NAT 두 겹 뒤의 노트북 두 대가 어떻게 직통으로 통신하는가. STUN·ICE·hole punching·DERP·MagicDNS를 한 묶음으로 정리합니다. Part 2 — 비용·한계·회고: 연 1만 원 인프...

Preview Image

Tailscale 시리즈 1편 — 창고 노트북으로 만든 한국 IP 우회 인프라 (동기·실측·구조)

이 시리즈가 다루는 것 후쿠오카에서 1년 넘게 살면서 한국 IP가 아쉬운 순간이 꾸준히 쌓였습니다. 한국 결제·은행·일부 콘텐츠는 해외 IP에서는 정상 동작하지 않거나 추가 인증을 요구하고, 그때마다 상용 한국 VPN을 잠깐 켜는 패턴은 비용·신뢰·OS 호환 모두에서 깔끔하지 않았습니다. 해결책으로 부산 본가 창고에 7년째 처박혀있던 케케묵은 ...

Preview Image

Span<T>와 ReadOnlySpan<T> — 복사 없이 메모리를 바라보는 법

서론: 박싱편이 남긴 복사 비용 1편(값 타입 vs 참조 타입과 Boxing)의 마지막에 한 가지 부채를 남겼습니다. “박싱은 피했지만 struct 자체의 복사 비용은 남는다.” 박싱편의 핵심 규칙 하나를 다시 적어 봅니다. 값 타입은 대입·전달·비교될 때 전체 내용이 복사됩니다. 이 규칙이 평소엔 직관적이고 바람직합니다. ...

Preview Image

값 타입 vs 참조 타입 — 스택·힙과 Boxing의 숨은 비용

서론: “스택 vs 힙”이라는 말은 왜 자꾸 어긋날까 C# 교과서의 첫 장에서 우리는 이렇게 배웁니다. “값 타입(struct)은 스택에, 참조 타입(class)은 힙에 저장됩니다.” 이 문장은 틀린 설명은 아니지만, 실무에서 만나는 거의 모든 반례를 가립니다. 클래스의 필드로 int를 선언하면 그 int는 스택이 아니라 객체가 사는 ...

Preview Image

너프된 Claude — Transformer 작동원리부터 잠수함 패치·환각·토큰 폭증까지

서론 — Claude는 진짜 너프됐는가 Claude Opus 4.6은 한동안 코딩 작업의 기준선을 한 단계 끌어올렸다는 평을 받았습니다. Codebase 전체를 던져도 맥락을 잡고, 까다로운 리팩터링을 한 번에 끝내고, 도구 호출 사이의 추론도 깔끔했습니다. 그런데 2026년 2월부터 이상 신호가 누적되기 시작했습니다. 사고 깊이 73% 감소, ...