일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 패캠챌린지
- viewDidLoad
- viewDidAppear
- SWIFT
- git workflow
- 픽셀
- ios
- commit message
- 8 그리드 시스템
- 패스트캠퍼스
- 뉴모피즘
- iOS앱개발올인원패키지Online.
- 직장인인강
- 디자인 트렌드
- 스큐어모피즘
- Xcodebuild
- 아이폰
- commit messages
- 포인트
- .DS_Store
- 마크다운
- git
- 입력 개수 제한
- Git Tutorial
- 패스트캠퍼스후기
- commit
- 직장인자기계발
- 플랫디자인
- 머티리얼 디자인
- 뉴북
- Today
- Total
왕논의 연구실
패스트캠퍼스 챌린지 최종 후기 본문
패스트캠퍼스 챌린지가 끝났습니다.
챌린지를 시작하게 된 계기
챌린지를 진행하려던 계획
중간 과정
그리고 마무리된 시점에서의 계획 수정
에 대해 서 말해보려고 합니다.
이 챌린지를 시작하게 된 것은 다른 분의 블로그를 보고 알게되면서 입니다.
챌린지 글을 보고서 패스트캠퍼스 챌린지를 하게 되었으니 홍보효과는 확실한 것은 맞는 것 같네요. ㅎㅎ
어떤 내용인지는 보지 않았지만, 하루하루 글을 작성해서 30일치를 마무리했다는 것이 대단하게 느껴졌습니다.
뭐가 대단하냐고 할 수도 있지만, 어떻게든 30일을 글을 작성했다는 것 자체가 대단하고 나도 해보고 싶다는 생각이 들었습니다.
마침 얼마 지나지 않아서 패스트캠퍼스에서 환급챌린지를 한다는 것을 알게 되어서 신청하고 시작하게 되었습니다.
처음 계획은 챌린지 종료와 함께 모든 것을 끝마치는 것이었습니다.
그래서 총 시간이 35시간이었기에 하루에 1시간을 수강하는 것을 목표로 했습니다.
그런데 강의를 보다보니 강의 진행도라는 것이 보였습니다.
어차피 강의 진도를 모두 나가는게 목적이라면 시간이 아닌 진행도를 기준으로 하는 것이 맞다고 생각하였습니다.
그런데 진행도가 뭔가 안 제대로 측정이 안된다고 생각한 것이 강의를 듣는데 뭔가 진행되는 느낌이 안 들었습니다.
처음에는 강의를 몇 개 안 들어서 눈에 보일만큼의 진행도가 안 나가는 것이 아닐까 했습니다.
그런데 나중에 알고보니 영상 초반과 후반에 로고가 뜨는 동안 다음 강의를 눌러버려서 100퍼센트 수강이 안되어 반영이 되지 않았던 것입니다.
기존에 애매하게 마무리되지 않은 것들을 마저 채웠었습니다.
진행하면서 가장 어려움을 느낀 것은 글쓰기입니다.
어떻게 글을 써야하나... 애매했기 때문입니다. 그나마 기존에 블로그에 글을 써봤던 경험이 있어서 도움이 되었습니다.
그래도 아무 형식이 없는 것보다는 어떤 형식이 있어서 그것에 맞춰서 작성하는 것이 도움이 되겠다 싶었습니다.
그래서 공부하는 겸 강의 내용을 정리하는 글을 작성했었습니다.
그런데 너무 세세하게 작성을 해서 인지 강의 자료 보호를 위한 글 수정 요청이 들어왔습니다.
개인적으로는 그정도로 열심히 썼구나 싶어서 긍정적으로 생각하고 수정을 하였습니다.
그런데 기존에 정했던 글 포맷을 바꾸려니 힘들었습니다.
마침 문법 강의는 마쳐가기에 실습에 들어가면서 실습 위주로 글을 작성하면 되겠다 싶었습니다.
이와 함께 강의 진도를 계획대로 빼지 못했습니다.
이게 하루 진도량을 3퍼센트로 정했는데 다른 것을 하다가 시간이 늦으면 강의 보고 글 작성해야해서 진도를 못 빼게 되더군요. 아무리 기존에 배웠던 것이지만, 그것을 정리하고 글로 작성하는 것은 강의를 다시 한번 듣는 정도의 시간이 걸렸던 것 같습니다.
개발자 중에서 공부하면서 블로그 작성하는 것을 꺼리는 사람도 있는지 확실하게 알게 되었습니다. 공부시간보다도 블로그에 글 작성하는 시간이 생각보다 굉장히 많이 듭니다.
어쨌든 하루에 3퍼센트씩 진행하기로 나름 계획을 세웠었는데 끝까지 잘 안되었네요.
계획이 틀어진 이유에 대해서 생각해보려고 합니다.
먼저, iOS 개발자로 일해보았고 간단하지만 개인 앱도 출시해 본 적 있기 때문에 학습에 대해 조금 얕본 감이 없지 않습니다.
두 번째로, 진도 설정에 대한 문제가 있었다고 생각합니다.
그리고, 이 챌린지가 블로그에 글 쓰는 것이 포함되어 있기에 글 작성에 대한 문제가 있었습니다.
우선 글쓰는 것에 대한 문제부터 생각해보겠습니다.
분량은 정해졌는데 글 쓰는 방법에 대해서는 잘 모르겠다는 것이죠.
지금 당장 어떤 주제에 대해서 글을 쓰라고 하면 사람들 모두 각자 쓰는 방식이 다를 것입니다.
이렇게 나누어 말하기는 좀 그렇지만, 이공계 분야의 사람들의 경우 글을 쓰는 것에 대해 조금 어려운 경향이 있습니다.
저는 기존에 했던 사람들과 이 챌린지를 진행하고 있는 사람들이 어떤 식으로 작성하고 있는지를 찾아서 참고했습니다.
처음에는 실습도 없고 일반적인 프로그래머와 프로그래밍에 대한 이야기를 해주셔서 그에 대한 감상과 내 생각들을 적었습니다.
그러다가 간단한 앱 개발 실습 강의에 들어가면서, 강의에서 배운 것을 정리하는 방식으로 글을 작성하였습니다.
그렇게 강의 내용을 정리하는 방식을 고착 시켜서 진행하려고 했습니다.
2주차를 제출하고 3주차를 진행하고 있는 상태에서 강의 내용이 너무 드러난다고 수정 요청이 들어왔습니다. 저는 수정요청보다도 이제 어떻게 글을 써야하나 걱정이 앞섰습니다.
그래서 실습할 때의 느낌들과 지나치게 자세한 내용은 수정하였습니다.
그리고 문법 강의가 끝나고 실제로 앱을 만들어보는 실습 강의에 들어가면서, 실제 실습하면서 헷갈렸던 것들과 새로 알게 된 것들을 적었습니다.
이렇게 글을 쓰는 것 자체가 쉽지 않다보니 강의도 점점 글 쓰는 것을 기준으로 듣게 되는 것 같습니다.
다음으로는 진도 설정에 관한 문제입니다.
저는 30일동안 강의를 수강하며 블로그를 작성하는 것이기에 하루 3퍼센트정도를 진행하기로 계획했습니다.
이렇게 계획하다보니 기존에 알고있는 문법파트에서는 진도가 안 나가는 것 같아 지루하고, 앱을 실제로 만들게 되는 실습파트에서는 헷갈리는 것 하나에 고민하다가 진도를 못 나가는 경우가 생깁니다.
이 강의의 실속은 실제 앱을 만들어보는 부분에 있었는데, 문법파트에서 기운을 빼서 기간내에 제대로 못 챙긴 느낌입니다. 단순히 3퍼센트가 아니라 파트별로 나눴어야했다고 생각됩니다.
마지막으로 학습에 관해 얕본 것이 문제였습니다.
iOS개발에 있어서 초보자가 아니고 앱을 개발해본 경험이 여러번 있기 때문에 다른 초보자를 대상으로 하는 강의처럼 쉬울 것이라고 생각했습니다.
그러나 일단 기대했던 MVVM부터 시작해서 AVFoundation 함수들을 사용하는 것 등등, 전혀 알지못했거나 두루뭉술하게 알던 것들을 깔끔하게 정리되게 강의해 주셨습니다. 기존에 알던 지식들과 합쳐서 내 생각들을 정리하면서 진행하려니 생각보다 시간이 걸렸습니다. AVFoundation에 관해 앱을 만들때는 함수 관련해서 '이게 이렇게 작동하는 것 같은데 확실하가?' 를 확인하려고 따로 계속해서 공식문서나 사이트를 찾아다녔습니다.
mvvm같은 경우는 그냥 짜는 기존 코드에서 mvvm으로 바꾸는 과정을 통해 무엇이 다른지 알려주실 때 굉장히 명쾌하게 느꼈습니다.
개인적인 기존 경험으로 학습 난이도를 얕보아서 쉬울 것이라 생각하여 학습 진도를 단순하게 설정한 것이 잘못되었었다고 생각됩니다.
그래서 만약에 똑같은 것을 진행한다면,
기존에 아는 부분은 빠르게 재생해서 확인하고 간단히 실습해보는 방식으로 진도를 빠르게 진행시킬 것입니다.
그래서 파트를 나눠서 기존에 아는 부분은 좀 적게 모르거나 알고 싶은 부분은 많게 나누겠습니다.
글쓰는 것은 배운 것은 간단히 정리하고 몰랐거나 고민했던 것들을 확인하는 과정으로 글을 적어볼 것 같습니다.
패스트 캠퍼스의 환급 챌린지에 대해서 느낀 점
저는 강의 커리큘럼이 마음에 들었습니다.
기존에 iOS를 알던 상태에서 환급 챌린지라는 것을 해보고 싶다는 마음이 있다는 이유 하나만으로 신청하기는 꺼려졌습니다. 그러나 커리큘럼을 보고서는 문법만으로 끝나는 것이 아니라 앱 만드는 실습을 통해서 배울 것이 있다고 느껴졌습니다. 개인적으로는 이분이 네이버 출신이었기에 이분의 코드를 통해서 네이버에서 코드는 어떻게 작성되는가를 느껴보고 싶었습니다.
강의 요약을 보자면 초급 중급 고급 단계로 나뉘어져 있는데, 그냥 나누는 것이 아니라 각각
초급은 기본적인 ui를 만들고 데이터를 처리하기
중급은 서버와 통신하며 데이터 관리하기
고급은 카메라와 머신러닝 기능 사용하기
로 나뉘어져 있다고 느꼈습니다.
이 중에 저는 mvvm구조와 머신러닝에 대해서는 새롭게 배우고, 파이어베이스와 카메라, 음악 실행 등에 대해서 정리하면 되겠다고 생각하였습니다.
실제로 강의를 들어보니, 단순히 개발에 대한 것만이 아니라 개발자로서 자신이 겪은 일들에 대해서 이야기해주신 것들도 유익했습니다.
챌린지 제도가 마음에 들었습니다.
위에서 미션 조건에 대해서 어려웠다는 식의 말들을 했지만, 그렇게 빡빡한 조건은 아닙니다.
글을 쓰는 것 자체는 강의 자료 유출만 아니면 글의 형식은 자유롭습니다.
실제로 제가 본 어떤 글에서는 챌린지에 대한 글만이 아니라 하루종일 어떤 공부했는지에 대해서 쓴 글도 보았습니다.
돈을 환급해준다고 생각하면 내용보다도 조건을 맞추는 것만 신경쓰면 굉장히 편하다고 생각됩니다.
구글에서 검색해봐도 많은 분들이 도전하고 계시고 성공하신 것만 봐도, 학습에 계기를 만들어주는 제도라고 생각됩니다.
수강하면서 배운 것들
1. 스토리보드 사용법들
새로 배웠다기보다는 하면서 좀 더 익숙해졌다고 볼 수 있습니다.
개인적으로는 스토리보드에서 assistant를 이용해서 관련된 swift 파일로 이동하는 것이 편리했습니다. 기존에는 화면을 나눠서 수동적으로 연관된 파일을 찾아서 작업했었습니다.
또한 협업에 관련하여 스토리보드로 충돌나지 않는 방식으로 작업하는 것에 대해서 정리할 수 있었습니다.
방법은 알지만 두루뭉술한 개념들이 있습니다. 스토리보드 작업 방식도 그 중 하나인데요. 하나의 main에서 처리하는게 좋지 않을까 라는 생각에 하나의 파일에 너무 여러 뷰컨트롤러들을 연결시켜서 무거워지는 경우가 많았습니다.
흐름을 한눈에 파악하기는 좋지만, 작업할 때마다 무겁고 느리고 협업시에는 충돌 위험이 크기때문에 결국에는 코드로 작업하게 되었습니다. 개인적으로 코드가 불편한 것은 아닌데 회사에 따라서는 아예 스토리보드로 작업해줬으면 좋겠다는 요청이 들어올 때도 있더군요.
하나의 방법을 알기보다는 여러가지 방법을 아는 것이 중요합니다. 코드로 ui작업을 하는 것은 작업 방식이 어느정도 정립되었는데, 스토리보드로 작업하는 것에 있어서는 중구난방이 되는 경우가 많았습니다. 그런데 이번 기회에 어느정도 정립시킬 수 있었습니다.
2. struct와 class의 쓰임
둘 다 배웠던 것이지만 그냥 지식만 가지고는 실제로 어떻게 써야할지는 헷갈립니다.
좀 구분해서 사용하고 싶은데 실제로 사용하려고 하면 이렇게 사용해도 될까 스스로 의문을 가지게 됩니다.
이 강의를 듣고는 사용에 관해서 어느정도 확신을 가지게 되었습니다.
각각의 개체로 사용할 때는 struct, 하나의 객체로서 사용될 때는 class라고요.
기존에는 class를 많이 사용했습니다. 왜냐하면 생성하는 파일 자체만 보면 struct가 많이 보였기때문입니다.
그런데 반대로 struct로 생성하고 사용하는데 class로 사용해야만 하겠다 싶을 때 바꾸는 것이 맞다고 생각됩니다.
3. mvvm
일단 앱을 만들다보면 상당히 이상한 형태를 보게 됩니다.
뷰컨트롤러에 굉장히 많은 코드를 작성하게 되는 거죠
저도 extension을 사용해서 나눠도 봤는데 지저분해지는 느낌들더군요.
그래서 mvvm에 대해서 알게 되고 그것에 대해서 공부해보면, 모델-모델뷰-뷰에 대한 그림과 설명은 있는데 기존 코드와 어떻게 다른 건지 명확한 파악이 안되었습니다.
그런 것 쓰는 분 보면 굳이 mvvm아니어도 코드가 굉장히 깔끔하게 정리되어 있었기때문에, 코드 정리된 게 이 사람의 능력 때문인지 mvvm때문인지 잘 파악도 안되었습니다.
그런데 강의에서 기존에 작성해 두었던 코드를 mvvm구조로 바꾸는 것을 보고 좀 더 명확하게 알 수 있었습니다.
기존 개인 앱들에게 mvvm을 적용시켜보고 싶다는 생각을 하게 되었습니다.
4. AVFoundation
카메라나 음성을 사용하기 위해 사용해보았지만, avasset과 avplayitem, avplayer가 서로 어떻게 연관되는지 파악할 수 있었고, 그렇기에 좀 더 깔끔하게 코드를 짤 수 있을 것같습니다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지Online.
'강의 > 강의 챌린지(iOS 앱 개발 올인원 패키지 Online)' 카테고리의 다른 글
패스트캠퍼스 챌린지 30일차 (0) | 2021.11.30 |
---|---|
패스트캠퍼스 챌린지 29일차 (0) | 2021.11.29 |
패스트캠퍼스 챌린지 28일차 (0) | 2021.11.28 |
패스트캠퍼스 챌린지 27일차 (0) | 2021.11.27 |
패스트캠퍼스 챌린지 26일차 (0) | 2021.11.26 |