0.1+0.2가 왜 어긋나는지부터 float 비교, 합산, Decimal, NumPy dtype까지 수치 정밀도 오차 줄이는 실무 방법을 정리했습니다.
통계 편향의 뜻과 주요 유형을 사례로 정리합니다. 표본·선택·정보·출판 편향을 구분하고 데이터 해석 체크리스트까지 확인하세요.
캐싱 구조의 개념부터 브라우저, CDN, 서버 캐시, TTL, 무효화, Cache-Aside와 Write-Through 패턴까지 실무 기준으로 정리합니다.
베이즈 추론의 뜻과 베이즈 정리, 사전 확률·가능도·사후 확률의 차이를 설명하고 진단 테스트 계산 예제와 머신러닝·A/B 테스트 활용, 주의점을 쉽게 정리합니다.
동시성 분석의 개념부터 race condition, deadlock, lock contention 진단 절차와 도구, 성능 병목 체크리스트까지 실무 관점으로 정리합니다.
캐싱 구조의 개념부터 캐시 히트, TTL, 무효화, 분산 캐시, Cache-Aside 패턴과 장애·일관성 문제를 피하는 설계 체크리스트까지 실무 관점으로 정리합니다.
0.1 더하기 0.2가 0.3이 아닌 이유 거의 모든 프로그래밍 언어에서 0.1 더하기 0.2를 계산하면 0.3이 아닌 0.30000000000000004 같은 값이 나온다. 처음 이걸 본 개발자는 보통 언어 버그라고 생각한다. 그러나 이건 버그가 아니라 컴퓨터가 실수를 표현하는 방식의 구조적 한계다. 이 한계를 체계적으로 정리한 데이비드 골드버그(David Goldberg)의 “모든 컴퓨터과학자가 부동소수점 연산에 대해 알아야 할 것”은 1991년에 발표된 … 더 읽기
95%에서 99%로 가는 4%가 시스템 비용을 가른다 캐시 적중률이 95%에서 99%로 올랐다고 하면 4%포인트 개선처럼 보인다. 그러나 시스템 성능 관점에서 이 차이는 다섯 배에 가깝다. 핵심은 적중률이 아니라 미스율의 비율 차이다. 95% 적중은 5% 미스를 의미하고, 99% 적중은 1% 미스를 의미한다. 미스가 5분의 1로 줄어든 것이다. 이 차이를 사용자 관점에서 정리한 Cloudflare의 캐싱 학습 자료는 … 더 읽기
한 번 재현하기 위해 천 번을 돌려야 하는 버그 멀티스레드 환경에서 발생하는 버그 중에는 100번에 한 번 또는 1,000번에 한 번꼴로만 재현되는 종류가 있다. 개발 환경에서 한 시간 동안 돌려도 보이지 않다가 운영 환경에서 하루에 한 번씩 사용자 데이터를 손상시키는 식이다. 이 부류의 버그를 통칭해 경쟁 상태(Race condition)라고 부른다. 이 버그가 까다로운 이유는 비결정적이라는 데 … 더 읽기
매출의 80%가 상위 20%에서 나온다는 관찰 19세기 후반 이탈리아 경제학자 빌프레도 파레토(Vilfredo Pareto)는 이탈리아 토지의 80%가 인구 20%의 손에 있다는 점을 관찰했다. 그는 이 관계가 단지 토지에만 국한되지 않는다는 사실을 곧 알아챘고 다양한 부의 분포에서 비슷한 비율을 발견했다. 후에 파레토 법칙으로 알려진 이 80 대 20 규칙은 경영학, 사회학, 컴퓨터과학으로 영역을 넓혀가며 반복적으로 관찰되었다. 흥미로운 … 더 읽기