기술동향
100ms 브라우저 데몬 -- Playwright 기반 실시간 QA의 비밀
gstack의 기술적 핵심은 영구 실행 브라우저 데몬입니다. 일반적으로 브라우저를 명령마다 새로 시작하면 2-3초가 걸리지만, gstack은 첫 실행 후 Chromium을 데몬으로 유지하여 이후 명령을 100ms 내에 처리합니다. 아키텍처는 CLI(Bun 컴파일 바이너리) -> HTTP POST(Bearer 토큰) -> Server(Bun.serve) -> CDP(Chrome DevTools Protocol) -> Chromium 순으로 동작합니다. 상태 파일(~/.gstack/browse.json)에 PID, 포트(10000-60000 랜덤), 토큰(UUID v4)을 저장하고, 바이너리 버전이 변경되면 자동 재시작합니다. Ref 시스템은 ARIA 접근성 트리를 파싱하여 @e1, @e2 같은 참조를 부여하고, CSS 셀렉터 대신 role+name으로 Locator를 생성합니다. CSP 차단, 프레임워크 하이드레이션, Shadow DOM 등 기존 방식의 한계를 우회하는 설계입니다. 로그는 3개 링 버퍼(각 50,000 엔트리)로 메모리에 저장하고 1초 간격으로 디스크에 비동기 플러시합니다.
인사이트
QA 세션에서 20개 명령을 실행하면 기존 방식은 40-60초가 낭비되지만, gstack 데몬은 2초(첫 실행) + 19 x 0.1초 = 약 4초로 끝납니다. 이것이 실시간 브라우저 테스트를 가능하게 만드는 핵심입니다.