기술 블로그
용어와 원리부터 시작해 실행 가능한 코드, 테스트와 디버깅, 보안·성능·운영의 트레이드오프까지 연결합니다.
글 목록
JavaScript default export와 named export 차이: import 오류를 줄이는 기준
default export와 named export의 import 문법이 다른 이유와, 모듈 API를 읽기 쉽게 설계하는 기준을 설명합니다.
웹2 분
IntersectionObserver threshold 0.5: 스크롤할 때 콜백이 다시 실행되는 이유
IntersectionObserver의 threshold 0.5는 한 번만 실행하는 조건이 아닙니다. 카드가 50% 경계를 오갈 때 콜백이 다시 호출되는 이유와 intersectionRatio·unobserve로 한 번만 표시하는 방법을 확인합니다.
웹3 분
Dart named constructor 사용법: this(...)로 필드 초기화 중복 줄이기
Dart의 이름 있는 생성자와 전달 생성자를 같은 알림 객체로 비교합니다. 생성 경로마다 필드를 따로 초기화할 때 상태가 갈리는 이유와 this(...)로 한곳에 모으는 방법을 확인합니다.
앱4 분
JavaScript 이벤트 버블링과 이벤트 위임: 동적으로 추가한 목록에도 클릭을 연결하는 법
이벤트 버블링을 이용해 목록 부모에 한 번만 리스너를 두고, 자식 버튼을 안전하게 처리하는 방법을 설명합니다.
웹2 분
JavaScript setTimeout 0 실행 순서: Promise보다 늦는 이유
setTimeout에 0을 줬는데 동기 코드와 Promise.then 뒤에 실행되는 이유를 한 예제로 확인합니다. 0ms가 즉시 실행이나 작업 완료를 보장하지 않는다는 점도 짚습니다.
웹3 분
Dart var와 dynamic 차이: 타입 추론과 런타임 오류는 언제 생길까?
Dart의 var는 초기값으로 타입을 추론하고 dynamic은 정적 검사를 건너뜁니다. 숫자 404를 대입하거나 문자열 메서드를 호출할 때 오류가 드러나는 시점을 비교합니다.
앱4 분
JavaScript DOMContentLoaded와 defer: DOM을 찾기 전에 스크립트가 실행되는 문제
querySelector가 null을 반환할 때 script 위치, defer, DOMContentLoaded의 실행 순서를 기준으로 해결합니다.
웹3 분

