미리보기
기본 정보

안녕하세요. 제너럴리스트(Generalist)를 추구하며, 함께 가치를 만들어 나가는 개발자 이성우입니다.
기술 스택
React, Next.js, JavaScript, TypeScript, Django, Python, Flutter, dart
경력
(주)짠컴퍼니
사원 | 개발팀
2022.01. ~ 2023.05. (1년 5개월)
Server 개발
- 프로젝트 기획 참여 및 API 설계
- (Admin) python 및 FFmpeg 을 이용하여 S3 이미지 업로더 개발
- Elasticsearch nori tokenizer를 이용하여 노래방 리스트 검색 개발
- 커뮤니티 기능 개발 참여
- 친구 DB 설계, 친구 추가 및 삭제 API 개발, 유저 프로필 이미지 업로드 API 개발
- 푸시 알림 기능 개발 참여
- 기획, DB 설계, Firebase Cloud Messaging을 이용한 API 개발
App 개발
- Figma 기반 UI 작업
- Firebase Messaging Plugin for Flutter와 Firebase Cloud Messaging을 이용한 푸시 알림 개발 및 고도화
- GA log 수집을 위한 UI Component 리팩토링
- 파티 상세 페이지 개발
- 파티 설정, 이미지 및 비디오 업로더, 참여자 제한 등
- 앱 시작 로직 개발
- 팝업, 알림 및 트래킹 권한 동의 개발, sharedPreference service 공용화 등
- 앱 초대 코드 및 인앱 리뷰 개발
- 스토어, 크레딧, 리워드 개발 참여
- 버그 리포트 대응
데이터 분석
- 주로 IR용 데이터 분석 및 시각화 작업 진행
- 로그 수집 로직 개선 개발 참여 - python logger를 이용하여 session 유지 시간 등 유의미한 데이터 수집
- Google Analytics 도입 및 AB180(AirBridge)사와 협업 진행
프로젝트
모바일 청첩장
개인
2023.12. ~ 2023.12.
기존의 따분한 모바일 청첩장이 마음에 들지 않아 직접 만들어본 다이나믹한 모바일 청첩장!
- React, tailwindcss 등을 사용하여 UI 제작
- 초기 기능 정의 및 화면 기획 (넓은 연령대를 커버하기 위해 직관적인 라우팅 기획)
- 동적인 라우팅을 위해 현재 위치를 즉시 시각적으로 알려주는 Nav-Tab 개발
- 카카오톡 공유기능 및 안정적인 CSS 적용을 위한 KakaoInAppBrowserDetector 도입
- 메인사진 로드 시 먼저 불러온 사진을 미리 보여주고, 나머지 로딩 중 토스트 적용 (UX개선)
- Tanstack Query를 사용하여 Data Fetching 로직 단순화 및 Side Effect 제거
- Firebase Firestore 및 Storage 서비스를 이용하여 방명록 기능 개발 및 정적 이미지 서빙 [포스팅]
- Firebase Hosting 서비스를 이용하여 배포
- https://wedding-invitation-240203.web.app/Home
- https://github.com/Lukaid-dev/mobile-wedding-invitation-240203
BaekjoonRooms
네이버 부스트캠프 웹 15조
2023.11. ~ 진행 중
함께푸는 코딩경쟁 플랫폼 “BaekjoonRooms 개발”
- React를 이용한 콘테스트 스타일의 멀티플레이어 방 생성
- BOJ의 서드파티로써의 서비스 기획 및 UI 기획
- 사용자의 BOJ 트래픽을 트래킹하여 제출 여부를 파악하기 위해 Chrome Extension 도입
- 방 참가시 Extension활성화 및 BOJ에서 문제 제출 시 제출 결과 페이지의 URL을 백준룸즈 서버에 전송
- 함께푸는 코딩경쟁을 위한 실시간 채팅 기능 및 랭킹 기능을 위해 Socket.IO 도입
- 상태관리 구조 설계
- Context API : Context API의 Provider와 Consumer를 이용하여, 컴포넌트 단위로 필요한 상태를 주입
- Tanstack Query : 같은 응답이 예상되는 반복 쿼리에 사용하기 위해 tanstack query를 도입
- 상태관리 구조 한계 및 개선점
- 한계 1 : Context API 사용 시 원치않는 리렌더링의 방지가 매우 어려움
- 한계 2 : 서비스의 특성상 유저 정보(AuthContext)에서 라우팅 정보도 관리해야 하므로, 상태가 무거워지고 불필요한 라우팅이 발생함
- 개선 1 : 상태관리 도구로써, Context API는 부적절 하다는 것을 파악하고 Zustand 도입 중 (ver.1)
- 개선 2 : 클라이언트와 서버 상태를 기획부터 명확하게 분리하여, Tanstack Query의 setQueryData를 이용해 서버에서 관리되어야 하는 상태들 분리 (ver.1)
- https://baekjoonrooms.com/intro
- https://github.com/boostcampwm2023/web15-BaekjoonRooms
4Hours
사이드 프로젝트 팀
2023.02. ~ 2023.08.
사이드 팀 프로젝트, 4시간에 한번 기분을 공유하는 일기 앱
- Django & Docker 를 이용한 서버 및 어드민 개발
- Flutter 를 이용한 App 개발
- 초기 기능 정의 및 기획
- 한대의 로컬 pc에서 서비스 배포 및 개발 서버 구동을 위해 port 분리, Dockerizing 및 서비스 분할
- 효율적인 배포 및 개발 환경 구성을 위해 자주 쓰이는 명령어 집합을 sh파일로 분리
- 핵심 서비스인 포스팅 및 post 블러 처리를 위해, post CRUD 개발 및 OpenAI 서비스 도입
- Firebase Auth를 이용하여, Google과 Apple 소셜로그인 도입
- Django와 DRF의 Authentication middleware를 이용하여 효율적인 세션관리
- 스케줄러를 이용하여 fake post 생성 및 post 블러 작업 처리
- https://github.com/Billionaire-Project
포트폴리오
URL
교육
네이버 부스트캠프
사설 교육 | 웹
2023.08. ~ 2023.12. | 졸업
한국항공대 일반대학원
대학원(석사) | 물류전공
2021.03. ~ 2021.08. | 중퇴
한국항공대
대학교(학사) | 항공물류
2014.03. ~ 2021.02. | 졸업
자기소개
**제너럴리스트(Generalist)**를 추구하며, 함께 가치를 만들어 나가는 개발자 이성우입니다.
- 2년차 개발자로, 스타트업에서 웹과 앱 서비스를 개발했습니다.
- api, ui, 어드민, 데이터분석 등 서비스에 필요한 기술적 지원은 요청이 없어도 먼저 나서서 기여하였습니다.
- 개발과 커뮤니케이션 능력 향상에 관심이 많아, 네이버 부스트캠프에 참여하여 더 좋은 개발자에 대해 고민하였습니다.
- 어떤 프로젝트를 진행하더라도 먼저 나서서 소통하고, 문제를 해결하기 위해 노력하고, 팀원들의 의견을 존중하며, 팀원들 간의 소통을 돕고, 팀원들을 이끌어 나갈 수 있는 개발자가 되기 위해 노력하고 있습니다.
- 파이썬을 사용하여 개발의 큰 즐거움을 느꼈고, 업무 수행에 필요한 스킬로 플러터, 리액트 등을 학습했습니다.
- 앞으로도 계속해서 새로운 것들을 배우고 다양한 사람들과 소통하며 성장하여, 언제나 도움이 되는 개발자가 되고자 합니다.