동적으로 생성되는 팝업, 무한 스크롤로 추가되는 리스트, 또는 외부 타사(Third-party) 위젯의 DOM 변화를 실시간으로 감지해야 하는 문제를 경험해봤을 것이다. 다만 정확한 원인이나 효율적인 감지 방법을 모른 채 구식 이벤트를 쓰다가 브라우저가 먹통이 되거나 메모리 누수가 발생하는 경우가 많다.과거에는 구식 Mutation Events를 가져와 복···
Slack Bot을 운영하면서 일정 시간이 지나면 메시지 전송이 갑자기 먹통이 되는 경험을 했을까. 대부분의 개발자들은 이게 네트워크 오류나 Slack API 문제라고 착각하고 로그만 뒤지다가, 결국 Access Token이 만료되었다는 걸 나중에 깨닫는다. 이번에는 Slack OAuth 2.0 인증 흐름에서 토큰 갱신이 정확히 뭔지, 왜 필요한지, 어떻게···
매달 지출되는 아파트 관리비는 계좌나 신용카드로 자동이체를 신청해 두고 잊고 지내기 쉽다. 통장에서 알아서 빠져나가니 편하다고 생각하지만, 제대로 따져보지 않으면 매달 납부 수수료를 물거나 챙길 수 있는 할인 혜택을 통째로 날리게 된다.이번 글에서는 관리비 자동이체를 신청하거나 결제 수단을 바꾸기 전에 반드시 점검해야 할 핵심 체크리스트 4가지를 정리한다.···
웹 애플리케이션을 개발하면서 특정 컴포넌트나 차트의 크기가 바뀔 때 레이아웃을 다시 그리려다 화면이 순간적으로 멈칫하는 현상을 경험해봤을 것이다. 다만 정확한 원인이 window 객체의 onresize 이벤트가 유발하는 레이아웃 리플로우(Reflow)와 과호출 때문이라는 점을 모른 채 무작정 디바운스(Debounce) 코드만 붙이는 경우가 많다. 이번에는 ···
GitHub Pages로 정적 사이트를 호스팅했는데 자신의 도메인을 연결하면 브라우저에 빨간 자물쇠(보안 경고)가 뜨거나, HTTPS 연결이 안 되는 경험을 해봤을까. 다만 대부분의 개발자들은 DNS 설정이 정확히 뭔지, Let's Encrypt 자동 갱신이 어떻게 작동하는지 모른 채 GitHub 설정 패널만 건드리다가 포기한다. 이번에는 GitHub Pa···
아파트나 오피스텔에서 전세나 월세로 거주하다가 이사를 준비할 때 보증금만 챙기고 매달 내던 관리비 명세서를 그냥 지나치는 사람이 많다. 하지만 명세서 항목을 유심히 보면 매달 수천 원에서 수만 원씩 꼬박꼬박 빠져나간 돈이 있다. 바로 장기수선충당금이다. 이 돈은 세입자가 임대 기간 동안 집주인 대신 낸 돈이므로 이사할 때 반드시 집주인에게 돌려받아야 한다.···
동시 접속자가 몰리는 이벤트나 결제 처리 시스템을 운영하다가 ERROR 1213 (40001): Deadlock found when trying to get lock 에러를 마주친 적이 있을 것이다. 단순한 쿼리 오류인 줄 알고 사용자가 다시 시도하도록 유도해보지만, 트래픽이 폭증할 때마다 서비스 전체로 퍼지며 데이터베이스 트랜잭션이 롤백되는 장애를 겪곤 ···
Node.js Express 프레임워크로 API 서버를 구축하여 테스트하다가 콘솔창에 Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client 라는 붉은색 에러 메시지를 마주친 적이 있을 것이다. 클라이언트에는 정상적으로 응답이 전달된 것처럼 보이는데, 서버 측에서···
전세 계약 만료일이 지났는데 집주인과 연락이 안 된다. 보증금을 돌려받겠다던 말은 어디 가고, 통장에 입금된 돈은 여전히 0원이다. 이런 상황에 처한 사람이 생각보다 많다. 다행히 이 문제를 해결하는 정부 제도가 있다. 바로 '전세사기 피해자 보증금 반환 채권'을 신청해서 국가로부터 손실액을 보전받는 방법이다. 이 글에서는 누가 신청할 수 있고, 어떻게 진···
초등학생 자녀를 키우다 보면 매달 나가는 학원비 부담이 상당하다. 국영수 학원에 예체능까지 더하면 한 달에 수십만 원에서 수백만 원이 통장에서 빠져나간다.이 학원비를 조금이라도 줄이기 위해 많은 부모들이 학원 전용 할인 카드와 지역사랑상품권 중 무엇을 쓸지 고민한다. 두 가지 방식의 할인율과 한도, 실적 조건을 비교해서 내 상황에 맞는 최선의 결제 방식을 ···
GitHub REST API v3는 엔드포인트마다 여러 번 호출해야 저장소 정보, 이슈, 풀 리퀘스트를 모두 가져올 수 있다. 다만 대부분의 개발자들은 GraphQL이 같은 데이터를 단 한 번의 요청으로 가져올 수 있다는 사실을 모른 채, 네트워크 오버헤드를 감수하며 REST API만 써왔다. 이번에는 GitHub GraphQL API가 정확히 뭔지, RE···
PHP 코드를 작성하다 보면 갑자기 화면에 노란 경고창이 뜨면서 "Warning: Undefined variable"이라는 메시지를 본 적 있을까. 대부분의 개발자는 이걸 무시하거나 error_reporting을 낮춰서 경고를 숨겨버리는 방식으로 대충 넘어간다. 다만 이런 습관이 쌓이면 프로덕션 환경에서 예기치 않은 버그를 일으키거나 보안 취약점으로 이어진···
국민연금을 받기 전에 딱 한 번만 확인하면 되는 것이 있다. 바로 군 복무, 육아, 실업 기간에 대한 '납부 크레딧'이다. 이 기간들이 연금 수령액에 반영되지 않으면 같은 기간을 일했어도 월 수령액이 10만 원대에서 50만 원대까지 차이 날 수 있다. 이미 넘어간 시간은 돌아오지 않으니, 지금 당신의 기록이 제대로 반영되었는지 점검해야 한다. 내가 놓친 크···
맞벌이 부부나 급한 일이 생긴 부모에게 아이 돌봄은 매일 마주하는 큰 숙제다. 정부에서 운영하는 아이돌봄 서비스와 민간 베이비시터 매칭 앱 중 어떤 것을 선택해야 비용을 아끼고 안심할 수 있는지 고민된다. 두 서비스의 이용 요금 구조와 신청 절차, 그리고 장단점을 비교해 우리 집 상황에 꼭 맞는 선택을 할 수 있도록 정리했다. 정부 아이돌봄 서비스와 민간 ···
자영업을 시작하거나 프리랜서로 일하려는 사람이라면 반드시 마주치는 선택지가 있다. 사업자등록증을 받을 것인가, 아니면 프리랜서·용역비 신고로 그냥 둘 것인가. 둘 다 돈을 버는 방식이지만 세금 부담과 정부 지원금, 사회보험료가 완전히 달라진다. 지금부터 계산해보면 평생 수백만 원을 좌우할 결정이 될 수 있다. 사업자등록증 vs 프리랜서, 어떤 차이가 있나 ···
Playwright로 E2E(End-to-End) 테스트 코드를 작성하면서 개별 테스트 케이스마다 수동으로 로그인 페이지에 접속하고 아이디와 비밀번호를 입력하게 만든 경험이 있을 것이다.수십 개의 테스트 파일이 실행될 때마다 매번 로그인 UI를 거치면 전체 테스트 수행 시간이 분 단위로 늘어나고, 인증 서버 타임아웃이나 Rate Limit으로 인해 테스트가···
반응형 웹 사이트를 제작할 때 UI 컴포넌트가 위치한 영역에 상관없이 크기가 자연스럽게 변하지 않아 고민해본 경험이 있을 것이다.대부분 뷰포트 크기를 기준으로 작동하는 미디어 쿼리(@media)를 사용하지만, 사이드바 내부나 메인 콘텐츠 영역처럼 부모 요소의 너비에 맞춰 디자인을 변경해야 하는 상황에서는 기존 미디어 쿼리만으로 한계에 부딪힌다.이번에는 미디···
아파트 관리비 고지서를 받을 때마다 무조건 내야 하는 항목이라고 생각하고 있지 않나. 특히 명세서에 적혀있는 '적립금'은 무엇인지도 모르고 매달 계속 내고 있는 사람이 많다. 그런데 이 적립금 항목을 제대로 들여다보면 실제로는 내지 않아도 되는 부분을 발견할 수 있다. 지금 당신이 매달 내고 있는 관리비에서 정말 얼마나 줄일 수 있는지 확인해보자. 관리비에···