[RC] 라이징캠프 2기 iOS

iOSoo·2021년 11월 12일
2

오늘을 끝으로 8주간의 라이징캠프는 끝이 났다.

[질문]

  • 글을 작성하게된 이유

    다음 라이징캠프를 고민하거나 시작하려는 사람을 위해서, 나중에 내가 큰 성장을 할 수 있게 만들어준 라이징 캠프를 진행했을 때의 느낌을 회상할 수 있게 이 글을 쓰게되었다.

  • 라이징캠프를 참여하게된 계기

    나는 대학교 2학년 1학기를 하고 병역문제때문에 2학년 2학기에는 휴학을 하며 하고 싶었던 iOS 공부를 하며 지냈다. 야곰님의 Swift, Udemy iOS강의를 들으며 시간을 보내고 있었다. 단순히 강의를 듣고 영상에서 만들라고 하는 것을 만들다보니 이렇게 공부하는게 맞나? 이게 내가 이해를 하면서 공부를 하는게 맞나? 라는 생각이 들었다.

    그러던 도중 친구의 추천으로 라이징 캠프라는 것을 알게되었고 참여를 하게되었다.

  • 라이징캠프가 좋은 프로그램일까?

    라이징캠프를 시작하기 전에 이런 생각이 들 수도 있다. 이 질문에 대한 내 의견을 말하자면 실력, 환경에 따라 다르다고 생각한다.

  1. 실력에 따라서

    • 초보(Swift조차 모르는 사람)
      : 초보는 반반이다. 수업중 문법에 대한 내용은 대체적으로 다루지 않기 때문에 (멘토님에 따라서 문법을 다룰 수도 있다.) 수업을 따라가는게 버거울 수 있다. 하지만 본인이 시간을 얼마나 투자하는지에 따라서 수업을 잘 따라갈 수도 없을 수도 있다.

    • 중수(어느정도 문법을 이해하고 화면을 구성할 수 있는 사람)
      : 중수는 라이징 캠프를 추천한다.

    • 고수(문법, 앱 제작까지 해본 사람)
      : 오히려 고수는 라이징캠프를 추천하지 않는다. 라이징 프로그래머스를 추천한다. 참여해본 적은 없지만 라이징 프로그래머스가 더 난이도가 높은 프로그램이기 때문이다.

  2. 환경에 따라서

    • 하루에 5시간 이상 수업에 투자 불가능한 사람
      : 물론 5시간 이하를 투자하고 수업을 잘 따라갈 수 있다. 하지만 7, 8주차에 하게되는 라이징테스트는 10시간정도의 시간을 매일 투자해야하기 때문에 이런 분들에게는 비추천한다.

    이런 이유로 실력과 환경에 따라서 누구에게는 최고의 프로그램이 누구에게는 최악의 프로그램이 될 수 있을거 같다.

위의 내용을 개인적인 의견이기 때문에 참고만 하시길 바랍니다.

  • 월 396,000원 (VAT포함) * 2 가격이 아깝지 않은가?

    이 부분은 각자가 수업에 어떻게 얼마나 참여하는지에 달려있다. 다른 수업을 들어본 적은 없지만 담당 멘토님의 수업을 들으면서 이해가 안된적은 없던거 같다. 그렇기 때문에 80%정도는 본인의 열정에 달려 있다. 본인이 시간 상관없이 프로그램에 참여할 수 있고 모르는 부분은 적극적으로 질문을 하면서 참여한다면 절대 아깝지 않은 가격이다.

[수업]

수업은 총 8주동안 진행한다. 6주동안은 매주 정해진 시간에 3시간동안 수업을 하고 배운내용을 토대로 1주일동안 과제를 수행한다. 그리고 다음 주차가 되면 바로 수업을 시작하는게 아니라 과제에 대한 멘토님의 피드백을 듣고 수업을 시작하게 된다. (이때 멘토님의 피드백은 꼭 필기를 해두는 것이 좋다. 7, 8주차에 진행되는 라이징테스트에 도움이 많이 된다.)
⭐️: 내가 생각한 중요도

1주차: OT & 플랫폼⭐️

  • 1주차는 플랫폼, API에 대한 내용을 학습한다.

  • 과제는 플랫폼앱 하나를 잡고 플랫폼앱의 한 화면을 구현하는 것이다.

  • 1주차는 어려운 내용이 없기때문에 최대한 많은 UI Component를 사용해보는 것이 좋다.

  • 또한 1주차에 AutoLayout에 대해서 제대로 숙지를 한다면 추후 다른 과제를 할때 수월할 것 같다.

    [본인 과제 영상

2주차: Life Cycle⭐️⭐️

  • 2주차는 Life Cycle에 대해서 배운다. xcode에서 새로운 프로젝트를 생성했을 때 ViewController에 가면 ViewDidLoad메서드가 있을것이다. 이런 메서드가 바로 LifeCycle이다.
  • 과제는 CRUD를 포함된, Life Cycle을 포함한 어플을 만드는 것이다.
  • Life Cycle에 대한 숙지가 없이 2주차 수업을 들으면 무슨소리인가 싶을 수 있다. 하지만 그렇게 어려운 내용을 아니니깐 두려워하지말고 수업도 듣고 구글링하며 실습을 해보면 어느정도 감이 잡힐 것이다.
  • App/Scene/View Life Cycle를 사용할텐데 쓸 수 있는 모든 Life Cycle을 사용해보는게 좋다. 자주 이용된다.

    [본인 과제 영상]

3주차: Table View⭐️⭐️⭐️

  • 3주차는 TableView에 대해서 배우게 된다. tableView는 데이터의 가변성을 대응하기 위해서 사용한다.
  • 과제는 TableView를 이용한 어플을 만들었다.
  • 나는 라이징테스트를 할 때 TableView를 많이 이용했다. 각 Cell마다 Custom을 해서 화면을 구현하는 방법을 사용했다.
  • 이 과제를 할때 단순하게 TableView cell에 Title, Content를 넣는게 아니라 Cell을 직접 Custom 해보는 방법도 해보는 걸 추천한다. 예를 들어 TableView cell 내부에 CollectionView를 넣어서 한 Cell에서 가로 스크롤이 되는 방식정도?

    [본인 과제 영상]

4주차: Multi-Thread⭐️⭐️

  • 4주차는 Multi-Thread에 대해서 배운다. Thread란 작업의 흐름, 실이다.

  • 과제는 Thread를 이용한 게임 프로그래밍이다

  • 어떤 일을 동기적으로 또는 비동기적으로 일을 처리하고 싶을 때 이 개념을 이용하면 큰 도움이 된다.

    [본인 과제 영상]

5주차: Network Intro & API⭐️⭐️⭐️

  • 5주차는 서버와 클라이언트의 구조, HTTP 메서드, Alamofire 라이브러리에 대해서 배우게된다.

  • 과제는 소셜로그인 API와 Open API를 이용해서 어플을 만드는 것이다.

  • 이 과제를 수행할 때 API를 어떻게 활용하는지에 대해서 고민하고 과제를 차근차근히 수행하면 도움이 될거 같다.

  • 또한 한가지의 API를 이용하는 것이 아니라 적용할 수 있는 범위의 API는 모두 해보는 것을 추천한다. 라이징테스트때는 많은 API를 연결해야하기 때문이다.

  • Alamofire 사용법도 숙지를 해야한다. Alamofire를 통해서 Get, Post정도는 할 수 있어야한다. 여기에 플러스로 queryString를 담아서 get하는 법도 배우면 좋다.

  • 최대한 많은 오류를 경험해보고 해결해보는 것을 추천한다.

    [본인 과제 영상]

6주차: Token & Restful⭐️

  • 6주차는 RestApI, 쿠키/세션, Oauth/JWT 에 대해서 배우게 된다.
  • 과제는 없다.
  • 과제가 없다고 쉬는 주가 아니다. 이제부터 라이징테스트를 위해서 공부했던 것들을 정리하고 모듈화 시키는 작업이 필요하다.

수업에 대한 자세한 내용은 제 다른 글을 보시면 알 수 있습니다.

[라이징테스트 준비]

라이징 테스트는 6주동안 배운 개념과 기술을 바탕으로 백엔드(서버)와 같이 협업하여 2주동안 플랫폼 앱을 제작하는 것이다.

우선 내가 라이징테스트를 준비하기 위해 했던 것을 설명해보겠다.

1. 배운 내용들을 각각의 프로젝트로 만들어 모듈화시키기.

  • 모듈화를 시킨다는 것은 언제 이 프로젝트를 써도 바로 사용할 수 있게 만드는 것이다.
  • 모듈화를 할 때 반드시 중요한 것은 어떤 상황에서 어떻게 써야하는지에 대한 내용이 README파일에 작성되는 것이다.
  • 모듈화를 하면 라이징테스트를 할 때 시간을 절약할 수 있다.
  • 단순히 배운 내용만 모듈화하는 것이 아니라 배운 것에서 파생되는 것들도 해보면 좋다

2. 배달의 민족, 요기요, 마켓컬리등 플랫폼 어플을 다운 받아서 UI구현을 상상해보기.

  • 1번과 마찬가지로 이 방법도 상당히 도움이 된다.
  • 플랫폼 어플을 다운받고 이 화면에서는 어떤 컴포넌트를 사용해서 구현하였겠다. 이런식으로 상상하면서 공부를 하는 것이다.
  • 매일 하기보다는 자기 전에 어플하나를 다운받아서 해보는 것이 좋다.

3. 모듈화 시킨 것과 상상한 UI를 바탕으로 실제 플랫폼 앱에서 나오는 UI를 직접 만들어보기.

  • 1번과 2번을 통해서 실제 UI를 만들어보는 것이다.
  • 모듈화만 끝나는게 아니라 이걸 다시 프로젝트에 적용해보는 것이 중요하다. 그렇기 때문에 이 방식을 실행해보는 것을 추천한다.

제가 한 방법은 필수가 아니지만 해보시는 걸 추천드립니다. (멘토님이 추천해주신 방법)

[라이징테스트 후기]

좋았던 점

  1. 서버와 협업을 경험할 수 있다는 점
    • 현재의 실력으로 누군가와 협업한다는 것은 쉽지않다. 하지만 라이징테스트를 통해서 같이 라이징캠프를 통해서 실력을 기른 사람과 같이 협업을 경험할 수 있었다는 것이 좋았다.
  2. 팀원간의 의사소통의 중요성을 알게된 점
    • 기획서를 작성할 때만 의사소통하는 것이 아니라 무언가를 새로 만들고 삭제할 때도 의사소통이 필요하다.
    • 라이징테스트를 하면서 서버분은 기획서와 다른부분을 구현하였고 나는 기획서와 같이 구현을 하여 다른 데이터 타입을 주셔서 당황한 경험이 있다. 물론 작은 부분이어서 금방 수정하면 되었지만 이런 작은 부분이 아니라 프로젝트 전체적으로 서로 구현하는 방향이 다르다면 프로젝트를 엎고 다시 해야하는 경우가 생길 수 있기때문에 꼭 서버와의 의사소통이 중요하다.
  3. 서버의 중요성을 알게된 점
    • 사실 라이징테스트를 하기 전에는 서버의 중요성을 크게 깨닫지 못했지만 라이징테스트를 진행하면서 서버와의 협업이 얼마나 중요한지 알게 되었다.
    • 예를 들면 식당의 리스트를 보여주는 화면에서 혼자 앱을 만들었다면 가게마다 다른 text를 작성해서 Cell을 구성했을 것이다. 하지만 서버와 협업하여 서버에서 주는 데이터를 자동으로 넣으면 되기 때문에 너무 편했다.

아쉬웠던 점

  1. 기획서를 제대로 작성하지 않은 점

    • 라이징테스트를 처음 시작하면 팀원들과 기획서를 작성하게된다. 이때 나는 그냥 대충하고 넘겼던거 같다. 이렇게 대충하고 넘겼던 것이 나중에는 상당히 귀찮게 되었다. 기획서에는 구현한다고 했던 화면이 캡처되어있지 않아서 팀원분들에게 구현여부를 물어보는 경우, 상세 구현 부분 다시 상의하는 경우들이 생기게 되었다.

    문제를 해결할 방법

    1. 기획서를 최대한 구체적으로 작성하자.
    2. 기획서를 작성하는 과정을 녹화하자.
    3. 기획서를 작성하고 나서 다시한번 검사하자.
  2. UI를 더 많이 구현하지 못한 점

    • 지금도 내가 생각한 것보다 많이 구현했지만 사실상 좀더 열심히 했다면 부족한 부분 없이 모든 부분의 UI를 채울 수 있었을 거 같다.

고마웠던 점

  1. 소프트스퀘어드

    • 우선 이런 기회를 만들어준 소프트스퀘어드에게 감사하다.
  2. 멘토님

    • Uno: 6주동안 멘토님의 수업을 들으면서 이해가 안가는 부분은 거의 없었다. 또한 질문을 하면 답변을 주시는 것이 아니라 답변의 방향성을 제시해주셔서 내가 좀더 성장할 수 있도록 큰 도움을 주셨다. 덕분에 큰 성장을 한거 같아서 정말 감사하다.

    • Zino: 라이징테스트를 하는 2주동안 유용한 피드백(조언)과 힘이 나는 격려 덕분에 라이징테스트를 열심히 진행할 수 있었다. 또한 라이징테스트를 진행하는 동안 DM으로 질문을 많이 했는데 바쁘심에도 불구하고 친절하게 답변해주셔서 감사하다.

  3. 팀원들

    • 팀원들도 같이 힘들었을텐데 잘 수행해줘서 너무 고맙다.

[라이징캠프 수료]

수료하기 전의 나는 화면 하나 못 만드는 그냥 앱을 만들고 싶은 학생이었다. 하지만 라이징캠프를 수료한 다음의 나는 스스로 앱을 기획하여 만들고 싶은 앱을 만들 수 있는 능력을 갖게 되었다. 그래서 현재 합주 시간표관련된 어플을 대학교 동기들과 함께 만들고 추후 앱스토어에 배포까지 할 계획이다. 이렇게 되기까지 내 많은 노력도 있었지만 라이징캠프를 통해서도 많은 성장을 하게 된거 같다. 나같이 공부 방향성에 대해서 의심이 들거나 프로그래밍 경험은 있지만 앱은 만들어보지 않은 분들에게 추천한다.

[결과]

결과적으로 클라이언트 부분 우수수료를 하게되었다!

profile
애플을 좋아하는 비전공생

0개의 댓글