2026년 6월 26일 의존성은 디스크의 어떤 파일이든 읽을 수 있다. cap-std는 접근 권한을 요청하게 만든다. Rust 표준 라이브러리는 모든 의존성에 주변 파일 시스템 권한을 부여한다. cap-std는 이를 기능 기반 API로 대체하여 코드가 파일을 열기 전에 해당 경로에 접근할 권리가 있음을 증명하도록 강제한다. capability-based-securityrustcap-stdsandboxing
2026년 6월 25일 당신의 서비스는 눈치 채지 못한 공범이다: Confused Deputy 공격의 작동 원리 Confused Deputy 공격은 특권을 가진 서비스를 속여 자신의 권한을 스스로 해치는 데 이용한다. 공격자가 암묵적 신뢰를 어떻게 악용하는지, 그리고 능력 기반 보안이 왜 해결책인지 알아본다. capability-based-securityconfused-deputysecurityattacks
2026년 6월 24일 당신의 권한 검사는 거짓말을 하고 있다 능력 기반 보안은 흩어져 있는 역할 검사를 위조할 수 없는 권한 토큰으로 대체합니다. 코드를 읽기 어렵게 만들지 않고 TypeScript에서 이를 구현하는 방법을 소개합니다. capability-based-securitytypescriptpermissionssecurity
2026년 6월 23일 만약 모든 함수가 권한을 가정하지 않고 명시적으로 전달받아야 한다면? 대부분의 코드는 주변 권한(ambient authority) 하에서 실행된다: 모든 함수가 모든 것에 접근할 수 있다. 기능 기반 보안(capability-based security)은 함수가 명시적이고 범위가 제한된 권한을 전달받도록 강제함으로써 이 모델을 뒤집는다. capability-based-securitypermissionssecurityzero-trust
2026년 6월 22일 타입 검사기가 볼 수 없는 에러 던지기는 이제 그만 던져진 예외는 실패 경로를 타입 시스템에서 감춥니다. 명시적인 에러 반환이 코드를 더 정직하게 만드는 이유, 그리고 삶을 싫어하지 않으면서 이를 도입하는 방법을 알아봅니다. type-level-correctnesserror-handlingtypescriptrust
2026년 6월 21일 Rust newtype는 잘못된 상태를 컴파일 타임에, 아무런 비용 없이 표현 불가능하게 만든다 단일 필드 래퍼 struct가 단 한 바이트의 오버헤드도 추가하지 않고 단위 혼합 버그와 타입 혼란을 잡아낸다. type-level-correctnessrustnewtypeszero-cost-abstractions
2026년 6월 20일 Switch 문은 컴파일 시점에도 버그를 숨긴다 TypeScript switch 문은 조용히 케이스를 빠뜨리게 만든다. 빌드에서 실패하고 런타임에서는 실패하지 않는 exhaustiveness-checked 패턴으로 대체하는 방법을 알아본다. type-level-correctnesspattern-matchingtypescripttype-safety
2026년 6월 19일 컴파일러가 누락된 상태 케이스를 잡아내야 한다. QA팀이 아니라 상태 머신에 새 상태를 추가하는 건 쉽다. 모든 switch 문을 업데이트하는 건 아니다. TypeScript가 케이스를 잊으면 컴파일을 거부하게 만드는 방법을 알아보자. type-level-correctnessstate-machinesexhaustiveness-checkingtypescript
2026년 6월 18일 네, 가능합니다. 하지만 타입 시스템이 달러가 뭔지 알아야죠 TypeScript는 모든 숫자를 동일하게 봅니다. 컴파일러가 프로덕션에 도달하기 전에 통화 변환 버그를 잡을 수 있도록 USD와 EUR의 차이를 가르치는 방법입니다. type-level-correctnesscurrencytypescriptfinancial-software
2026년 6월 17일 숫자는 그냥 숫자가 아니다: 컴파일러가 단위 버그를 잡게 하는 방법 초를 기대하는 곳에 밀리초를 넘기는 버그는 어떤 테스트도 통과한다. 단위를 TypeScript의 타입 시스템에 직접 인코딩하면 런타임 비용 없이 컴파일 시점에 혼동을 잡아내는 방법을 알아보자. type-level-correctnessunitstypescriptzero-cost-abstractions