안녕하세요.
프로그래밍을 좋아하여 노트북만 펼칠 수 있다면 언제 어디서라도 코드를 짜는 개발자 이성재라고 합니다. 제가 작성한 프로그램으로 사람들의 일상이 더욱 즐겁고 편리해지길 바라며 개발하고 있습니다.
개발하면서 막히는 부분이 생기면 수단을 가리지 않고 해결하기 위해 노력합니다. 인터넷 검색을 시작으로, 동료분이나 StackOverflow에 질문하는 등 주어진 상황에서 최선의 해결책을 찾기 위해 노력합니다. 또한 문제를 해결해나간 뒤 기록할만한 케이스는 정리하여 차후 유사 케이스에 참고할 수 있도록 하고 있습니다.
새로운 스택을 도입하는 것에 신중하지만 도입하기로 결정이 나면 거침없이 파고들어 다양한 방면으로 활용할 수 있게 합니다. 라이브러리가 필요하다면 적극적으로 도입하지만 모든 것을 맡기는 것은 지양하고 있습니다. 상황에 맞게 능동적으로 대처해나갈 수 있는 사람이 되고자 노력하고 있습니다.
연락처 및 외부 링크
경력
(주)서울벤처스
2020.04~2023.09
개발자
AI 기반 상품 추천, 이미지 최적화 등의 각종 쇼핑몰 대상 솔루션 제공사
- 사내에서 사용할 페이스북/인스타그램/네이버 검색 광고 통합 리포팅 시스템을 개발하였습니다.
- Vue.js 기반의 SPA에 Redis를 도입하여 로딩 시간을 개선했고, 원본 파일을 S3에 저장하여 향후 데이터 정합성을 검증할 수 있도록 하였습니다. 또한 데이터 처리를 용이하게 할 수 있도록 MongoDB 기반으로 구축하면서도 MongoSQLd를 도입하여 데이터 엔지니어분의 개발 편의성을 고려하였습니다.
- 기존 존재하던 Phalcon 및 JS 기반의 레거시 코드를 개선하여 가독성을 높이고 TypeScript를 도입하여 향후 코드 개선을 용이하도록 하였습니다.
- 쇼핑몰 내 이미지 캐싱 및 최적화 솔루션을 개발하였습니다.
- ServiceWorker를 이용하여 기존 존재하던 쇼핑몰들의 이미지 캐싱 및 최적화를 복잡한 구성 없이 도입할 수 있도록 하였습니다.
- Cloudfront Lambda@Edge, SQS 등을 이용하여 이미지 최적화를 Serverless로 구성하였습니다.
- 기기별 프로필에 따라 이미지 최적화 방식에 차등을 두어 기기별로 가장 최적화된 환경을 제공할 수 있도록 하였습니다.
- 모듈형 서비스의 기반 플랫폼을 개발하였습니다.
- Laravel와 Vue를 이용하여 관리자 페이지를 구축하고, Nest.js와 Svelte를 통하여 고객사 사이트에서 동작할 웹 컴포넌트 시스템을 구축하였습니다.
- ECS 및 CodeDeploy, CI/CD 도입을 통하여 자동 배포 및 무중단 배포 환경을 구축하였습니다.
- New Relic 등을 도입하여 프로덕션 환경에서의 오류 파악 및 해결을 용이하도록 하였습니다.
- MSA 방식의 시스템을 구축하였습니다.
- API Gateway 및 ECS를 통하여 각 서비스 API로 하나의 진입점을 통해 접근 할 수 있도록 하였습니다.
- Auth0를 도입하고, Custom Authorizer를 구현하였습니다.
- 리소스 및 액션별로 컨트롤 가능한 ACL을 구현하였습니다.
- 개발 문화를 만들었습니다.
- 기존에는 FTP로 배포하고, 코딩 스타일 규약도 정해지지 않았고, PR 없이 직접 master로 push 하는 등 아무런 규칙이 없었습니다.
- 입사 이후 CI/CD를 이용한 배포, Lint를 통한 코딩 스타일 규약 확립, master 직접 push 금지 및 PR 리뷰 문화 도입 등 다양한 문화를 만들어나갔습니다.
- 이후 회사 전반적으로 코드 퀄리티가 좋아졌고, 이러한 문화를 만들어나가며 팀원들과 적극적으로 소통함을 통해 자연스럽게 협업하기 좋은 분위기를 만들었습니다.
- 대용량 트래픽 처리를 경험하였습니다.
- 기존 존재하던 인프라 중 쇼핑몰 사용자의 활동을 분석하기 위해 이를 수집하는 인프라가 있었습니다.
- 이를 적극적으로 유지보수 하고, 비용 절감을 이루어냈으며 서비스 중단 없이 인프라 구조의 개선을 진행했습니다.
경험
국내 유일 간편 결제 지원 오락실 “아케이즘” 운영 (2023.01~2023.12)
국내 유일로 설치된 모든 게임기에서 카드 결제, 간편 결제(페이류 등), NFC 결제(Apple Pay 포함)을 지원했던 오락실 “아케이즘”(전 “호토스테이션”)을 운영하였습니다.
- 각종 인프라 및 시스템을 직접 구축하였으며, 이 과정에서 다양한 VAN사와의 계약, 연동 과정을 직접 진행하였습니다.
- Golang으로 작성된 소프트웨어 한개로 다양한 VAN사를 지원하는 Multi-VAN 환경을 구축하였으며, 단말기를 변경해도 VAN사만 같으면 동작할 수 있도록 VAN사 표준을 지켜 구현하였습니다.
- 게임을 녹화할 수 있는 컴퓨터에 동시에 설치되어야 했기 때문에, 성능 문제 발생을 미연에 방지하고자 경량화를 진행했고 자체 측정 결과 최대 메모리 사용량이 20MB를 넘기지 않을 정도로 경량화에 성공하였습니다.
당시 사용했던 한 단말기의 사진
인터넷 정보 공유 사이트인 “리브레 위키”의 개발팀에 참여하고 있습니다.
- 기존에 있던 미디어위키 기반 레이아웃(gitlab.com/librewiki/Liberty-MW-Skin)의 코드를 개선하고, 하드코딩 되어있던 부분들을 설정할 수 있도록 변경하여 코드 퀄리티와 재사용성을 크게 높였습니다.
- 리브레 위키에서 맞춤법 등을 자동으로 편집해주는 봇을 개발하여 전반적인 문서 퀄리티를 개선하고 요청에 따른 찾아 바꾸기 가동을 통하여 다른 사용자들의 편집 편의성을 증대하였습니다.
2022년 04월 리브레 위키 화면
미국에 기반을 두고 IP와 ASN을 자체 확보하여 네트워크를 구축하는 프로젝트를 진행하고 있습니다.
- 다양한 IXP에 연동함과 동시에 특정 통신사들과 Transit 계약을 맺어 글로벌 네트워크를 구축하였습니다.
- FRR/Bird를 이용하여 BGP Community 등을 통해 라우팅을 조정하였고, 이를 통해 레이턴시를 개선하였습니다.
- Anycast를 통한 글로벌 DNS(onedns.cc, 현재 Anycast는 베타 진행 중) 레이턴시 개선을 진행하였습니다.
2022년 04월 IPv4 라우팅 맵
한국어 위키백과의 역사가 담긴 대문을 대체하는, 한국어 위키백과의 변화와 혁신의 메시지를 담은 새로운 대문을 개발하였습니다.
- 기존 위키백과 레이아웃과 크게 어긋나지 않도록 하면서 위키백과에서 사용하는 틀과 같은 내부 리소스를 사용해달라는 요청에 따라 개발하였습니다.
- 요구사항에 따라 IE/Safari 등 브라우저 하위 호환성을 고려하며 개발하였습니다.
개선된 대문
오픈소스 기여
그 외 경험
- (주)메이티에서 현장실습을 진행하였습니다. (2018.09~2019.03)
- NFC 기반의 사용자 인증 카드를 에뮬레이팅하는 Android 앱을 개발하였습니다. (비공개 프로젝트)