버
버즈빌
January 8, 20191회
PhantomJS를 Puppeteer 전환하며

간단 소개
PhantomJS의 문제점을 해결하고 Puppeteer로 전환하여 안정적인 이미지 렌더링 환경을 구축하고 유지보수 효율성을 높였습니다.
AI Summary
- PhantomJS의 문제점과 Puppeteer로의 전환 배경
- PhantomJS는 폰트 렌더링에 일관성 문제가 있었고, 프로젝트 자체가 더 이상 관리되지 않아 유지보수가 어려워짐
- 잦은 배포가 없어 서버들이 snowflake화 되어 확장성 문제가 발생
- Puppeteer로의 전환 및 해결 과정
- 어플리케이션과 폰트가 설치된 시스템을 컨테이너로 만들어 CI/CD 파이프라인을 구축하여 snowflake 문제 해결
- Puppeteer API가 PhantomJS와 유사하여 비교적 쉽게 교체 가능했지만, 템플릿별 결과 비교 및 샘플 케이스 생성 작업 필요
- Headless Chrome의 보안 정책으로 인해 로컬 파일 로드 문제가 발생하여 Express 서버에서 static file serving 방식으로 변경
- 결과 및 향후 계획
- Puppeteer 전환 후 템플릿 개발 및 신규 컨텐츠 프로바이더 추가가 수월해짐
- Metrics API 엔드포인트를 만들어 prometheus와 grafana 대시보드를 통해 서비스 모니터링
- 자동화된 테스트 케이스를 구성하여 기능 개발을 용이하게 할 계획
Next Feeds

뱅크샐러드 at Apple Store
뱅크샐러드 iOS팀이 Apple 리테일 스토어 데모 앱을 개발하고 전시하기까지의 과정과 기술적 해결 방법을 소개합니다.
뱅크샐러드iOSApple Store데모 앱Mocking
2018. 12. 28.
뱅크샐러드

Keep Principles in Mind
SOLID 원칙을 설명하고, 소프트웨어 개발 시 원칙을 준수하는 것의 중요성을 강조합니다. 좋은 코드는 좋은 원칙에서 비롯됩니다.
SOLID객체 지향 설계소프트웨어 개발클린 코드설계 원칙
2018. 12. 4.
버즈빌

Buzzvil's Success Story with Google Vision API
Buzzvil은 Google Vision API를 활용하여 유해 콘텐츠를 필터링하고 사용자에게 안전한 광고를 제공함으로써 성공을 거두었습니다.
BuzzvilGoogle Vision API광고필터링사용자 신뢰
2018. 10. 26.
버즈빌

Buzzvil's Success Story with Google Vision API
버즈빌은 Google Vision API를 활용하여 광고 이미지 분석 및 유해 콘텐츠를 방지하고, AWS 비용 절감 및 데이터 파이프라인 개선을 통해 서비스 안정성을 높이고 있다.
Google Vision API버즈빌광고AWS데이터 파이프라인
2018. 10. 26.
버즈빌
다음웹툰의 UX (Animation, Transition, Custom View) / if(kakao)2018
다음웹툰 안드로이드 앱의 UX(Animation, Transition, Custom View) 적용 사례와 개발 과정을 소개하고 향후 개발 계획을 공유합니다.
다음웹툰UXAnimationTransitionCustom View
2018. 10. 10.
카카오엔터테인먼트FE

How We Pipe Data
Buzzvil은 Redshift를 중심으로 Athena, Firehose, MySQL 비동기 로드를 활용하여 효율적인 데이터 파이프라인을 구축하고 데이터 분석을 수행합니다.
RedshiftAthenaFirehose데이터 파이프라인데이터 웨어하우스
2018. 7. 31.
버즈빌