공부의 여정

iOS 공부 시작 - 100 days of Swift

Yun#5811 2021. 9. 2. 23:35

iOS 개발을 선택한 이유

웹은 아닌 것 같아

가장 진입장벽이 낮다길래 프론트엔드(html, css, js) 쪽 공부를 시작해봤습니다.

그런데 하면 할수록 웹 개발 자체에 큰 매력을 느끼지 못하겠더라고요.

원하는 화면을 구현하는 게 재미있긴 했는데, 프론트엔드쪽만 공부해서는 하나의 서비스를 내 힘만으로 내놓을 수 없다는 점이 제일 큰 단점으로 다가왔습니다. 

"Javascript fatigue"도 너무 이른 고민이긴 하지만 두려웠고요.

iOS 개발의 매력

반대로 iOS 개발은 - 물론 깊이 들어가면 전문분야가 나뉘겠지만 - 적어도 작은 프로젝트 수준에서는 기획부터 결과물을 내놓기까지 전체 플로우를 스스로 공부해서 해볼 만 한 것 같더라고요. 이 점이 좋았습니다.

다른 데 눈 돌릴 것 없이 Swift만 제대로 잡으면 된다는 점도 마음에 들었습니다.

Swift가 새로 생긴 언어라서 세련되었다는 점은 장점이지만, 배울 수 있는 material이 적고, mac OS가 필요하다는 점이 공부하기에 단점이라고들 하더라고요.

근데 제 입장에서는 공부는 영어로 하면 되고.. 자료 걱정을 할 만큼 단기간에 많이 배울 수 있지도 않고 ㅋㅋ 이미 맥북을 쓰고 있기 때문에 이것들이 별 단점이 되지 않을 것 같아요.

공부 방법: 100 Days of Swift + 문제 풀이

100 Days of Swift

udemy의 Angela Yu 선생님의 iOS 강의를 들을까 생각했습니다. 제일 유명하고, 웹에 발 담가보면서 들어본 선생님이니까요.

근데 아래 영상을 보고 Angela 대신 100 days of swift로 마음을 바꾸었습니다.

https://youtu.be/ZGBnws3WEA8

Angela 강의가 차근차근 전부 설명해줘서 좋긴 하지만, 양이 너무 많아서 오히려 이게 부담이 될 수 있다고 하더라고요.

웹 강의를 며칠 들어본 입장에서 공감이 갔습니다. 자료를 많이 제공해줘서 좋긴 한데, 그걸 다 해야한다고 마음먹으면 끝까지 마치기 힘들 것 같더라고요.

 

위 영상에서 추천해준 자료는 "100 days of Swift" 입니다. Swift와 SwiftUI로 나뉘어 있어요.

https://www.hackingwithswift.com/100

 

100 Days of Swift – Hacking with Swift

Link copied to your pasteboard.

www.hackingwithswift.com

https://www.hackingwithswift.com/100/swiftui

 

100 Days of SwiftUI – Hacking with Swift

Link copied to your pasteboard.

www.hackingwithswift.com

코스가 100일로 짜여 있고, 하루에 1분짜리 강의를 8-10개정도 듣도록 되어있습니다.

주제별로 딱 1분씩 끊어서 강의가 제공되고, 하루에 강의 듣는 시간이 10여분 정도 밖에 안돼서 강의에 대한 부담이 적습니다.

대신 그만큼 설명이 엄청 간결하기 때문에, 주어진 퀴즈나 다른 문제를 풀면서 적용하며 배우는 시간을 갖는 게 필수적일 것 같아요.

위 사이트에서 제공하는 퀴즈는 OX 형태입니다. 간단히 복습하기에 좋긴 하지만 배운 내용을 완전히 이해하기엔 부족한 감이 있더라고요.

문제풀이: 백준

그래서 100 Days에서 배운 내용을 바로바로 백준에서 문제를 풀기로 했습니다.

https://www.acmicpc.net

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

백준은 워낙 유명해서.. 설명은 패스하겠습니다.

진행상황

지금 3일차이고, 100 Days of Swift는 Day 5를 듣고있습니다.

첫 1-3일차 정도가 아주 기초적인 내용뿐이라 미리 진도를 좀 빼뒀어요.

100 Days가 공부자료를 진도별로 페이지가 만들어져 있긴 한데, 내가 어디까지 들었고 퀴즈를 어디까지 풀었는지가 체크되지 않아서 임시로 저렇게 체크리스트를 만들었습니다.

며칠 해보니까, 영상과 문제풀이를 하루치를 한번에 다 하기보다는 첫번째 학습과 두번째 학습에 약간 간격을 두는 게 좋을 것 같아요. 

(전날 배운 것을 문제풀이로 복습 + 오늘치 영상 시청) 방식으로 하니까 확실히 머릿속에 각인이 잘 되는 것 같아요.

Day 5쯤 되니까 복습할 것도 많아지네요 ㅋㅋ

 

백준은.. 백준에 정리된 단계랑 100 Days of Swift의 진도가 완전히 일치하지는 않아서 문제 하나씩 풀 때마다 아는것과 모르는 것이 섞여있어서 턱턱 막힙니다. 근데 아직 아는 게 없으니까 혼자 싸매봤자 도움될 게 없겠더라고요. 그냥 편하게 마음먹고 정답 컨닝해가면서 풀고 있습니다. 왕초보는 복붙도 어려워요.

확실히 인강만 듣는 것보다 뭔가 익히는 느낌이 팍팍 드네요. 이 느낌이 오래 유지되면 좋겠습니다.

 

블로그에 배운 내용을 기록할까 싶었는데, 지금은 너무 초반이라 블로그에 쓰는 작업이 학습 속도를 늦추기만 할 것 같아서 지금은 일단 기초적인 내용을 익히는 데 집중하기로 했습니다.

나중에 좀 어려운 부분을 배우거나 뭔가가 잘 안 풀릴때 블로그에 정리해가며 공부해보려고요.

 

ㅎㅇㅌ