미리보기
기본 정보

자기소개
목적 있는 성장을 지향하는 iOS 개발자 이창준입니다.
- 애플의 개발자 컨퍼런스 WWDC를 사랑합니다.
새롭게 소개된 내용을 학습하고 진행 중인 프로젝트의 어떤 부분을 개선할 수 있을지 고민하면서 즐거움을 느낍니다.
개발 환경 상 직접 적용하지 못하는 기술인 경우에도, 해당 기술이 왜 도입 되었는지를 고민해보고 기존 자원을 활용해 유사하게 적용해보고자 노력합니다. - 좋은 개발자란 무엇인지에 대해 고민합니다.
단순히 잘 하는 개발자가 아닌 좋은 개발자가 되고자 끊임없이 고찰하고 노력합니다. 다양한 동료들과 네트워킹하며 함께하고 싶은 개발자들은 어떤 특징이 있는 지에 대해 고민을 해왔습니다.
최근에 정의한 좋은 개발자는 “말을 걸 때 걸림돌이 없는 개발자” 입니다.
기술 스택
Swift, iOS, Git, github-actions, Slack, Figma, JIRA
프로젝트
MusicSpot
네이버 커넥트재단 부스트캠프 웹・모바일
2023.11. ~ 2023.12.
여정동안 사진과 음악을 남기고 이를 지도에서 확인하는 앱 (App Store)
iOS - iOS 3 / BE 1
- 각 레이어를 강제적으로 분리하여 레이어 기반의 설계 능력 향상을 위한 Modular Architecture 사용
- 이전에 느끼지 못했던 Domain 레이어의 필요성을 체감하고 모듈간 연결에 있어서 다양한 트러블 슈팅 경험
- Swift Package Manager를 사용한 모듈 관리로 xcodeproj 파일의 어려운 컨플릭트 해소 문제 해결
- 데모 앱 프로젝트 활용으로 해당 화면에만 집중 가능한 개발 환경 구축
- 아키텍처와 패턴 채택 고민과 끊임없는 의심
- Clean Architecture를 따르되 각 레이어의 필요성과 적절한 형태에 대한 고민
- 강제된 Coordinator 패턴 사용에 따른 고민
- 다른 팀원의 작업물에 대한 의존성을 끊기 위한 추상화의 적극 활용
- 추상화를 위한 프로토콜 설계를 먼저 진행하고 공유함으로써 팀원의 작업물에 대한 의존성을 제거
- 프로토콜을 채택하는 Mock 객체를 사용함으로써 테스트에 대한 용이성 확보
- *XCTest를 사용한 Unit Test와 효율적인 CI를 위한 고민*
- 짧은 기간에 따라 동시다발적이고 자주 일어나는 Merge 작업에 대한 안정성 확보
- GitHub Action의 matrix 기능을 활용해 프로젝트의 모듈 구조에 맞는 CI 환경 구축
페이버 - Favor
인천대학교 앱센터
2023.01. ~ 2023.07.
주고받은 선물과 그때의 감정을 기록하는 선물 기록 앱 (App Store)
iOS, 팀장 - iOS 2 / Android 2 / BE 2 / 디자인 1
- iOS 팀원과의 ViewModel 형식을 통일하고 원활한 데이터 스트림 파악을 위해 ReactorKit 도입
- 진행 도중 RxSwift와 서드파티 라이브러리의 단점을 체감
- 무분별했던 Rx의 사용을 줄이고, 퍼스트파티 API 위주의 활용으로 앱 전반적인 퍼포먼스 향상
- 느린 서버 응답과 데이터 동기화의 어려움을 해결하기 위해 Fetcher 패턴 적용
- 개인 서버를 활용해 불안정했던 서버를 보완하기 위해 로컬에 데이터를 저장하는 RealmSwift 활용
- 데이터를 동기화하는 동안 발생하는 애니메이션 버그를 수정하기 위해 Swift Concurrency와 RxSwift를 활용한 멀티스레딩 도입
- 리스트형 앱 디자인에 맞춘 ComposerKit 라이브러리 개발 및 적용
- 모든 Scene에 포함된 컴포넌트의 관리 방법이 천차만별이던 기존의 구조를 일관적인 구조로 체계화
- AutoLayout 대신 CompositionalLayout을 활용해 DSL과 유사한 구조를 사용하여 새로운 화면의 개발 시간을 평균 일주일에서 2~3일로 단축
포트폴리오
교육
네이버 커넥트재단 부스트캠프 웹・모바일
사설 교육 | 8기 iOS
2023.07. ~ 2023.12. | 졸업
인천대학교
대학교(학사) | 임베디드시스템공학과
2015.03. ~ 2023.08. | 졸업
외국어
영어
일상 회화 가능