미리보기
기본 정보
모든 코드가 가치있는 코드가 될 수 있도록 노력하는 iOS 개발자입니다
기술 스택
Swift, SwiftUI, iOS, GitHub, Figma, postman, combine, RxSwift
프로젝트
JMT- 우리만의 맛집리스트
개인
2023.03. ~ 2024.03.
iOS Developer / 1인 배포 (100%) 이후 2인 리팩토링 기여도 50% (온보딩, 마이페이지, 웹뷰 브릿지)
iOS 1인배포 이후 2인 리팩토링,
AND FE BE DE 각 2인
Description
네이티브와 웹뷰를 혼합한 하이브리드 앱을 출시하고 이후 웹뷰 기반으로 정의된 화면들을 네이티브 앱으로 전환하여 재배포를 진행. 또한 리팩토링간 아키텍쳐와 모듈화, Tuist를 도입하여 Git Conflict를 예방하고 빌드속도를 12% (3.3s → 2.9s) 개선.
What I Did
MVVM - C 도입으로 화면 전환 로직 중앙화
약 40 여개의 화면 전환 로직을 Coordinator에서 중앙화하여 중복되는 화면 전환 코드를 통합관리를 진행하였고, 전환을 사용하는 부분에서 단일 Coordinator를 참조하도록 개선. 이를 통해 각 ViewController의 역할과 책임을 분리하고, 코드의 일관성과 재사용성 증가.
웹뷰 연동을 통한 상태관리 응답성 향상
웹뷰 통신 방식을 JSAPI에서 evaluateJavaScript로 리팩토링을 진행하여 코드 가독성을 개선했습니다. 에러 로깅 및 웹뷰 렌더링 프로세스 모니터링 시스템을 구축하여 프론트엔드 팀과의 응답성을 높혔습니다.
모듈화
Swinject를 활용한 의존성 주입(DI) 구현으로 모듈화를 진행하여 결합도를 감소시키고, 의존성 분리를 통해 모듈별 독립적인 사용을 이끌었습니다. 이로인해, 각 Feature 간의 독립적인 개발 환경을 보장했습니다.
TechStack
UIkit(Storyboard), Alamofire, Swinject, Tuist, NMapsMap
꾸물꿈
IT 벤쳐창업 동아리 SOPT
2024.07. ~ 진행 중
iOS Developer / 기여도 40% (온보딩 / APNs + FCM / 마이페이지 / 네트워크 설계)
iOS 4인, AND DE 각 3인, BE 기획 각 2인
Description
MVVM 아키텍쳐, SOLID원칙에 의거한 코드를 구현했습니다.
개발자의 시간을 절약하기 위해 이슈, task관리, 배포 등의 작업을 자동화 했습니다.
What I Did
단기 스프린트를 위한 Mock 데이터 활용
API 호출 구조를 미리 구현하기위해 ServiceType 프로토콜을 정의하고, Mock 클래스인 MockService를 구현하여, 서버 개발이 완료이후 실제 서비스 클래스로 데이터 교체를 통해 2일간 28개의 API 연결
자동화된 상태관리 도입
상태 변화에 대한 리스너를 수동으로 관리하는 Observable 방식을 개선하기 위해 RxSwift 도입 후 하나의 스트림으로 통합하여 반복적인 패턴과 코드 통합
이미지 업로드 시간감소
Multipart/form-data와 Kingfisher를 활용하여 프로필 이미지 업로드 시스템을 최적화했습니다. RxSwift를 이용해 비동기 처리를 구현하여, 이미지 업로드 과정에서 UI 반응성을 단축. 변경된 이미지는 즉시 로컬에 반영되고 사용자는 다음 화면으로 진행할 수 있게 되어, 체감 대기 시간을 76% 단축(2.1s-> 0.5s).
포트폴리오
교육
대진대학교
대학교(학사) | 컴퓨터공학전공
2019.03. ~ 현재 | 재학 중
대외활동
Google Developers Student Clubs - DJU 챕터
Google Developers Student Club
30여명 규모의 내부 챕터에서 운영진 (Core) 활동
iOS 로드맵 작성, “개발자와 소통하려면?”, “iOS 개발을 시작하는 방법” 등의 교내 전체 세션 진행
IT 벤처창업 동아리 SOPT
SOPT
iOS파트원 대상 모듈화,Tuist 관련 미니 세미나(미미나) 진행