Webview에서 핀치 줌(pinch zoom) 구현하기
TouchEvent와 두 터치 간 거리 변화를 이용해 Webview 핀치 줌을 구현했습니다. 기본 확대 차단, 중심점 보정, 멀티터치 처리 시 주의점을 함께 설명합니다.

TouchEvent와 두 터치 간 거리 변화를 이용해 Webview 핀치 줌을 구현했습니다. 기본 확대 차단, 중심점 보정, 멀티터치 처리 시 주의점을 함께 설명합니다.
웹뷰에서 핀치 줌을 직접 구현하는 방법을 설명했습니다. TouchEvent와 좌표 보정을 활용해 확대 중심을 유지하는 로직을 소개했습니다.
비동기 메시지 처리와 Kafka 중심의 분산 라이브채팅 아키텍처를 설계했습니다. k6 기반 성능 테스트로 브로커와 로드밸런싱 이슈를 개선했습니다.
20만 동시 접속 실시간 채팅 요구를 위해 Kotlin·Spring Boot·WebSocket 기반을 선택했습니다. Kafka 스트림과 아호-코라식으로 확장성과 실시간 금칙어 처리를 설계했습니다.
BackstopJS와 Storybook으로 공통 컴포넌트의 시각적 회귀 테스트를 구축했습니다. Docker와 PR 프리뷰 리포트로 환경 차이와 UI 변경 검토를 관리했습니다.
BackstopJS로 시각적 회귀 테스트를 구축한 경험을 정리했습니다. 스토리북과 Docker를 함께 사용해 UI 변경 검증과 운영 안정성을 높였습니다.
Jest Custom Matcher로 여러 CSS class 포함 여부를 한 번에 검증하는 방법을 설명했습니다. 설정 파일 등록, 타입 검증, TypeScript 타입 확장 과정을 함께 다뤘습니다.
Jest Custom Matcher를 만들어 반복적인 class 검증 테스트를 줄이는 방법을 소개했습니다. setup 파일 등록과 TypeScript 타입 선언까지 함께 다뤘습니다.
카카오엔터테인먼트가 첫 사내 해커톤 ENTER+THON 2022를 24시간 무박으로 진행했습니다. 21개 팀이 서비스·플랫폼 기능 프로토타입을 구현하고 실적용을 검토했습니다.

기획서 기반 시나리오와 실제 API로 E2E 테스트를 도입하고 pre-push 검증에 연결했습니다. Sorry-Cypress 병렬화로 실행 시간을 줄이며 버그와 API 사이드이펙트를 조기 발견했습니다.
E2E 테스트 도입의 장점과 운영상의 걸림돌을 함께 정리한 경험기였습니다. 기획서 기반 시나리오와 병렬 실행으로 관리성과 속도를 개선한 사례를 공유했습니다.
A2HS의 조건과 매니페스트·서비스 워커를 이용한 최소 설정 방식을 설명했습니다. React 커스텀 설치 UI와 iOS Safari의 지원 제약도 함께 다뤘습니다.
웹 앱을 홈 화면에 추가해 네이티브 앱처럼 실행하는 A2HS 적용 방법을 설명했습니다. 매니페스트와 서비스 워커, beforeinstallprompt 활용법과 iOS 제한도 함께 정리했습니다.
Scroll Snap API로 이미지 캐러셀의 스크롤 종료 위치를 제어하는 방법을 설명했습니다. JavaScript 없이 축, 스냅 강도, 정렬 기준을 조합해 슬라이드 UX를 구현합니다.
Scroll Snap API로 이미지 캐러셀을 만드는 방법을 정리했습니다. 스크롤 컨테이너와 자식 요소에 필요한 속성을 설정해 자연스러운 스냅 동작을 구현했습니다.
기술 선택은 유행보다 서비스 요구사항, 조직 역량, 유지보수 가능성을 기준으로 판단해야 합니다. SPA·SSR 전환처럼 부작용과 운영 복잡도가 이득보다 큰지 검증할 필요가 있습니다.
적정기술을 개발 환경에 맞춰 선택해야 한다는 관점을 설명했습니다. 최신 기술의 무조건적 도입보다 요구사항, 팀 역량, 유지보수성을 함께 봐야 한다고 정리했습니다.
Cypress Studio로 사용자 액션과 단언을 기록해 E2E 테스트 코드를 자동 생성하는 방법을 소개했습니다. 비개발자도 Standalone 앱과 로우코드 방식으로 테스트를 만들고 Git 브랜치로 관리할 수 있습니다.