지갑은 그대로인데 장바구니는 자꾸 가벼워집니다. 몇 년 전 5천 원이면 사 먹던 점심이 이제는 9천 원, 1만 원입니다. "월급 빼고 다 올랐다"는 말이 농담처럼 들리지 않죠. 이 익숙한 답답함의 정체가 바로 ==인플레이션==입니다. 오늘은 뉴스에서 매번 스쳐 지나가던 이 단어를, 우리 일상의 언어로 한 번 풀어보려 합니다. 미리 말씀드리면, 이 글은 어떤...
목록 페이지가 갑자기 느려진 적 있으신가요? 어제까지 멀쩡하던 화면이 오늘따라 빙글빙글 돌기만 합니다. 코드는 하나도 안 바꿨는데 말이죠. 저도 처음 이 상황을 겪었을 때 서버를 의심하고, 네트워크를 의심하고, 심지어 컴퓨터를 한 번 껐다 켰습니다. 범인은 엉뚱한 곳에 있었습니다. 데이터가 쌓이면서 인덱스 없는 쿼리가 테이블 전체를 훑기 시작한 것이죠. 오...
밤 11시에 예약해 둔 글이 있었습니다. 다음 날 오전 9시에 자동으로 올라가도록 맞춰 뒀죠. 그런데 아침에 일어나 보니 글은 이미 새벽에 올라가 있었고, 방문자 통계도 엉망이었습니다. 코드를 백 번 봐도 시간 계산에는 문제가 없었어요. 범인은 코드가 아니라 ==서버의 시간대(timezone) 설정==이었습니다. > 시간 버그의 90%는 '계산'이 아니라 ...
사용자 입력을 SQL에 직접 이어붙이면 SQL 인젝션에 노출된다. 결론부터 말하면 mysqli의 prepared statement(준비된 쿼리) 를 쓰면 값과 쿼리 구문이 분리되어 대부분의 인젝션을 원천 차단할 수 있다. 위험한 코드 ```php // 절대 이렇게 쓰지 말 것 $id = $_GET['id']; $sql = "SELECT FROM member...
"돈이 돈을 번다"는 말, 많이 들어보셨을 겁니다. 그 비밀의 핵심에 바로 복리(複利)가 있습니다. 복리를 이해하면 왜 부자들이 "시간이 가장 강력한 무기"라고 말하는지, 왜 투자를 하루라도 일찍 시작하라고 하는지 단번에 와닿습니다. 단리와 복리, 무엇이 다른가 이자를 계산하는 방식은 크게 둘로 나뉩니다. - 단리: 원금에만 이자가 붙습니다. 100만 원에...
모니터 앞에서 하루 대부분을 보내는 사람이라면, 오후가 되면 눈이 뻑뻑하고 침침해지는 경험이 익숙할 겁니다. 단순한 피곤함이라 넘기기 쉽지만, 누적되면 두통과 집중력 저하로 이어집니다. 다행히 비싼 장비 없이도 습관과 환경만 바꾸면 눈의 피로는 눈에 띄게 줄어듭니다. 왜 눈이 피로해질까 화면을 볼 때 우리는 무의식적으로 눈을 덜 깜빡입니다. 평소 분당 15...
"몸이 안 좋아서 약을 먹었더니 한결 낳았어요." 메신저로 이런 문장을 받아본 적 있으신가요? 무심코 쓰지만 사실 틀린 표현입니다. '낫다·낳다·났다'는 발음이 비슷해 가장 많이 헷갈리는 우리말 삼총사인데요. 뜻만 정확히 갈라두면 다시는 헷갈리지 않습니다. 세 단어, 뜻이 완전히 다르다 세 단어는 소리만 닮았을 뿐 의미는 전혀 다릅니다. 한 번 표로 정리해...
주민등록등본 한 장이 필요해서 일부러 시간을 내 주민센터까지 갔던 경험, 다들 있으실 겁니다. 그런데 요즘은 웬만한 서류는 ==집에서 몇 분이면== 끝납니다. 정부 온라인 민원 서비스를 한 번 익혀두면, 서류 때문에 외출할 일이 확 줄어듭니다. > 떼러 가는 시간보다, 떼는 법을 익히는 시간이 훨씬 짧습니다. 온라인으로 되는 대표 서류 생각보다 많은 서류가...
블로그나 자료를 만들 때 가장 조심스러운 게 이미지입니다. 검색해서 나온 사진을 그냥 가져다 썼다간 저작권 문제로 곤란해질 수 있으니까요. 그렇다고 매번 직접 찍을 수도 없고요. 이때 알아두면 든든한 게 ==공공누리==입니다. > 출처만 잘 지키면, 합법적으로 쓸 수 있는 자료가 생각보다 많습니다. 공공누리란 무엇인가 공공누리는 정부와 공공기관이 만든 저작...
매일 쓰면서도 한 번쯤 궁금하지 않으셨나요? 가스불도, 열선도 안 보이는데 전자레인지는 어떻게 음식을 데울까요? 어릴 때 저는 '안에 작은 불이 숨어 있나' 상상했는데, 실제 원리는 훨씬 똑똑하고 단순합니다. 핵심은 ==물 분자를 흔드는 것==입니다. > 전자레인지는 음식을 '굽는' 게 아니라, 물을 '흔들어' 데웁니다. 마이크로파가 물을 흔든다 전자레인지...