가이드
도구의 작동 원리와 그 배경 개념을 다루는 깊이 있는 오리지널 글 — 바코드 체크 디지트부터 진법, 인코딩, 브라우저 프라이버시까지.
온라인 랜덤 추첨은 공정할까? 무작위의 원리
브라우저가 난수를 얻는 곳, 나머지 연산 편향과 잘못된 섞기가 결과를 기울이는 방식, 연속과 반복이 정상인 이유, 로또 확률의 실제 모습을 정리했습니다.
HEX, RGB, HSL, OKLCH: 색상 형식 고르기
HEX, RGB, HSL, OKLCH가 실제로 무엇을 저장하는지, HSL의 명도가 눈에 보이는 밝기와 다른 이유, OKLCH가 유용한 경우, 화면 색이 인쇄용 CMYK로 바로 바뀌지 않는 이유를 정리했습니다.
단위 변환의 함정: 갤런, 톤, 온도
나라마다 크기가 다른 같은 이름의 단위, 온도 차이를 다르게 변환해야 하는 이유, 넓이와 부피가 길이보다 빨리 커지는 이유, 연비 변환, 지나친 정밀도의 문제를 정리했습니다.
날짜 계산에서 자주 틀리는 것들
첫날을 세는지에 따른 차이, 1월 31일에 한 달 더하기, 윤년, 2월 29일 생일, 영업일 계산, 하루가 24시간이 아닐 때까지 날짜 계산의 함정을 예시로 정리했습니다.
PDF 용량이 큰 이유와 줄이는 방법
PDF에서 실제로 용량을 차지하는 것, 해상도와 JPEG 품질이 크기를 바꾸는 방식, 병합과 압축에서 사라지는 것, 스캔본을 작지만 읽기 좋게 만드는 방법을 정리했습니다.
수면 주기: 언제 자고 언제 일어나야 할까
수면 주기가 어떻게 돌아가는지, 성인에게 필요한 수면 시간, 알람 시각에서 잠들 시각을 계산하는 법, 90분 규칙이 근사치인 이유, 수면에 가장 큰 영향을 주는 것을 정리했습니다.
컵·스푼·오븐 온도: 레시피 단위 바꾸는 법
나라마다 다른 컵과 스푼 크기, 밀가루를 무게로 재야 하는 이유, 오븐 온도와 가스 마크 변환, 다른 크기의 틀에 맞게 레시피 양을 바꾸는 방법을 정리했습니다.
자주 틀리는 퍼센트 계산: 할인, 부가세, 마진
두 번 할인이 더해지지 않는 이유, 50% 떨어지면 100% 올라야 회복되는 이유, 가격에서 부가세를 빼는 법, 마진율과 원가 가산율의 차이를 예시로 정리했습니다.
BMI·기초대사량·TDEE가 알려 주는 것과 못 알려 주는 것
BMI, 기초대사량(BMR), 하루 필요 열량(TDEE)을 계산하는 방법과, 같은 BMI라도 몸과 나라에 따라 뜻이 달라지는 이유, 열량 목표를 어디까지 믿을지 정리했습니다.
이자 계산의 원리: 복리, 실효이자율, 대출 상환
단리와 복리, 72의 법칙, 실효이자율과 APR, 대출 초반 상환액이 대부분 이자인 이유, 원리금균등과 원금균등의 차이를 실제 숫자로 계산해 봅니다.
키보드·마우스·모니터 불량 점검하는 법
새로 산 또는 중고 키보드·마우스·모니터를 반품 기간 안에 점검하는 방법. 안 눌리는 키, 동시 입력, 더블클릭 불량, 불량 화소, 주사율까지 순서대로 확인합니다.
프로그램을 거치면 숫자가 바뀌는 이유
0.1 더하기 0.2가 0.30000000000000004로 나오고, 긴 ID는 끝자리를 잃고, 합계가 1원 어긋난다. 대부분은 하나의 설계 결정에서 나온다. 숫자가 정해진 비트 예산 안에서 2진 분수로 저장된다는 것이다.
글자가 깨져서 이상한 문자로 보이는 이유
이름이 é로 나오거나, 한글 파일이 알아볼 수 없는 문자의 벽이 되거나, 모든 특수문자가 검은 마름모가 된다. 텍스트는 바이트로 저장되고 인코딩은 그 바이트가 무슨 뜻인지에 대한 약속일 뿐이라, 깨진 모양이 어떤 약속이 어긋났는지를 알려준다.
QR 코드가 어떤 폰에서는 안 읽히는 이유
내 책상에서는 되는데 포스터에서는 안 된다. QR 코드는 깨끗한 여백 안에서 세 개의 모서리 사각형을 찾아 읽는 구조라, 스캔 실패는 대개 안에 든 데이터가 아니라 여백과 대비와 크기의 문제다.
PDF에서 검색이 안 되는 이유
페이지의 글자는 다 읽히는데 검색창은 아무것도 못 찾고, 드래그하면 글자 대신 그림이 잡힌다. PDF 페이지는 그리기 명령의 모음이고, 스캔된 페이지는 사진 한 장을 그릴 뿐이라 눈에 보이는 글자가 애초에 글자로 저장된 적이 없다.
업로드하면 사진이 돌아가는 이유
폰에서는 똑바로 보이던 사진이 업로드하고 나면 옆으로 누워 있다. 픽셀이 움직인 게 아니라, 카메라가 센서가 읽은 그대로 저장하고 어느 쪽이 위인지를 쪽지로 붙여둔 것이며, 모든 프로그램이 그 쪽지를 읽지는 않는다.
MP3 태그가 플레이어마다 다르게 보이는 이유
한 플레이어는 예전 앨범명을, 다른 플레이어는 새 앨범명을 보여주고, 앨범 아트는 휴대폰에서만 나옵니다. 대개 파일이 태그를 두 벌 갖고 있고, 플레이어마다 믿는 쪽이 다르기 때문입니다.
엑셀이 CSV를 망가뜨리는 이유와 막는 법
앞자리 0이 사라지고, 긴 주문번호의 마지막 자리가 바뀌고, 상품 코드가 날짜가 됩니다. 버그가 아니라 엑셀이 파일을 열면서 필드마다 형식을 추측하기 때문입니다.
유니코드 정규화와 보이지 않는 문자들
똑같아 보이는 두 문자열이 같지 않다고 판정되는 이유, NFC·NFD·NFKC·NFKD가 실제로 하는 일, 붙여넣은 텍스트에 숨는 보이지 않는 문자들, 그리고 텍스트를 안전하게 다루는 규칙.
얼버무리지 않고 이해하는 IP 주소와 서브넷
IP 주소의 실체, CIDR 표기를 읽고 프리픽스 안의 호스트를 세는 법, 절대 라우팅하면 안 되는 대역, IPv6에서 달라지는 계산, 그리고 주소를 문자열로 정렬하면 안 되는 이유.
크론 스케줄이 실제로 동작하는 방식
크론의 다섯 필드와 문법, 거의 모두가 잘못 아는 일/요일 규칙, 서머타임이 야간 작업에 하는 일, 그리고 재시작에도 살아남는 스케줄 설계법.
실무에서 쓰는 정규표현식
정규식 엔진이 문자열을 훑는 실제 방식, 앵커와 탐욕적 수량자가 결과를 뒤바꾸는 이유, 파국적 백트래킹이 무엇인지, 그리고 패턴으로 절대 파싱하면 안 되는 형식들.
색 대비와 접근성 있는 팔레트
WCAG 대비율이 실제로 측정하는 것, 괜찮아 보이는 색이 왜 여전히 실패하는지, 색각 이상이 그림을 어떻게 바꾸는지, 그리고 견디는 팔레트를 만드는 법.
CSV 파일을 망가뜨리지 않고 다루기
CSV가 계속 어긋나는 이유 — 따옴표, 구분자, 인코딩, 앞자리 0과 날짜 — 그리고 스프레드시트·JSON·SQL 사이에서 데이터를 조용한 손상 없이 옮기는 법.
비밀번호와 패스프레이즈: 무엇이 실제로 강하게 만드는가
왜 길이가 기호 치환을 이기는지, 강도 측정기가 어디서 오해를 부르는지, 패스프레이즈는 어떻게 작동하는지, 2단계 인증이 막아주는 것과 막지 못하는 것.
웹을 위한 이미지 압축과 크기 조정
화질을 망치지 않고 이미지를 가볍게 만드는 법 — 압축 전에 크기부터 줄이고, 포맷을 제대로 고르고, 품질 슬라이더가 실제로 무엇을 하는지 이해하기.
버그 없이 시간대와 Unix 타임스탬프 다루기
소프트웨어에서 시간이 왜 그렇게 다루기 어려운지 — UTC, Unix 타임스탬프, 시간대, 서머타임 — 그리고 가장 흔한 날짜 처리 버그를 막는 몇 가지 규칙.
ID 형식 고르기: UUID, ULID, Snowflake, 자동 증가
식별자 — 자동 증가 정수, UUID v4/v7, ULID, Snowflake ID — 를 고르는 실용 가이드와 고유성·정렬·크기·프라이버시의 트레이드오프.
해싱 vs 암호화 vs 인코딩: 무엇이 다른가
끊임없이 혼동되는 세 용어 — 해싱, 암호화, 인코딩 — 을 명확히 설명합니다. 각각의 용도, 언제 무엇을 쓸지, 피해야 할 실수까지.
진법과 텍스트 인코딩: 개발자를 위한 치트시트
2진법·8진법·10진법·16진법에 대한 실용 입문과, UTF-8·Base64·URL 인코딩을 통해 텍스트가 바이트가 되는 과정 — 실제로 필요한 규칙들.
브라우저 내 도구가 데이터를 안전하게 지키는 이유
클라이언트 측 도구가 어떻게 작동하는지, 전적으로 브라우저에서 실행된다는 것이 왜 데이터가 기기를 벗어나지 않음을 뜻하는지, 그리고 그 주장을 직접 검증하는 방법.
바코드 체크 디지트의 원리 (EAN-13, UPC-A, EAN-8)
소매 바코드의 GS1 모듈로-10 체크 디지트를 명확하고 실용적으로 설명합니다 — 어떻게 계산되고, 왜 오류를 잡아내며, 손으로 검증하는 방법까지.