배포 후가 더 문제였다: Playwright·유닛 테스트로 엣지 케이스와 QA를 줄이기
기획 초안을 받아서 화면을 만든다. 만들면 QA를 돈다. 여기까진 정상인데, 진짜 문제는 항상 배포하고 난 뒤 에 왔다. 기획서에 안 적혀 있던 상태값, 아무도 상상 못 한 입력, "그 경우엔 뭐가 떠야 하지?" 싶은 분기. 이런 게…
6 posts
기획 초안을 받아서 화면을 만든다. 만들면 QA를 돈다. 여기까진 정상인데, 진짜 문제는 항상 배포하고 난 뒤 에 왔다. 기획서에 안 적혀 있던 상태값, 아무도 상상 못 한 입력, "그 경우엔 뭐가 떠야 하지?" 싶은 분기. 이런 게…
딜러 관리자 웹 작업을 하면서 리뷰 때 반복적으로 나온 질문들을 정리했다. 리뷰는 결국 "왜 이렇게 했어?"의 연속인데, 좋은 질문일수록 그 자리에서 답하기가 애매하다. 나중에 또 나올 질문이라 아예 답을 문서로 박아둔다. 실제로 딜…
'React 성능·메모리' 시리즈의 실전편. 원인 하나를 규명하는 데 열두 번 의심하고, 그중 몇 번은 헛다리였다. 그 사냥 기록이다. 관측에 쓴 부하·모니터링 스택(k6 + Prometheus + Grafana)은 동료가 세팅해 준…
시리즈 'React 성능·메모리' 5편. 앞 편들이 브라우저(클라이언트) 메모리였다면, 이번엔 서버(SSR) 메모리다. 같은 React인데 서버에서 OOM이 나는 이유는 결이 다르다. 클라이언트 메모리 누수는 "한 사용자의 탭"에서 …
시리즈 'React 성능·메모리' 1편. 렌더링 전략을 어디서 결정하느냐가 초기 성능을 좌우한다. 오토캐시백 landing 페이지를 열면 처음엔 멀쩡한데, 이미지가 뒤늦게 들어오면서 아래 내용이 우르르 밀려 내려갔다. 소위 CLS(C…
Desktop, mobile 프로젝트 개요 사건의 발단은 간단하다. 친구 짐정리를 도우러갔다가 헌옷수거함을 찾기가 어려웠던것에서부터 이 프로젝트는 시작되었다. 흔히 보이던 헌옷수거함이 막상 찾으니까 없었다. '자치구' 마다 헌옷수거에…