웹 서비스를 운영하다가 사용자가 이모지(?, ?)나 특정 다국어 문자를 입력하고 저장할 때 MySQL ERROR 1366 (HY000): Incorrect string value 에러가 발생하며 데이터 저장이 튕기는 현상을 경험해봤을까?다만 대부분의 개발자들은 이 에러의 정확한 원인이 MySQL 기본 utf8 인코딩의 3바이트 제한이라는 사실을 모른 채, ···
배열의 모든 요소를 순회하면서 누적된 결과값을 계산해야 할 때가 있다. 장바구니 총액 계산, 배열 요소 조건부 필터링 후 합산, 또는 복잡한 데이터 변환 같은 작업 말이다. 다만 대부분의 개발자들은 반복문(foreach)으로 변수를 하나하나 더하거나 빼면서 코드가 길어지고 유지보수하기 어려워진다는 걸 경험했을 것이다. 이번에는 PHP array_reduce···
직장인이라면 연말정산을 앞두고 세금 환급을 기대하지만, 실제로 받아보면 생각보다 적어서 실망하는 경우가 많다. 그 이유 중 하나가 의료비 공제를 제대로 챙기지 못했기 때문이다. 많은 사람들이 병원비를 낸 후 영수증을 보관하는 것조차 깜빡하고, 공제 대상이 무엇인지 헷갈려서 그냥 지나친다. 다만 작은 습관으로 1월부터 의료비를 기록해두면, 12월 연말정산 때···
계절이 바뀔 때마다 부쩍 늘어난 전기요금 청구서를 보고 한숨을 쉰 적이 있을 것이다.다만 전기를 아낀 만큼 현금이나 요금 차감으로 그대로 돌려주는 정부 지원 제도가 있다는 사실을 잘 몰라서 못 챙기는 경우가 많다.이번에는 에너지캐시백 제도가 정확히 무엇인지, 누가 신청할 수 있고 어떻게 신청해서 매달 전기요금을 아끼는지 구체적으로 정리해서 소개하겠다. 왜 ···
웹 서비스나 쇼핑몰 프로젝트를 개발하다 보면 사용자에게 입력받은 주소를 기반으로 지도에 핀을 표시하거나, 매장 간의 거리를 계산하기 위해 위도와 경도 좌표로 변환해야 하는 상황을 다들 경험해봤을 것이다.다만 Kakao Developers에서 REST API 키를 발급받아 cURL 요청을 보냈는데 401 Unauthorized 에러가 발생하거나, 응답 결과가···
신용카드 명세서를 받을 때마다 "어? 이달엔 왜 더 많이 썼지?" 하고 깜짝 놀라본 적 있을 것 같다. 통장에서 자동이체로 빠져나가는 금액들을 정확히 파악하지 못하면, 모르는 새에 매달 수십만 원이 불필요한 곳으로 흘러간다. 특히 구독형 서비스(OTT, 피트니스, 앱 구독료)는 한 번 등록하면 잊기 쉽고, 써보지도 않는 서비스를 반복결제하는 경우가 정말 많···
많은 개발자와 마케터들이 Google Search Console에만 집중하느라 Bing 검색 엔진을 놓친다. 다만 Bing은 전 세계 검색량의 약 3~5%를 차지하고 있고, 특히 기업 사용자와 Windows 통합 검색에서 여전히 중요한 역할을 한다. 게다가 검색 노출 설정 방식이 Google과 다르기 때문에 제대로 알지 못하면 Bing에서는 아예 색인되지 ···
병원이나 약국에 다녀온 뒤 소액이라는 이유로, 혹은 서류 준비가 귀찮아서 실손보험 청구를 미뤄본 적이 있을 것이다.다만 청구할 수 있는 기간이 무려 3년이나 된다는 점을 몰라서 아까운 내 돈을 그대로 날리는 경우가 많다.이번에는 놓치기 쉬운 미청구 실손보험금이 무엇인지, 누구를 대상으로 하며, 모바일로 어떻게 쉽고 빠르게 돌려받는지 정리해서 소개하겠다. 왜···
휴대폰 요금제를 선택할 때 대부분의 사람들이 현재 가입한 통신사에서 자동으로 갱신하거나, 어떤 요금제가 있는지도 모르고 그냥 판매원이 추천하는 대로 가입한다. 같은 데이터량(예: 30GB)과 통화료를 쓰는데도 통신사와 요금제 선택에 따라 매달 1만 원 이상 차이가 나는 경우가 많다는 사실을 알고 있을까? 이번에는 실제 알뜰폰·MNO 3사의 요금제를 체계적으···
웹사이트의 URL 구조를 리뉴얼하거나 특정 페이지를 새 주소로 옮길 때 리다이렉트(Redirect)를 설정해본 경험이 있으실 겁니다.다만 대부분의 개발자들은 301과 302 상태 코드의 명확한 차이점과 이것이 검색엔진 크롤러에 미치는 치명적인 영향을 모른 채 단순 이동용으로 302나 자바스크립트 이동을 남발하곤 합니다.이번 글에서는 301과 302 리다이렉···
매달 지로 영수증이나 앱 알림으로 찾아오는 관리비 고지서를 보고 한숨을 쉬어본 적이 있을 거다.다만 관리비는 당연히 내야 하는 고정 비용으로 생각하고 별다른 확인 없이 그대로 납부하는 경우가 많다.이번에는 매달 세어나가는 관리비를 줄이는 핵심 절약 방법이 무엇인지, 대상자는 누구이고 실전에서 어떻게 활용하는지 깔끔하게 정리해서 소개하겠다. 1. 왜 관리비를···
배열에서 특정 키가 존재하는지 확인할 때 많은 개발자들이 isset()과 array_key_exists()를 같은 것으로 생각한다. 다만 둘은 null 값을 처리하는 방식이 완전히 다르고, 이 차이를 모르면 버그를 찾기 어렵다. 이번에는 두 함수가 정확히 뭐가 다른지, 언제 뭘 써야 하는지, 실전 예제로 완벽하게 정리해서 소개하겠다. 1단계: 기초 개념 -···
직장인들은 매달 급여를 받을 때 세금과 보험료가 자동으로 빠져나간다. 다만 대부분 '이 정도는 당연한 것'이라고 생각하고 명세서를 제대로 살펴보지 않는다. 하지만 실제로는 과다하게 공제되거나, 잘못 계산된 경우가 생각보다 많다. 이번에는 급여명세서에서 확인해야 할 공제 항목과 실수하기 쉬운 부분들을 정리해서 소개한다. 급여명세서, 왜 꼼꼼히 봐야 할까? 급···
매달 통장에서 빠져나가는 대출 이자를 보며 한숨을 쉰 적이 다들 한 번쯤은 있을 거다.대출을 받을 때 정해진 금리가 만기 때까지 그대로 유지된다고 생각해서 무작정 참고 내는 경우가 많다.다만 승진이나 소득 증가, 신용점수 상승 등 상태가 좋아져도 방법을 잘 몰라서 금리 인하 혜택을 챙기지 못하는 사람들이 많다.이번에는 대출 이자를 줄여주는 금리인하요구권이 ···
웹 서비스를 개발하며 회원 시스템을 구축할 때 사용자의 비밀번호를 md5나 sha256으로 단순 해싱해서 DB에 저장해 본 경험이 있을까? 다만 대다수 개발자가 솔트(Salt)의 정확한 개념이나 Bcrypt 알고리즘의 필요성을 모른 채 인터넷 블로그의 구형 코드를 그대로 복사해 붙이는 경우가 많다. 이번에는 PHP에서 제공하는 password_hash()와···
PHP로 배열을 다루다 보면 특정 키가 존재하는지, 값이 있는지 확인해야 할 순간이 자주 온다. 다만 대부분의 개발자들은 isset(), array_key_exists(), in_array() 세 함수의 차이를 명확히 모른 채 상황에 맞지 않는 함수를 써서 버그를 만든다. 이번에는 이 세 함수가 정확히 뭐가 다르고, 언제 어떤 걸 써야 하는지, 그리고 각각···
DB에서 데이터를 조회한 뒤 PHP 단에서 특정 키(Key) 기준으로 연관 배열 목록을 재정렬해야 할 때, 매번 usort()나 array_multisort()의 복잡한 익명 함수 문법 때문에 애를 먹은 적이 있을 것이다.다만 대부분의 개발자들은 array_multisort()에 인자를 전달하는 방식이나 usort()의 우주선 연산자() 작동 원리를 정확히···
구글 서치 콘솔을 확인해보니 모바일에서는 검색 노출이 잘 되는데 PC에서는 떨어져 있다거나, 반대 상황을 경험해봤을까? 혹은 구글에서 보낸 알림메일에 "Mobile-First Indexing" 같은 낯선 용어가 나와서 막막했던 경험이 있을까? 대부분의 웹 개발자와 SEO 담당자들은 이게 정확히 뭔지, 왜 신경 써야 하는지, 어떻게 대비해야 하는지 모른 채로···