Working Experience

담당 업무

협업 플랫폼 GAIA Works - 토크(메신저) 서비스 개발

GAIA Works는 토크(메신저), 메일, 캘린더, 미팅, 드라이브, 오피스, 프로젝트 앱으로 이루어진 협업 플랫폼 입니다. 토크(메신저) 서비스는 채팅, 공지, 투표와 같은 커뮤니케이션 기능을 제공합니다.

    주요 개발 항목

  • 이미지 뷰어 및 동영상 플레이어 개발
  • 파일 업로드/다운로드 서비스 개발 및 개선
  • 사용자 경험 개선 기능 개발(다국어 처리, 다크 모드, Ctrl C/V 파일 첨부)
  • 타 앱 연동 기능 제공(캘린더, 화상 미팅, 드라이브, 오피스 등)
  • 웹소켓 메시지를 이용한 실시간 서비스 적용(메시지 생성, 설정 변경, 파일 삭제 등)

    사용 기술

    React, TypeScript, styled components, Rollup.js, Yarn, MobX, GitLab, Verdaccio

B2B 고객사 프로젝트 수행

B2C GAIA Works 제품을 기반으로 B2B 고객사의 요청에 맞춰 커스터마이징된 기능을 추가적으로 제공하고 있습니다.

    고객사별 프로젝트 목록

  • 서울특별시교육청 센클라우드 (2023년 1분기 ~ 진행 중)
  • 한국농어촌공사 KRC TALK (2024년 1분기 ~ 진행 중)
  • 푸디스트 성공식당 커뮤니티 (2023년 2분기 ~ 2024년 3분기)

타 서비스 전용 채팅 컴포넌트 개발 및 유지 보수

다른 계열사에서 개발 중인 서비스에 채팅 기능을 제공하고 있습니다. 각 서비스에서 원하는 방향으로 개발할 수 있게 헤더/바디/푸터에 필요한 기능만 표시하거나, 아이콘/배경색/글자색과 같이 스타일을 수정할 수 있습니다.

    제공중인 컴포넌트 목록

  • TmaxCloud 화상 미팅 앱 - 채팅 기능
  • TmaxCloud 클라우드 서비스 플랫폼 - 1:1 상담원 채팅 기능
  • TmaxGAIA 드라이브 앱 - 채팅 기능
  • TmaxAI 인공지능 챗봇 - 채팅 기능 (제공 예정)

개발 항목

메시지 내 묶음 이미지 업로드 기능 개발

  • 여러 이미지 파일을 하나의 메시지로 전송하도록 개선
  • N개 이미지 파일 동시 전송 → N개 메시지를 순차적으로 생성
  • N개 이미지 파일 동시 전송 → N개 이미지를 1개의 메시지로 생성
  • Promise.allSettled을 활용해 모든 업로드 상태를 처리 후, 업로드 성공 이미지를 묶어 메시지 생성
  • 메시지 생성 수 감소 및 업로드 효율성 향상

메시지 내 묶음 이미지 압축 다운로드 기능 개발

  • 메시지 내 다수의 이미지를 하나의 압축 파일로 다운로드 하도록 기능 구현
  • 1개의 메시지에 N개의 이미지 존재 → 각 이미지마다 다운로드
  • 1개의 메시지에 N개의 이미지 존재 → 하나의 압축 파일을 다운로드
  • 개별 이미지 다운로드에 따른 사용자 불편 해소

메시지 특정 구간 캡처 기능 개발

  • 사용자가 지정한 시작 및 마지막 메시지를 기준으로 대화 범위를 캡처하여 이미지 파일로 다운로드할 수 있는 기능 구현
  • html2canvas 라이브러리를 활용해 HTML 요소를 이미지로 변환 및 다운로드 기능 구현

모바일 이미지 뷰어 개발

  • Pinch Zoom 기능: 손가락 두 개를 양 옆으로 벌리거나 좁히면 이미지를 확대/축소해주는 기능
  • Panning 기능: 이미지가 확대된 상태에서 이미지를 드래그하여 원하는 부분으로 이동해주는 기능
  • Double Tap 기능: 화면을 두 번 탭 시, 이미지를 확대/축소해주는 기능

복사 및 붙여넣기(Ctrl + C/V)를 통한 파일 첨부 개발

  • 데스크탑 및 iPhone(iOS) 환경에서 에서 파일을 복사 및 붙여넣기로 손쉽게 파일을 첨부할 수 있는 기능 구현

다국어 지원 기능 적용

  • i18n 라이브러리를 활용하여 사용자 언어 환경에 따라 콘텐츠를 변경하는 기능 구현

이미지/비디오 메시지 썸네일 조회 최적화

  • Map() 자료구조를 활용해 중복 호출 방지 및 성능 개선
  • 동일한 이미지/비디오 메시지가 화면에 렌더링될 때 마다, 썸네일 조회 서비스를 반복 호출
  • 메시지가 최초 렌더링될 때 썸네일 조회 서비스의 응답값을 Map에 저장하고, 기존에 렌더링된 메시지인 경우 Map에 저장된 값을 사용하여 중복 호출 방지
  • 썸네일 조회 서비스 호출 횟수 감소

이모티콘 이미지 파일 관리 최적화

  • 프로젝트 내부에서 이모티콘 직접 관리하던 이미지 파일을 PVC 서버에 업로드해서 관리
  • 배포 패키지 크기 감소 (11MB → 6MB)

디바이스 OS 종속 이슈 해결

  • macOS에서 업로드 되는 파일의 이름이 Windows에서 자소분리되는 이슈
  • iOS에서 Input 태그가 focused된 경우, 키보드에서 return 키를 눌러도 키보드가 내려가지 않는 이슈
  • iOS에서 Input 태그가 focused된 경우, 화면이 자동으로 확대되는 이슈
  • iOS에서 카메라 고효율성 파일 확장자 추가 (HEIF, HEIC, HEVC)
  • Windows에서 비트맵 이미지 파일의 확장자가 x.ms-bmp로 업로드 되는 이슈
  • Windows에서 파일의 이름에 점(.)이 포함된 경우 확장자 없이 다운로드 되는 이슈