회고) RisingCamp 1기 회고 및 후기

RisingCamp 1기를 시작하기까지

2021년 3월 맥북을 산 후, 난 처음으로 iOS 개발을 시작했다.
어디서부터 무엇을 어떻게 해야하는지에 대해 전혀 감이 오지 않아서 주변 친구들에게 많은 것을 물어봤던 기억이 난다. 그 중

"앱 개발 동아리 들어가면 체계적으로 배우면서 성장할 수 있을거야"

라는 말을 듣고 iOS 파트가 있는 동아리에 이곳저곳 지원했다. 하지만 결과는 불합격! 아는 것이 1도 없는 상태라 그런지 떨어졌던 것 같다.

뭐라도 해보자라는 심정으로 ‘캠퍼스픽’ 앱을 통해 iOS 클론 코딩 스터디원을 구하기 시작했다. 사람들을 모아서 스터디를 진행하는 것이 처음이라 쉽지는 않았지만 다행히 좋은 스터디원을 만나 진행할 수 있었다.

'클론 코딩 스터디'

애플뮤직, 인스타그램을 클론하는 스터디를 주관하여 진행하였다. 날짜를 정해 프로젝트를 완성한 후 줌으로 자신의 코드를 발표하고 공유하면서 iOS 개발에 좀 더 익숙해질 수 있었다.

클론 코딩 스터디를 하면서도 iOS 관련한 활동을 꼭 해보고 싶었다. 그래서 한참 찾아보던 중 ‘라이징 프로그래머’를 하던 친구의 추천으로 라이징 캠프라는 프로그램을 알게되었다.

다른 동아리 활동과 달리 RisingCamp는 선착순으로 진행되었다.

체계적으로 잘 배워볼 수 있는 커리큘럼인 것 같아서 너무너무 하고싶었다.
8주 안에 iOS에 대해 완벽하게 배워 볼 수 있다는 것이 너무 매력적이었고 나에게는 마지막 기회인 것 같이 느껴졌던 것 같다.

RisingCamp 1기 시작!

21.06.19 ~ 21.08.13까지 8주간 진행되는 커리큘럼은 이러하다.
RisingCamp 1기 커리큘럼

1주차 OT & 플랫폼

1주차 때에는 Zigzag 앱을 클론코딩 하였다.

1주차의 목표는 이러하다.
1
2
3
4
5
6
7
8
9
10
1. 실제 프로덕트 애플리케이션 프론트 구성
- 최대한 똑같이 구성

2. 다양한 기기별 해상도를 고려하여 구성
- AutoLayout

3. 다양한 Objects Library 사용해보기

4. 코드는 최대한 사용 x
- 스토리보드로만 구성

내가 만든 1주차 Zigzag 앱

클론 코딩을 해봤던 것이 많은 도움이 되어 1주차는 별로 어렵지 않게 진행했던 것 같다.
목표했던 것을 가장 부합하게 잘 해왔다는 칭찬도 받았던 주차라 기분좋게 2차 세션을 들었던 것 같다 ㅎㅎ
아쉬운 점을 꼽자면 더 다양한 Objects Library 사용해 봤다면 좋았을 것 같다.

2주차 Life Cycle

2주차 때에는 메모장 앱을 개발하였다.

2주차의 목표는 이러하다.
1
2
3
4
5
1. 생명주기를 활용한 프로그래밍

2. 화면전환

3. CRUD(Create/Read/Update/Delete)

내가 만든 2주차 메모장 앱

2주차에 너무 어려운 앱을 하지 않았나라는 생각이 들었다. 정말 간단해 보여서 했던 거였는데 ㅠ 아니었다,,
뷰 컨트롤러 1에서 뷰 컨트롤러 2로 데이터 전달하는 것은 쉬웠지만, 뷰 컨트롤러 2에서 뷰 컨트롤러 1로 데이터 전달하는 것이 어려웠던 기억이 난다. 또한 아직 배우지 않은 테이블 뷰로 진행했어서 좀 더 까다로웠던 것 같다.

다음 주차 때 배울 걸 미리 해서 다음 주차는 좀 더 쉽게 적용해 볼 수 있을 것 같았다!

3주차 Table View

3주차 때에는 반려동물 사진 일기 앱을 개발하였다.

3주차의 목표는 이러하다.
1
2
3
1. Delegate로 DataPassing 해주어 데이터 전달

2. TableView를 사용한 앱 만들기

내가 만든 3주차 반려동물 사진 일기 앱

강아지를 키우다보니 강아지 관련 앱을 꼭 만들어보고 싶었는데 과제 때 해볼 수 있어서 너무 좋았다.
해당 주보다 전에 이미 과제를 비슷하게 수행했던 기억이 있어 어렵지 않게 진행할 수 있었다. 그래서 이번 주차에는 컬렉션 뷰와 다른 기능들을 더 써보려고 노력했던 것 같다.
아쉬운 점이 있다면 bottom sheet를 완벽하게 구현하지 못한 점이 아쉬웠다.

4주차 Multi-Thread

4주차 때에는 슈의 얼려먹는 초코 만들기 게임을 개발하였다.

4주차의 목표는 이러하다.
1
2
3
4
5
1. Multi-Thread를 사용한 게임 만들어보기

2. UIKit만 사용하여 만들어보기 (라이브러리x)

3. Dispatch를 사용해보며 내부적으로 어떻게 동작하는지 알기

내가 만든 4주차 슈의 얼려먹는 초코 만들기 게임

개인적으로 이번 주차가 가장 어렵고 힘들었던 것 같다. 아무것도 사용하지 않고 UIKit만을 이용하여 게임을 만들어야 한다는 점이 당황스러웠다.
과제에 대해 이해가 잘 안되서 2일 정도를 계속 생각하고 멘토님께 여쭤보았던 것 같다.
게임을 정하고 누끼따는 것도 정말 힘든 일 중 하나였다 ㅋㅋㅋㅋ 그래도 막상 만들어보고 나니 Dispatch에 대해 제대로 이해할 수 있었던 활동인 것 같다.

5주차 Network Intro & API

5주차 때에는 강아지 산책 을 개발하였다.

5주차의 목표는 이러하다.
1
2
3
4
5
6
7
8
9
1. OPEN API 활용하여 프로그래밍 하기(SDK 사용 지양)

2. 소셜 로그인 최소 한가지 이상 구현하기 (단순히 화면 전환이 아닌 이름,이메일 값을 활용한 프로그래밍)

❗️단, 소셜 로그인은 SDK 허용

3. Postman 활용 / Alamofire 활용

4. 5개 페이지 구현하기

내가 만든 5주차 강아지 산책 앱

강아지 관련 앱을 하나 더 만들어보았는데 지금까지 했던 것들 보다는 제대로 된 앱을 만들었던 것 같다. 실제 카카오 로그인도 사용해보고 로그인한 데이터를 가지고 사용자 정보를 입력받는 등 실제의 앱과 가장 유사한 앱을 만들 수 있었던 주차였다.

날씨 api를 가져다가 서버 통신도 해보고 url session으로 되어있는 코드를 alamofire로 바꿔 동작할 수 있도록 진행했다.
하지만 api 서버 통신에 대해 완벽히 이해가 되지 않아 계속적인 공부가 필요하다고 느꼈고 그 점이 라이징 테스트에 가서 그렇게 힘들 줄 몰랐다 하하,,

6주차 Token & Restful

6주차 때에는 Token & Restful에 대해 배워보고 과제는 없었다!!
그래서 이번 주차는 라이징 테스트를 준비하기위해 ‘모듈화 작업’ 및 ‘API 공부’를 진행하였다.

라이징 테스트를 대비하기 위해 모든 앱에 기본적으로 있는 기능들을 위주로 모듈화 작업을 진행하였다. 개인적인 생각이지만 이 주차에서는 아무것도 안하고 쉬는 것도 좋다고 생각한다 ㅎㅎ,, 2주간 많이 힘들거기 때문에 조금이라도 쉬는 타임을 갖는 것도 좋을 것 같다. 난 처음이라 불안 + 초초한 마음 때문에 안쉬고 공부를 했던 것 같은데 그렇게 되니 라이징 테스트 때 많이 힘들었던 것 같다.

7~8주차 대망의 Rising Test

7~8주차 때에는 라이징 테스트를 진행한다.

나는 요기요 앱이 걸렸고 iOS(1명)와 서버(1명)가 한팀으로 이루어져 2주간 개발을 진행한다.

서버와의 첫 협업이라 긴장도 되고, 어떤식으로 협업을 진행해야하는지 감이 안잡혀 정말 어려웠다. 다행히 서버분도 클라이언트와의 협업이 처음이라고 하셔서 모르는 것은 대화를 통해 해결하자고 했던 것 같다. 그렇게 서로 노력한 덕분에 나름대로 재밌었던 협업 경험이 된 것 같다.

라이징 테스트를 하면서 힘들었던 것은 시간은 촉박한데 하루 설정했던 목표치 만큼 못할 때 심적으로 스트레스가 컸던 것 같다. 시간이 주는 촉박함이 부담감으로 다가왔던건지 중도 포기할까? 라는 생각도 많이 했던 것 같다.

라이징 테스트를 하면서 아쉬웠던 점은 서버와의 협업을 미리 조금이라도 경험해봤다면 좀 더 좋은 결과물을 내지 않았을까? 였다. 물론 부딪혀보면서 배우는 것도 방법이지만, 2주 안에 해야하는 양은 정해져있는데 명세서를 받고나면 뭘 어떻게 해야하는지 조차 모르는 상태였기 때문에 몇 일은 그걸 공부하느라 시간을 보냈던 것 같다.

수료

RisingCamp 1기 수료증

라이징 테스트를 하면서 힘든 시간을 보냈지만, 수료를 했다는 것이 너무 뿌듯했다. 처음엔 iOS 기초밖에 몰랐는데 라이징 캠프를 통해서 개발 실력이 정말 많이 향상된 것 같다.

라이징 캠프는 주차별 과제 때도 그렇고 언제나 자신의 한계에 부딪히게 하는 맛이 있는 것 같다. 당장 할 때는 잠도 못 자고 할 만큼 힘들었지만 지나고 나니 뿌듯한 결과물과 향상된 실력이 이를 증명해주는 것 같아서 좋은 것 같다.
물론 나보다 더 쉽고 편하게 진행한 사람들도 많겠지만 나는 아니었다 ㅋㅋㅋㅋ 힘들었다 ㅋㅋㅋㅋ

라이징 캠프에서 가장 좋았던 점은 너무너무 좋은 멘토님과 친해진 동기들인 것 같다. 힘들때마다 응원해주셔서 버틸 수 있었던 것 같고, 멘토님은 언제나 빠른 답변으로 문제를 해결해주셔서 iOS를 더욱 재미있게 공부할 수 있었던 것 같다.

RisingCamp를 하고싶다면

아무것도 모른다면 더욱 힘들다.
주차별 과제를 할 때에 앞서 공부했던 클론코딩이 정말 많이 도움이 되었던 것 같다. 또한 라이징 테스트에서는 로직을 짜는 것이 너무 어려웠었는데, 그런 로직을 어렵지않게 잘 짜고싶다면 관련 언어의 알고리즘에 대한 지식이 조금이라도 있다면 더 좋을 것 같다고 느꼈다.

모든지 더 하자
라이징 테스트 때에는 실제 앱이다보니 안사용하는 기능이 없을만큼 많은 기능을 사용하게 된다. 그때 처음 써서 공부하는 것 보다는 주차별 과제를 할 때 더 많은 기능을 사용해보고 미리 공부해본다면 더 좋은 결과를 얻을 수 있을 것 같다.

한계에 도전하고 싶은 사람
개인적인 생각이지만 관련 파트를 처음 시작하는 사람들에게는 자신의 한계를 경험해 볼 수 있는 것 같다. 과제 선정을 할 때 내가 얼마나 더 도전하고 싶은가에 따라 더 어려운지 쉬운지가 나뉘겠지만 쉬울 것 같다고 생각했던 앱 조차 나는 힘들었다,,

위에 말한거처럼 자신의 한계를 경험해 볼 수 있는데, 그만큼 정말 많이 성장할 수 있다. 그러한 경험을 하고 싶고 그만큼 성장을 원하는 분들이라면 도전하는 것을 추천한다.

회고) RisingCamp 1기 회고 및 후기

https://suzumsz.github.io/2021/09/02/회고/RisingCamp/

Author

Sujeong Kim

Posted on

2021-09-02

Updated on

2022-01-13

Licensed under

댓글