[ 부스트 캠프 ] Shook 서비스 플레이어 만들기
·
iOS/Framework
👋 들어가기 전'드디어 이번 프로젝트에서 가장 심혈을 기울인 부분을 포스팅할 때가 됐다.우리 Shook팀은 모바일 게임 스트리밍 서비스로 크게 방송 송출 / 방송 시청 파트로 나뉜다. 평소에 스트리밍 방송을 자주 신청하는 나로써.. 어느 하나 포기하고 싶지 않지만 현실적으로3주 안에 해당 기능 개발에 모두 참가할 수는 없을 것 같아서 방송 시청쪽에서 사용자와 가장 밀접한플레이어를 선택했다. ⚙️ 빠르게 플레이어 만들기 먼저 재생할 resource가 있다고 가정하고 바로 재생할 수 있게 먼저 세팅을 해보자. 애플에서는 비디오를 재생할 수 있게 크게 2가지 방법을 제공해주는데  첫번 째는 AVKit, 두번째는 AVPlayerLayer와 함께 AVPlayer를 사용하는 방법이다. 간단히 정리하면 AVKit은..
[ 부스트 캠프 ] 채팅 기능을 위한 웹소켓 만들기
·
iOS
👋 들어가기 전 [ 부스트 캠프 ] iOS 개발자의 스프링 배포를 위한 여정👋 들어가기 전우리 서비스 핵심 기능인 스트리밍 화면을 살펴보자. 1. 영상 송출2. 방송 정보 제공3. 실시간 채팅기능 우리는 스트리밍관련 해서 naver cloud platform의 live station을 제공 받는다. NAhamp.tistory.com 위 글에서 나는 채팅을 위한 스프링 서버를 만들었다.이번에는 Client에서 사용할 웹 소켓을 만들어보자.  이번 프로젝트에서 생각보다 재밌게 진행한 작업이다. 왜냐하면 보통 채팅기능을 위한 웹소캣 통신은 보통 서버와 클라이언트 모두 오픈소스를 활용해서 구현했었는데 부스트 캠프에서는 서드파티를 지양하고 있기 때문에시간이 걸리더라도 직접 구현하는 것이 부스트 캠프의 도전 정..
[ 부스트 캠프 ] iOS 개발자의 스프링 배포를 위한 여정
·
스프링
👋 들어가기 전우리 서비스 핵심 기능인 스트리밍 화면을 살펴보자. 1. 영상 송출2. 방송 정보 제공3. 실시간 채팅기능 우리는 스트리밍관련 해서 naver cloud platform의 live station을 제공 받는다. NAVER CLOUD PLATFORMcloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certificationwww.ncloud.com 여기서 1번은 라이브 스테이션에서 제공을 받으면 되지만방송 정보 (제목, 부가 설명) 제공하는 api와 실시간으로 채팅할 서버가 없다는 것을 확인했다. 현실적인 한계를 깨닫고 라이브 스트리밍 서비스에서 채팅 기능을..
[ 부스트 캠프 ] CI를 통한 범인 찾기
·
깃/action
👋 CI를 도입한 이유Tuist를 도입하여 우리는 각자 독립된 환경에서 필요한 부분만 빌드하는 이점을 살려개발의 생산성을 높혀 나가고 있었다. 그런데 여기서 예상치 못한 변수가 등장했다.. 바로 빌드되는 부분을 제외한 곳의 디버깅이 안되는 상황이다.현재 BaseFeature의 타겟을 빌드하게 되면 다른 타겟쪽은 빌드가 돌아가지 않기 때문에 컴파일 에러를 잡아낼 수 없다.그렇게되면 우리의 규칙인 pr단위는 반드시 빌드가 되야한다라는 규칙이 깨지게된다.  실제로 ci 도입 전 많은 pr은 굉장히 안전하지 않아고 실제로 pull을 받았을 때 빌드가 안되는 문제가 많았다. 이제부터 ci를 통해 범인 찾기와 범인 발생 자체를 최대한 막아보려고 한다. ⏰ 언제 검사할까?? 가장 먼저 고민해야할 부분은 action..
[부스트 캠프] 우리만의 네트워크 만들기
·
iOS
👋 들어가기 전우리의 두번째 도전은 프로젝트 전반적으로 사용될 범용적인 라이브러리를 만드는 도전이다.  우리는 크게 2가지 범용 라이브러리를 기획했다. 첫번 째는 네트워크 통신을 담당하는 라이브러리와 두번 째는 uikit 레이아웃을 도와주는 라이브러리가 있다.실제 오픈소스로는 네트워크 쪽은 알라모파이어, 모야,  레이아웃은 스냅킷 등이 있다. 우린 위 오픈소스들을 컨셉을 참고하고 , 당장 사용하기 쉽게 만들기로 계획했다.여기서 나는 네트워크 팀으로 합류하게 되었다. 위 사진은 프로토 타입으로 정리한 백로그다. 각 과정을 간단하게 살펴보자. P.S 레이아웃 쪽은 EasyLayout이라는 명칭으로 만들어뒀으니 궁금하면 살펴보길 바란다.(추후에 Package 형태로 교체할 예정) iOS08-Shook/Pro..
[부스트 캠프] Tuist와 불편한 동거
·
iOS/Tuist
👋 들어가기 전네이버 부스트 캠프의 마지막 과정인 그룹 프로젝트에서 본격적으로 개발을 들어가다보니학습정리나 근황글을 쓸 여유가 정말 많이 부족했다.. 주말에도 프로젝트를 진행하고 조금의 여유는당연히 침대에서 쉬지 않으면 컨디션 관리가 안된다..  부스트 캠프 수료 1주일 전이 되서야 뒤를 돌아볼 시간이 생겨 오늘부터 조금 씩 정리 해보려 한다.🚧 Tuist를 그룹 프로젝트에 도입한 이유우리는 프로젝트 기획이 마무리 될 때 쯤 다들 이번 프로젝트에서 배우고 싶은 경험들을 이야기하는 시간을 가졌다. 정말 좋고 건설적인 주제들이 많이 나왔고 프로젝트 그 중에서도 "모듈화"라는 주제가 가장 많이 나왔다.다들 모듈화에 관심이 많았고 프로젝트를 통해 경험하고 싶다는 의견이 많았다. 하지만 여기서 나는 오히려 걱..