스토리 홈

인터뷰

피드

뉴스

조회수 798

스타트업을 위한 AARRR(해적지표) 개념잡기

AARRR, 스타트업에 종사하거나 그로스 해킹에 관심 있으신 분이라면 한 번쯤은 들어본 용어일 것입니다.  그런데 이걸 뭐라 읽어야 할지, 정확히 무슨  용어인지 궁금해 하시는 분들이 계실 것 같아서 AARRR(해적지표)에 대해서 함께 살펴보는 시간을 마련 하였습니다.1. ‘AARRR’이란?이 용어는 미국의 스타트업 엑셀러레이터인 500 Startups의 설립자인 데이브 맥클루어(Dave McClure)가 개발한 분석 프레임워크입니다. 스타트업은 아이디어를 바탕으로 서비스(상품)를 만드는 데 능숙하지만, 서비스를 효과적으로 사람들에게 알리고 사용자를 꾸준히 확보하기 위한 개선방법에 대해서는 고민이 많습니다. AARRR은 시장 진입 단계에 맞는 특정 지표를 기준으로 우리 서비스의 상태를 가늠할 수 있는 효율적인 기준이 됩니다. 수많은 데이터 중 현 시점에서 가장 핵심적인 지표에 집중할 수 있게 함으로써, 분석할 리소스(인력이나 시간)가 충분하지 않은 스타트업에게 매력적인 프레임워크라고 할 수 있습니다.2. AARRR 단계별 핵심 지표Acquisition : 어떻게 우리 서비스를 접하고 있는가Activation : 사용자가 처음 서비스를 이용할 때 긍정적인 경험을 제공하는가Retention : 이후의 서비스 재사용률은 어떻게 되는가Referral : 사용자가 자발적 바이럴, 공유를 일으키고 있는가Revenue : 최종 목적(매출)으로 연결되고 있는가약어를 살펴보면 사용자가 서비스를 접하고 우리가 원하는 매출을 일으키기까지의 전체적인 과정을 크게 5단계로 분석한다고 볼 수 있는데요, 그럼 각 단계별로 실제 어떤 지표를 살펴봐야 하는지 보겠습니다. Acquisition → DAU, MAU, New UserAcquisition은 사용자를 획득하는 단계로, 서비스 안정화를 거친 후 시장 진입을 위해 공격적인 마케팅을 할 때 집중하는 지표입니다. 여러 채널을 통해 얼마나 많은 사용자가 유입되고 있는지, 신규 사용자는 얼마나 획득했는지 등을 파악합니다. 적은 비용으로 높은 볼륨을 일으키는 채널이 좋은 채널이라 할 수 있습니다.Activation → Bounce Rate, Avg.PV, Avg.Duration, Signup사용자가 서비스를 이용하기도 전에 이탈하는 비율은 얼마나 되는지, 서비스 이용을 시작했다면 이후의 engagement는 어떻게 되는지 등을 파악합니다. Bounce Rate(반송률)는 첫 페이지에서 서비스를 종료한 비율로, 부정적 사용자 경험을 나타내는 지표입니다.Retention → Retention Rate사업 초기 단계에서 가장 중요한 지표 중 하나가 바로 Retention입니다. Retention Rate은 서비스의 만족도를 가장 잘 대변하는 지표로, 서비스 만족도가 높다면 꾸준한 사용으로 높은 재사용률을 나타낼 것입니다. 반대로 재방문율이 낮으면 해당 서비스는 오랫동안 존속하기 힘듭니다. 이럴 경우 낮은 Retention을 끌어올리기 위한 푸시, 메일링, 리뉴얼 등의 다양한 노력이 필요합니다.Referral → Channel, SNS Share Rate최근 신규 앱을 받아 설치한 경험이 있으신가요? 설치하는 데 영향을 끼친 것은 무엇이었나요? 아마 지인의 추천을 통해 설치하는 경우가 다수일 것입니다. 이미 사용자 디바이스에 설치된 앱은 포화상태이기 때문에, 지인의 추천이 아니면 새로운 앱을 설치할 이유도, 목적도 쉽게 제시하지 못하는 상황입니다. 그렇기 때문에 서비스가 안정화되고 성장하는 단계에서 중요한 데이터가 바로 Referral입니다. 우리 서비스가 어디에 얼마나 공유되고 있으며, 그 채널로 인해 얼만큼의 사용자를 다시 확보하는지 등을 살펴봐야 합니다. 결국 Referral 단계는 Acquisition과 맞물려 선순환을 만들게 됩니다.Revenue → Conversion서비스가 존속하기 위해서는 분명한 수익모델이 있어야 합니다. 이를 판단하는 지표는 서비스마다 다르겠지만, 서비스를 이용하는 사용자의 Conversion Rate를 높이는 것이 목표인 것은 동일할 것입니다.*각 지표 별 자세한 분석 방법과 예시가 궁금하다면 아래 내용을 참조해주세요.모바일 데이터 분석의 시작: AARRR (해적지표)결론AARRR은 허무 지표(Vanity Metrics, 총 방문수 등)에 시간을 쏟기 보단 실행 지표(Actionable Metrics)에 집중함으로 개선의 방향을 잡고 최적화할 수 있도록 돕는 분석 프레임워크라고 볼 수 있습니다. AARRR과 같이 Actionable한 데이터를 제공하는 와이즈트래커를 통해 보다 많은 기업이 통찰력 있는 데이터 기반의 실행으로 높은 퍼포먼스를 내길 기대합니다.(Dave McClure의 AARRR 문서 보기 : http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-version) 
조회수 770

HBase Meetup - 비트윈에서 HBase를 사용하는 방법 - VCNC Engineering Blog

비트윈에서는 서비스 초기부터 HBase를 주요 데이터베이스로 사용하였으며 사용자 로그를 분석하는 데에도 HBase를 사용하고 있습니다. 지난 주 금요일(11월 15일)에 HBase를 만든 Michael Stack 씨가 한국을 방문하게 되어 ZDNet 송경석 팀장님의 주최 하에 HBase Meetup Seoul 모임을 가졌습니다. 그 자리에서 VCNC에서 비트윈을 운영하면서 HBase를 사용했던 경험들이나 HBase 트랜잭션 라이브러리인 Haeinsa에 대해 간단히 소개해 드리는 발표 기회를 가질 수 있었습니다. 이 글에서 발표한 내용에 대해 간단히 소개하고자 합니다.비트윈 서비스에 HBase를 사용하는 이유비트윈에서 가장 많이 사용되는 기능 중 하나가 채팅이며, 채팅은 상대적으로 복잡한 데이터 구조나 연산이 필요하지 않기 때문에 HBase 의 단순한 schema 구조가 큰 문제가 되지 않습니다. 특히 쓰기 연산이 다른 기능보다 많이 일어나기 때문에 높은 쓰기 연산 성능이 필요합니다. 그래서 메세징이 중심이 되는 서비스는 높은 확장성(Scalability)과 쓰기 성능을 가진 HBase가 유리하며 비슷한 이유로 라인이나 페이스북 메신저에서도 HBase를 사용하는 것이라고 짐작할 수 있습니다.로그 분석에도 HBase를 사용합니다비트윈은 사용자 로그 분석을 통해서 좀 더 나은 비트윈이 되기 위해서 노력하고 있습니다. 비트윈 사용자가 남기는 로그의 양이 하루에 3억건이 넘기 때문에 RDBMS에 저장하여 쿼리로 분석하기는 힘듭니다. 그래서 로그 분석을 위해 분산 데이터 처리 프레임워크인 Hadoop MapReduce를 이용하며 로그들은 MapReduce와 호환성이 좋은 HBase에 저장하고 있습니다. 또한 이렇게 MapReduce 작업들을 통해 정제된 분석 결과를 MySQL에 저장한 후에 다양한 쿼리와 시각화 도구들로 custom dashboard를 만들어 운영하고 있습니다. 이를 바탕으로 저희 Biz development팀(사업개발팀)이나 Data-driven팀(데이터 분석팀)이 손쉽게 insight를 얻어낼 수 있도록 돕고 있습니다.HBase를 사용하면서 삽질 했던 경험HBase를 사용하면서 처음에는 잘못 사용하고 있었던 점이 많았고 차근차근 고쳐나갔습니다. Region Split과 Major Compaction을 수동으로 직접 하는 등 다양한 최적화를 통해 처음보다 훨씬 잘 쓰고 있습니다. HBase 설정 최적화에 대한 이야기는 이전에 올렸던 블로그 글에서도 간단히 소개한 적이 있으니 확인해보시기 바랍니다.HBase 트랜잭션 라이브러리 해인사Haeinsa는 HBase에서 Multi-Row 트랜잭션을 제공하기 위한 라이브러리입니다. 오픈소스로 공개되어 있으며 Deview에서도 발표를 했었습니다. HBase에 아무런 변형도 가하지 않았기 때문에 기존에 사용하던 HBase 클러스터에 쉽게 적용할 수 있습니다. 비트윈에 실제로 적용되어 하루 3억 건 이상의 트랜잭션을 처리하고 있으며 다른 많은 NoSQL 기반 트랜잭션 라이브러리보다 높은 확장성과 좋은 성능을 가지고 있습니다.발표에서 사용했던 슬라이드를 첨부하였으니 도움이 되었으면 합니다.<iframe class="speakerdeck-iframe" frameborder="0" src="//speakerdeck.com/player/2b8092b02ff90131ef414aa7d272d735?" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="border: 0px; background: padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 750px; height: 563px;">
조회수 1206

채널 데스크 프론트엔드 기술 스택

오프라인 고객 분석 솔루션 워크인사이트를 개발해 온 조이는 최근 온라인 접객 서비스 채널을 런칭했습니다. 이 글은 채널과 관련된 기술 블로그의 첫번째 글로 채널 데스크 프론트엔드(웹, 윈도우, OSX)의 기술 스택 및 개발 환경을 소개하도록 하겠습니다.React채널 개발을 처음 시작할 당시 (지금으로부터 1년 전) 에 워크인사이트 대시보드 및 기타 사내 툴에서는 AngularJS 1을 사용하고 있었습니다. 비교적 적은 코드로 복잡한 애플리케이션을 빠르게 만들 수 있는 점에는 만족했지만 퍼포먼스면에서는 아쉬운 부분이 많았습니다. 따라서 새로운 프레임워크 및 라이브러리를 리서치 했고 매우 가볍고 렌더링 퍼포먼스 면에서 AngularJS 1 대비 우위에 있던 React 를 사용하기로 결정했습니다.컴포넌트의 설계 패턴은 Redux를 만든 Dan이 제안한 Container 와 Presentational 컴포넌트를 구분하는 방식으로 설계하고 있습니다. 따라서 Container 가 data fetch 및 update 등의 액션을 실행하고 Presentational 컴포넌트들을 조합하여 렌더링을 하게 됩니다.React를 실제 1년째 사용해 본 결과 저를 비롯한 팀원들은 매우 만족하고 있습니다. 구조, 스타일, 동작을 한 컴포넌트로 묶어 재사용성이 매우 높아졌으며 React의 휴리스틱한 Dom diff algorithm 덕분에 렌더링 퍼포먼스에서도 많은 이득을 얻을 수 있었습니다.Facebook Flux Utils아키텍쳐는 페이스북이 제안한 flux 철학에 따라 설계되었습니다. flux를 구현하기 위한 기본적인 유틸리티 기능을 제공하는 Flux Utils을 사용합니다. Flux의 많은 구현체 중에 요즘 가장 인기인 Redux도 고려했었습니다. 저희가 프로젝트를 시작할 당시에 Redux는 5~6개월밖에 되지 않은 프로젝트였고 거의 Dan의 1인 프로젝트였기 때문에 향후 메인터넌스를 장담할 수 없다고 판단했습니다. 그보다는 페이스북이 만든 Flux Utils가 그런 면에서는 더 안전할 거라고 생각했던 것이죠.약 1년 정도 Flux Utils로 개발해오며 몇 가지 문제를 겪게 되었습니다. 애플리케이션이 커지면서 관리해야할 State가 많아지고 그들 사이의 의존성 관리 때문에 Store의 복잡도가 빠르게 증가했습니다. 그에 따라 테스트가 어려워지고 올바른 유닛테스트를 위해서는 테스트 코드 역시 매우 복잡해지는 문제가 있었습니다.그래서 Redux를 다시 리서치하게 되었고, 결론적으로 “단일 Store, 다수Reducer” 라는 Redux의 철학을 통해 State 관리 로직(Reducer)을 단순하고 테스트도 쉽게 유지할 수 있겠다는 생각을 하게 되었습니다. 뿐만 아니라 그 동안 설계와 관련되어 고민하고 필요한 경우 저희 스스로 개발해서 사용하던 많은 부분이 Redux의 서브 프로젝트 형태로 (redux-actions, redux-thunk, reselect 등) 개발되어 사용되고 있는 것을 발견해서 Redux로의 마이그레이션을 결정했고 현재 진행 중에 있습니다.Electron이 글의 도입부에서 이야기한 것처럼 채널 데스크는 윈도우용, OSX용 애플리케이션으로도 제공됩니다. 채널 개발 초기 당시 윈도우, OSX 각각 네이티브로 만들 리소스가 부족했기 때문에 웹 기술 기반으로 네이티브 앱을 만들 수 있는 다양한 솔루션들을 리서치했고 그 중 Electron을 선택하게 되었습니다.Electron은 제가 정말 좋아하는 제품인 Slack, Simplenote에서 사용하고 알려져 있고 국내에서는 Remember 등에서 사용하고 있습니다. 초기 개발 당시에는 안정성에 의문을 제기하는 개발자들도 많았고 저희도 여러 문제와 삽질(인증, 패키징, 이슈 레포팅의 어려움, 메모리릭 등등)을 많이 겪긴 했습니다만 개인적으로는 충분히 프로덕션에 쓸 수 있을 정도 수준이라고 생각합니다. 무엇보다 프론트엔드 개발자가 매우 적은 노력으로도 네이티브 데스크탑 앱을 만들 수 있는 장점이 다른 모든 문제점을 상쇄하고도 남습니다.언어개발 언어로는 자바스크립트 ES6를 사용합니다. 언어를 선택할 당시에도 여러 옵션이 있었는데 가능하면 실험적이지 않고 표준을 사용하는 것이 미래 유지보수에 안전하다고 판단했습니다. 또한 다른 자바스크립트 대안 언어를 사용하지 않더라도 ES6 (일부 ES7 포함) 스펙도 충분히 효율적인 개발이 가능하다고 생각했습니다.코딩 스타일은 기본적으로 Airbnb의 코딩 스타일 가이드라인을 따르며 조이의 상황과 맞지 않는 부분은 엔지니어들과 상의 후 수정해서 사용하고 있습니다. 스타일 체크는 ESLint로 자동화한 뒤 Circle CI와 붙여서 모든 풀리퀘스트에 대해 점검하고 있습니다.테스트초기 개발할 때는 테스트 코드를 별도로 붙이지 않았습니다. 고객의 요구와 기타 상황에 따라 기획과 설계가 크게 변경되기도 했고 그 때마다 기민하게 반응하기 위해서, 어느 정도 확립된 제품이 되기 이전에는 테스트 코드는 작성하지 않는 것이 좋다고 판단했습니다. 이제는 많은 부분이 확정되었고 안정성이 중요해지기 시작했으며 애플리케이션이 커지면서 자동화된 테스트는 필수가 되기 시작했기에 최근에 도입을 하고 있습니다.테스트를 위한 도구는 Jest, Enzyme 등을 사용합니다. Presentational 컴포넌트에 대한 테스트는 props에 따라 원하는 형태로 렌더링이 이루어지는지, 이벤트에 따라 콜백이 잘 실행되는지 등의 Spec 을 작성합니다. Container 컴포넌트에 대한 테스트는 각종 이벤트 및 동작을 시뮬레이션하고 그에 따라 Action이 잘 발생하는지 또는 내부 state가 잘 변경되는지를 테스트합니다. 또한 Store (또는 Reducer), Action Creator, Model, Util 등 모든 구성 요소에 대한 테스트를 붙이려고 노력하고 있습니다. 유닛 테스트가 아닌 e2e 테스트 혹은 css 스타일 테스트 등은 하지 않고 있습니다.빌드 및 배포현재 채널 데스크는 Client-side rendering을 합니다. 초기 로딩 속도가 느리다는 단점이 있어서 Server-side rendering으로의 전환도 고려하고 있습니다. 이미 Node.js 를 사용하고 있어서 Isomorphic Javascript의 형태로 어렵지 않게 전환이 가능합니다.작성된 자바스크립트는 Babel로 컴파일되고 Webpack으로 번들화됩니다. css를 포함한 각종 리소스들 역시 Webpack을 통해 처리됩니다. 웬만한 작업은 npm과 Webpack으로만 자동화하려고 했으며, Electron과 관련된 작업(패키징, 인증 등)들만 gulp를 이용해 자동화됩니다. 모든 리소스들은 Node.js + express 서버로 Serving 되고, Node.js 앱은 Docker로 빌드되어 AWS EC2로 배포됩니다.마무리이상으로 채널 데스크 프론트엔드의 기술 스택을 소개해드렸습니다. 앞으로 각 부분 별로 저희 팀이 고민해 온 문제들과 해결 방법을 공유하고자 합니다. 뛰어난 개발자 분들의 많은 관심과 피드백 부탁드립니다!#조이코퍼레이션 #개발자 #개발팀 #인사이트 #경험공유 #일지
조회수 1989

TPS 지표 이해하기

많은 초창기 스타트업들은 성능에 관심이 없습니다. 제품 만들기도 바쁜데 성능이 무슨 의미가 있을까 생각이 들죠. 당장 서비스에 사용자가 몰리면 아마존 오토스케일이 해결해 줄테니까요. 맞습니다. 빠르게 가치를 증명하는 스타트업이라면 서비스 초창기부터 성능에 관심을 가질 필요는 없습니다. 하지만 한달에 아마존 서비스 비용이 천만원이 넘어가기 시작하면 슬슬 우리 서비스가 합리적으로 인프라를 사용하고 있는지 고민하게 됩니다. 인프라 비용의 근거도 만들고 싶어지기 시작하죠. 시스템의 성능 지표를 확인 하고 싶어진다면 지금이 TPS 지표를 보실 때입니다. Whatap Application TPS MetricTPS 계산하기Transaction per second(TPS)는 초당 트랜잭션의 개수입니다. 실제 계산하는 방식은 일정 기간동안 실행된 트랜잭션의 개수를 구하고 다시 1초 구간에 대한 값으로 변경합니다. 와탭의 경우 5초 구간으로 값을 수집하기 때문에 단위시간 동안 집계된 트랜잭션의 수를 5로 나눈 값이 표시됩니다. 위에 그림에 두번째 행을 보시면 5개의 트랜잭션이 실행완료된 것을 볼수 있습니다. 이런 경우 TPS를 구하는 방법은 5 transaction / 5 sec 이므로 결과값은 1 TPS 가 됩니다. (와탭의 TPS 지표는 좀더 복잡하게 계산합니다. 와탭은 챠트의 추세를 보여주기 위해 5초 간격으로 30초 평균 TPS를 보여주고 있습니다.)Saturation Point 와 TPS서비스에 사용자가 지속적으로 늘어나면 어느순간부터 TPS가 더이상 증가하지 않는 상황이 발생합니다. 이렇게 증가하지 않는 지점을 Saturation Point라고 합니다. 위 그림은 서비스의 이상적인 상황입니다. 제대로 튜닝이 되지 않은 서비스는 Saturation Point를 지나면 오히려 TPS가 떨어지기도 합니다. 위 그림을 보면 서비스를 사용자는 300명이 넘어가면 TPS가 고정되면서 상대적으로 트랜잭션의 응답시간이 길어 질것을 예상할 수 있습니다.  좀더 스토리를 만들어 보면 이렇게 이야기를 할 수 있습니다. 위 그림을 보면 동시 접속 사용자가 300명이 넘어가면 TPS는 더이상 올라가지 않으므로 서비스의 정체 시간은 증가하기 시작할 것입니다. 300명의 요청사항에 대한 TPS가 50이라면 해당 요청 사항을 다 처리하는데 6초가 걸린다고 생각할 수 있습니다. 이렇게 TPS와 동시접속자를 미리 선정해봄으로써 서비스의 성능을 상상해 볼 수 있습니다.요점 정리TPS는 초당 트랜잭션의 갯수를 말합니다. TPS는 서비스 성능의 기준이 됩니다.평소 TPS 지표를 체그하세요. TPS를 통해 무슨 요일에 또는 몇시에 최대치가 되는지 확인하세요.  TPS가 더 이상 증가하지 않은 지점을 Saturation Point라고 합니다. Satuartio Point가 넘으면서 사용자가 몰리면 TPS가 고정된 상태에서 응답시간이 길어지게 됩니다.   #와탭랩스 #개발자 #개발팀 #인사이트 #경험공유 #일지
조회수 4491

문돌이가 개발자랑 일할만큼만 프로그래밍 익히기

나는 대기업(스러운 곳)의 경영기획팀의 기획자로 5년간 일하다가 작년 초 회사를 그만두고 스타트업을 하겠다고 나왔다 (이거 뭐 써먹을데가 있어야지). 흔히 스타트업에서 '기획'한다고 하면 그건 대부분 '모바일/웹 서비스 기획자'를 의미한다. 이들은 개발자, 디자이너, 마케터들 사이에 새우 등 터지듯 일하는 경우가 많기 때문에 프로그래밍 배경지식이 없으면 특히 개발자들에게 x무시 당하기 쉽다. 이 글에서는 나같은 문돌이가 짜투리시간 약 3-4개월만 투자하면 초보 수준의 웹사이트는 개발 가능할 정도의 프로그래밍 스킬을 익혀서 개발자랑 어느정도 대화가 되는 PM이 되는 법에 대해 논하고자 한다. 참고로, 책보고 공부하는거 질색인 사람들에게 강추한다.지금부터 내가 설명하려는 '문돌이의 프로그래밍공부 방법론'은 어디까지나 다음에 해당하는 사람들에게 어울리는 방법임을 미리 밝혀둔다.1. 나는 학원같은거 다니면 적어도 반 이상은 완주할 정도의 인내력이 있다.2. 기본적인 영어 리스닝 실력은 있다.3. 내 목표는 개발자 되는게 아니라 개발자랑 일하는거다 (-> 진짜 프로그래머가 되는법은 절대로 내가 한 방법론으로 해서는 안된다.. 이건 그러니까.. 어디까지나 야매) Step 1. 생활코딩으로 공부하지 말고 준비운동만 하기 (1주일)생활코딩은 이제 너무 유명해져서 많은 문돌이들이 코딩 공부하는 성역이 되어버렸다. 그런데 아이러니한건 여기를 아는 사람은 많은데 여기서 코스 하나를 완주했다는 사람 보기는 힘들다는거. 생활코딩 사이트에 보면 생활코딩 작심 40시간 라이브 가 있는데 그야말로 40시간동안 웹서비스의 방대한 영역을 전부 건드리는 무지막지한 코스로서, 아무리 이고잉님이 쉽게 리드한다지만 문돌이가 처음부터 저걸 다 따라하는건 무리가 있다고 생각한다. 하지만, 이고잉님이 프로그래밍의 세계에 대해 전반적인 그림을 아주 잘 그려주시기 때문에 한번쯤 완주하고 나면 앞으로 내가 뭘 공부해야 하겠구나 하고 감 잡는데 큰 도움이 된다. 여기서 명심할 것은 이걸 그냥 가벼운 마음으로 시청만 하라는거다. 설치하라는거 다 설치하고, 코딩하라는거 다 코딩하면서 너무 진지하게 보지 말고, 그냥 시청만 하면서 프로그래밍 세계에 대해 맛만 보는거다. 왜냐면 완전 초보자가 AWS 트고, 리눅스, 우분투 설치하고, 깃허브에 서브라임까지 생소한 툴들 만지작하다 보면 겁부터 먹고 그냥 접게되는 경우가 많기 때문이다.생활코딩으로 프로그래밍의 방대한 세계의 맛만 보자Step 2. 유데미에서 Ruby on Rails 프로그래밍 코스 완주 (2개월)요즘 온라인에서 프로그래밍 배우는 사이트가 정말 많아졌다. 유데미, 유다시티, 칸, 코세라, 린다닷컴 등등 내가 아는 곳만 해도 10군데는 된다. 개인적으로 처음 프로그래밍 공부하는거면 왠만하면 한글로 배우지 말고 영어로 배우는 것을 추천한다. 객체 지향, 변수, 매개변수, 상수, 선택자, 제어문... 등등 한글로 배우면 이런 한문어로 된 단어들로 가르치는데 솔직히 더 어렵기도 하고 어차피 나중에 코딩하다 막히면 가장 많이 찾아볼 사이트가 스택오버플로우일텐데 저거 다시 영어로 찾아보느니 아예 처음부터 저걸 object-oriented, variable, parameter, constant, control statement... 요런식으로 인식해 버리는게 더 낫기 때문이다.해외 온라인 사이트는 많은 사람들이 유다시티를 얘기하는데 나는 유데미를 추천한다. 이유는 간단하다. 우리의 목표는 프로그래머로 취직하는게 아니라 프로그래머랑 일을 같이 하는게 목표이기 때문이다. 유다시티는 진짜 프로그래머 취업을 목표하는 사람들을 위해 디자인되었기 때문에 일단 수강료가 비싸고, 퀴즈도 엄청 풀어야 하고, 출석률도 체크하고, 아무튼 엄청 까다로운데 비해 유데미는 내가 필요한 특정 스킬들만 골라서 퀴즈같은거 없이 (있어도 점수체크 없음) 빠르게 수강 가능하고, 수업료도 저렴한 편이고, 무엇보다도 강사들이 대부분 실제 현업 종사자들이어서 가르치는 내용이 매우 실무적이다. (유다시티는 대학 백그라운드에 좀 교수같은 느낌)유데미에는 내가 필요한 특정 분야만 골라서 빠르게 마스터가 가능한 구조로 되어 있다.아까 1단계의 생활코딩 40시간 라이브를 전부 들었다면, 이제 프로그래밍의 세계가 대략 클라이언트-서버 프로그래밍의 두 영역으로 구분될 수 있고 (하드웨어, OS 이런거 제외), 프로그래밍 언어가 뭔지 (Ruby, Python, PHP 이런거), 프레임워크가 뭔지 (Ruby on Rails, Django, CodeIgnitor 이런거) 정도는 감이 생겼을 거다. (저게 각각 뭔지는 몰라도 되고 그냥 카테고리화만 할 줄 알아도 된다는 뜻임)이 글에서는 간단하게 프로그래밍 언어와 프레임워크의 차이점만 짚고 넘어가 보자. 프로그래밍 언어는 말그대로 소프트웨어를 작성하기위해 필요한 언어규약을 의마한다. 즉 내가 미국사람과 대화를 하려면 영어라는 언어가 필요하듯이 어떤 웹서비스를 통해 사용자와 통신하려면 수 많은 프로그래밍 언어들 중 내가 필요한거를 사용한다는것으로 이해하면 편하다. 흔히 고급언어-저급언어 이런말이 있는데 뭐 고급언어가 더 좋은거고 저급언어가 나쁜거고 이런말이 아니고, 최대한 사람이 사용하는 언어와 가까우면 고급언어라 부른다. 반대로 컴퓨터가 CPU 레벨에서 비트단위로 직접 사용하는 언어는 저급언어라고 부르고 기계어, 어셈블리어 뭐 이런걸 말하는데 이런건 지금 몰라도 된다. (생활코딩에서 이고잉님이 빙산의 일각 그림으로 아주 명쾌하게 설명해 주신다) 즉, 우리 초보레벨에서 프로그래밍 언어라고 하면 Ruby, Python, PHP, Java, JavaScript, C, C++, HTML, CSS 요런거 말하는거라고 이해하면 되고, 저기서 HTML, CSS는 웹브라우저에서 지금 당신이 보고있는 페이지 띄워주기 위해 필요한 언어이다. 즉, HTML, CSS는 웹페이지 코딩하려면 반드시 들어가는 내용이고, 좀 현란한 인터렉션도 넣으려면 JavaScript도 이 범주에 필요할 수 있고, 나머지 Ruby, Python, PHP, Java, C들 중에서 당신이 기본 베이스로 할 프로그래밍 언어를 선택하면 된다는 뜻이다. 정리하면, |HTML, CSS, JavaScript (선택) | + |기본 베이스로 할 언어 한개| 요렇게 공부를 해야 한다는 뜻이다. 프레임워크는 저기 언급한 프로그래밍 언어들로 프로그래밍을 쉽게 할 수 있도록 필요한 뼈대를 미리 설계해 놓은것, 좀더 어려운 말로는 재사용이 가능한 클래스들과 그 관계들을 미리 정의해 놓은 패키치같은거라고 이해하면 되는데, 각 기본 베이스로 선택하는 언어별로 프레임워크가 정해져 있다. 예를들어 Ruby 언어를 공부하면 프레임워크는 Ruby on Rails, Python을 공부할거면 프레임워크는 Django를 같이 공부하는 식이다.정리하면, 생활코딩 강의로 그냥 저 전반적인 세계에 대해서는 맛만 보고 당신은 그냥 Ruby와 Ruby on Rails를 선택해서 배우도록 하자. 왜 Ruby on Rails로 공부해야 하는가에 대해서는 여러가지 내 나름의 이유가 있는데 첫째, 컨벤션이 매우 엄격해서 비록 처음에는 러닝커브가 조금 있는 편이지만 초보자가 실수할 여지를 최대한 줄여준다. 예를들어 내가 써야하는 구문이 살짝만 틀려도, 명령어 하나의 대소문자만 틀려도 레일즈는 아예 페이지 전체를 보여주지 않는다. 이게 장점일수도 단점일수도 있겠지만 초보자가 어느정도 돌아가는 웹사이트 만들기 위해서 말도안되게 코딩한게 지저분하게 돌아가는 웹사이트보다는 좀 오래걸리지만 한번 만들고 나면 제대로 돌아가는 웹사이트가 운영하는데 더 유리하겠다라는 내 개인적 의견이다. 둘째, 레일즈에는 Ruby Gem이라고 불리는 아주 강력한 서드파티 라이브러리가 있다. 물론 대부분의 프로그래밍 언어에서 서드파티 라이브러리는 다 있지만, 루비젬이 강력한 이유는 앞서 얘기한 첫번째와 유사하다. 다른 언어의 라이브러리는 초보자가 그대로 가져다 쓰면 분명 에러 백퍼일것이다. 내 상황에 맞게 어느정도 변형할 수 있는 수준의 프로그래밍 능력이 있어야 할텐데 문돌이 초보자에게 그걸 기대하긴 어렵다. 반면 루비젬은 (전부 다 그렇진 않지만) 진짜 옛날 MS도스 시절 디스크 갔다 꼽고 인스톨 클릭하면 알아서 프로그램 깔아주던 느낌으로 젬파일을 인스톨하면 대부분의 라이브러리가 알아서 장착된다.루비를 선택해야 하는 마지막 이유는 (또 가장 중요한 이유는) 실제 웹사이트를 Deploy하는데 있어서 아무런 지식이 필요 없이 가능하다는데에 있다. 당신의 컴퓨터에서 코딩한 웹페이지들을 실제로 유저가 사용하기 위해서는 크게 다음 3가지가 필요하다. 1/서버 - 당신이 만든 웹페이지들을 어딘가에 가져다 놔야 유저가 찾아올수 있다. 당신 컴퓨터로 유저가 직접 접속할 순 없지 않은가. 2/도메인 - 당신 집에 유저가 놀러오려면 집주소가 필요한것 처럼, 당신이 올려놓은 웹페이지를 호출하기 위해서 필요한 주소같은 거다. 3/Deploy (배포) - 위 준비된 내용들을 실제 서버에 설치하고 유저가 찾아올 수 있게 만들어주는 일. 이 3가지 영역은 보통 백엔드라고 부르고 아마존 클라우드 서버니 하는게 다 저거 매니징하기 위해서 활용하는 서비스 이다. 아무튼, 이 영역은 나같은 평범한 문돌이에게 넘사벽의 영역이다. 괜히 배우려고 낑낑댈 필요도 없다. 레일즈를 배우면 나중에 디플로이할때 '헤로쿠'라는 서비스를 활용할 수 있는데 (물론 다른 언어도 가능하지만 쓱 읽어보면 레일즈로 하는게 젤 편해보임) 저기 웹사이트에서 시키는 대로 코드 복붙하고 명령어 몇번 치면 디플로이가 정말 마법처럼 이루어지고 덤으로 공짜 도메인까지 준다!! (물론 일정 트래픽 이하에는 서버비도 공짜) 난 이 3번째 이유만으로도 초보자들이 첫 배우는 프로그래밍 언어로 루비만큼 강력한게 없다고 생각한다.서론이 너무 길었다.. 아무튼 결론은 아까 말한 유데미 사이트에서 Ruby on Rails로 웹사이트 만들기 프로그램을 찾아서 공부하라는 말을 하려고 이 긴 설명을 한 거다. 유데미에서 레일즈로 웹사이트 만드는 코스 찾아보면 한 20개는 넘게 검색되는데, 다음 기준에 부합하는 내용의 코스를 선택하도록 한다.1. Bootcamp가 제목에 있는 코스 - 부트캠프라고 명시한 코스는 대부분 웹서비스 하나를 실제 서버에까지 올려서 완전하게 구현하는 코스를 말한다.2. Ruby on Rails를 활용하는 코스 - 각 코스 실라부스에서 Ruby on Rails를 활용하는지 확인해 본다.3. 레이팅이 적어도 4.5 이상, 별점 준 학생수가 최소 200 이상인 코스를 선택한다.참고로 내가 들었던 과정은 The Complete Web Developer Bootcamp라는 코스인데, 이미 1년 넘은 과정이기 때문에 이걸 듣지 말고, 그냥 이 코스의 실라부스를 참고해서 유사한 최신 코스를 찾아서 완주하길 바란다. 보통 2-3달 코스로 디자인 되어 있는데 하루에 1시간정도씩만 투자하면 2달이면 완주 가능하도록 되어있다.내가 수강했던 레일즈로 웹사이트만드는 부트캠프 코스. 이 코스의 실라부스를 참고해서 수강할 코스를 결정하도록 하자.Step 3. 부트스트랩 (Bootstrap) 숙달하기 (1주일)부트스트랩이란 아까 잠시 짚고 넘어간 HTML, CSS등의 웹페이지를 구현하는 언어를 위한 프레임워크이다. 사실 HTML, CSS도 초보자가 자유자재로 내가 구상한대로 화면에 딱 띄우도록 코딩하는건 매우매우 어렵다. 심지어 버튼하나 중앙정렬 하는것도 쉽지 않다. 부트스트랩은 이런 일들을 마법같이 쉽게 해주는, 그리고 모바일 반응형 구현도 코딩 몇줄로 가능하게 해주는 프레임워크이다. 아마도 당신이 선택할 유데미 코스에서 부트스트랩 활용하는 법이 포함되어 있을 듯 한데, 거기서는 정말 기본적인 내용만 훑어볼게 뻔하니 1주일정도 투자해서 부트스트랩을 제대로 익히고 넘어가도록 하자. 부트스트랩 사용법은 유데미에서 저렴한 코스를 하나 찾아서 수강하는것도 좋은 방법이고 그리 어렵지 않으니 부트스트랩 공식 웹사이트에서 필요한 내용만 골라서 본인의 웹사이트에 이것저것 적용해보며 익히는것도 좋다.부트스트랩은 초보자에게 어려울 수 있는 CSS의 박스모델, 플로팅, 정렬 이런걸 마법같이 쉽게 해주는 프레임워크이다.Step 4. 부트스트랩 코딩 되있는거 통째로 다운받아서 내 포트폴리오 사이트로 변형해보기 (3주일)여기까지 왔으면 당신은 이미 웹서비스에 관해서는 개발자랑 어느정도 대화는 되는 수준이 되어있을 것이다. 하지만, 여기까지 왔는데 실제로 내가 직접 코딩해서 서버에 디플로이까지 해 본 사이트 하나 정도는 있어야 하지 않겠나? 하지만 아무리 유데미 코스 하나 들었다고 당장 멋진 포트폴리오 웹사이트 만드는게 그리 쉽지는 않을 것이다. 이 단계를 아주 쉽게 해주는 사이트가 하나 있다. 바로 부트스트랩에서 제공하는 연습용 웹페이지인 Start Bootstrap이다.  완성도 높은 부트스트랩기반 웹사이트 파일을 통째로 다운받아 공부할 수 있는 사이트 이다.여기 가면 아주 잘 디자인된 다양한 종류의 부트스트랩 기반 웹사이트 코딩 파일들을 통째로 다운받을 수 있다. 본인이 도전해 보고 싶은 스타일 몇개를 골라서 다운받은 후에 index.html과 연결된 css파일 구조를 잘 파악해 본 다음에, 본인의 포트폴리오 웹사이트를 한번 만들어 보자. 이미 뼈대가 다 잡혀있기 때문에 그 뼈대를 분석하는 것 만으로도 큰 공부가 된다. 박스모델을 어떻게 쓰고 있고, 각종 버튼들을 글리피콘이랑 폰트어썸을 써서 멋있게 구현하는 법, jQuery의 각종 트랜지션들을 어떻게 구현하고 있는지 등등을 배울수 있고, 이 중에서 내가 필요한 부분을 복붙해서 내 웹사이트에 붙여볼 수도 있다. 나는 이 당시 여기의 웹사이트들 중 3개를 적절히 조합해서 다음과 같은 내 포트폴리오 웹사이트를 만들었다.StartBootstrap에서 3-4개의 사이트를 조합해서 만들어본 내 포트폴리오 웹사이트이다.당신이 여기까지 오는데 아마도 3-4달정도의 시간이 필요할 것이다. 다시 한번 강조하지만, 이렇게 공부하고 나서 당신이 '나는 개발자 입니다'라고 말하면 x욕 먹기 쉽다. 개발자의 세계는 웹개발만 해도 그리 녹록한 세상이 아니다. 하지만 이렇게 3달정도 야매로 포트폴리오 웹사이트 하나 뚝딱 만들어낼 정도로 훑어내고 나면 개발자랑 어느정도 대화가 통하는 문돌이 PM이 될수는 있다. 또한 당신이 정말 뜻이 생겨서 앞으로 앱개발도 배우고 직접 스택오버플로우 찾아다니면서 버그도 고치고 하다 보면 한 반년쯤 후에는 진짜 기본수준의 프로그래밍은 할 줄 아는 문돌이 PM이 되어 있을 것이다. PM으로서 본인이 구현하고자 하는 기능의 기술스택에 대해 개발자랑 어느정도 대화도 가능할 것이다.다음 글에서는 같은 맥락으로 디자이너랑 일할 수 있는 PM되기, 또는 디자이너 없는 스타트업에서 PM이 디자이너역할하기의 야매스러운 방법론에 대해 논해보고자 한다.글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기
조회수 1046

커머스앱에 필요한 와이즈트래커 리포트 Top 3

구글 플레이 스토어에서 앱을 구분하는 카테고리만 20여가지 입니다. 게임과 SNS에 집중되었던 초기의 앱 시장은 갈수록 종류가 다양해지고 있으며, 그로 인해 발생하는 분석 니즈 또한 다양해지면서 정형화 된 분석도구 보단 앱 고유의 비즈니스를 수용할 수 있는 커스텀 분석도구에 대한 요구가 증가하고 있습니다.맞춤형 분석 서비스를 제공하는 와이즈트래커에서 ‘커머스앱’을 운영하는 마케터에게 꼭 필요한 와이즈트래커의 리포트 3가지를 소개하겠습니다.1. RETENTION (리텐션)웹 광고만큼 종류가 다양해진 모바일 광고 시장은 마케터에게 광고 운영의 다양성을 제시하지만, 그만큼 마케터는 효율적인 광고 집행을 위해 고민이 깊어지게 됩니다. 어떤 채널에 어떤 매체를 활용해야 ROI가 높을까? 일시적으로 설치만 증가하고 삭제하는 건 아닐까?와이즈트래커의 이러한 고민에 데이터로 답을 드립니다. Retention 리포트는 운영중인 광고 채널을 통해 설치된 사용자들이 이후에도 지속적인 사용을 하는지 또는 삭제를 하는지 알려드립니다. 커머스 앱의 경우 최초 앱 설치 시, 제공하는 할인쿠폰 등의 이점이 있기 때문에 설치 당일의 활동과 주문은 증가할 수 있지만 해당 목표를 달성한 뒤 삭제하는 경우도 많아 재사용률 및 삭제율 데이터를 통해 진성유저를 획득하는 데 효과적인 광고 채널이 무엇인지 알 수 있습니다.2. 전환 시나리오 기업은 성과를 얻기 위해 필요한 정보를 단계별로 수집하도록 정의하는데, 이를 전환시나리오라고 합니다. 회원가입 시, 필요한 정보 수집 등에 동의하고 가입 양식을 작성하고 인증 후 완료하는 단계를 거치는데, 이 과정에서 단계별 통과율/이탈률을 통해 고객 획득의 기회를 유실하는 문제되는 화면이 있는지 도출합니다.회원가입, 주문을 시도하는 사용자는 전환 목적이 높은 사용자임에도 특정 단계에서 이탈률이 높다는 것은 무언의 불편함을 제공하고 있다고 볼 수 있습니다. 전환 시나리오 리포트는 이러한 문제점을 도출하고 개선을 통해 전체 전환율을 높이는 데 기여합니다. 3. 구매 간격 분포커머스앱은 평일 취침 전, 숙박 앱은 목요일 저녁, 컨텐츠 앱은 평일 출퇴근 시간 등 사용자는 알게 모르게 앱 사용 주기를 갖고 있습니다. 사용자의 앱 사용패턴을 이해한다면, 보다 시기적절한 마케팅 전략을 수행할 수 있습니다. 와이즈트래커의 구매 간격 분포 리포트는 사용자들의 재구매 사이클을 파악합니다. 한 달 간격으로 꾸준한 구매를 하는 충성도 높은 고객에겐 구매 후 3주~4주 지난 시점에 메일, 푸시 등으로 구매 유도를 시도하며, 3~4개월의 구매 간격을 갖는 고객은 계절성 상품을 제시하는 등의 리마케팅 전략 수립으로 높은 마케팅 효율을 얻을 수 있습니다.와이즈트래커는 커머스앱 뿐만 아니라 모든 비즈니스에 최적화 된 분석환경을 제공합니다. 다음에는 여행 및 숙박 앱에 필요한 리포트에 대해 소개드리겠습니다.* WISETRACKER는 모바일 광고 성과 측정부터 In-app 이용자/컨텐츠 분석, 푸시메시지 최적화까지 지원하는 모바일 통합 분석/타겟팅 솔루션입니다. 와이즈트래커 솔루션의 무료체험을 원하실 경우 여기를 클릭해주세요.* WISETRACKER가 제공하는 무료 데이터 분석 컨설팅를 원하신다면 여기를 클릭해주세요.#와이즈트래커 #데이터분석 #마케터 #데이터사이언스 #서비스소개
조회수 226

누군가를 위로하고 싶은데  방법을 모르겠다면

누군가를 위로하고 싶은데방법을 모를 때가 있습니다그녀가 입원했다는 소식을 들었을 때도 그랬습니다. 갑작스럽게 입원해서 바로 항암치료를 들어간다는 그녀에게 무슨 말을 해야 위로가 될지 전혀 가늠이 안돼서, 허둥지둥 대다가 그냥 아무 말 대잔치를 해버렸던 것입니다. 그랬던 것이 그녀를 떠나보내고 나서도 두고두고 내내 아쉬웠습니다. 매일매일이 아팠을 그녀에게 괜찮냐고 물어보는 게 맞는 것인지, 잘 지내지 못할 걸 알면서도 잘 지내냐고 물었어야 했는지, 당최 뭐라고 말을 시작해야 위로가 될지 전혀 가늠이 되지 않아서 몇 번을 망설이다 연락을 포기하곤 했었는데 그녀가 그렇게 빨리 가버릴 줄 알았다면, 아무 말이라도 그냥 던져보기라도 할 것을 하고 후회하고 또 후회했습니다. 가끔 SNS에 힘든 감정을 토로했을 때 모르는 이에게서 괜찮다, 그 정도는 다 지나간다, 다들 그렇게 산다라는 댓글을 발견했을 때, 대체 저 사람이 나의 고통에 대해 뭘 안다고 저렇게 말하는 걸까 하고 불쾌했던 적이 있었습니다. 분명 그분도 위로를 하고 싶은 마음에 꺼낸 이야기라는 걸 알면서도, 기분이 나쁜 건 어쩔 수가 없었습니다. 받는 상대가 받고 싶어 하지 않는 위로. 그게 정말 위로가 맞는 걸까요? 각자가 위로받는 방법은 분명 다를 텐데, 우리는 곧 괜찮아질 거야, 다 잘 될 거야, 힘내라는 의미 없는 말만 계속 반복해오고 있는 것은 아닐까요? 정말 그런 것이라면, 나는 그런 말로 위로가 되지 않는다면, 각자가 자신을 위로하는 방법에 대한 이야기를 공개하는 것이 제일 좋지 않을까 하는 생각이 들었습니다. 그래서 시작합니다. '___ 위로하는 방법 프로젝트' 그 첫 번째 시작은 바로 저의 이야기입니다.이남희를위로하는 방법  저는 정말 힘들 때는 그냥 펑펑 울어버립니다. 그렇다고 큰소리로 엉엉 우는 건 아니고, 그냥 조용히 눈물을 흘리면서 흐느끼곤 합니다. 한참을 울고 나면 눈물이 주는 정화작용 덕분에 기분이 한결 나아지더라고요. 그렇게 눈물로 에너지를 회복시킨 후에, 감정 다이어리 북을 쓰곤 합니다. 사실 저는 매일 꼬박꼬박 일기를 쓰는 인간이 못됩니다. 그래서 제가 만들어놓고도 그저 샘플로만 활용했었는데, 얼마 전에 독감이 걸려서 죽다 살아나는 경험을 하고 나니 이 불안하고 답답한 마음을 어디든 털어놔야겠다는 생각이 강하게 들더라고요. 그래서 책을 꺼내 들고 제 힘든 마음을 적어 내려가기 시작했습니다. 그렇게 답답한 마음을 모조리 여과 없이 써 내려가고 나니 마음이 한결 편해지더군요. 마음속에 담아두고 어쩔 줄 몰랐던 것들을 내 눈으로 명확히 보면서 아.. 내가 이런 걸 힘들어하고 있었구나 하고 찬찬히 들여다 보고 나니 답답했던 마음이 조금 풀어진 것 같습니다. 그래서 그날부터 저는 제가 만든 감정 다이어리 북을 열심히 쓰고 있답니다. 그리고 올해 1월부터 감정 다이어리를 쓰는 분들과 1달에 한 번씩 만나는 모임을 진행하고 있는데요. 멀리 대구에서 올라오셔서 참여하신 분을 보며, 나보다도 더 열심히 감정 다이어리를 쓰는 분들의 빛나는 후기를 들으면서, "내가 정말 잘 만들었구나."하며 엄청난 힘을 얻고 있습니다. 지난 모임에 참여하셨던 심리상담사 선생님께서 이런 모임들이 더 많아지면 상담사가 필요 없을 것 같다는 후기를 나눠주셨는데, 모두들 마음속에 담아두었던 이야기들을 꺼내서 토로하기도 하고, 서로 토닥여주기도 하고, 각자의 팁을 들으며 조언을 얻기도 하는 시간, 저도 매달 이 모임 날을 손꼽아 기다린답니다. 3월엔 20일에 진행하니 감정 다이어리 북 들고 마음을 나누러 오세요.                          3월 감정 다이어리 모임 신청하기그렇게 혼자서 고조되었던 감정을 추스르고 나면 내 이야기를 들어줄 누군가를 찾곤 합니다. 사실 아무리 친구라고 해도 힘들다는 이야기를 밑도 끝도 없이 털어놓는 것은 못할 짓이라고 생각하고 있기 때문에, 거친 생각들은 혼자서 정리하는 과정을 거치려고 노력합니다. 그래서 누가 들어도 괜찮을 정도로, 내 마음이 정리가 되고 나면 제 얘기를 털어놓는데요. 끄덕이며 들어주는 친구에게 한참 동안 내 이야기를 털어놓고 나면 기분이 좋아집니다. 저는 이렇게 나에게, 그리고 친구에게 위로를 받습니다.당신은 어떤가요?당신의 이야기를 기다립니다. 위로받는 방법에 대한 인터뷰를 원하시는 분은 아래 링크를 통해 신청해주세요. 인터뷰 내용은 추후에 매거진이나 단행본으로 출간될 수 있습니다. 글을 보니 조금 관심은 생기지만, 그래도 뭔가 신청하기는 부담스럽다는 생각이 들어서 인터뷰를 신청하지 않는다해도 괜찮습니다. 그저 이 기회로 당신이 나는 어떻게 위로받을 수 있는걸까, 나를 위로하는 방법이 무엇일까에 대해서 잠깐이라도 생각해볼 시간이 되었다면, 저는 그것만으로도 만족하니까요. 그렇게 찬찬히 생각해보았더니 이런 이야기는 다른 이들과 나누어도 좋겠다는 생각이 들면, 그 때 신청해주시면 됩니다. 저는 그때까지 조용히 당신을 기다리고 있을게요.https://goo.gl/8XTDdb스트레스컴퍼니의 모든 상품은 스트레스컴퍼니샵에서 구매 가능합니다.ⓒ스트레스컴퍼니 - 무단 전재-재배포 금지#스트레스컴퍼니 #심리스타트업 #스트레스관리 #서비스소개 #제품소개
조회수 2264

스포카에서 쓰는 오픈소스와 오픈소스 라이센스 (1)

안녕하세요. 스포카 프로그래머 박종규입니다. 이번 시간에는 스포카에서 쓰고있는 클라이언트 측 오픈소스와 그 오픈소스가 어떠한 라이센스가 적용이 되었는지 알아 보겠습니다.오픈소스(Open Source)먼저 간략하게 오픈소스의 정의에 대해서 짚어가도록 하겠습니다. 오픈소스는 소스코드를 외부에 공개하여 누구든지 제한없이 소프트웨어를 쓰고 소스코드를 볼 수 있는 소프트웨어를 말합니다. 통상적으로 오픈소스 소프트웨어를 오픈소스라고 부르기도 합니다. 대표적인 오픈소스로는 우리가 많이 쓰는 안드로이드OS와 크로미움 브라우저를 볼 수 있죠.프로젝트에 오픈소스를 적용?그렇다면 오픈소스의 정의도 알았고 제한없이 쓸 수도 있다고 하고 이렇게 많은 장점이 있는 오픈소스를 우리회사 프로젝트에 한 번 도입해볼까?라는 생각을 가지신 분들이 있겠지만 잠시만 기다려 주시길 바랍니다. 이러한 오픈소스는 오픈소스 라이센스라는 일종의 저작권이 적용이 되어 있어서 그 라이센스를 준수 해야합니다.오픈소스 라이센스(Open Source License)오픈소스 라이센스의 정의를 간략하게 보면오픈소스 라이센스는 오픈소스SW 개발자와 이용자간에 사용 방법 및 조건의 범위를 명시한 계약을 말한다. 따라서 오픈소스SW를 이용하기 위해서는 오픈소스SW 개발자가 만들어놓은 사용 방법 및 조건의 범위에 따라 해당 SW를 사용해야 하며, 이를 위반할 경우에는 라이선스를 위반함과 동시에 저작권 침해로 인해서 이에 대한 처벌을 받게 된다.라고 나와 있습니다. 즉 오픈소스이긴 하지만 오픈소스에 적용된 라이센스를 준수하지 않는다면 법적인 처벌을 받는다는 거죠. 그렇기 때문에 프로젝트에 오픈소스를 적용하려면 제일 먼저 라이센스를 확인해야 합니다.스포카 클라이언트에서는 어떠한 오픈소스를 쓰고 있을까?현재 스포카의 클라이언트측에서 사용하고 있는 오픈소스는 다음과 같습니다.jQueryLESSBackbone.jsD3.jsDataTables.js그럼 간략하게 이 오픈소스가 어떠한 역할을 하는지 간략하게 알아보겠습니다.jQueryjQuery(제이쿼리)는 브라우저 호환성이 있는 HTML 속 자바스크립트 라이브러리이며 클라이언트 사이드 스크립트 언어를 단순화 할 수 있도록 설계되었습니다. 즉 자바스크립트를 좀 더 편하게 쓸 수 있도록 개발된 라이브러리이죠.LESSLESS는 css를 동적으로 쓸 수 있게 해주는 자바스크립트 라이브러리 입니다. 기존 css에서 제공하지 않는 변수 및 연산식을 제공하기 때문에 코드를 재사용 할 수 있을 뿐만 아니라 개발시 소요되는 시간을 줄여줍니다. *.less로 개발된 코드는 less 컴파일러를 통해 *.css로 변환이 되어 클라이언트 페이지에 적용됩니다.Backbone.jsBackbone.js는 자바스크립트를 MVC 패턴으로 개발할 수 있게 도와주는 자바스크립트 라이브러리입니다.D3.jsD3.js는 데이터를 우리가 쉽게 볼 수있게 다양한 차트, 표, 그림으로 표현 할 수 있도록 기능을 제공해주는 자바스크립트 라이브러리입니다.DataTables.jsDataTables.js는 table를 만들어주는 기능을 제공하는 자바스크립트 라이브러리입니다.그렇다면 위 오픈소스에는 어떠한 라이센스가 적용되어 있을까?위의 오픈소스에 적용되어 있는 라이센스를 살펴보면jQuery : MIT, GPLv2LESS : apache license 2Backbone.js : MITD3.js : BSDDataTables.js : BSD, GPLv2같은 라이센스가 적용이 되어 있습니다. 그럼 하나씩 살펴보도록 하죠.듀얼라이센스먼저 jQuery와 DataTables.js에는 다른 오픈소스와 다르게 라이센스가 두개가 적용이 되어 있는 것을 볼 수 있습니다.이것을 흔히 듀얼라이센스라고 하는데 이 라이센스는 오픈소스를 쓰는 사용자가 두개의 라이센스중에서 하나를 선택해서 쓸 수 있는 라이센스입니다. 예를 들면 jQuery를 쓰는 사용자는 GPL 라이센스를 적용을 할 수도 있고 MIT 라이센스를 적용해서 쓸 수 있다는 뜻이죠.GPL 라이센스jQuery와 DataTables.js에 적용되있는 GPL라이센스에 대해서 알아 보겠습니다. GPL라이센스는 오픈소스에 가장 많이 적용된 라이센스 중에 하나입니다. 이 라이센스는 자유소프트웨어재단에서 만든 라이센스로 이 라이센스를 가진 오픈소스를 이용하여 응용 프로그램을 개발하는 경우에는 GPL라이센스가 적용이 됩니다. 그리고 GPL라이센스는 3가지의 버전이 있습니다.GPLv1GPL의 버전 1은 1989년 1월에 발표되었다(GPLv1 전문). 이것은 자유 소프트웨어에서의 두 가지 중요한 자유를 보장해 주었는데, 하나는 프로그램의 소스코드를 공개하지 않은 채 바이너리 파일만 배포하는 것을 막는 경우로 이것을 막기 위해 GPLv1에는 프로그램을 GPLv1로 배포할 때는 사람이 이해하기 쉬운 소스 코드를 같이 배포해야 한다는 조건이 들어갔다. 두 번째 문제는 프로그램에 추가적인 제약을 걸 가능성이 있다는 점이었고, 이를 막기 위해 GPLv1 프로그램을 수정한 프로그램은 원래 프로그램과 마찬가지로 GPLv1을 따라야 한다는 조건이 들어갔다.GPLv2자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스다. 미국의 리처드 스톨만(Richard Stallman)이 GNU-프로젝트로 배포된 프로그램의 라이선스로 사용하기 위해 작성했다. ‘① 컴퓨터 프로그램을 어떤 목적으로든지 사용할 수 있다 ② 컴퓨터 프로그램의 복사를 언제나 프로그램의 코드와 함께 판매 또는 무료로 배포할 수 있다 ③ 컴퓨터 프로그램의 코드를 용도에 따라 결정할 수 있다 ④ 변경된 컴퓨터 프로그램 역시 프로그램의 코드와 함께 자유로이 배포할 수 있다’라는 네 가지 조항을 명시하고 있다. 대부분의 소프트웨어에 대한 라이선스는 소프트웨어를 공유하거나 수정할 수 있는 자유를 금지하기 위 고안되었다. 반면에 GNU 일반 공중 라이선스는 자유 소프트웨어를 공유하고 수정할 수 있는 자유를 보장하기 위해 의도되었다. 즉, 소프트웨어가 사용자 모두에게 자유롭게 이용될 수 있도록 하는 것이다. 이 일반 공중 라이선스는 자유 소프트웨어 재단의 소프트웨어 대부분을 비롯하여, 저작자가 이 라이선스의 사용을 지정한 기타 모든 프로그램에 적용된다. (자유 소프트웨어 재단의 소프트웨어 중 일부는 이 라이선스 대신 GNU 라이브러리 일반 공중 라이선스가 적용된다.) 누구나 자신의 프로그램에 이 라이선스를 적용시킬 수 있다.GPLv3자유 소프트웨어 재단(FSF)과 이 재단의 GNU 프로젝트에 의해 배포되며 GNU 소프트웨어에 적용되는 공개 소프트웨어의 대표적인 라이선스 체계. GNU GPL이라고도 하며, 저작권(COPYRIGHT)의 반대라는 의미로 카피레프트(COPYLEFT)라고도 한다. 라이선스 사용료나 사용상의 제약 조건을 자유롭게 하여 소프트웨어 유통을 활성화하기 위한 의도에서 출발한 것으로 GNU 소프트웨어로 공개되는 원시 부호는 누구나 변경 또는 일반 공중 라이선스(GPL)로 재배포하고, 이를 이용하여 상업적 웹 사이트를 구축할 수도 있다. 그렇다고 저작권의 완전한 포기를 의미하는 것은 아니어서 GPL의 기본 원칙과 공개하는 측이 정의한 바를 충실하게 따르도록 되어 있다. 1990년대에 마련된 GPL V2.0에 이어 2005년에 V3.0이 발표되었다. GPL 버전 3은 2007년 6월 29일에 발표되었다. 2005년 후반에 자유 소프트웨어 재단에서 GPL의 세번째 판을 개발할 것이라고 발표했다. 바뀐 점 중에서 가장 중요한 4가지를 말하자면, 소프트웨어 특허에 대처하는 것, 다른 라이선스와의 호환성, 어떤 부분의 원시 코드와 무엇이 GPL이 포함되어야 하는 원시 코드를 구성하는지와 디지털 제한 관리(DIGITAL RESTRICTIONS MANAGEMENT)에 신경을 썼다.※참고GPL 라이센스가 적용된 오픈소스를 사용했다고 무조건 소스코드를 공개해야 하는 것은 아닙니다. 예를 들면 MySQL db를 이용하여 웹서비스를 개발해서 직접 서비스만 운영하는 경우 이것은 다른 곳에 배포하는 것이 아니므로 GPL 라이센스 의무사항이 적용되지 않습니다. 하지만 다른 곳에 제공하거나 파는 경우(쇼핑몰을 제작해서 파는 경우)에는 배포하는 것이 되므로 GPL라이센스가 적용이 됩니다. 따라서 이런 경우에는 상용라이센스를 구매해서 써야 합니다.MySQL에서 정의한 배포하는 대표적인 예는 다음과 같습니다.MySQL을 포함하고 있는 소프트웨어를 고객에게 팔아 그 소프트웨어를 고객이 소유한 장비에 설치하는 경우고객이 소유한 장비에 기본적으로 MySQL을 설치해야하는 소프트웨어를 파는 경우MySQL을 포함하고 있는 하드웨어 시스템을 고객에게 팔아서 고객이 있는 곳에 설치하는 경우MIT 라이센스MIT 라이센스는 MIT 공과대학교에서 학교 학생들의 소프트웨어 학습을 돕기 위해서 개발한 허가서입니다. 이 라이센스는 강력한 조항이 없어서 MIT 라이센스가 적용된 오픈소스를 이용하여 응용 프로그램을 개발할 시에 응용 프로그램을 오픈소스로 해야할 필요도 없고 소스코드를 공개할 의무가 없습니다. 또 상업적인 제한도 없습니다. 다만 응용 프로그램에 MIT 라이센스라고 표시와 라이센스 사본을 첨부만 해주면 됩니다.BSD 라이센스버클리의 캘리포니아 대학에서 배포하는 공개 소프트웨어의 라이선스입니다. BSD 라이센스는 자유소프트웨어 자작권의 하나로 BSD 계열 소프트웨어를 포함한 많은 프로그램에서 사용하고 있습니다. 이 라이센스는 라이센스라고 할 수 없을 만큼 미약해서 아무나 수정하고 배포하고 소스코드를 공개해야 할 의무가 없습니다. MIT 라이센스와 마찬가지로 라이센스 표시만 해주면 됩니다.Apach license 2아파치 라이센스는 아파치 소프트웨어 재단에서 만든 라이센스입니다. 이 라이센스 또한 MIT,BSD와 마찬가지로 소스코드 공개의 의무는 발생하지 않습니다. 하지만 “Apache”라는 이름에 대한 상표권을 침해하지 않아야 한다는 조항이 있어서 BSD라이센스보다 법적으로 완결된 내용을 담고 있습니다. 라이센스의 표시와 아파치 소프트웨어 재단에 개발된 소프트웨어라는 것을 밝혀야 합니다.참고한국저작권위원회위키백과KLDPwikiGNU공개SW포털MySQL KOREAKLDP 오픈소스라이센스가이드오픈소스 라이센스 비교표#스포카 #운영 #개발 #오픈소스 #개발자 #개발팀 #꿀팁 #인사이트 #조언
조회수 1217

Team Profile: Meet Kukhwan

Read In KoreanAs a yet minuscule startup, each member holds a significant power over the overall atmosphere of the team. And in our ultimate quest to make big waves in the data world, we need to make sure that the people at the helm are at least kind of cool. We think we’ve done a pretty good job so far in assembling a society of unique but equally driven members.So we bring you this seven-part series, one of each devoted to interviewing each of our members in detail, to give you an in-depth glimpse into the people responsible for bringing you the future of machine learning with Daria. Plus, we peppered the interviews with questions from Dr. Aron’s “The 36 Questions that Lead to Love”*, cherry picked to make work appropriate and concise, but interesting.(*actually falling in love with our members highly discouraged)Kukhwan joined XBrain as our first and much needed visual designer in March 2017. He’s a man of many talents and many duties, from designing the business cards that every team member carries to taking charge of creating Daria’s vibrant front end. Kukhwan will tell you that he’s a classic introvert, but given the chance, you will quickly come to appreciate his quick sense of humor and excellent taste in everything from internet memes to tech gadgets. Get to know him better here!KH would like to let it be known that he does not usually work with a wooden elf on his personTell us about your role at XBrain.Kukhwan (KH): I work as the visual designer, serving mainly two roles — product design and brand design. Product design can be divided into two parts: designing the visual facets of the product itself and optimizing user experience. Brand design consists of tasks like creating physical material, such as banners or business cards.Do you have a particular principle in mind when designing for XBrain?KH: I always try to make my designs for XBrain as easy as possible, because the public perception of machine learning is that it’s something obscure and inaccessible, which is a sentiment even some industry insiders share. So I want to visually dispel that effect as much as possible. For example, a lot of software companies operate on a single-color scheme — often very cool blues and grays. With XBrain, I went for some character, with some friendly, approachable pinks and teals mixed with our main hue of indigo blue.What does a typical work day look like for you, morning to evening?KH: Because I work on everything design-related, I don’t really have a set task schedule. But generally speaking, I try to do a lot of work in the mornings, because that’s when I concentrate the best. Then I organize all this during our daily scrum meeting, and have separate discussions with relevant members at about 2 or 3 PM. I then work on my designs based off of these discussions. After dinner I try to watch webinars — right now it’s one on JavaScript, because I need to work on my coding.What are the parts of your job that you enjoy the most?KH: I most enjoy product meetings with the rest of the team to improve user experience. I get to learn about user situations that I wouldn’t otherwise be aware of, and improving Daria based on these conversations has been both interesting and fulfilling.What are the least enjoyable/most challenging parts of your job?KH: There’s nothing I don’t particularly enjoy, but the most challenging aspect would be probably the programming aspects, from conceptualizing the design to actually coding it into existence. But this is all fascinating work — I’m just worried about overall efficiency, because it can get pretty slow at times.What is your go-to work playlist?KH: I enjoy Korean indie-type music, like Bol4, Zitteun, and Sung Si Kyung.Pick one item on your desk that tells us something about you.KH: My Roost Laptop Stand, which was a pretty successful Kickstarter project. It’s a product that really pays attention to the ergonomical user experience of a laptop stand, and is also very, very light and easy to carry around. I also like monitoring how the company is developing its new projects, keeping tabs on their structural developments. It was a bit of a splurge ($99), but worth it!A little into the frame you can glimpse KH’s immaculate aestheticWhat made you want to go into design?KH: I originally wanted to go into automobile design, because I was really into cars from a very young age. So I studied with the intent of going into that field, which has a pretty narrow entry track — only two universities in Korea have such undergraduate programs. But I ended up studying digital media design, and really got into interactive design, of which user experience is a very big part. And I realized that to pursue this path, I would also have to moonlight as a programmer.Why XBrain, then?KH: XBrain really cares about its members — I’m aware that some startups suffer from a high turnover rate because they don’t really put effort into cultivating a sound corporate community and culture. But I know XBrain has tried to focus on that from a very early stage, and even now they put the most care and effort into making us feel like a team. Moreover, as a designer, I think the chance to build from scratch every visual aspect of a product and company is an experience that not many of my peers get to have.What’s your most memorable episode at XBrain?KH: Probably coming up with and completing our brand, which was something that the entire team worked on together for the first time.If you had to have dinner with one XBrain member, who would it be and why?KH: Jongmin, since we’re set to collaborate extensively on Daria, and it would be nice to get to know him better.Recommend a movie for our next Cinema Society, please.KH: Christmas In August (1998). Shim Eun-ha, the lead actress, was very very beautiful in it, and the sophisticated cinematography makes it hard to believe it was made in Korea in the 90s.If you could sum up XBrain in three words or less?KH: Potential. People. Culture.Given the choice of anyone in the world, whom would you want as a dinner guest?KH: I can’t pinpoint one individual, but someone I like who likes me back.Would you like to be famous? In what way?KH: No. I’m pretty much an introvert, and wouldn’t like being recognized on the streets.If you were able to live to the age of 90 and retain either the mind or body of a 30-year-old for the last 60 years of your life, which would you want?KH: Probably the mind of a 30 year old. I’ve been noticing that as I get older, I’ve just been looking to settle down instead of trying new things, whereas in my early twenties, I wanted to travel, study abroad, etc., etc. So before it’s too late, I’d like to retain that state of mind.For what in your life do you feel most grateful?KH: I don’t consider myself a particularly lucky person, but I do have considerably good luck in meeting people. You don’t really get much choice in the communities you enter into at schools, mandatory military service, or work, but I’ve always met the best people, and have received help from a lot of them.If you could wake up tomorrow having gained any one quality or ability, what would it be?KH: I’d like to be more extroverted. I’ve tried to change, but it just felt so unnatural that I gave up eventually. So it would be great if I could express myself more to the good friends I’ve mentioned above.If a crystal ball could tell you the truth about yourself, your life, the future or anything else, what would you want to know?KH: When will I meet the one?Is there something that you’ve dreamed of doing for a long time? Why haven’t you done it?KH: I’ve always wanted to study abroad, but haven’t been able to for one realistic reason or another. But I hope to find something that I really want to learn in depth and study that at a great school abroad.What is the greatest accomplishment of your life?KH: This is by far the hardest question. If I had to choose…it would be joining the XBrain team, and finding and doing what I enjoy. I’m lucky in that I’ve found direction quite early on, and that I have people around me who could help.If you knew that in one year you would die suddenly, would you change anything about the way you are now living? Why?KH: I would try to be more outgoing, for the friends in my life that have reached out and engaged with me first. I probably do need to do this even if my time here isn’t limited, though…If you were going to become close friends with someone, please share what would be important for him or her to know.KH: I don’t really react much to things, but it’s not because I don’t like the situation or because I’m unhappy. There are people who don’t really care about that, and these are the people I usually get along with.Your house, containing everything you own, catches fire. After saving your loved ones and pets, you have time to safely make a final dash to save any one item. What would it be? Why?KH: I honestly think I wouldn’t go back in that situation, but probably the picture diaries I drew when I was a kid…it’s quite fun to look at them now.What, if anything, is too serious to be joked about?KH: A lot, really…but one thing in particular that you should never laugh at is someone’s dreams, far-fetched as they may be.#엑스브레인 #팀원소개 #팀원인터뷰 #기업문화 #조직문화 #팀원자랑
조회수 1704

채권 투자할 때 꼭 봐야 하는 재무제표 속 숫자들!

우리는 채권형 크라우드펀딩을 통해 자금이 꼭 필요한 기업에 직접 돈을 빌려줄 수 있습니다. 그런데 이 회사가 만기에 약속대로 돈을 갚을지 아니면 “미안해. 내가 요즘 좀 어려워서… 조금만 시간을 줘…”라고 말할지 어떻게 알 수 있을까요?이미 가진 돈이 많거나 돈을 열심히 벌고 있거나이 회사가 1) 얼마나 가졌는지(과거)와 2) 돈을 얼마나 벌고 있는지(현재)를 살펴보면 어느 정도 예측할 수 있어요. “내가 재산이 이만큼 있으니 이걸 팔아서라도 갚을 거야.” 아니면 “아직 가진 건 없지만 얼마씩 벌고 있으니까 언제까지 갚을게.” 중 하나는 약속이 되어야 하죠. 사람이면 연봉과 재산을 확인해보면 될 텐데 기업이면 재무제표를 봐야 알 수 있습니다.‘아…. 재무제표…?’ 벌써 현기증 나신다고요? 걱정 마세요. 쉽게 알려드릴게요.Ⅰ. 재무상태표: 일단 지금 가진 것 좀 봅시다재무상태표를 보면 지금 이 회사가 얼마나 가졌는지 쉽게 알 수 있습니다. 재무 "상태"”라는 말에서 알 수 있듯이 지금 이 시점에 이 회사가 얼마를 갖고 있고(자본), 빚은 얼마라서(부채) 총자산은 얼마인가를 보여주는 게 바로 재무상태표입니다.먼저 자산은 자본과 부채의 합을 의미합니다. 자본이 2억인데 부채가 2억이면? 2억에서 2억을 빼니 자산은 0원 아니냐 하실 수 있지만, 이 경우 자산은 4억이 됩니다. 예를 들어볼까요? 제가 2억을 모으고, 2억을 대출받아 아파트를 샀습니다. 빚이 2억이긴 하지만 4억짜리 아파트는 제 명의니까 제 자산은 4억이 되는 거죠. 1. 부채비율이 낮은 기업을 찾아라! 이처럼 자산이 많은 것도 중요하지만, 그중에서도 부채(빌린 돈)보다 자본(내 돈)이 많을수록 안정적인 회사입니다. 자본 대비 부채가 적어야(부채비율이 낮을수록) 돈을 돌려받을 가능성이 커지는 거죠.2. 자산 중에서도 유동자산이 많은 기업을 찾아라! 그럼 부채는 적고, 자본은 많으면 무조건 좋은 거냐? 하시면 그건 또 아니에요. 자산은 보통 유동자산과 비유동자산으로 나뉩니다. 유동자산은 1년 이내 현금화할 수 있는 자산을, 비유동자산은 1년 이내에 현금화하기 어려운 자산을 의미합니다. 빨리 현금으로 바꿀 수 있는 유동자산이 많을수록 안심이 되겠죠? 반면에 부채의 경우 1년 안에 갚아야 하는 유동부채보다 1년 이상 갚지 않아도 되는 비유동부채가 많을수록 채권자에게 유리합니다. 3. 현금이 최고야!유동자산은 또다시 당좌자산과 재고자산으로 나눌 수 있습니다. 당좌자산은 기업이 정상적으로 운영되는 경우 바로 현금화할 수 있는 자산을 말해요. 현금이나 예적금 같은 단기 금융상품, 외상을 의미하는 매출채권 등이 여기에 포함됩니다.반면에 재고자산은 기업이 판매를 위해 생산 중인 상품이나, 부품, 원료, 재료, 소모품 등을 말해요. 당좌자산보다는 현금화가 어렵죠. 그래서 유동자산 중에서도 당좌자산이 많으면 조금 더 믿어도 됩니다. 당좌자산 중에서도 외상인 매출채권보다는 현금 및 현금성 자산이 많은 회사가 좋겠죠?하지만 현금이나 빠르게 현금화할 수 있는 형태의 자산의 비율이 높은 기업일수록 돈을 빌리려고 하지 않겠죠. 그래서 이런 상황이 발생합니다. “재무상태표만 봐서는 잘 모르겠습니다. 현금화하기 쉬운 자산이 아예 없지는 않은데 충분한지 모르겠어요.” 그럼 이제 이 회사가 요즘 얼마나 벌고 있는지 알아볼 차례입니다. Ⅱ. 손익계산서: 그래서 얼마나 벌고 있나요?이 회사가 얼마를 벌고 있느냐를 보려면 재무제표 중에 손익계산서를 보면 됩니다. 손익계산서는 말 그대로 회사의 손실과 이익을 계산한 것입니다. 일정 기간 동안(보통은 1년 단위) 기업활동을 통해 얼마의 수익을 벌었고, 얼마의 비용이 들었는지 알려줍니다. 손익계산서에서 꼭 봐야 할 부분은 매출액과 영업이익입니다. 해당 기간 얼마나 팔았고, 그래서 얼마 남았나를 의미하죠.  *매출액: 해당 기간에 판매한 제품이나 서비스 등의 총금액을 말합니다.*매출원가: 제품이나 서비스를 만들고 파는데 드는 비용을 의미합니다.*매출총액: 매출총액 = 매출액- 매출원가입니다. *판매비와 관리비(줄여서 판관비): 제품이나 서비스를 판매하고 관리하는 데 드는 비용입니다. 인건비, 광고비, 임대료, 공과금 등이 포함되어요.*영업이익: 매출총이익- 판관비입니다.1. 매출액이 증가하고 있는가매출액은 해당 기간에 판매한 제품이나 서비스 등의 총금액을 말합니다. 기본적으로 매출액이 전기보다 증가 추세에 있는지, 제품이나 서비스를 만드는 데 드는 총비용인 매출원가가 매출액 대비 지나치게 높지는 않은지 살펴봐야 합니다. 사람도 그렇잖아요. 제가 돈을 벌기는 버는데 연봉이 계속 줄거나, 버는 돈에 비해 나가는 돈이 너무 많으면 다음 달 카드 대금 갚을 돈이 없겠죠. 2. 영업이익이 +인가손익계산서에서 가장 중요한 것을 하나만 꼽으라면 영업이익입니다. 매출액에서 매출원가를 뺀 매출총액에서 제품을 판매하고 관리하는 데 드는 비용까지 빼면 영업이익입니다. 영업이익이 0보다 작으면 이 회사는 적자를 내고 있는 상태입니다. 반대로 영업이익이 0보다 크고, 지속적으로 늘어나고 있다면 이 회사가 착실하게 성장하고 있다는 뜻이겠죠. 영업이익이 큰 폭으로 늘어나고 있다면 참 좋은 신호입니다. 하지만 채권자는 돈 빌려주기 전에 미리 이자율을 설정하기 때문에 영업이익이 엄청나게 늘어난다고 돈을 더 많이 돌려받지 않습니다. 내 돈을 간신히 갚을 정도로 돈을 버는 기업이나 엄청나게 많은 돈을 기업이나 갚는 돈(원금+이자)은 똑같습니다. 그래서 채권자의 경우 회사가 내는 영업 이익이 지금 빌리려는 돈을 갚을 정도가 되는지만 알아보면 손실은 피할 수 있어요.3. [주의!] 당기순이익의 함정을 조심하세요.기업의 손익계산서를 보면 영업이익 아래에 몇 개의 항목이 더 나와있습니다.*영업외수익(영업외비용): 기업의 주요 영업활동이 아닌 활동으로 발생하는 수익(비용)을 의미합니다. 이자수익(이자비용), 유형자산처분이익(유형자산처분손실) 등이 포함되죠. *법인세차감전순이익: 영업이익 +영업외수익-영업외비용=법인세차감전순이익*법인세: 법인의 소득에 부과하는 세금*당기순이익: 영업이익 + 영업외수익 – 영업외비용 – 법인세 = 당기순이익그중에서도 가장 아래에 표기되는 게 바로 당기순이익인데요. 매출액에서 매출원가, 판관비, 영업외이익, 법인세를 모두 뺀 당기순이익이 크면 당연히 좋은 신호입니다. 하지만 당기순이익은 큰데 영업이익은 적은 기업이라면 조심하셔야 해요. 기업의 주요 영업활동으로 얻는 이익은 적은데, 해당 기간에 부동산 등의 유형자산을 처분해서 얻은 영업외수익이 있다면 일시적으로 당기순이익이 크게 잡힐 수 있기 때문입니다. “매출액과 영업이익, 그리고 당기순이익이 증가하는 기업이 좋다. 하지만, 당기순이익보다 중요한 것은 영업이익이다.”라고 정리할 수 있겠네요.투자 한 번 하기 쉽지 않죠? 그래도 채권은 과거(재무상태 표)와 현재(손익계산서)의 기록으로 이 기업의 상환 능력을 어느 정도 예측할 수 있습니다. 와디즈 채권 프로젝트의 투자설명서를 내려받으시면 재무상태 표와 손익계산서가 포함되어 있어요. 날도 더운데 에어컨 아래에서 현금 및 현금성 자산을 많이 보유한 기업과 영업이익이 날로 커지며 성장하는 기업을 골 라보는 거 어떠신가요? 내년엔 이자 소득으로 에어컨 더 빵빵하게 틀 수 있을지도 모릅니다.다음 주에는 미래를 보고 주식에 투자하는 법을 알려드립니다!글 김영아 와디즈의 막내 투자 콘텐츠 디렉터(CD)입니다. 우리의 작은돈이 필요한 곳에 모여 세상을 바꾸는 꿈을 꾸고 있어요. 아 물론 돈도 벌면서요. 더 많은 ‘우리’에게 크라우드 펀딩을 알리기 위해 어렵고 복잡한 투자 이야기를 쉽고 재미있게 풀어내는 일을 합니다.그림 이윤경와디즈의 브랜드 디자이너입니다. 좋은 '사람' 와디즈가 좋은 '브랜드'로 무럭무럭 자라나도록 물을 주고 있어요. 더 많은 사람들의 시작을 돕기를, 그리고 더 재미있는 세상을 만들어 가기를 기대하고 있습니다. #와디즈 #금융지식 #서비스소개
조회수 4670

졸업과 스타트업 취업에 대한 회고

졸업했다. 2010년 3월부터 2016년 8월까지. 군 휴학을 제외한다면 4년간의 전공 교육과정이 드디어 끝이 났다. 솔직히 4.5 만점에 겨우 3점을 소수점으로 겨우 넘기는 성적으로 졸업했지만, 성적에 있어 아쉽다는 생각은 들지 않는다. 그냥 4년 내내 해왔던 다른 프로젝트(뻘짓)들과의 등가교환이라 생각한다. 물론 전공과목들은 매우 뜻깊었고, 큰 도움이 되었지만 어릴 때부터 희박했던 경쟁의식은 나를 시험과 출석 점수와 같은 줄 세우기 방식보다 프로젝트 수업이나 과제의 디테일에 더 빠지게 하였던 것 같다. 물론 단순한 자기관리 미약이다. 스스로도 자기관리에 스탯을 더 찍어야 한다고 생각(만)한다. 예를 들어 생활 패턴이나, 체중 관리와 같은 것들. 나는 나를 너무 소중히 대하지 않는 듯한 경향이 있다. 막상 졸업하고 하고 나니 신기하리만큼 학교 생각이 나지 않는다. 안동 촌놈 상경 후 대부분 시간을 학교에서 먹고 자고 지낸 만큼 졸업하게 되면 굉장히 허전하고 생각이 많이 날 줄 알았건만, 앞가림하기 바빠서 그런가. 학교 앞에 살고 있음에도 불구하고 별로 생각이 나진 않는다. 다만 후배들에게 대학교에서 가르쳐주지 않는 것, 내가 아는 것 하나라도 더 전해주고 왔어야 하는데.. 이 아쉬움 하나가 진하게 남는다. 유독 내가 챙겨줬던 몇 놈들이 눈앞에 아른거린다. 그러니깐 앞으로 시험 기간 때마다 소주를 한 짝씩 학회 방으로 보내야겠다. 취업했다. 학교와 일을 병행했던 전 직장을 퇴사한 지 7개월 만이다. 물론 마지막 학기에도 어느 정도 면접을 보러 다녔지만 '라인플러스'와 '스마트스터디'를 제외하고 그다지 열과 성을 다해 취업을 준비했던 기억이 없다. 어느 정도로 열과 성이 없었냐면 서류 합격을 하고도 인적성이나 필기시험을 위해 판교로 9시까지 오라는 메일을 받고 질색하여 가지 않았던 회사가 몇 군데 있었다. (왕복 4시간.. 물론 지금 생각해보면 정신이 나간 게 분명하다) 아무튼 앞의 저 두 회사는 매우 아쉽지만, 그저 인연이 아니었다 생각한다. 어딘가의 면접에 떨어지고 나서 반드시 보내는 회신 메일에 수고하셨다는 멘트와 함께 쓰는 말이 있다. '언젠가 좋은 인연으로 다시 만날 수 있으면 좋겠습니다.' 그저 딱 이말 그대로의 심정이다. 마지막 학기가 끝나고 약 두 달간 이 회사 저 회사에 지원을 꽤 했었다. 주로 Node.js를 사용하는 스타트업 몇 군데에 Back-end Developer로 서류를 넣었고 두 군데 정도를 제외하고는 면접까지 다 본 것 같다. 면접 보고 빠르게 포기 의사를 밝힌 한 군데를 제외하면 최종적으로 세 군데의 회사에서 출근해줬으면 좋겠다는 의사와 오퍼를 받았다. 하지만 비루한 몸 뚱아리가 하나뿐이라 반드시 한 곳을 선택해야 했다. 세 군데 중 한 곳은 지인 찬스로 면접을 본 곳이었지만 나와 개발 분야가 맞지 않는 회사였다. 신입 연봉 수준은 매우 훌륭했지만 빠르게 오퍼 거절 의사를 밝혔다. 남은 두 회사에서 꽤 심각하고 오랜 기간(==일주일) 동안 고민했다. 한 곳은 6년 정도 된 기술력 있는 정예 멤버 느낌의 소규모 소프트웨어 개발사. 신입 멤버를 뽑은 게 몇 년 만이라 매우 감사하면서도 좋은 기회라 생각했다. 그리고 분명히 내가 개발자로서 폭넓게 성장하는 데 있어 두 번 다시 없을 좋은 회사라 생각했다. 다른 곳은 창업 1년 정도의 폭발적으로 성장 중인 나름 핫한 스타트업. 아직 개발과 서비스를 동시에 하고 있었고, 내가 할 수 있는(벌일 수 있는) 일이 매우 많아 보였다. 결국, 나와 인연이 된 회사는 이제 막 창업 1년의 스타트업이다. 사실 면접 당시 첫인상이 별로였지만 지속해서 메일로 컨택을 하다 보니 나름의 사정이 있었고 결과적으로는 이렇게 되었다. (무엇보다 재밌어 보였다.) 최종 오퍼 수락이 확정된 어제. 페이스북에 취업 소식을 공유하고 참 많은 연락을 받았다. 대부분 축하의 연락이었지만 간간이 섞여 있는 아쉬움의 언어들은 나를 참으로 심경 미묘하게 만들었다. '축하는 하는데 좀 아쉽다.', '너 정도면 더 좋은데도 갈 수 있을 텐데', '하반기 시작했는데 좀 더 있어 보는 게 어떻냐' 등. 물론 그들의 말도 일리가 있다고 생각했고, 나도 별다른 반박을 하지 않았다. 나도 당연히 큰 회사를 경험해보고 싶고, 큰 회사에서만 느낄 수 있는 것과 배울 수 있는 것이 있다고 생각을 한다. 다만 한 살이라도 더 어릴 때 스타트업을 경험해보는 것이 좋다고 생각하며, 당장 뭐라도 찍어낼 수 있을 정도의 역량이 되고(기초적인 개발 소양을 갖췄고), 일 벌이는 것(사고 치는 것)을 좋아하는 안 좋은 습관이 있다면 비록 연봉이 적더라도 자신의 개발 역량을 최대한 뽑아낼 수 있고 의사 반영이 가능한 곳이 좋다고 생각했을 뿐이다. 물론 너무 조건이 안 좋은 곳은 걸렀으며, 나중에 후달리면 그 때가서 생각하자. 라는 매우 안일한 생각을 가지고 있다. 대기업이 좋니, 중소가 좋니, 스타트업이 좋니 왈가왈부할 생각은 없다. (당연히 대기업이 좋겠지..) 다만 몇 년 전 모 대기업 인턴 채용 진행 중 최종 탈락까지 2개월이나 걸렸을 때 느꼈던 질색이나 왜 물어보는지 의중을 전혀 파악할 수 없는 자기소개서 항목, 인적성을 다시 경험하고 싶지는 않다. 모 대기업 지원할 때 반드시 필요하다는 토익도 필요성을 느끼지 못해 대학생활 6년 반 동안 쳐다보지도 않았다. 필요성을 스스로 이해하지 못하면 뇌와 몸이 따라가질 않는 성격이다 보니 그저 개인의 취향에 따른 문제라고 생각한다. 물론 나의 졸업 후 첫 회사 선택에 있어 경험 부족으로 인한 잘못된 판단을 정신 자위하는 것일 수도 있고, Node.js를 한동안은 계속 써보고 싶은 철없는 생각에 실수한 것일 수도 있으며, 스스로 부족하다고 생각하는 개발 실력의 도피처일 수도 있다. 언젠가 사주를 봤을 때 '참 평탄한 인생을 살 팔자'라는 얘기를 들었는데, 그 아저씨가 틀린 것 같다. 스스로 생각해도 앞으로도 참 고생을 사서 하지 않을까 하는 생각이 든다.내가 이 포스트에 뭘 쓰려고 했는지 까먹었다. ...마무리#플레이팅 #스타트업 #스타트업창업 #경험공유 #인사이트 #스타트업경험
조회수 679

유통 공룡 아마존의 홀푸드 인수와 아마존고

책 장사로 시작해서 유통 공룡, 그리고 이제 클라우드 서비스로 발전한 아마존의 도약은 놀랍기만 합니다. 지난 2017년 6월에는 아마존이 유기농 식료품 체인 ‘홀푸드’를 인수해서 유통시장에 큰 파장을 가져왔는데요, 언론들은 아마존의 식품시장 진출로 인한 식품유통시장 변화와 막강 라이벌을 맞이할 월마트의 반응에 주목했습니다.아마존이 홀푸드를 인수한 후에 아마존의 주가는 급등했지만 경쟁사인 월마트, 코스트코 등은 일제히 하락을 했습니다. 그만큼 아마존의 식품시장 진출에 시장에서는 많은 기대를 한다는 반증이겠지요?아마존은 오프라인 매장에 ‘아마존 고’라는 무인시스템을 사용해서 인력을 줄이겠다는 전략이었지만 얼마 전 ‘아마존 고’ 매장을 현재로서는 더 늘릴 계획이 없다고 발표를 하였죠. 무인시스템 매장에 대한 고객들의 반응을 관찰해보는 기간이 필요한 것이 아닐까 추측해봅니다. 고객들도 적응하는 데는 시간이 필요하니까요.그동안 아마존이 괄목할만한 성장이 이루면서 핵심가치로 삼은 것은 ‘절약’과 ‘효율성’이기 때문에 직원의 행복과 만족을 중요시하는 홀푸드의 조직문화가 아마존의 문화와 조화를 이루기 위해 어떻게 변화되고 자리를 잡아나갈지 그 또한 관심을 가지고 지켜볼만한 점인 것 같습니다.더욱 재미있는 것은 한 때 아마존의 경쟁자들이었던 백화점 유통업체들이 아마존이 홀마트를 인수하는 것을 보면서 홀마트처럼 자신들도 아마존의 러브콜을 받아 부진을 극복해보기를 바라는 곳들도 생겨났다는 점입니다. 시장은 항상 변하기 마련이지만 '이윤창출' 보다는 '고객 편의와 확보를 통한 시장 확장'에 비중을 두는 아마존의 엄청난 성장은 어쩌면 당연한 것인지도 모르겠습니다.

기업문화 엿볼 때, 더팀스

로그인

/