김경미 포트폴리오
프로젝트
GitHub
프로젝트
GitHub
  • 프로젝트
    • ifkakao
    • 팝업 레이어 모듈
    • kakao 전지적친구시점
    • Useragent 모듈
    • Nuxt3 보일러플레이트
    • 테크카카오
    • Nuxt2 컴포넌트
    • 레디엔터테인먼트
    • 카카오 karlo 프로모션
    • 카카오엔터테인먼트 오디션
    • 카카오모빌리티 디벨로퍼스
    • 카카오 IR 미팅 예약 시스템
    • MOA
← 전체 프로젝트
사내 도구2024.08JavaScriptnuxtjs/device

Useragent 모듈 개발

프로젝트 개요

nuxtjs/device 모듈 기반으로 UA를 판별하는 기능들을 구성하고, 사내에서 자주 사용되는 카카오 인앱 분기 및 버전 분기를 추가하여 사용할 수 있도록 모듈화

프로젝트 정보

  • 사내 모듈

기술 스택

  • FRONT: JavaScript
    • class를 사용하여 모듈 제작

주요 구현 기능

  • 카카오 인앱 브라우저 진입 여부 판단 기능 구현
  • 카카오 앱 버전 up / down 판단 기능 구현
  • iOS 13 버전 태블릿을 클라이언트 로직에서 분기하는 기능 구현
    • iOS 13 버전부터 태블릿과 Mac PC의 UA가 동일하여 태블릿을 분기할 수 없는 이슈가 있어, 클라이언트 로직에서 maxTouchPoints를 이용해 분기할 수 있도록 구현

성과

  • 사내에서 자주 사용되는 카카오톡 인앱 브라우저 진입 여부나, 웹뷰 지원을 위한 버전 분기 등의 기능을 추가하여 개발 리소스 단축에 기여
  • 모듈 및 가이드를 제공하여 개발에 참여하지 않은 제3자도 손쉽게 사용할 수 있도록 구현

개선 사항

  • 사내 private 저장소에서 구현되었기 때문에 npm으로 Git 저장소 자체를 라이브러리처럼 설치하여 사용하는 데 보안 이슈가 있었음
    • private 저장소이기 때문에 해당 모듈이 포함된 프로젝트 자동 배포 시 문제가 됨
    • 모듈 자체를 복사해서 사용하는 방식을 택했으며, 결론적으로는 기본 모듈에서 커스텀도 가능한 형태여서 더 효율적이었음
Prev
kakao 전지적친구시점
Next
Nuxt3 보일러플레이트