Sonia의 프로필 이미지

Changsun Oh

라이브 스트리밍 웹 플레이어를 만드는 7년 차 프론트엔드 개발자입니다.
제가 겪고 풀어낸 문제들이 누군가에게 지름길이 되길 바라며 기록합니다.

대표 글

CEF 창을 닫으면 API 요청이 사라지는 이유: 모달 종료 Race Condition 트러블슈팅

CEF(Chromium Embedded Framework) 창을 닫으면 JS 컨텍스트와 함께 아직 전송되지 않은 fetch·API 요청도 사라진다. 모달을 먼저 닫았다가 배포 당일 요청이 간헐적으로 누락된 원인, QA에서 재현되지 않은 이유, 버린 대안과 최종 해결(응답을 받은 뒤 창 닫기)을 정리했다.

전체 글

AI와 코딩 대결에서 20줄짜리 내 코드가 진 이유: 음소거 자동재생과 localStorage 부작용

광고로 들어온 사용자에게 음소거 자동재생을 거는 기능을 나는 20줄, Claude Code는 50줄로 짰다. 내 코드는 기존 음소거 함수를 재사용하다 localStorage에 음소거 값을 남겨 새로고침 후에도 소리를 못 켜는 문제가 생겼고, AI는 저장하지 않는 별도 상태로 부작용을 피했다.

CEF 창을 닫으면 API 요청이 사라지는 이유: 모달 종료 Race Condition 트러블슈팅

CEF(Chromium Embedded Framework) 창을 닫으면 JS 컨텍스트와 함께 아직 전송되지 않은 fetch·API 요청도 사라진다. 모달을 먼저 닫았다가 배포 당일 요청이 간헐적으로 누락된 원인, QA에서 재현되지 않은 이유, 버린 대안과 최종 해결(응답을 받은 뒤 창 닫기)을 정리했다.

Git 브랜치 네이밍 컨벤션과 `feature/` 접두사의 역할

Git 브랜치 이름의 feature/는 새 기능 개발 브랜치임을 나타내는 관례적 접두사다. fix/·hotfix/·refactor/·chore/ 같은 접두사의 의미, 슬래시로 나누면 좋은 이유(GUI 폴더 묶음, CI 조건 분기), 작업자·티켓 번호를 붙인 네이밍 예시를 정리했다.

[Programmers] 위장

프로그래머스 '위장' 알고리즘 문제의 경우의 수와 해시를 이용한 해결 과정을 다룹니다.

[Core JS] this란?

자바스크립트에서 this가 실행 컨텍스트에 따라 어떻게 바인딩되는지 동작 원리를 알아봅니다.