미리보기
기본 정보
JavaScript, Vue, Node, WebGL 등 다양한 언어 및 도구를 활용하여 다양한 웹 인터페이스의 개발 및 유지보수 업무를 담당해왔습니다. 이러한 프로젝트들을 성공적으로 수행함으로써 웹 개발 분야에서 전문성을 강화했으며, React, TypeScript 등 기술들을 학습하여 프론트엔드 기술을 지속적으로 향상시키고 있습니다.
기술 스택
Swift, JavaScript, Node.js, Vue.js, websocket, HTML/CSS, scss
경력
웹게이트
사원 | 연구소 | 재직 중
2021.10. ~ 재직 중 (3년 6개월)
[기술 스택]
JavaScript, Vue.js, Vuex, Axios, REST API, HTTP, WebSocket, SCSS
[주요 프로젝트 및 성과]
고속 FPS 영상 출력 (2024.07 - 2024.07)
역할
- 30, 120, 240, 480 fps 영상 출력
- 원형 큐 적용하여 영상 디코딩 성능 확보
- 디코더, 렌더 성능을 고려한 알고리즘 적용
성과
- 영상 초기 로딩 3초 이상 걸렸으나 1초 내외로 단축
- 영상을 장시간 출력 시 1fps로 떨어지는 버그 제거
HTML5 Webviewer SDK Refactoring(2023.12 - 현재)
역할
- 기존 SDK 기능을 유지한 상태로 Refactoring 진행
- CommonJS 문법에서 ES6 문법으로 변경(prototype class)
- 전체적 구조 변경
IP 카메라 TTA 인증 취득 (2023.06 - 2023.10)
역할
- 인증을 위한 개인정보 저장 문제를 암호화 된 값을 통해 인증할 수 있도록 개선
- HTTP Digest 인증 방법 추가
- 데이터 요청 방법을 WebSocket API에서 REST API로 전환
- UI/UX 개선
성과
- TTA 인증 취득 및 2023년 TTA 시험인증 대상 시상식에서 우수상 수상
Office Map 개발 (2023.04 - 2023.06, 잠정 중단 상태)
기술 : JavaScript, Node.js, OpenLayers, PostgreSQL, pg_tileserv
역할
- 개발환경 구축
- 지도 데이터 수집
- 지도 데이터 가공 및 저장
- 지도 이미지 및 기능 구현
성과
- 지도 이미지 로딩 시간 5초에서 3초로 단축
* 타 프로젝트 진행으로 인해 우선순위가 후순위로 밀려 웹 지도 출력 까지만 구현된 상태.
NK Series 마이그레이션 (2023.01 - 2023.04)
기술: Vue.js, JavaScript, Pinia, WebSocket, SCSS
역할
- 상태 관리 시스템 변경 (Vuex -≫ Pinia)
- 기존 기능 구현
- AI 영역 수정 기능 추가
성과:
- AI 설정 및 AI 감지 영역 조작 방식을 AI 영역 설정을 클릭으로만 지정하고 지웠다가 다시 선택해야 했으나 드래그&드롭으로 영역 수정 가능하도록 개선
- 기존에는 순서대로 클릭해야 다각형 영역이 그려졌으나, 원하는 지점을 순서 관계없이 클릭하면 다각형 영역이 그려지도록 개선
HTML5 WebViewer 마이그레이션 (2022.10 - 2022.12)
역할:
- Angular에서 Vue3로 전환
- 컴포넌트 구조 재설계 및 적용
- 기존 기능(Live, PTZ, Playback, Remote DVR 등) 구현
성과:
- 영상 타임라인 클릭 이벤트 개선 및 타임라인 로딩 속도 단축
LGU+ Emergency Bell 마이그레이션 (2022.04 - 2022.10)
역할
- Vue2에서 Vue3으로 마이그레이션
- 대시보드 기능 추가
- 기존에 만들어진 페이징 처리가 잘못되어 페이지 버튼이 두 줄로 만들어졌으나 배열 처리 개선을 통해 페이지네이션 개선
- 버그 수정
성과
- SCSS 및 REST API 개선을 통한 개발 생산성 및 데이터 로딩 속도 향상
IP 카메라(NK Series) 웹 유지보수 (2022.04 - 현재)
역할
- AI Object 영역 지정, 수정, 삭제 코드 개선
- AI 알림 이벤트 추가
- 카메라 설정 페이지 기능 확장
- 중복된 SCSS와 중복된 컴포넌트로 만들어져 있었으나 SCSS 재사용 및 중복 컴포넌트는 데이터를 받아와 데이터에 맞게 생성될 수 있도록 수정함.
- macOS의 브라우저에서 페이지 이동 시 WebSocket이 끊기는 문제를 WebSocket이 aoi 변경 시 끊긴다는 것을 알게되어 페이지 이동 직전 사용 중인 WebSocket 연결 종료 및 이동된 페이지에서 새로운 WebSocket 연결을 통해 해결하여 해결함.
성과
- 사용자 경험 개선 및 인터페이스 안정성 강화
- 유지보수 시간이 평균 2시간에서 1시간 이내로 단축
HTML5 WebViewer 유지보수 (2021.10 - 현재)
역할
- 새로운 기능 추가 및 버그 수정
- Playback 페이지에서 Timeline 기능 개선, 날짜, 기간, 시간을 조절하여 저장된 영상 재생 기능 개선
- 모든 페이지에서 channel group에 따라 분할화면이 보여지고 group 단위 이동 기능 개선
- 브라우저에 따라 영상 출력
- 브라우저별 영상 출력 및 타임라인 클릭 이벤트 버그 개선
- 클릭 이벤트 발생 시 버그 개선 등
성과
- 타임라인 초기 로딩 시간 3초 이상에서 1초 이내로 단축
교육
대한상공회의소 서울기술교육센터
사설 교육 | 자바기반 빅데이터 시각화 시스템 개발
2021.02. ~ 2021.07. | 졸업
자기소개
[자기소개]
도전을 즐깁니다.
Vue., pinia 등 새로운 기술을 배워야 할 때 거부감보다는 직접 학습하여 업무에 적용하는 것이 즐거웠습니다. 이러한 열정으로 프로젝트 경험을 쌓아왔습니다. JavaScript만으로는 해결할 수 없을 때는 방법을 찾아 C, WASM 등 필요한 기술을 학습하여 업무에 긍정적 영향을 줄 수 있었습니다.
협업에 능합니다.
함께 일하는 동료와 소통을 중요시하여 필요한 내용을 문서로 만들어 소통할 때 오해의 소지를 줄였고, 새로운 기능을 개발하면서 모든 과정을 기록으로 남겨 ʻ어떻게 문제를 해결했는지’, ʻ어느 정도 완료되었는지’ 등 상태를 알 수 있도록 공유했습니다. 기존 프로젝트에서 기능 개선을 제안할 때도 테스트 및 장단점을 정리하여 제안했습니다.
여러 업무를 동시에 처리하는 데에 어려움을 겪습니다.
한 번에 한 가지만 집중할 수 있다 보니 동시에 여러 가지를 하려고 하면, 정해진 시간 안에 끝내지 못하거나 실수하기도 합니다. 하지만 이를 극복하기 위해 업무를 체계적으로 정리하고, 우선순위를 설정하여 기한 내에 완수하며 업무의 효율성을 높였습니다.
[성장 과정]
저는 복지행정학을 전공하고 사회복지사로서 노인복지센터와 지역아동센터에서 근무하면서 프로그램을 진행함에 있어 기획부터 마무리까지 어떻게 이루어지는지에 대한 경험을 쌓았습니다. 이러한 경험은 저에게 행정 업무의 중요성을 알게 해주었습니다. 이에 따라, 전문적인 행정 역량을 강화하고자 온라인 교육 기관의 행정팀으로 이직하게 되었습니다.
온라인 교육 기관에서 근무하며 주로 사용한 LMS 시스템에서 성적 산출과 기타 기능들에 대한 불만이 쌓이게 되었고, 당시 팀장님을 통해 개선을 위한 제안을 하기도 했습니다. 하지만 돌아오는 답변은 "안 된다." 였고, 왜 안 되는지 알 수 없었기에 개발에 관심을 갖게 되었습니다. 이후 독학을 하려다 부족함을 느끼고 대한상공회의소 서울기술교육센터에서 "자바 기반 빅데이터 시각화 시스템 개발" 과정을 신청하고 수료했습니다. 수료 과정 동안 버그 발생 시 해결하는 방법, 다양한 언어의 기본 문법을 배웠고, 개인 및 팀 프로젝트를 통해 결과를 만들어냈습니다. 결과물 중 직접 팀장을 맡아 진행한 프로젝트는 팀 프로젝트 경진대회에서 우수상 수상하기도 했습니다.
현재 웹게이트에서 웹 개발자로 재직 중이며, 웹 개발, 마이그레이션 및 유지보수 등 다양한 기술적 업무를 수행하고 있습니다. 이 경험들은 저의 전문성을 더욱 향상시키고, 기술적 문제 해결 능력을 심화시켰습니다. 이러한 성장 과정은 저를 한층 성숙한 개발자로 성장시키는 데 큰 도움이 되었습니다.
[특기사항]
창의적인 아이디어를 발산하는 능력이 탁월합니다. 지역아동센터에서 근무하며 다양한 프로그램을 기획하고, 여러 지원사업에 선정되어 후원을 받아왔습니다. 이러한 경험은 제가 창의적인 개발자로 성장하는 데 큰 자양분이 되었다고 확신합니다.