뒤로가기back

윌슨의 개발지식- 웹스트리밍

2019.10.22 by Gaudio Lab

윌슨의 개발지식

웹 스트리밍

 

웹 생태계

웹 생태계 용어부터 정리하고 갈까요?

  • WebAPI
    Mozilla Foundation이 웹 앱과 웹 컨텐츠가 기기의 하드웨어 접근하고 기기의 데이터 저장소에 접근할 수 있도록 해주는 기기호환과 접근 API 스펙.*Web Audio API와는 일련의 관계도 없는 듯…
  • polyfill
    HTML에서 제공하는 API 중 특정 브라우저에서 아직 지원하지 않는 기능을 워크어라운드로 API를 구현하는 써드파티 라이브러리
  • active x control
    한 마디로, 웹 브라우저를 통해 사용자 PC에 프로그램을 깔고, 그 웹사이트에 접속했을 때 그 프로그램을 실행해서 컨트롤 하는 기능
  • hls.js (참고)
    HTML 5의 video 엘레멘트와 호환해서 HTTP Live Streaming을 지원하는 Javascript 라이브러리. 따라서 따로 비디오 플레이어가 필요없다.
  • fragmented mp4 (참고)
    MP4 컨테이너 자체는 헤더에 길이를 명시하고 있기 때문에 스트리밍할 수 있는 포멧이 아니다. 이를 해결하기 위해 만들어진 포맷.

 

미디어 스트리밍(Streaming)이란?

클라이언트(ex, 브라우저) 로컬드라이브에 파일을 다운로드 하지 않고, Viewer 또는 Listener에게 미디어를 전달하는 방식. 따라서, Progressive Download는 Streaming이 아니다.

 

프로그레시브 다운로드(Progressive Download)란?

말 그대로 미디어 파일을 다운 받으면서 플레이하는 방식을 말한다.
이 때, 유저의 로컬에 파일이 다운로드되기 때문에, 유료 디지털 컨텐츠에 대한 보안이 되지 않는다.

Progressive Download의 한계를 정리해 보면,

  • 디지털 컨텐츠 보안
  • Adaptive Bitrate Streaming 미지원
  • Seeking 미지원

그런데 Seeking 미지원 문제를 해결하기 위해서 Pseudo Streaming이 사용된다.

 

스트리밍 포맷(Streaming Format)

스트리밍 포맷은 아래 3가지 구성요소로 결정된다.

  • Protocol
  • Transport, a.k.a. Transport Container
  • Codec

예로, 이에 따르면 HLS 스트리밍 포맷이란,

  • Protocol: HTTP
  • Transport: MPEG-TS
  • Codec
    • Video: h264
    • Audio: aac and mp3

 

브라우저에서 스트리밍 미디어 컨텐츠를 재생하려면?

브라우저에서 스트리밍 미디어 컨텐츠를 재생하려면 다음이 필요하다.

  • 해당 브라우저용 미디어 스트리밍 플레이어
  • 미디어 스트리밍 서버

해당 브라우저에서 미디어 스트리밍 플레이어를 구현하기 위한 핵심은 다음과 같다.

  1. 외부에서 전송되는 미디어 스트리밍 데이터를 디코딩할 수 있다.
  1. 디코딩된 데이터를 비디오 버퍼에 추가할 수 있다.

여기서 1번의 경우는 브라우저마다 디코딩할 수 있는 코덱이 다 다르다.

2번의 경우는 3가지 경우를 생각해 볼 수 있다.

  1. 표준 단체인 Mozilla의 API인 MSE(Media Source Extensions)를 사용 *MSE의 개념에 대해서는 여기 참고
  1. 브라우저 독자적인 API를 사용
  1. 없음

 

 

팁들

  • W3C에서 standard 다음의 4가지 스테이지를 거쳐서 완성된다.

    Working Draft (WD), Candidate Recommendation (CR), Proposed Recommendation (PR), and W3C Recommendation (REC)

 

유용한 툴

 

참고자료

Demystifying HTML5 Video Player – Eyevinn Technology – Medium https://medium.com/@eyevinntechnology/demystifying-html5-video-player-e480846328f0

pre-image
윌슨의 개발지식- 개발환경과 빌드(2)

개발환경과 빌드(2) 개발환경과 빌드는 도메인마다 다 다르고, 복잡해 보이기 때문에 접근하려고 마음 먹기 전에 두려움이 먼저 자리 잡는 것 같아요. 이러한 새로운 개발환경을 처음 접할 때 가장 어려운 부분은 전체 시스템에 대한 이해가 완벽하지 않기 때문에, 한 수 한 수 둘 때마다 이것이 어떠한 사이드 이펙트를 만들지에 대해서 불안감과 두려움이 먼저 생긴다는 것이죠. 전체 시스템에 대해서 확신을 가지고 있는 누군가가 옆에서 불확실하다고 여겨질 때마다, 확신을 준다면, 배움의 속도도 빨라지고, 응용의 속도도 빨라질 것 같다는 생각이 들었습니다. 그래서 도메인 별로 개발환경에 대해서 한 번 정리하고 많은 분들이 불안한 마음으로 다루고 있는 빌드 시스템에 대해서 알리고자 이 문서를 기획했습니다.   Web Javascript Library 빌드와 개발환경 빌드 웹도 네이티브 빌드와 크게 다를 게 없습니다. 결과적으로 해당 플랫폼 런타임에서 사용할 수 있는 라이브러리 또는 실행 스크립트를 배포하는 것이죠. 다만 그 타겟 플랫폼이 Chrome, Safari, IE 등의 브라우저고 기계가 이해할 수 있는 언어로 번역하는 시점이 좀 다릅니다. 브라우저는 Java의 Virtual Machine처럼 텍스트 기반의 Javascript 파일을 Runtime에 기계어로 번역하는 JIT 자바스크립트 엔진을 가지고 있어서 클라이언트가 브라우저에서 웹페이지를 접근하는 시점에 스크립트를 번역합니다.   그러면 특정 플랫폼에서 사용가능한 자바스크립트 라이브러리 파일을 배포하기 위해서는 무엇을 고려해야 할까요?   브라우저 타겟 고려사항 OS : 똑같은 버젼의 브라우저일지라도 모바일과 데스크탑 브라우저에서 지원하는 API 지원여부가 다를 수 있어요. 한 예로 Safari 브라우저는 모바일에서는 video.volume이 readonly인 반면 데스크탑에서는 값 할당이 가능하죠. 브라우저 종류 : Chrome, Edge, IE, Safari, Opera 등 브라우저들마다 표준 Web API를 구현한 수준이 다릅니다. 대표적인 예로 MSE를 들 수 있어요. IE에서는 이 API를 지원하지 않고 있다가 최근에서야 Netflix와 공동으로 이 API를 구현했죠. 브라우저 버젼 : 브라우져 버젼별로 지원하는 Web API가 다를 수가 있어요. 한 예로 스트리밍 플레이어 개발에 필수적인 API인 MSE는 크롬 55 버젼부터 사용이 가능합니다. (참고로 크롬은 버젼 77까지 출시되었다.) Web API & Polyfill : 브라우저마다 표준 API 지원여부가 다릅니다. 지원하지 않을 경우 Polyfill(브라우저에서 지원하지 않지만 워크어라운드로 구현한 라이브러리 또는 SDK)을 서치해서 찾아야 하죠. Javascript 버젼 : 최신 브라우저 버젼 대부분 ES 최신 문법을 지원하는 반면 오래된 버젼이나 구형 브라우저에서는 이를 지원하지 않을 수 있습니다. 더 넓은 범위의 호환성을 지원하려면 타겟 OS/브라우저를 설정하고 이에 따라 문법 지원여부를 고민해야 합니다.   위 고려사항을 생각하고 범용성을 고려하면 개발 프로세스는 다음처럼 생각할 수 있어요.   개발 프로세스 대개 개발 워크플로우는 다음과 같이 크게 3가지로 볼 수 있을 것 같아요. 개발 테스트 배포 위와 같은 3가지 축으로 볼 때 개발 워크플로우를 다음과 같이 표현할 수 있어요.   개발 환경 일반적으로 C/C++ 네이티브, 안드로이드, 맥/iOS 개발에 익숙한 분이라면, 웹 개발을 시작할 때 당황할 수 있습니다. XCode, Android Studio, Visual Studio 등 IDE에서 제공하는 기본적인 기능조차 설정되어 있지 않죠. 예로 들어, XCode에서 C++개발을 하면, 파일 단위로 기능을 나눠서 구현하고 그 헤더를 추가함으로써 다른 파일에 정의되어 있는 기능들을 사용합니다. 이렇게 파일을 분리해서 개발하면 나중에 필요한 파일만 재사용함으로써 개발 효율성을 높일 수 있겠죠. 또한 변경된 파일만 재빌드해서 빌드속도도 향상됩니다.   그러나 웹 개발 프로젝트를 시작할 때는 간단한 기능도 프로젝트를 시작하는 개발자가 세팅하고 가야 합니다. 이러한 개발 도구들을 많은 분들이 알고 계시는 NodeJS를 통해서 효과적으로 도입하고 사용합니다.   Node JS가 효과적인 이유는 여러가지가 있는데, 첫 번째로, 백엔드와 프론트 엔지니어가 공통의 언어로 작업공간을 공유할 수 있기 때문이고 두 번째로는 NPM 패키지 매니저가 의존성 관리를 너무나 편안하게 만들어 주기 때문입니다. (npm이나 기본적인 Node JS 개념을 이해하지 못하고 있다면, 여기서 좀 어려워질 수 있습니다.)   그렇게 해서 Node JS 기반 위에 개발자들은 하나둘씩 개발도구 패키지들을 배포하기 시작했고, 스트리밍 빌드시스템인 gulp, node module을 클라이언트에서도 사용하게 해주는 browserlify, 테스크 러너인 gulp 등등이 그것입니다. 문제는 어느 개발환경 하나 똑같은 개발의존성으로 구성하는 경우가 드물기 때문에 이 많은 패키지들의 개념들을 이해하고 감당하기가 어려웠던 것 같습니다. 자바스크립트 모듈 번들러인 Webpack이 나오면서 이 모든 기능들을 하나의 패키지에서 사용할 수 있게 되자, 대부분의 개발자들은 Webpack 기반으로 개발환경을 구성하는 추세로 돌아선 것 같습니다.   Webpack 웹팩은 Javascript Module Bundler입니다. 웹팩이 하는 일은 네이티브 C++빌드 환경에서 링커가 하는 역할과 매우 유사합니다. 링커가 의존성 있는 오브젝트 파일들을 모아 하나의 다이나믹 라이브러리 파일로 병합하는 것처럼, 웹팩 또한 여러 의존성 있는 JS파일들을 하나의 파일로 묶어서 출력합니다. (물론, 웹팩은 단순히 JS파일 뿐만 아니라, CSS파일, 이미지 파일들도 로드하지만, 결과적으로는 JS로 변환하기 때문에 이는 아직은 생각하지 않으셔도 됩니다)   웹팩은 이해하는 데 필수적인 개념은 Webpack 공식 홈페이지 문서에 잘 설명되어 있습니다. 바로 Entry, Loader, Plugin입니다.   Entry는 C++의 export API의 개념과 유사합니다. 웹팩이 가장 처음 읽는 파일로, 이 파일을 읽어서 의존성 트리를 그립니다. 이 엔트리를 몇 개 설정하는지에 따라 최종 JS파일 개수가 결정됩니다.   Loader는 각 파일을 병합하기 전에 특정 파일에 처리할 컨버터라고 보시면 됩니다. 예로 들어, Babel Loader는 일반적으로 좀더 상위 버젼의 자바스크립트로 작성된 JS파일을 좀 더 많은 브라우저가 이해할 수 있는 언어로 변경하는 역할을 합니다.   Plugin은 최종적으로 병합된 JS파일을 후처리하는 모듈입니다. 예로 들어, Uglify Plugin은 JS파일의 최종 파일 사이즈를 줄이고 난독화를 하기 위해, 변수명을 이해하기 힘든 명칭으로 변경하고 변수 길이나 필요없는 스페이스를 없앱니다.   (Entry 파일이 무엇이고, 사용하는 Loader, Plugin을 설정하는 것은 .config.js 파일에 정의합니다.)   이처럼 다양한 기능을 제공하는 Webpack을 웹 라이브러리 개발 프로세스에서 매치시켜 보면 다음과 같습니다.     사용된 로더와 플러그인은 아래 간단히 설명합니다.   Mocha 유닛테스트 프레임워크입니다.   Chai 노드와 브라우저용 BDD/TDD Assertion 라이브러리로 Mocha 유닛 테스트 프레임워크와 연동해서 주로 사용합니다.   Karma 테스트 러너로, 현재 호스트 시스템에 설치된 브라우저를 디텍트하고 설정된 브라우저를 실행시켜서 그 위에서 설정된 테스팅 프레임워크로 작성된 테스트 코드를 실행합니다.   ESLint 코드 정적 분석과 코딩 스타일 반영을 위해서 사용되는 툴입니다.   Babel 트랜스파일러로, 다양한 브라우저에 범용적으로 사용될 수 있는 자바스크립트 버젼으로 언어를 번역하는 역할을 수행합니다.   Webpack Banner Plugin 스크립트 파일에 상단에 커멘트로 스크립트 파일에 대한 정보를 일괄적으로 담기 위해서 사용됩니다. 예로 들어, 회사명이나 작성자 정보 등이 있습니다.   JSDoc 자바스크립트의 문서화 툴. 자바스크립트 파일에 문서화 문법에 맞춰 작성된 커멘트를 파싱해서 문서를 출력합니다.   레퍼런스 Webpack Official Website https://webpack.js.org/concepts/

2019.10.22
after-image
가우디오랩 인턴십 회고 - 10점 만점의 9점!

제 점수는요…10점 만점의 9점입니다! 피터의 가우디오랩 인턴십 회고   안녕하세요, 가우디오랩에서 7주 동안 가우딘(가우디오랩 구성원을 부르는 말)으로 생활했던 인턴 Peter입니다! 가우디오랩에서의 생활을 돌아보고, 또한 미래의 가우딘에게 조금이나마 도움이 되고자 이 글을 작성하게 되었습니다.   가우디오랩에서 무슨 일을 했는지? 제가 했던 업무에 대해 설명하기 이전에, 우선 가우디오랩을 간단하게 소개드려야 할 것 같습니다. 가우디오랩은 사운드 솔루션을 제공하는 스타트업입니다. VR/AR에 필요한 솔루션은 물론, OTT와 Music Streaming Service에 필요한 솔루션도 이미 개발 및 상용화가 이뤄진 상태이며, 세계 최고의 오디오 전문 인력을 기반으로 혁신적인 사운드 솔루션을 계속해서 개발하고 있습니다. B2B 형태로 비즈니스를 하고 있으며, 국내는 물론 해외 고객과도 긴밀하게 소통하며 글로벌 비즈니스를 하고 있습니다. 저는 사업개발팀 소속으로, 사업 개발에 필요한 전반적인 업무를 수행했습니다. 대표적으로는 해외 고객 탐색, 해외 잠재 고객사 서비스 분석을 통한 사업 기회 발굴, 웹사이트 중국어 버전 제작, Google Analytics를 활용한 웹사이트 방문자 분석 등의 업무를 수행했습니다.   가우디오랩에서의 인턴십 생활 점수 자극적인 것을 좋아하는 분들을 위해 준비한 항목입니다. 가우디오랩에서의 인턴 생활에 점수를 매기자면? 10점 만점에 9점입니다. 나머지 1점이 어떻게 된건지 궁금하시죠? 사실 부족했던 1점은 가우디오랩이 아닌, 제 자신에게 아쉬웠던 1점이랍니다. 그리고 그 아쉬웠던 점은 ‘가우딘에게 더 다가가지 못 한 것’입니다.   가우디오랩에서의 인턴십은 제 두번째 인턴십인데, 이전 회사는 위계적인 문화가 존재하는 회사였습니다. 이러한 문화를 가진 곳에서 장기간 인턴십을 수행하다 보니 자연스럽게 위계적인 조직문화에 적응하게 되었고, 윗사람들을 대하는게 어렵게만 느껴졌습니다. 또한 개인적으로도 윗사람을 어려워하는 경향이 조금 있었구요. 그래서 가우디오랩에서의 인턴십 초기에는 뭔가를 함부로 말하면 안 된다는 생각이 있었습니다. 제 솔직한 의견을 이야기하는 것들에 주저했었죠. 하지만 가우디오랩은 위와 완벽하게 반대의 조직 문화를 갖고 있는 곳입니다. 수평적인 구조이며, 솔직한 의견을 말하는 것을 항상 환영하죠. 초반에는 이러한 문화에 잘 적응하지 못했습니다. 하지만 점심 식사를 같이 하며, BoF 활동(소속팀과 관계없이 구성된 동아리 활동)을 하며, 우도(음악과 간식이 흐르는 휴게공간)에서 농담을 하며, 가우딘들은 솔직한 이야기로 마음의 문을 먼저 열어주었고, 따뜻한 가우딘 덕에 인턴십 후반에는 가우디오랩의 문화에 잘 적응하여 생활할 수 있었습니다. 덕분에 마지막 회의 때에는 의견을 거침 없이 피력했던 제 모습을 발견할 수 있었습니다.   위의 일련의 과정을 거치면서, 추후 어느 조직에 가더라도 나답게 표현하는 연습을 하자는 다짐을 했습니다. 특히 엉뚱할 수도 있는 한 사람의 생각이나 의견이, 다른 사람에게 영감을 줄 수만 있다면 이는 그 자체로 훌륭한 의견이 되는 것이라는 생각을 하게 되었습니다.   가우디오랩에서 좋았던 점 가우디오랩에서 좋았던 점은 크게 두가지를 꼽을 수 있습니다.첫번째는 조직 문화이고, 두번째는 오너십을 갖고 업무를 진행한 경험 입니다. 위에서도 밝혔지만, 가우디오랩은 굉장히 수평적이고 화합의 조직 문화를 갖고 있는 회사입니다. 입사일에 회사 대표인 Henney(가우디오랩은 영어 이름을 사용합니다)가 제게 말했던 몇 가지 사항이 있습니다. 그 중 하나는 이러한 것이었습니다. “가우디오랩에서는 모든 것이든 질문 혹은 말해도 된다. Peter가 본인이 엉뚱하다고 생각하는 아이디어도, 다른 가우딘이 다른 좋은 아이디어를 낼 수 있는 원천이 될 수 있다면, 그 자체로 훌륭한 역할을 하는 것이다.”   시간이 좀 지나 적응이 된 후 다양한 이야기들을 했었지만, 단 한 번도 이야기를 지적 받는 사례가 없었습니다. 또한 이러한 분위기에 힘입어, 궁금한 것을 마구마구 질문할 수 있는 문화도 잘 정착되어 있습니다. 대표적으로 Wan은 오디오 기초와 가우디오 제품을 몇번을 물어봐도 싫은 내색을 비친 적이 단 한번도 없고, 음향 공학 박사이신 James와 Sean도 음향 공학 전문 개념인 ‘푸리에 변환’을 문외한인 제게 몇번이고 반복해서 설명해줬습니다. 다른 분들도 마찬가지입니다. 또한 전사적인 상황을 공유하는 자리를 주기적으로 가지며, 가우딘이 각자가 가지고 있는 정보에 대한 Sync를 맞추는 문화가 인상적이었습니다. 매주 화요일마다 있는 G1 회의는 모든 가우딘이 모여 회사의 상황을 공유하는 자리입니다. 인상적인 점은 대표인 Henney가 회의를 진행하는 것이 아니라, 가우딘 한 명 한 명이 돌아가며 회의를 진행한다는 점입니다. G1에서는 현재 진행 중인 프로젝트에 대한 설명 및 질문 등을 통해 가우딘이 갖고 있는 정보의 비대칭을 없애려고 노력합니다. 그 자리에서는 민감한 사업 진행 현황도 여과없이 모두 실시간 제공이 됩니다. 제가 속해 있던 사업개발팀도 매주 금요일에 정기적으로 회의를 가졌습니다. 한 주 동안 있었던 일, 그 다음 주에 해야 할 일들을 이야기하면서, 서로가 무슨 일을 하고 있는지 확실하게 알리며, 업무를 보다 수월하게 진행할 수 있었습니다.   더불어 분기별로 BOF와 같은 행사를 통해 친밀감을 높이기도 합니다. BOF는 Birds of a Feather의 약자로, 서로 다른 업무를 하고 있는 4~5인이 한 팀이 되어 분기별로 업무 외 활동을 수행하는 것입니다. 인당 10만원이 넘는 비용이 지원되어, 하고 싶은 활동들을 재정적인 부담 없이 시도해볼 수 있습니다. 제가 있는 동안에는 저희 BoF에서는 인당 5만원에 상당하는 CGV의 씨네드쉐프를 감상하고, 삼합을 먹고 볼링도 치는 등 가우딘들과 더욱 돈독하고 진솔한 얘기를 할 수 있었습니다. 사실 이 글을 쓰게 된 계기도 BoF 자리에서 한 선배 가우딘이 제안을 하면서 이뤄지게 되었습니다.  맛있는 음식을 원 없이 먹게끔 하는 것도 큰 장점 중 하나입니다. 가우디오랩은 점심 저녁 식대를 모두 제공합니다. 덕분에 역삼역 근방의 맛집을 속속들이 돌아봤고, 또 입이 심심하지 않게 간식까지 계속해서 제공해줍니다. 또한 회식들도 부어라 마셔라 느낌이 아닌, 정말 맛 좋은 곳을 찾아 가는 미식가들이 모여 있습니다. 덕분에 저는 4kg를 증량한 채 퇴사할 수 있었습니다. 가우디오랩은 업무는 물론, 업무 외적인 측면도 굉장히 신경을 많이 쓰고 있습니다. 업무 시에는 프로페셔널하게, 업무 외의 시간에는 풍류를 즐길 줄 아는, 가우딘을 위한 문화가 장착되어 있던 것 같아 매우 보기 좋았습니다.   좋았던 점 두번째는 오너십(Ownership)을 갖고 업무를 진행한 경험입니다. 제 사수였던 Wan은 출근 첫 날에 제게 이러한 제안을 했습니다. “Peter가 가우디오랩에 도움이 필요한 부분을 스스로 찾고, 그것을 해결하는 것을 두 달 간의 업무 내용으로 삼는 것이 어떠할까요?”   일반적인 인턴십에서 흔치 않은 방식이었고, ‘문제 발견 – 목표 설정 – 해결’의 일련의 과정을 직접 관리할 수 있었기에 매우 기쁘게 수락했습니다. 저는 목표를 설정해야 했기에 가우디오랩의 사업 현황을 빠르게 파악할 수 있었고, 또한 가우디오랩에 제가 기여할 수 있는 부분이 뭘까 고민하는 훈련을 할 수 있었습니다. 또한 스스로 설정한 목표를 이뤄나가면서 성취감을 맛볼 수 있었습니다.   이러한 점은 창업을 진로로 생각하고 있던 저로서는 큰 경험이 되었습니다.     Biz팀 회식       가우디오랩에서 배워가는 점 가우디오랩의 생활을 돌아봤을 때, 다음의 세 가지를 배워가는 것 같습니다: 음향 공학에 대한 전반적 이해와 체험, B2B + Global 비즈니스 감각, 오너십에 대한 훈련   저는 Biz팀에 속해 있었기에, 이와 관련되어 이해를 하면 되겠습니다.  첫번째는 음향 공학에 대한 전반적 이해입니다. 가우디오랩에 들어오기 전까지, 저는 음향 혹은 사운드에 민감한 사람이 아니었습니다. 하지만 가우디오랩에서 다양한 제품을 접하고, 특히 VR과 관련된 제품을 접한 후에는 이러한 관점이 완전히 바뀌었습니다. 사용자 경험에 있어서 소리는 굉장히 중요한 요소이며, VR 시대에서는 더더욱이 그럴 것이라는 점입니다.  또한 B2B와 글로벌 비즈니스에 대한 감을 얻을 수 있었습니다. 첫째로 B2B는 철저하게 고객 맞춤이 가능하다는 점을 배웠습니다. 특히 고객과의 관계가 핵심인데, 고객 사의 상위 의사결정자와 하위 의사결정자 모두와의 관계를 탄탄하게 구축해놔야 한다는 것을 배웠습니다. 또한 (영어를 굉장히 잘 하시는 가우딘을 보며) 글로벌 비즈니스에서 외국어는 정말 중요하고, 영어와 중국어 공부를 열심히 해야겠다는 다짐을 하게 되었습니다. 세번째 오너십에 대한 훈련은 위에 기술된 바와 동일합니다.   Peter의 계획 퇴사를 앞두고서 많은 가우딘 분께서, 제 미래 계획이 어떻게 되는지 궁금해하셨습니다. 저는 개발 공부와 창업 아이디어를 프로토타이핑하는데 집중하고자 합니다.  우선 개발 공부와 관련해서는, 경영학도 출신으로서 항상 개발에 대한 갈증이 있었습니다. 생각한 것을 구현할 능력이 부족했기 때문이죠. 특히 개발 가능 여부가 비즈니스를 하는데 있어서도, 보다 다양한 가능성을 열어줄 것이라고 생각했습니다. 특히 가우디오랩에서도 제가 말한 내용을 뚝딱뚝딱 만들어내시는 멋진 개발자 분들과 함께 했기에, 이러한 다짐이 보다 확고해질 수 있었습니다.  저는 창업에 관심이 많습니다. 그래서 ‘매번 놀 곳을 찾아야 하는 것이 불편하다‘라는 고민에서 출발한 제 아이디어를 프로토타이핑화시키는 작업을 할 예정입니다. 그 과정에서 기존 서비스의 문제점이던 ‘많은 광고로 인한 사용자 신뢰 저하‘, ‘폐쇄적인 서비스 환경’을 개선시키려고 적극적으로 노력할 것입니다. 가우디오랩에서 좋았던 점은 창업과 도전에 대해 지지해주는 가우딘이 많았다는 점입니다. 제 아이디어를 응원해주고, 또 건설적인 피드백을 주며, 아이디어를 정교화하는데 많은 도움을 주었습니다. 7주라는 짧은 기간 동안 많은 것을 경험하고, 또 성장하게끔 도와준 가우디오랩과 모든 가우딘에게 감사의 말씀을 드리고 싶습니다.   앞으로도 가우디오랩과 모든 가우딘, 저 또한 창창한 앞날을 만들어가길 바라겠습니다!    

2020.02.20