본문 바로가기

iOS 개발/CS193p

[iOS 개발 2주 플랜 0/14] CS193p 강의 듣기 전 알아야 할 것들

0. Background

내 코딩 경력: C++ 활용 임베디드 시스템 개발, python 활용 딥러닝 개발, MATLAB 활용 데이터분석, 안드로이드 스튜디오로 안드로이드 어플 개발을 독학으로 익혀 업무에도 활용했지만, 그만큼 자료구조와 시스템 체계에 대한 이해도가 부족하다. "이거 되네, 저거 되네" 같은 일들을 여러 차례 반복하고 나서 "이 예제 가져다 쓰자, 저 예제 가져다 쓰자"가 된 셈이다.

 

1. Approach

데이터 처리 작업을 하면 할수록, 메인 로직형성의 다음단계에서는 내가 손 쓸 일이 사라진다는 점이 안타까웠다. "아 데이터를 처리하면, 그걸 사용자에게 보여줄 수 있는 앱까지는 다 만들 줄 알아야겠다" 싶어서 앱개발 공부를 시작했다. 물론 회사에서 업무를 맡아 할 것은 아직 아니고, 퇴근 후 혹은 주말에 취미 삼아 해봄직한 활동들이다.

 

2. Method

1) 강의 후보 1: Sean Allen, 유료 ($70 부터), 코드 예제 많고 평판이 좋음

https://www.youtube.com/watch?v=jucm6e9M6LA&pp=ygURc2VhbiBhbGxlbiB3aWRnZXQ%3D

Sean Allen 이라는 개발자가 운영하는 유튜브를 처음 접하고 위젯을 만들어보았다. 위젯은 아이폰으로 데이터를 보여줄 수 있는 가장 좋은 방법이라고 생각하는데, 간단한 예제를 설명해주는 영상이라 주말동안 따라하기 좋았다. 하지만 본격적인 강좌들은 개인 사이트(링크)에서 적게는 $70 (위젯 만들기 한정), 많게는 $130에 판매 중이다보니까 지속가능하지 않겠거니 싶었다.

 

2) 강의 후보 2: 100 Days of Swift – Hacking with Swift, 무료, 문법 공부 only

 

100일 동안 Swift 문법에 관한 짧은 글을 읽고 퀴즈를 푸는 사이트인데, 하루에 하나씩 해치우기에 좋다는 생각이 들었다. 회사에서 하더라도 겉보기에는 업무랑 딱히 구분되지도 않으니 적절히 눈치봐가면서 하면 좋지 않을까?

 

3) 강의 후보 3: Stanford CS193p - YouTube, 무료, 강의 + 예제 코드

 

 

15개 강좌로 이뤄진 스탠포드 강의이다. 예전에 들었던 CS231n (CNN 강의), CS234 (강화학습), CS183B (창업) 들도 참 퀄리티가 좋았는데 이 강좌 역시 대단하다. 코딩을 처음 접하는 사람이 듣기에는 어려울 수도 있겠지만, 그동안 나름대로 경험을 많이 쌓은 나로서는 정말 강의력이 좋게 느껴졌다. 예를 들면 이런 식이다.

 

 

왼쪽 코드에서 어떤 줄은 var isFaceUp: Bool, 또 다른 줄은 var body: some View인데, "some"은 무엇이냐? 왜 View 이후에는 중괄호 {}가 쓰이는가? 내가 그동안 "음 그래 이 부분을 통째로 가져다가 쓰면 되는구나" 싶었던 내용들을 하나 하나 분석해주는 것이다. 물론 모든 강의에서 이런 식이었다간 3년이 지나도 제대로 된 앱 하나 개발하지 못할테니 첫 강의에서 유달리 집중적으로 알려줬을 수도 있다. 게다가 꼼꼼히 알려주는 내용들을 모두 기억할 수 있을 것 같지도 않지만, 그럼에도 불구하고 문장 하나하나의 의미를 배웠다는 점은 고무적이다. 앞으로 응용할 수 있는 여지가 더 넓어졌기 때문이다.

 

3. Result: 학습 계획

15강으로 된 CS193p는 주말에 두 강씩 네 강, 평일에 한 강을 듣는다고 치면 11일이 걸린다. 중간 중간 예제를 직접 구현하는 시간들도 필요하니 타이트하게 14일이면 CS193p 1회독을 끝낼 수 있지 않을까 싶었다. 거기에 100일 문법공부 하나씩, Widget 개발도 병행할 수 있으니 2주마다 한 꼭지씩 잡는 것을 목표로 2주 통합 목표를 아래와 같이 잡았다.

 

  • CS193p 평일 1개 강의, 주말 2개 강의로 완강
  • 100 Days of Swift - 2주 분량
  • Widget 개발 2주 플랜 - 달력 위젯 만들기

4. Conclusion

물론 업무에 치이다보면 우선순위가 밀릴 수도 있다. 지금으로선 어디까지나 취미의 영역이기 때문이다. 취미를 익히는 것에 스트레스까지 받을 필요는 없지만, 사실 짧은 기간이라도 스트레스를 받지 못하면 긴 기간동안 어영부영하게 될 공산도 크다. 2주 동안 위 목표를 완료하게 되면 보상으로 새로운 아이폰 / 메타 퀘스트 중에서 골라봐야겠다.