본문 바로가기
💻 Programming 개발/🍎 iOS 개발, Swift

2편 - iOS 앱을 2개 출시하고 나서 돌아본 10개월간의 iOS 개발 공부 방법(2022) - 새싹 부트캠프, 개인앱 출시, 연합동아리 UMC, 사이드프로젝트, 코딩테스트, 부트캠프 소개

by 킴디 kimdee 2023. 7. 31.
반응형

처음 공부 시작, 독학 방법, 인강 및 책, 문서 추천 등을 다룬 첫번째 편은 아래 링크입니다. 

 

 

iOS 앱을 2개 출시하고 나서 돌아본 10개월간의 iOS 개발 공부 방법(2022) - 1.독학, 개인프로젝트, 책

0. 제 소개 저는 일러스트레이터와 디자이너로 일을 하다가 2022년, 올해 2월부터 iOS 공부를 시작해서 현재는 연극과 뮤지컬 후기를 쓰는 ‘연뮤로그’와 주둔군과 한국군인을 위한 약어 및 용어

kimdee.tistory.com



6. 부트캠프 참여

7월부터 12월까지 새싹 iOS 메모리스 2기

얼마전에 수료식을 마쳤습니다. 수료식을 다녀오고 얼마나 벅찼는지 몰라요.

혼자 공부하면서 가장 힘들었던 건, 뭘 모르는지조차 모른다는 점이었습니다.
새싹 과정에서는 iOS 개발자로서의 로드맵을 하나하나 차근차근 제대로 밟아갈 수 있도록 지도해주시고, 제대로 학습할 수 있는 여러가지 여건을 만들어주셔서 고민없이 행복하게 iOS 개발공부를 할 수 있었습니다.

부트캠프 기간 공부 방법

이 때는 Notion을 이용해서 학습노트를 만들고, 공부한 내용의 키워드를 추출해서 태그로 만들어 이후에도 복습을 편하게 할 수 있도록 만들었습니다.

노션으로 정리한 공부노트

푸시를 깜박할 때도 많았지만, 공부한 프로젝트 중 일부는 깃허브로 이렇게 올렸습니다. 공부한 내용을 보면서 멘토님들이 코드리뷰를 해주시기도 하고… 정말 너무 좋았어요!

 

저의 깃허브 잔디 기록

 

부트캠프 중에 진행한 프로젝트들

 

GitHub - heydoy/memo-project-ios: 🍎 Memo iOS app 📝 | for studying

🍎 Memo iOS app 📝 | for studying. Contribute to heydoy/memo-project-ios development by creating an account on GitHub.

github.com

 
UserDefaults로 첫 사용 여부 확인하여 워크스루 팝업 보여주기, Realm 데이터베이스를 이용한 메모 저장, 편집, 삭제 기능, AttributedString을 이용하여 검색어를 강조한 검색결과 보여주기를 구현하였습니다.
 
과제 제출 이후에 기존 테이블 뷰 레이아웃을 콜렉션 뷰의 Compositional LayoutDiffable Datasource를 이용하여 업데이트 하였습니다.

 

2) 한미연합사전 (8월 출시)

처음으로 앱을 출시했습니다. 현재 통역장교로 근무하고 있는 기획자와 함께 국방데이터 활용 경진대회에 참여할 겸, 앱을 출시하고 싶다는 마음에 최대한 간단한 기능을 기반으로 만들었습니다.

https://kimdee.netlify.app/blog/%ED%95%9C%EB%AF%B8%EC%97%B0%ED%95%A9%EC%82%AC%EC%A0%84-%EC%B2%AB-ios-%EC%95%B1-%EC%B6%9C%EC%8B%9C-%ED%9B%84%EA%B8%B0-1/

 

한미연합사전 - 첫 iOS 앱 출시 후기

어떻게든 만들어지고 돌아간다는 게 신기했던 경험

kimdee.netlify.app

 

Storyboard 기반 UI, Python, Numpy, Pandas를 이용해 3만개의 단어 데이터 전처리, UserDefaults를 이용해 검색 히스토리와 즐겨찾기 단어 추가, 클립보드 복사기능을 만들었습니다.
 
약 1주일간의 작업기간을 가졌는데요. 제일 힘들었던 건 CSV 파일 데이터의 전처리였습니다. 국방용어라고 했던 단어들 중에는 데이터가 없거나 업데이트가 안된 부분이 있어서 어떤 식으로 기능을 가져가고 어떤 데이터를 걸러야하는지에 대한 기준을 잡기가 어려웠고요. 그 때문에 전처리가 약 5일 정도 걸렸습니다.
 
이후에 Swift를 이용한 실 iOS 개발과 앱 심사까지 약 이틀 정도 시간을 쏟았습니다.

 

2) 연뮤로그 (10월 출시)

https://doy.oopy.io/9b7be191-2159-480f-aa66-935928db5870

 

연뮤로그 - 연극,뮤지컬을 보고 기록합니다.

by 김도이

doy.oopy.io

기획, 디자인, 개발을 모두 직접 했던 프로젝트입니다. 기획을 빼고 실제로 약 3주간 개발을 거쳐 출시할 수 있었습니다. 이 때 새싹 과정에서 출시에 필요한 내용들 위주로 강의를 해주시고, 기획서를 보시고 구현가능성이나 추가적으로 구현하면 좋을 부분들을 피드백해주셨어요.
 
연뮤로그는 Snapkit을 이용한 코드기반 UI, 커스텀 View와 ViewController, MVC 아키텍처, Alamofire를 통한 Open API 통신, XML 파싱, Realm을 이용한 CRUD 및 필터링, Lottie를 이용한 로딩 애니메이션, FCMFirebase Cloud Messaging을 이용해 Push Notification 구현, UserDefaults로 앱 첫 사용자에게만 온보딩 스크린을 보여주도록 만들었습니다.
 
기획과 디자인, 맘먹은 만큼 진행되지 않는 개발에 속상해하고 있었는데 그런 속상한 마음까지도 멘토님이 공감해주시고 개발 방향을 제시해주셔서 큰 도움이 되었습니다.
 
아래에는 그 좌충우돌의 여정을 적어놓았어요.
 

https://kimdee.netlify.app/blog/%EC%97%B0%EB%AE%A4%EB%A1%9C%EA%B7%B8-%EA%B0%9C%EB%B0%9C%EA%B8%B0-1-%EA%B8%B0%ED%9A%8D%EA%B3%BC-%EB%94%94%EC%9E%90%EC%9D%B8/

 

연뮤로그 개발기 - 1. 기획과 디자인

출시 프로젝트를 직접 기획하고 디자인해보기

kimdee.netlify.app

아직 개발과 관련된 회고글을 블로그에 올리지는 못했습니다. 포트폴리오에는 개발내용과 트러블 슈팅을 적어두었는데 막상 블로그를 쓰려니 업데이트도 좀 더 하고 올리자 싶어서 자꾸 미루게 되네요. 블로그에도 곧 개발 관련 회고글을 올리겠습니다. (참, 현재 업데이트는 1.1.16까지 업데이트 하였습니다. )

 

3) 새싹 스터디

디자인과 기획, 서버를 메모리스에서 지원해주셨습니다. 실제 상용 서비스 레벨의 프로젝트를 해볼 수 있게 해주셨는데요. 이 스케일에 너무 놀랐어요.
 
Confluence, Figma, Rest API, WebSocket 을 체험해볼 수 있었습니다. 저는 중간에 취준+코테 준비로 약 2주간 쉬었다가 수료식 이후에 프로젝트를 이어 진행하기 시작했습니다. 수료식이 끝난 이후에도 교육생들이 공부를 이어갈 수 있게 계속 서버와 Confluence를 열어주고 계셔서, 너무 감사해하며 코드를 작성하고 있습니다.
 
11월부터 진행된 프로젝트였는데요.
 
교육생들마다 같은 기획을 다른 방식으로 구현을 했다보니 서로 기술적으로 인사이트를 공유할 수 있어서 좋았습니다. 저의 경우
 
Snapkit을 이용한 코드 기반 UI
MVVM 아키텍처
RxSwift, RxCocoa를 이용한 Reactive Programming
Alamofire, URLRequestConvertible을 이용해 네트워크 통신
Socket.IO를 이용한 실시간 채팅 구현
등을 해볼 수 있었습니다.

 

7. 앱 개발 연합동아리 UMC 활동

3월부터 8월까지 UMC 2기 iOS 파트

Udemy에 올려진 강의를 보고 워크북을 작성해가며 스터디를 했습니다. 총 10주간 진행했고 인스타그램 클론앱을 만들었습니다. iOS 파트분들과 워크북 작성을 인증하고 공부한 내용 중 어려웠던 부분을 서로 디스코드로 공유하는 시간을 주 1회 가졌습니다.
 

9월부터 현재까지 UMC 3기 iOS 파트 리드

현재 3기 iOS 파트 리드로 활동하고 있는데요.
UMC 동아리 면접, OT 진행 및 스터디를 했습니다.
 
지난 기수보다 더 스터디 기준이 깐깐해졌는데요.
더욱 볼륨이 풍성해진 워크북, 매주 진행하는 스탠다드미션과 챌린지 미션과제, 실시간 Zoom으로만 강의를 들을 수 있게 바뀌었습니다.
 
워크북에 키워드들을 채우고, 미션과제를 코드로 작성하고, 매주마다 베스트 미션 수행자를 뽑으면 멘토님이 다음 수업에서 피드백을 해주셨습니다.

 

테클: 7~8월 동안 앱개발 프로젝트

https://github.com/We-Are-Techl/Techl-iOS

 
기획과 디자인과 개발이 거의 동시에 이루어졌기 때문에 실 개발기간은 너무 촉박했어요.
 
이 때는 Jwt Token을 이용하여 인증, AlamofireCodable을 이용한 네트워크 통신, Twilio API를 통한 SMS 인증 구현, 정규식을 이용하여 회원가입, 로그인 유효성 검사, Naver Search API를 이용한 책 검색 구현, 테이블 뷰 안에 콜렉션 뷰 임베딩 등 다양한 시도들을 해볼 수 있었습니다.
이 때 Reactive Programming을 알았다면 좋았을 걸 하는 생각을 많이 했습니다. 유효성 검사를 할 때 안내문구를 텍스트필드에 일일히 delegate를 이용해 처리해주었는데 정말 손이 많이 갔거든요. 덕분에 RxSwift 를 해볼 때 더 재밌게 해볼 수 있었습니다.
 
 

8. 틈틈이 했던 활동들

 

GitHub - heydoy/GoodDeedMap: 🍎 Leave your good deeds on maps, ⌜좋을지도 GoodDeedMap⌟ | Working on progress

🍎 Leave your good deeds on maps, ⌜좋을지도 GoodDeedMap⌟ | Working on progress - GitHub - heydoy/GoodDeedMap: 🍎 Leave your good deeds on maps, ⌜좋을지도 GoodDeedMap⌟ | Working on progress

github.com

선행의 족적을 지도에 기록하는 앱입니다. 기획과 개발을 공동으로 진행하고 디자인은 (제가 경력자이므로 ^^) 제가 했습니다.
 
해커톤 이후에도 틈틈히 업데이트를 했는데요. 제가 한 것은 아래와 같습니다.
 
 
Naver Map API에 저장한 위,경도 기반으로 커스텀 뷰 마커 표시
Geocoding을 이용해 선택한 위치의 주소 보여주기
Realm 을 Repository 패턴으로 추상화 및 정의

 

코딩테스트, 알고리즘 공부

RayWenderlich의 Swift Algorithm 책 공부를 했고요. HackerRank, LeetCode, Codility, 프로그래머스 플랫폼을 통해 조금씩 공부했습니다.
 
책공부의 경우 원서를 번역해가며 공부를 했고요

 지금 티스토리에 이 번역내용들을 모두 공유했었죠. 

 

이 링크에서 모두 모아볼 수 있습니다. 

https://kimdee.tistory.com/tag/Data%20Structures%20%26%20Algorithms%20in%20Swift%20%EB%B2%88%EC%97%AD

 

킴디로그 Dee's Log

개발 공부하고 디자인하는 자기개발 블로그

kimdee.tistory.com

 

그외 스터디는 여러가지 방식으로 했는데요.

 

 

 
혼자서 공부하고 위에 깃허브 이슈에 고민내용들을 정리하거나, 사람들과 직접 만나서 정해진 시간동안 코딩테스트를 풀거나 했습니다. 
 
저는 개인적으로는 만나서 각자 시간정해두고 푸는 방식이 제일 좋았습니다. 간단한 문제라도 구현하는 방식이 다르기 때문에 서로 얘기 나누면서 크게 도움이 됐어요.
 
 

면접 스터디, 모각코

 
 
제가 새싹 과정을 같이하는 교육생 동기들과 노원에서 스터디를 하고 있는데요. 주로 초반에는 모각코 위주로 스터디를 하다가 교육 끝나가는 중에는 면접 예상질문을 각자 조사하고 발표하는 시간을 가졌습니다.
 
 
이게 엄청 도움이 됩니다. 하나의 개념을 깊이 있게 조사하고 이걸 다른 사람들에게 발표하면서 더 이해가 깊어질 수 있었어요.
 
 

9. 앞으로의 공부계획

RxSwift 공부

https://www.kodeco.com/books/rxswift-reactive-programming-with-swift/

 

RxSwift: Reactive Programming with Swift

Leverage the power of RxSwift in your reactive apps! This book is for iOS developers who already feel comfortable with iOS and Swift, and want to dive deep into development with RxSwift. Start with an introduction to the reactive programming paradigm; lear

www.kodeco.com

영어공부 겸 하고 있지만 혼자 하니 흥이 안 나서… 새로 스터디를 모집하려고 해요.

꽁냥, 좋을지도 리팩토링 및 출시

 
좋을 지도는 기능 자체가 꽤 단순하다보니 지금도 좀 더 시간을 내면 출시를 할 수 있을 것 같은데 당장은 정신이 없어서 잠깐 내버려두고 있었습니다. 꽁냥보다 스케일이 작다보니 먼저 작업을 진행하지 않을까 싶어요.

 


+ 주위로부터 추천받은 강의, 부트캠프

앨런 스위프트 문법 마스터 스쿨

https://www.inflearn.com/course/%EC%8A%A4%EC%9C%84%ED%94%84%ED%8A%B8-%EB%AC%B8%EB%B2%95-%EB%A7%88%EC%8A%A4%ED%84%B0-%EC%8A%A4%EC%BF%A8

 

앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) - 인프런 | 강의

Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을

www.inflearn.com

이 강의는 정말 주위에 수강한 사람이 되게 많아서 신기했습니다. 새싹 iOS 과정에서도 앨런을 수강한 분들이 꽤 많았어요. 엄청 꼼꼼하게 알려주시고 여기 수업을 결제하면 기수별로 단톡방도 만들고 관리도 열심히 해준다고 합니다. 현직자들도 많이 수강하는 강의라고 들었어요.

애플 디벨로퍼 아카데미

https://developeracademy.postech.ac.kr/

 

Apple 디벨로퍼 아카데미

iOS 앱개발・디자인・비즈니스

developeracademy.postech.ac.kr

제가 아주 예전에 디자이너로서 앱개발 부트캠프에 참여한 적이 있었는데요. 디자이너와 개발자가 같이 매칭되서 10주간 앱을 개발하는 프로그램이었습니다. 이 때 알게된 iOS 개발자분이 현재 애플 개발자 아카데미 멘토님으로 계시더라구요.

 

이 분이 언급하시길, 본인도 이런 교육을 받을 수 있었으면 좋았을 거라며, 엄청 추천을 해주셨어요.

 

제가 그 분과 같이 앱개발 프로젝트를 했을 때도 엄청 긍정적인 인상을 받았던만큼, 이 분 추천이 더 마음에 깊게 남았습니다.

 

야곰 iOS 아카데미

https://www.yagom-academy.kr/

 

야곰 아카데미 - 이유있는 코드가 시작되는 곳

이유있는 코드가 시작되는 곳, 야곰 아카데미입니다. 개발자 커리어를 시작하기 위한 부트캠프를 운영하고 있습니다.

www.yagom-academy.kr

책이나 강의로도 유명한 분인데요. 제 주위에도 야곰에서 커리어 스타트캠프를 수료하시고 바로 현업 개발자로 활동하신 분이 있습니다

 

네이버 부스트캠프

https://boostcamp.connect.or.kr/

 

부스트캠프

개발자의 지속 가능한 성장을 위한 학습 커뮤니티

boostcamp.connect.or.kr

 

각 분야의 유명한 현업 개발자분들이 멘토로서 참여하고 계십니다. 주위에 캠퍼로서 정말 많이 참여하셨고, 엄청 추천받은 부트캠프입니다.  

 


 

이 글은, 미디엄과 doy.oopy.io 에 2022년 12월 발행한 글로, 티스토리에 옮겨 작성하였습니다.

 

 

 

오늘도 읽어주셔서 감사합니다. 

 

궁금하거나 나누고 싶은 얘기가 있으시면 댓글로 알려주세요!

재밌게 읽으셨다면 공감과 구독은 큰 힘이 됩니다. 

 

항상 감사합니다.

 

반응형

댓글