미리보기
기본 정보
시간과 장소에 구애받지 않고 자기계발과 그 노력에 따라 본인의 가치를 상승시킬 수 있는 개발 직군이 매력적으로 다가왔습니다. 주어진 업무에 빠르게 적응하고 소통하며, 회사와 팀에 도움이 되는 사람이 되겠습니다.
기술 스택
Swift, MVVM, iOS, GitHub, Notion, Slack
프로젝트
먹부림 (MukBuRim) - Muk
개인
2023.03. ~ 2023.07.
일상 & 맛집을 한 번에 기록하는 다이어리
- UIKit, MVVM 아키텍처 사용
- 개인 프로젝트 (기획, 디자인, 개발, 출시)
- 약 6000줄의 코드로 구현
활용기술
- Snapkit - 코드로 UI 개발
- 직접 만든 커스텀 탭바
- Realm, FileManager - 데이터 및 이미지의 데이터베이스 (CRUD)
- MapKit - 지도와 어노테이션(핀)을 활용해 추억들을 지도상에 표시
- CoreLocation - 사용자의 위치를 파악하여 Kakao API로 좌표 쿼리 요청
- Kakao API - 주소 검색, 좌표로 주소 변환, 키워드 검색 등
- CollectionView - DiffableDataSource, SnapShot으로 셀 생성 및 데이터 관리
- PhotosUI, SafariService, MessageUI
자세한 소개 및 트러블 슈팅
Simple Weather - SW
개인
2022.11. ~ 2022.12.
내 손안의 작은 날씨 앱
- UIKit, MVC 아키텍처 사용
- 첫 번째 출시한 개인 프로젝트 (기획, 디자인, 개발, 출시)
활용기술
- Snapkit - 코드로 UI 개발
- Realm - 데이터베이스 (CRUD)
- WeatherKit, OpenWeatherMap API - 날씨 정보 요청
- 콜렉션뷰에서 CompositionalLayout를 통해 원하는 레이아웃 구성
- 새로 도입 된, async/await을 통한 비동기 처리
- 좌우 스와이프를 통해 메뉴창 보기
자세한 소개 및 트러블 슈팅
포트폴리오
교육
한국교통대학교
대학교(학사) | 항공.기계 설계 학과
2010.03. ~ 2016.02. | 졸업
자기소개
개발자가 되기 위한 여정
대학 졸업 후, 해외에 대한 막연한 기대감과 함께 호주로 떠난 여정은 제 인생에 결정적인 전환점이 되었습니다. 오직 100만 원과 함께 시작한 이 여행은 처음엔 막막하고 걱정됐지만, 새로운 환경에서의 끊임없는 도전은 제게 다양한 경험을 제공했고, 이는 제가 개발 분야의 새로운 도전을 시작하는데 큰 자신감을 주었습니다. 이제 저는 이 5년간의 여정을 마무리하고, 개발자로서 새로운 탐험을 시작하려 합니다.
iOS 개발자로서 여정의 시작은 ‘Simple Weather’와 ‘먹부림(Muk)’이라는 개인 프로젝트로 시작되었습니다. 이 프로젝트들에서 기획부터 배포까지의 전 과정을 직접 수행하며, 앱 개발의 전반적인 단계를 경험해 봤습니다. 특히, ‘Simple Weather’는 직관적인 디자인과 정확한 날씨 정보 제공을 목표로 했으며, ‘먹부림(Muk)’에서는 사용자 친화적인 UI를 제공하기 위해 탭바 모양을 직접 구현해 봤습니다. 이 과정에서 MVC와 MVVM 패턴의 차이점 및 사용법을 이해했고 SnapKit과 Realm, FileManager를 사용하며, UI와 데이터베이스에 대한 이해를 얻었습니다.
이 프로젝트들을 통해 끊임없이 새로운 기술들을 배우고 적용하는 것이 얼마나 중요한지 깨달았습니다. 문제를 해결하는 트러블 슈팅 과정에서 제 개발 능력은 한층 더 성장했으며, 이는 제가 미래에 직면할 도전들을 해결하는 데 필수적인 자산이 될 것입니다.
기록의 중요성
처음에 iOS 개발 공부를 시작하면서 방대한 양의 기술에 놀랐습니다. 놀랐던 만큼이나 문제도 존재했는데, 전에 배운 내용을 잊어버리는 일도 부지기수였고 까먹은 내용을 다시 검색하고 공부해야 돼서 많은 시간을 소비했었습니다. 저는 이러한 문제점을 해결하기 위해 기록을 시작하게 됐습니다.
일단, 개발을 조금 더 효율적으로 하기 위해 새로운 기술을 습득하면 Notion에 간단히 코드 및 사용법을 정리하고 있으며, 그리고 지식은 다른 사람에게 설명하고 이해시킬 때, 비로소 완성된다고 생각하여 터득한 내용 및 트러블 슈팅을 정리하여 기술 블로그에 업데이트하고 있습니다.
블로그 작성에 많은 시간을 소비하여 걱정됐지만, 공부한 내용을 다른 사람들에게 이해시키기 위해 조금 더 깊게 공부하고 복습하면서 실력도 늘고 점점 익숙해지고 있습니다. 현재 블로그에서 주간 1500명 정도와 공부한 기록을 공유하고 있으며, 새로운 기술을 배울 때마다 블로그도 계속 작성할 계획입니다.
개발자가 되기 위한 과정
📱 앨런 MVVM 아키텍처 이론 & 예제
2023. 08 - 2023. 09
이미 MVVM에 대해 학습 했었지만, 프로젝트에 적용할 때 이해가 안되는 부분이 많아 다시 학습하게 됐습니다.
먼저, 코드의 의존성(결합도)을 줄여 유연한 코드를 만들기 위해, 의존성 주입(DI) 개념에 대해에 대해 조금 더 깊게 학습했습니다. 그리고 이 강의를 듣기 전, MVC 예제를 먼저 직접 MVVM 패턴으로 바꿔본 후, 강의 내용과 비교 하면서 공부를 진행 해봤습니다.
📱 MVVM Design Pattern Using Swift in iOS
2023. 01 - 2023. 02
MVVM 디자인 패턴의 적용 방법 및 왜 역할을 분리시켜 만드는지에 관한 내용을 학습했습니다.
또한, 바인딩을 통해 ViewModel과 View 사이의 데이터 흐름을 처리하는 방법 및 View와 Model 간의 의존성을 낮추어 독립적으로 유닛 테스트하는 방법을 학습했습니다.
📱 Angela Yu - iOS App Development Bootcamp
2022. 11 - 2023. 01
이 과정에서 다양한 앱을 만들며 iOS 앱의 동작 방식을 이해할 수 있었습니다.
강의 내용 중 일부는 오래된 코드를 사용하고 있어, 수정이 필요한 경우가 있었습니다. 이러한 과정을 통해 검색 능력 및 활용 능력을 향상시킬 수 있는 기회가 되었습니다.
이를 통해, 개발자로서 필요한 문제 해결 능력을 기르고, 활용할 수 있는 기술을 습득하였습니다.
📖 앨런 Swift 문법 마스터 스쿨 (BootCamp) 13기 수료
2022. 08 - 2022. 11
iOS 개발자가 되기 앞서 기본이 중요하다고 생각하여 BootCamp을 통해 Swift 문법 공부를 하였습니다.
BootCamp에서는 11주 동안 아래와 같은 내용을 학습하였습니다.
- 1 주차: 변수, 상수, 조건문, 반복문 등 논리를 구성하는 방법을 학습
- 2 주차: 함수의 메모리 구조 및 옵셔널 타입의 개념, 컬렉션의 종류, 열거형 학습
- 3 주차: 배운 것을 토대로 간단한 앱 제작 (주사위 게임, 가위바위보 게임, 랜덤 빙고)
- 4 주차: 클래스와 구조체의 차이, 메모리 구조, 상속과 타입 캐스팅, 프로퍼티와 메서드 학습
- 5 주차: 클로저의 메모리 구조 및 사용법, 익스텐션, 프로토콜, 고차함수 학습
- 6 주차: 메모리 관리(ARC), 동시성 프로그래밍 및 에러 처리, 네트워크 통신 학습
- 7 주차: 제네릭 문법 및 접근 제어, Result 타입의 활용 학습
- 8-11 주차: 15개의 앱 만들기 실습 (MVC 디자인 패턴, Life Cycle, 커스텀 델리게이트 패턴, 화면 이동, 코어데이터, 네트워킹)
또한, 매주 3명의 팀원과 스터디를 통해 BootCamp에서 배운 내용을 설명하는 시간을 가졌습니다.
이를 통해 Swift를 효과적으로 이해하고 구현하는 능력을 키웠습니다.