인턴 기간: 6월 14일 ~ 8월 13일
프로그래머스 2021 Summer Coding - 여름방학 스타트업 인턴 프로그램을 통해서 한 영상 편집 스타트업에서 IOS개발로 인턴을 하게 되었다. 면접은 OOP에 대해서 20분 정도의 발표와 40분 정도의 질문 면접이었고 CS관련 질문 보다는 경험 위주의 질문을 받았다. 섬머 코딩 특성상 여러곳을 동시에 넣기 때문에 다른 곳도 붙었으나 면접때 합격 시에 어떤 일을 하게 되나요? 라는 질문에 인턴 기간 동안에는 교육 및 과제를 내줄 생각이다 라고 하셔서 해당 회사에 인턴으로 입사하게 되었다. 인턴을 하는 2달의 기간 동안 처음으로 회사 생활을 해보면서 힘들기도 하였지만 새로운 경험과 직원분들이 너무 잘해주셔서 좋았던 기억으로 남았다.
첫 한달은 IOS 기초에 대해서 공부하였다. 매 주마다 1~2번 정도의 발표를 하였는데 주어진 주제에 대해서 공부하고 PPT를 만들어서 이를 개발팀장님에게 발표하는 방식으로 진행되었다. 1~3주차에는 UIKit의 전체적인 기본 구조에 대해서 발표하였고 이후에는 이를 활용하여 간단한 슈팅 게임 프로젝트를 만들어서 구조와 코드에 대해서 발표하였다.
그 다음달에는 이제 개발 팀장님이 아닌 대표님에게 발표를 하기 시작했다. (대표님이 IOS개발자이셨다) 4주라는 기간 동안 애플에서 제공하는 동영상 편집 프레임워크 AVFoundation과 동영상 관련 내용들을 공부하고 발표하였다. AVFoundation에 대해서 공부할 때 자료가 너무 적어서 힘들었다..ㅜ. 자료가 너무 적었으나 최대한 공식 문서와 wwdc 영상(매우 오래된 영상들.. 2011, 2012년도)들을 보며 공부하였다. 공식 문서는 수십 번 읽어보았고 공식 예제를 비롯하여 인터넷에 예제들을 아주 기초적이거나 object-c로 된 예제들이 대부분이었다. object-c 코드를 swift로 변환하며 진행하였고 최대한 개념적으로 각 객체들의 역활을 이해하려고 노력하였다.
이 카테고리에는 인턴을 마무리한 지금 개강하기 전까지 인턴때 공부했던 내용을 정리하여 기록할 생각이다. 인터넷의 내용들은 전부 기초적이거나 공식문서의 내용을 그대로 번역한 것이 대부분이라 다양한 곳에 수집하고 정리한 내용들을 내가 이해한 나름대로 적어보려한다. 훗날 AVFoundation을 처음 공부하려는 이에게 도움이 되었으면 좋겠다라는 생각을 하며 글을 작성해보겠다.