스토리 홈

인터뷰

피드

뉴스

조회수 3448

제니퍼5 기능 소개

JENNIFER 5의  유용한 기능을 소개해 드리는 시간. 새로운 기능을 검토해 보시고, 지금 바로 사용해 보세요. 제니퍼소프트는 제품을 사용하는 고객이 최적의 환경에서 모니터링 할 수 있도록 하는데 최고의 가치를 두고 모든 제품을 개발합니다.제니퍼(JENNIFER)는 웹 애플리케이션 (Java EE, .NET, PHP) 시스템 모니터링을 위한 APM(Application Performance Monitoring) 솔루션입니다. 제니퍼는 경량화(Light-Weight), 실시간(Real-Time), 그리고 개별 트랜잭션 모니터링(Individual Transaction Monitoring) 등 기술기반의 '직관적인 통합 성능관리 솔루션'으로 이미 국내외 1200여 개 고객사를 통해 검증된 바 있습니다.  또한, 시대의 요구 사항인 모바일, 클라우드, 그리고 빅 데이터 시장의 온전한 모니터링 체계를 위하여, 웹 서비스 사용자 모니터링 (Web Service Real-User Monitoring), 웹 서비스 중심의 토폴로지 뷰(Web Service Topology View), 클라우드(대규모 시스템) 환경을 고려한 아키텍처, HMTL 5기반의 N스크린(N-Screen)까지도  지원하는 APM 제품입니다.웹 서비스 중심 토폴로지 뷰 (Web Service Topology View)제니퍼 토폴로지 뷰(Topology View)는 기업의 웹 서비스를 중심으로 연결된 서비스에 대한 가시성(Visibility)을 확보하는 것이 핵심 기능입니다. WAS를 중심으로 연결된 서비스(DB, 외부 연계 서비스, HTTP 등) 사이에 발생하는 트랜잭션, 즉, 구간에서 처리되는 트랜잭션까지 실시간으로 모니터링 할 수 있습니다.구간 엑티브 서비스 모니터링: 구간에서 처리되고 있는 엑티브 서비스를 실시간 모니터링 하여 병목 지점과 그 원인을 분석할 수 있습니다.X-view 연계 분석: 병목 지점이 되는 구간에서 처리되는 모든 트랜잭션에 대한 분석을 할 수 있습니다.구간 실시간 모니터링: 실시간 차트를 통해 원하는 구간에 대한 모니터링이 가능합니다.웹 서비스 사용자 응답시간 모니터링(RUM)클라이언트 구현 기술의 발전과 모바일 기기의 대중화로 인해 기업의 서비스는 복잡해졌습니다. 사용자는 모바일을 통해 언제, 어디서든 기업의 서비스를 이용할 수 있게 되었고, APM은 이제 서버사이드 영역의 모니터링뿐만 아니라, 실제 사용자의 만족도를 높일 수 있는 사용자 중심의 성능 모니터링 기능을 요구하고 있습니다. 이러한 변화에 따라 제니퍼는 프런트 앤드(Front-End) 영역의 모니터링을 위한 실제 사용자 모니터링, 즉 RUM(Real User Monitoring)을 지원합니다.이 기능은 웹 표준 조직 기구인 W3C의 Timing Navigation API를 사용하여 별도의 모듈 설치 없이 브라우저에서부터 서버사이드까지 전 영역에 대한 응답시간 측정이 가능하며, 서버와 네트워크로 이어지는 애플리케이션 수행 경로를 시각적으로 표시하여 애플리케이션 성능에 대한 깊이 있는 분석이 가능합니다.제니퍼 for CLOUD최근 IT 흐름의 큰 변화 중 하나는 클라우드(대용량 시스템)입니다. 클라우드 환경의 큰 특징은 트랜잭션의 양에 따라 하드웨어의 제약을 받지 않고 필요에 따라 서버 수를 조절하며 운영할 수 있어야 한다는 것입니다. 제니퍼는 자동감지(Agent Auto Detection), 일괄 설정(Central Configuration), 일괄 배포 (Central Deployment) 기능을 통하여 클라우드 환경에서의 애플리케이션 성능 모니터링을 지원합니다.스마트 프로파일링(Smart Profiling)제니퍼의 개별 트랜잭션의 응답시간을 활용한 엑스 뷰 기반의 분석은 이미 수많은 고객사에서 검증된 트랜잭션 모니터링 기법입니다. 하지만, 프로파일링 분석은 개발자 혹은 성능 튜닝의 전문가가 아니면 어려움을 겪는 것이 사실이었습니다. 이에 제니퍼는 누구나 쉽게 프로파일링 데이터를 분석 할 수 있는 스마트 프로파일링(Smart Profiling)을 제공합니다. 이 기능을 통해 사용자는 Method, SQL, 외부 서비스 중 응답시간이 느린 구간을 선택하여 해당 시점의 프로파일을 쉽게 분석할 수 있습니다.실시간 Connection Pool 모니터링실시간 Connection Pool 모니터링은 Instance별 Connection Pool을 실시간으로 모니터링하는 기능입니다. 이 기능은 액티브 서비스 차트와 함께 모니터링하며 액티브 서비스 점유가 주로 DB Connection에 있을 경우 Connection Pool 설정을 조정할 수 있어 서비스 성능을 개선할 수 있다는 것입니다. 다른 측면에서 DB Connection을 특정 애플리케이션에서 많이 사용할 경우 현재 Connection을 사용하고 있는 Active Service를 찾아내어 원인을 분석할 수 있습니다.실시간 애플리케이션 변경 이력 모니터링기업에서 운영하는 서비스는 수많은 고객의 요구사항을 반영하고 서비스 개선을 위해 하루에도 여러 번 애플리케이션을 변경합니다. 모니터링 관점에서 애플리케이션 변경 시점은 곧 서비스 장애가 일어날 가능성이 가장 많은 시점입니다. 그렇기에 모니터링이 가장 필요한 시점이기도 합니다. 애플리케이션 변경 감지 기능은 변경 전후의 성능 변화를 실시간으로 모니터링하고, 변경 시점에 변경된 소스코드를 추적하여 어떤 소스코드가 변경되었는지 추적할 수 있습니다.  이를 통해 개발자와 운영자 모두가 쉽고 빠르게 서비스의 변화를 감지하고 대응할 수 있는 장점이 있습니다. 엑스 뷰(X-View) > 애플리케이션 연계 분석애플리케이션 연계 분석은 검색한 X-View의 개별 트랜잭션을 기반으로 애플리케이션 단위 호출건수, 평균 응답 시간, 최대 응답 시간, 평균 SQL 시간, 평균 CPU 시간을 함께 분석할 수 있는 기능입니다.  또한 이러한 성능 수치들이 높은 애플리케이션의 개별 트랜잭션을 분석하여 성능에 영향을 미치는 애플리케이션을 튜닝 할 수 있습니다.엑스 뷰(X-View) > 연계 트랜잭션 분석제니퍼는 하나의 요청으로부터 시작된 다수의 트랜잭션 간의 상관 관계를 모니터링하거나 분석할 수 있습니다. 하나의 서버에서 처리된 서로 다른 업무 트랜잭션들을 연계할 수 있으며, 다른 서버에서 발생된 트랜잭션을 연계할 수 있습니다. 프로토콜 후킹 방식(HTTP, RMI)과 GUID를 활용한 연계방식을 지원합니다.엑스 뷰(X-View) > 자동 스택트레이스제니퍼를 포함한 대부분의 APM은 트랜잭션이 느린 원인을 분석하기 위해 매서드 프로파일링 기능을 제공합니다. 하지만 매서드 프로파일링 기능은 잘못된 설정으로 성능에 영향을 주거나 실제 느린 매서드를 찾지 못할 경우가 많습니다. 또한, 로직을 잘 알아야 하므로 성능 전문가가 아닌 이상 사용이 매우 어려운 단점이 있습니다.제니퍼는 이런 제약사항을 없애고 좀 더 쉽게 사용하기 위해 자동 스택트레이스 기능을 제공합니다.  이 기능은 성능 전문가가 아니더라도 느린 트랜잭션이 발생했을 때 해당 시점에 자동적으로 스텍트레이스(Stacktrace)를 남겨서 원인을 쉽고 빠르게 분석할 수 있습니다. 제니퍼소프트는 항상 제니퍼 고객의 모니터링 환경을 좀 더 쉽고 유용하게 할 수 있도록 고민하고 있습니다.  더 좋은 기능을 제공할 수 있도록 노력하겠습니다. 
조회수 1663

15. 유재석이 페라리를 샀다면?

유재석이 페라리를 샀다면? 아마도 바로 네이버 실시간 검색어에 유재석과 페라리가 올라오고 온갖 자극적인 기사들이 순식간에 쏟아지기 시작할 것이다. 그리고 그 뒤를 따라서 수많은 악플들이 따라올 것이다.본인의 피나는 노력 끝에 국민 MC라는 자리에 올랐고 이미 천문학적인 수입을 벌어들이는 사람이 본인의 경제적인 능력 범위 안에서 비싼 차를 살 수도 있지 않은가? 그 차가 본인 스스로에 대한 성공에 대한 보상일 수도 있고, 평생 소망했던 꿈의 한 부분일 수도 있다. 하지만 현실에서는 이런 반응보다는 "실망이다", "그렇게 안 봤는데"등의 가벼운 아쉬움을 시작으로 수많은 악플들이 달리기 시작할지도 모른다. 여기에 한 술 더 떠 부모님의 안부? 까지 묻는 폐륜적인 악플들이 쏟아질 거라 예상한다. 전재산 1,000만 원을 가진 사람이 1,000만 원을 쓰면 아무도 관심을 가지지 않지만 1,000억을 가진 사람이 100분의 1인 10억을 쓰는 꼴을 보면 시기와 질투의 대상이 된다. 우리는 부자를 경멸하고 단지 돈에 대한 문제가 아니라 남이 잘되는 꼴은 못 보고 잘되면 무조건적인 비난을 너무나도 쉽게 쏟아내는 사회에서 살아가고 있다.  스타트업 생태계 역시 마찬가지이다.어느 업계처럼 스타트업 업계에도 남을 씹기 좋아하는 사람들, 실패를 하면 마치 본인의 예상이 적중했다며 자랑을 하는 사람들, 그리고 조금이라도 자기보다 잘 되면 배가 아파서 비아냥 거리는 사람들, 참으로 이런 사람들을 생각보다 많이 만날 수 있었다. 남이야 잘되던 말던 신경 끄고 본업에 매진하고 사용자만에 대한 고민만을 하면 된다. 하지만 이런 부정적인 사람들로 인해 형성되는 분위기나 문화는 항상 긍정적으로 생각하고 도전을 이어가는 스타트업에게 있어 안 좋은 영향을 미치는 요인 중 하나임에 분명하다.1. 사촌이 땅을 사면 배가 아프다.다른 나라도 비슷한 속담이 있는지 궁금하다. 정말 슬픈 속담?이다. 사촌이 땅을 사면 함께 기뻐해 주고 축하해 줘야 하는데 왜 배 아파해야 하는지... 사석에서 스타트업 사람들을 만나면 오가는 대화들 중에 항상 빠지지 않는 주제가 있다.  바로 "다른 스타트업 이야기"이다. 왜 투자를 받았을까? 어떤 가치를 주기 때문에 성장을 했을까?라는 건설적인 대화보다는 오고 가는 주제 중에는 정확히 말하면 비아냥에 가까운 주제들이 많다.  본인 스타트업 걱정이나 했으면 좋겠는데 다른 스타트업이 잘되는 꼴이 배가 아픈 거다.예를 들어 O대표가 외제차를 타고 다닌다더라, OO스타트업이 비싼 건물로 사무실을 옮겼다더라, O대표가 잘 나가더니 만날 수가 없다더라. 등등등.. 참 한가하고 남 이야기에 관심이 많은 스타트업들이 많다. 정상적이 대표라면 끌만한 능력이 되니 외제차를 산거고, 정상적인 회사라면 채용 등의 문제나 어떤 이유가 있으니 사무실을 옮겼을지도 모른다. 그리고 회사가 성장하고 대표는 비례해서 바빠지는 것은 당연한 일인데 말이다.잘돼서 배가 아픈 바로 그 스타트업은 이제 더 이상 몇 년 전 콘퍼런스나 행사에서 함께 고생하며 개밥을 먹던 처지의 초기 스테이지의 스타트업이라 아니다. 조금만 더 들어가 보면 배 아파서 비아냥 거리는 그 스타트업은 이미 직원의 규모가 수배 크게는 수십 배 늘어있을 테고 월 매출 수천, 수억을 넘어 수십억대로 성장을 했을 것이다. 그리고 이제는 1~2억의 시드 투자가 아니라 수백억의 대규모 투자유치에 대한 전략을 고민하고 있을 것이다. 예를 들어 4년 전 마이쿤이 창업한 5월에  레진코믹스라는 웹툰 서비스가 함께 시장이 선을 보였다. 대부분의 사람들은 웹툰을 돈주고 본다는 서비스에 대하여 부정적이였다. 몇년이 지난 지금의 레진 코믹스는 수천억의 기업가치를 가진 서비스로 성장을 했고 우리는 이제 다시 막 새로운 서비스를 성장시키고 있는 초기 단계이다. 같은 시기에 시작했다고 몇 년이 지난 지금 같은 레벨? 의 회사로 절대 착각을 하지 않는다. 레진코믹스는 빠른 성장과 더불어 객관적인 비즈니스의 성과에 냈고 시장에서 인정을 받았다. 해당 성공 사례나 경험을 우리도 적용하고 배우기 위한 건설적인 고민을 하고 있다.내 이야기를 한 사례로 들자면 얼마 전부터 회사가 안정화되면서 나 또한 급여를 받기 시작했다. 물론 아직도 창업전 회사생활을 할 때보다 적은 급여이지만 그래도 힘들었던 시기에 비해서 삶의 질이 나아졌고 지금의 상황에 감사하며 살아가고 있다. 큰 마음을 먹고 6년 된 국산 중고차를 하나 구입했고, 부모님께 신세를 그만 지기 위해 60만 원짜리 원룸 월세방을 얻어 독립을 했다. 뭐 이리 남의 사생활이 관심이 많은지 이런 것까지도? 구설수에 오른다는 이야기를 들었다. 만약 내가 직장생활을 계속했다면 지금의 모습보다 분명 더 경제적으로 윤택한 삶을 살 수 있는 사람이었는데도 말이다.주변에서 잘 된 스타트업이 있다면 응원을 해주고 우리와 다른 점이 과연 무엇이길래 빠른 성장을 할 수 있었던 이유에 대해 냉정하게 고민하는 시간을 가지면 어떨까? 다른 스타트업 걱정을 하고 비아냥 거릴 시간에 본인 스타트업이나 서비스에 관심을 더욱 가지면 안 되는 걸까? 반대로 생각해서 나도 언젠가는 좋은 차를 사겠다는 목표, 좋은 환경의 사무실로 이전을 하겠다는 목표, 다른 대표처럼 바빠질 수 있도록 회사의 성장에만 관심을 가지는 쪽이 오히려 다른 스타트업 이야기를 하면서 보내는 무의미하는 시간보다 생산적일 거라 생각한다.2. 성공하면 조용히 뒤로 물러나는 CEO들네이버, 카카오, 엔씨소프트, 쿠팡 등 이미 수조단위가 넘어가는 성공한 스타트업의 사례들은 이제 주변에서 꽤 찾아볼 수 있다. 하지만 그 회사의 창업자이자 CEO들은 외부로 드러나지 않고 은둔 경영을 이어 가고 있다. 미래가 불확실한 시장에서 의미 있는 비즈니스 성과를 내기 위해 그 창업자들이 보내온 인내의 과정과 시장 경험을 공유 할 수 있는 문화라면 후배 창업자들에서 정말 피가 되고 살이 되는 도움이 될 것이다. 하지만 이런 CEO들의 적극적인 활동을 찾아보기 힘들다. 대부분 대표가 아닌 이사회 의장으로 물러난 사례를 쉽게 찾아볼 수 있다. 그냥 무조건 까고 보는 문화가 그 원인 중에 하나라고 생각한다. 기존의 세습경영을 하는 재벌들과는 다른 구조이며 태생이 틀린 CEO라도 예외는 없다. 엔씨소프트 김택진 의장이 얼마 전에 자사 CF에 출연을 했다가 얼마나 많은 악플이 달렸는지 조금만 검색해보면 그 분위기를 파악할 수 있다.3. 네가 뭘 하던 난 깔 준비가 되어 있다. 이제는 뭐 그냥 웃어넘기지만 지난 7월 마지막 포스팅을 브런치에 한 이후 안 좋은 일이 있었다. 악플은 무시하는 게 최선이라지만 나도 사람인지라 상처를 받았고 그 기억은 꽤나 오랫동안 머릿속을 맴돌았다. 하루아침에 급여를 주지 않는 악덕 대표가 되어 있었고, 생각 없이 비즈니스를 하는 창업자가 되어 있었다. 이유는 간단했다. 글을 읽고 전후 사정을 파악하지고 않고 그냥 훑어 넘긴 다음 눈에 들어오는 자극적인 비난 댓글에 동조하며 한술 더 떠서 무작정 까고 보는 문화, 익명이라는 점을 악용해서 온라인상에서 그냥 뭐든 꼬투리를 잡아 마치 기다렸다는 듯 쏟아내야 직성이 풀리는 사람들이 참으로도 많다는 것을 느꼈다.4. 우리회사도 안티 기사가 나왔으면....회사가 어느 정도 위치에 올라갔다는 증거는 씁쓸하게도 언론에서 안티 기사들이 나오면 된다. 어느 정도 성장을 했고 인지도도 있기 때문에 가십거리로 만들기 쉽고 뭐라도 꼬투리가 없나 예의 주시하며 하나면 걸려라 입을 벌리고 있는 형국이다. 클릭을 유도하는 자극적인 제목으로 뉴스 기사를 가장한 치졸한 글들을 배설물처럼 쏟아 낸다. 배달의 민족 수수료를 까고, 쿠팡은 적자가 심각하다고 깐다. 얼마 전 개인 사재 100억을 기부하기로 공표한 대인배인 배달의 민족 대표님을 보면서 찔려할 기자들이 있을 것 같다. 초기에 천문학적인 손실을 감행하면서 시장을 선점해야 하는 이커머스 시장의 상황이나 아마존의 사례를 조금이라도 공부했다면 쿠팡이 왜 지금의 모습으로 비즈니스를 이어가지는 조금이라도 이해할 수 있지 않을까?물론 배달의 민족이나 쿠팡이 실패를 하고 시장에서 사라질 수 도 있다. 하지만 현재까지 의미 있는 도전과 성과를 내고 있는 기업을 무조건 적으로 깎아내리는 미디어 역시 스타트업 업계에서 없어졌으면 하는 바람이다. 그리고 이러한  도전의 과정 중에 수많은 실패가 있을 테지만 세상을 바꾸는 서비스와 회사들은 이런 실패 속에서 등장하는 진실은 변하지 않을 것이다.5. 옆을 둘러봐. 그리고  그 사람들과 친해져라.500 스타트업 미국 배치에서 첫날 전체 회사들이 한자리에 모여서 오리엔테이션을 하던 날이었다.그때 멘토로부터 들은 첫마디는 바로 이랬다."옆을 둘러봐. 그리고 그 사람들과 무조건 친해져."< 유니콘 :1조 기업가치 스타트업>이유인즉슨 여기서 유니콘(1조 가치 이상의 기업)이 나올 것이고, 그때는 네가 정말 큰 도움을 받을 것이라는 이유에서였다. 그리고 너희들은 그런 능력과 가능성을 가진 스타트업이라고 긍정적인 기운을 심어 주었다. 유니콘이 되었을 때는 너무 바쁘기 때문에 친해질 수 없지만 지금 힘든 시기에 서로를 돕고 많은 유대감을 쌓기 위해 최선을 다해 달라는 말을 이어 갔다. 실제로 몇 년이 지난 지금 M&A 사례도 나왔고 상상 이상의 기업가치로 성장한 회사도 나왔다. 안된다는 부정적인 피드백보다는 너는 할 수 있어라는 긍정적인 에너지를 심어주기 위해 500 스타트업의 멘토들은 최선을 다했다. 예를 들어 투자자 피치를 하고 갔을 때 입구 앞에서 하늘을 보면서 나는 할 수 있어 라고 만세를 한뒤 미팅에 들어가라고 조언을 해주었다. 긍정적인 기운 속에서 우리도 할 수 있다는 자신감을 얻게 되었고 그런 기운이 지금도 남아 서비스를 발전시키는데 큰 도움이 되고 있다. 하지만 우리가 처한 주변 상황은 매우 다르다. 부정적인 사람과 피드백을 주는 전문가들을 만나기 일쑤이고 할 수 있다는 자신감 부여해주는 사람 보다는 비난과 함께 실패라도 했다면 사회에서 매장당하는 분위기가 당연시하게 조성되어 있다. 쉽게 바뀌지 않을 것이며 바뀌더라도 정말 긴 시간과 호흡이 필요할 것이라 예상된다.수년간 수백 개의 스타트업들을 직간접적으로 보면서 느낀 점은 다행히면서도 재미있는 통계를 보인다. 부정적인 성향의 스타트업들은 1~2년 안에 시장에서 사라졌고 긍정적인 에너지가 넘치는 스타트업들은 큰 성장을 했거나 비록 실패를 했더라도 의미 있는 도전을 이어가고 있다는 점이다. 그렇게 악플을 달았던 스타트업이 내가 정 말로 가고 싶은 꿈의 직장으로 변해 있을 수도 있는 일이다. 스타트업과 관련된 투자사나 언론 역시 마찬가지로 상황이 역전될 수 있다. 투자 미팅 때 인격적인 모욕이나 비난을 쏟아낸 투자사로 스타트업이 몇 년 후 성공을 해 LP로 다시 만난다거나, 광고 좀 따내 보려고 안티 기사를 냈다가 큰 광고주로 다시 만날 수도 있는 일이다. 업계는 정말로 좁고 소문은 돌고 돌아 출처와 화자는 밝혀지게 마련이라 언젠가는 뱉은 말이나 써내려간 글에 대한 책임을 질 시기가 올지도 모른다.6. 긍정의 힘부정적인 생각을 말과 글로 쏟아내는 대다수의 사람들보다 힘들지만 이겨내고 긍정적인 생각과 될 거라는 믿음을 가진 사람들이 결국은 항상 좋은 결과와 성공을 하는 기존 사례들을 쉽게 찾아볼 수 있다. 헬조선이 아니라 창업하기 좋은 천국 같은 나라라고 생각의 틀을 바꾸려 노력 중이다. 미국과 비교를 하는 것이 아니라 우리나라보다 더 열악한 스타트업 환경을 가진 나라들을 생각하면 우린 참으로 좋은 환경에서 스타트업을 하고 있지 않은가?우리 역시 그랬고 많은 스타트업들이 대부분이 주변 사람들을 반대를 뒤로하고 창업의 길을 선택했다. 보통의 사람들과 조금은 다른 길을 가고 있을 뿐... 스타트업이 무조건 적으로 비난을 받아야 한 하는 업계인가 고민을 하게 될 정도로 상처받는 일들이 비일비재하게 일어 난다. 하지만 매일같이 쏟아지는 이런 부정적인 의견들에 굴하지 않고 오직 시장에서 살아남기 위해 고민하고 사용자들에게 줄 수 있는 가치에만 집중하려 노력중이다. 언젠가는 부정적인 사람들도 변할 만큼의 큰 의미를 만들어 내는 스타트업이 되길 희망 한다.#스푼 #Spoon #스타트업 #창업가 #창업자 #마인드셋
조회수 2646

기획에서 디자인이 되기까지

오늘은 앞서 소개드렸던 '컨텐츠 디자인' 가이드 정립기에 이어, 실제 프로모션이 기획되고 디자인이 완료되기까지의 과정을 소개해드리려 합니다.(예시 : 2017년 6월에 진행된 선착순 딜 '물만난 금요일')무엇을 전달해야 하는가?실제 업무에 있어 프로모션 디자인을 진행할 때는 기획자와 제일 많은 커뮤니케이션을 필요로 합니다. 해당 프로모션의 타겟이 누구인지, 전달하고자 하는 메시지는 무엇인지, 유저에게 노출되는 채널이 어디인지 등등 기획에 따라 디자인에서도 많은 부분이 달라지기 때문이죠.기획자와 커뮤니케이션 후 파악한 제일 중요한 요소는 이와 같았습니다.1. 기존 컨텐츠에 비해 주목성이 높은 디자인2. '물만난 금요일' 전용 워터마크 제작3. '물'의 이미지를 반영한 블루 컬러 사용이전에 소개드렸던 '컨텐츠 디자인' 정립기를 보신 분은 아시겠지만 데일리는 앱 내에 들어가는 컨텐츠의 컬러를 '파스텔톤'으로 통일을 해왔었는데요. 하지만 이번만큼은 '수영장 호텔'을 다루는 큰 프로모션이었으므로 기존과 다르게 주목성이 높은 블루 컬러를 사용해야 했어요. 또한 눈에 잘 띄는 전용 워터마크도 제작을 해야 했죠.방향성 좁히기레퍼런스의 일부 중 일부디자인 컨셉을 정하기에 앞서 많은 레퍼런스들을 써칭합니다. 그리고 여러 디자이너들, 기획자와 함께 컨셉 방향성을 좁혀나갑니다. 어느 정도의 컨셉과 구상이 잡히면 그를 토대로 워터마크 및 메인 이미지 디자인 시안 작업이 진행됩니다.워터마크 제작 그리고 적용여러 피드백을 받아 완성된 '물금' 워터마크1차 시안 작업을 공유하고 피드백을 받아 최종적으로 '물만난 금요일'의 워터마크 제작을 완료합니다. 이 프로모션의 경우 앞서 말했듯이 기존 컨텐츠보다 훨씬 주목도가 높아야 했기 때문에 볼드한 폰트를 사용해서 작업을 하였죠. 그리고 '수영장 호텔'에 관련된 프로모션인지라 '물'을 형상화하여 그림자의 쉐입을 잡았습니다.(좌) 실제 프로모션 기획 (우) 디자인을 적용한 페이지컨셉이 나왔으면 반은 온거라는 마음가짐으로(!) 기획자에게 전달받은 기획에 디자인을 적용합니다. 이 과정에서 무조건 100% 기획자의 의견을 수렴하기보다는 제작을 해가면서 조금 더 보완하거나 수정해야 하는 부분에 대해 바로바로 피드백을 주고받습니다.그리하여 완료된 이벤트 페이지다양한 베리에이션완료된 이벤트 페이지를 중심으로 다양한 플랫폼에서 사용되는 컨텐츠들을 베리에이션 합니다. 컨텐츠를 구성하는 요소들은 그대로 유지하되 각 플랫폼에 맞는 레이아웃과 폰트 사이즈 등을 조금씩 변경하는 과정이죠.(좌) Pop up 구동 이미지 (우) Push 구동 이미지플랫폼 배너 이미지(예시)예외도 있다예외도 있습니다. 앱 내의 홈 화면에 노출되는 홈 배너는 다른 요소들과의 어우러짐이 매우 중요한 부분이기 때문에 위 '물만난 금요일' 컨텐츠의 요소들을 바로 적용하기에는 어려움이 있었습니다. 해서 '물놀이'와 '휴가'를 연상시키는 이미지를 사용하여 홈 배너를 제작했죠.반대의 개념으로 홍보를 위한 SNS에서는 노출량을 올릴 수 있도록 주목성을 더 높혀 제작을 해야했습니다. 또한 워딩 자체도 프로모션의 타이틀을 그대로 쓰기보다는 채널의 성격에 맞도록 변경하여 적용을 했습니다.각 채널에 적용된 '물금' 이미지P.S1) 물놀이를 소구 할 수 있는 이미지를 찾다가 요즘 뜨고 있는 '플라맹고 튜브'이미지를 넣었던 건데.. 즉흥적으로 '플라맹고 튜브 증정 이벤트'까지 만들어서 진행해주신 크리에이티브팀 감사합니다.(하트)2) 워낙 경쟁률이 높은 좋은 상품이었기에 아쉬워하시는 분들이 많으신데 곧(!) 정말 곧 더 저렴한 가격으로 찾아뵙니다. (해당 내용은 '데일리호텔'앱에서 확인하실 수 있어요)감사합니다.기획/진행 : Creative팀작성자 : Creative팀 Blair Ahn#데일리 #데일리호텔 #기획 #디자인 #기획자 #디자이너 #인사이트 #일지 #후기
조회수 1203

안전하게 시작하는 스타트업

스타트업 출발의 어려움저는 성공한 여러 스타트업들의 초창기 모습들을 지켜봤습니다. 스타트업 업계에서 개발자로 커리어를 시작한 것이 2005년부터였으니까 짧지 않은 기간이죠. 그땐 스타트업이란 말이 없고 벤처라는 표현을 썼습니다. 창업 초기에 대표님들 혼자 동분서주하고 개발자를 구하지 못해 고민하고 정부 창업지원금으로 본인 월급 없이 직원들 급여 지급하고 공모전 상금으로 또 한 달을 버티는 등 어려운 시기를 지나서 지금은 매출 수백억이거나 수백억에 매각되거나 투자 유치로 밸류에이션이 수백, 수천 억이 되는 과정들을 지켜볼 수 있었습니다. 물론 잘 된 회사들만 있는 것은 아니고 사업을 정리하신 경우도 있고 다른 스타트업에 좋은 포지션으로 취직하신 경우, 한 동안 소식이 들리지 않는(아마도 스텔스 모드로 고군분투하고 계신) 경우도 있습니다. 제가 합류했던 스타트업들도 성공하기도 실패하기도 하고 제가 시작했던 스타트업은 실패했고 지금의 인썸니아는 잘 되고 있습니다. 스타트업의 성공 여부는 창업자 자신도 예측하기 정말 어렵습니다. 실패할 거라고 생각했으면 시작하지 않았을 테니까요. 저는 스타트업의 창업 관련 기사나 창업자들의 인터뷰 및 자서전, 유명 스타트업의 자전적 서적 등을 좋아하고 엄청나게 많이 읽는데요, 여러 성공한 스타트업 조차 시작할 때는 그렇게 멋있지 않았고 아슬아슬했으며 버티는 과정이 있었다는 공통점이 있습니다. 에어비엔비의 시리얼 판매는 유명한 일화이고 우버도 초기에 엄청 허술한 앱 하나와 단 몇 대의 리무진을 가지고 서비스를 시작했으며 애플, MS, 페이스북 등의 창업 일화를 잘 아시는 분들이라면 그 초라한 시작에 황당하셨을 겁니다. 10년 전에 비해 공유 오피스의 활성화, 개발 플랫폼의 발전, 조 단위의 정부 창업지원 정책 등 여러 가지 여건이 좋아졌지만 그만큼 경쟁이 비교도 되지 않을 정도로 치열해졌기 때문에 버티는 난이도는 더 높아졌습니다. 10년 전에는 출시하기만 하면 거의 단독 플레이를 할 수 있었기 때문에 적시에 적절한 전략을 수행하는 것만으로도 크게 성장했지만, 지금은 우여곡절 끝에 우리 서비스를 출시해도 웬만한 분야에서는 수많은 경쟁자가 이미 큰 자본을 등에 엎고 치열하게 싸우는 중입니다. 고래들이 싸우고 있고 제가 방금 출시한 것이 새우가 아니기를 바라야 합니다.  출시의 어려움경쟁의 치열함은 그렇다 쳐도 개발자의 모수가 많아지고 개발 프레임워크와 협업 도구들이 좋아져서 개발 및 출시 난이도 자체는 낮아졌음에도 서비스를 온전히 개발해서 출시하는 것조차 실패하는 창업가들도 아직 많이 있습니다. 팀 자체를 못 꾸리는 경우도 많고요. 개발자들의 눈이 높아졌고, 성공한 스타트업들이 대기업의 연봉과 복지와 달콤한 스톡옵션으로 좋은 개발자들을 빨아들이고 있습니다. 이런 기업들과 채용 경쟁도 해야 하니 신규 창업자에게 경쟁은 더 어려워집니다.경쟁에 뛰어들어 버티고 승리하는 것은 거의 신의 영역이지만 그 이전 단계로 예산과 일정에 맞춰 출시하는 단계는, 어렵기는 해도 운에 맡길 정도의 불확실한 영역은 아닙니다. 그런데 외주 개발은 아직 실패사례가 계속 나오고 있고 숙련되지 않은 개발자와 몇 달의 시간과 비용을 허비하는 경우도 많으며 출시 전에 비용 감당을 못해 개발을 중단하거나 중단된 개발을 다른 개발자나 개발사가 이어받지 못해 결국 다시 만들거나 그대로 사업을 정리하는 경우도 많습니다. 인썸니아는 스타트업이라는 고도로 불확실한 분야에서 적어도 개발 및 출시의 불확실성과 비효율을 해결하기 위해 여러 가지 장치를 마련하고 있고 새로운 아이디어의 스타트업이 적어도 출시에는 성공해서 경쟁을 시작할 수 있게, 그리고 경쟁에서 기술적으로 빠른 대응과 운영을 할 수 있도록 하는데 집중하고 있습니다. 사실 저희도 처음에는 지금보다 비효율적이었고 지금도 계속 나아지는 중입니다. 하나의 서비스를 출시하는 과정은 경험 없이 하기에는 실패의 가능성이 여전히 높습니다.퇴근 후 스타트업을 해야 하는 이유메거진의 제목을 퇴근 후 스타트업이라고 지은 이유는, 예비 창업자들의 안전한 스타트업 준비를 권장하기 위해서입니다. 대학을 과감히 자퇴한 후 스타트업을 시작하거나 잘 다니던 회사를 퇴사한 후 스타트업을 준비하기보다는, 한 동안은 퇴근 후에 아이디어 정리와 팀빌딩, 프로토타입 제작 등을 준비해서 자신의 사업을 안전하게 실험하고 그 실험이 어느 정도 성과를 보일 때 결단을 내렸으면 합니다. 일단 자기 자본으로 사업을 시작하는 것은 큰 리스크가 있습니다. 개발 만으로 최소 수 천만 원에서 억 단위의 비용이 소요됩니다. 내가 나의 아이디어를 아무리 믿는다 하더라도 통계적인 실패 확률이 굉장히 높은 상황에서 수천 만원의 투자 비용 중 대부분은 확률적 손실이죠. 자본 확보 방법이 자기 자본이나 대출밖에 없다면 이 리스크는 필수 불가결한 리스크이겠지만 스타트업에는 대출을 피하고도 큰 혜택의 지원 정책들이 많습니다.소상공인이 가게를 차리는 데는 대출이나 소수의 크라우드 펀딩 외에는 외부 자본을 가져올 방법이 없지만 스타트업은 어마어마한 금액이 매년 창업지원금으로 집행이 됩니다. 이런 자금은 창업자에게 엄청난 기회입니다. 올해도 1조 수천억 원 규모의 자금이 온전히 스타트업 창업 지원에 배정되었고 매년 수 천 개의 스타트업을 선별하여 각각 5천만 원에서 1억 이상의 창업지원금을 지급하며 대출 형태가 아니고 '지원금'으로 지급합니다. 문제 되는 행위를 하거나 출시에 실패하지 않는다면 사업에 온전히 이용해도 되갚을 필요가 없는 자금입니다. 외주 개발을 맡겨도 수 천만 원 이상의 개발비가 소요되고 개발자를 채용한다고 해도 인건비와 임대료를 고정적으로 지출하고 팀의 숙련도에 따라 준비 및 출시 기간이 길어질 수 있기 때문에 고정비/운영비가 역시 수 천만 원은 발생합니다. 제가 가장 이상적이고 안전하다고 생각하는 창업 준비 형태는 창업지원사업에 지원하고 선정되어 약 5000만 원의 지원금 중 3천500만 원에서 4천 만 원가량의 비용을 서비스 개발에 투자하고 나머지 비용은 마케팅 및 특허, 디자인, 서버 임대료 등에 사용하는 것입니다. 안전한 출발제 주변에 창업지원금에 선정되신 지인도 많고 인썸니아에 의뢰 주시는 고객사 중에도 절반 이상은 개발비를 창업지원금을 통해 집행하고 계십니다. 나머지 중 자기 자본을 집행하는 고객사는 소수이고 대부분의 고객사는 이미 크게 성장하고 투자유치를 받은 스타트업이 내부 개발 리소스를 아끼고자 저희의 개발 리소스를 빌려 쓰는 경우입니다. 즉 창업지원금이나 투자금이 아닌 자기 자본으로 천만 원 이상의 개발비를 집행하는 고객사는 거의 없습니다. 개발 결과물을 만드는 데 드는 비용은 그것이 창업지원금이든 개인 자금이든 투자금이든 저희로서는 차별을 두지 않지만 고객사 입장에서는 창업지원금을 집행하는 고객사일수록 판단에 더욱 안정감이 있고 예산 계획에 여유가 있기 때문에 조급하지 않고 합리적인 판단을 할 수 있습니다. 지원금 선정도 경쟁률이 있기 때문에 무조건 받으시라고 해도 마음대로 받을 수 있는 것은 아니지만 사업적인 성공이나 VC 투자 유치에 비해서는 훨씬 가능성이 높기 때문에 지원은 무조건 하시라고 권하고 있습니다. 퇴사에 대한 얘기가 활발한 요즘이지만 자존감을 회복하기 위한 퇴사이거나 견딜 수 없어서 하는 퇴사가 아니고 스타트업을 시작하기 위한 퇴사라면 급하게 생각하기보단 퇴근 후에 아이디어를 모으고 사업계획서를 정리하고 창업지원사업에 지원하기를 권합니다. 선정이 되었다면 프로토타입이나 베타 버전의 서비스 개발을 인썸니아 같은 회사에 의뢰하여 베타 테스트를 해보고 사용자들의 반응을 본 후 풀타임 스타트업 창업으로 전환할지를 결정하시는 것이 안전합니다. 창업지원금에 선정되면 서비스를 출시하는 데까지의 비용은 마련할 수 있고 서비스가 일단 나온 후에 약간의 매출이나 사용자 반응이 나오기만 하면 엔젤 투자나 공동 창업자 확보나 개발자 채용 등이 훨씬 수월하게 이루어집니다. 애플, 마이크로소프트, 페이스북, 에어비엔비 등의 창업자들도 회사를 그만두고 학교를 그만두기 까지는 사업에 대한 확신이 들 때까지 생각보다 긴 시간이 필요했습니다. 참신한 아이디어보다는 내가 수년 간 해온 업에서 출발퇴사보다는 퇴근이라는 키워드를 둔 또 다른 이유는 창업을 하더라도 현재 하고 있는 직업과 경험에서 출발하는 것이 안전하고 성공 확률이 높기 때문입니다. 재직 중인 회사의 노하우를 이용해 경쟁관계의 서비스를 출시하는 것은 물론 도의적으로도 안 되고 스타트업 업계가 좁아 평판을 잃기도 십상이지만 경쟁이 겹치지 않는, 연관 분야에서 내 지식을 바탕으로 서비스를 만드는 것, 또는 나의 컨설팅 업무에 고객이 돈을 지불하는 것을 보고 이를 비슷한 서비스를 제공하는 사람과 고객을 연결하는 플랫폼을 만드는 것이 가장 안전한 창업 형태입니다.현재 하고 있는 업과 인맥을 활용할 수 있으면서 실제 돈을 지불하는 고객들의 성향을 알고 있는 분야를 공략하는 것이 예측이 쉽고 승률이 더 높습니다. 그리고 창업지원금을 지원할 때나 투자유치를 할 때나 공동창업자를 찾을 때도 내 업무 경험이 내 스타트업에 활용될 수 있다는 점에서 좋은 평가를 받을 수 있습니다. 이번 글은 이 메거진의 방향성을 정리하기 위해 개괄적인 생각들을 나열해보았습니다. 아직 세부적인 목차를 다 정리한 것은 아니지만 앞으로 스타트업과 개발을 주제로 꾸준히 글을 써보려고 합니다. 
조회수 2008

KBS 신입사원 입사후기 - [이은주] 이유 있는 자신감(예능, 드라마 PD 편)

‘일단 된다고 믿어라. 그리고 되게 하는 방법을 찾아 실행하라’ 서류, 필기, 최종에서 몇 번씩 탈락한 후 헛헛한 마음으로 찾은 서점. 겉으로는 짐짓 괜찮은 척하면서 속으로는 어린아이같이 펑펑 울고 있을 때, 눈물 쏙 들어가도록 제 뒤통수를 가격한 글귀였습니다. 지금 생각해보면 저는, 저를 위하는 따뜻한 배려의 말과 위로의 말보다는 ‘아직 준비가 덜 된 거다.’ 라든가 ‘울지 말고 앞으로 어떻게 할지 먼저 생각하라.’라는 냉정한 평가와 따끔한 충고의 말로부터 다시 시작하는 힘을 얻었던 것 같습니다. 그럼에도 저는, 지금 PD를 꿈꾸는 다른 사람들에게 감히 이렇게 말할 수가 없습니다. 각 전형을 준비할 때마다 항상 다른 사람들로부터 배우는 입장이었기에, 제가 그들보다 더 뛰어나서 합격한 것이 아니라는 점을 잘 알고 있기 때문입니다. 그래도 제 글을 읽어주는 사람들에게 조금이나마 도움이 되면 좋겠다는 생각으로, 제가 찾은 ‘되게 하는 방법’을 조심스레 전해보고자 합니다. 제게 ‘되게 하는’ 공통된 방법은 사람을 찾는 것이었습니다. 솔직하게 쓰면 된다는 말만 믿고 패기 넘치게 써낸 자소서가 우수수 떨어지는 대참사를 겪고 난 후, 서류전형을 항상 통과하는 사람들을 먼저 찾았습니다. 잘 쓰인 자소서 대여섯 개를 꼼꼼하게 읽고 나니 저절로 좋은 자소서가 어떤 것인지 감을 잡을 수 있었습니다. 그렇게 수십 번 수정해 나가면서, 말은 쉬워도 쓰기는 어렵다는 ‘지원동기와 경험이 녹아 있는 자소서’를 얼추 완성해낼 수 있었습니다. 아무 경험 없이 준비하게 된 필기 전형과 처음 주어진 면접 전형에서도 제게 큰 도움이 된 건 사람들이었습니다. 남들에게 보여주기 부끄러운 글이지만 스터디원들에게, 가족들에게, 친구들에게, 현업 PD분들에게 보여드리고 사람들의 의견을 물었습니다. 기획안 아이디어가 떠오르지 않아서 머리가 지끈지끈할 때는 사람들을 만나 요즘 무엇에 관심이 있는지 열심히 들었고, 같이 웃고 떠드는 중에 번뜩 생각이 떠오르면 그때그때 메모해두었습니다. 언젠가 술자리에서 막역한 친구들에게 기획안을 들려주고 팩트폭력의 신랄한 피드백을 받았을 때도, 서운한 마음을 뒤로하고 피드백 하나하나를 소중히 적어 둔 기억이 납니다. 초행길을 떠나는 초짜 언시생이었지만, 먼저 길을 떠나본 경험이 있는 사람들을 찾아 도움을 받으며 최종 면접의 기회를 얻었습니다. ‘나라면 이런 거 물어볼 것 같아’라는 친구들의 도움과, ‘너라는 사람과 현재 방송국의 고민에 대해 생각해 봐’라고 조언해 주신 현업 PD님들, ‘저 면접 볼 때는 이런 걸 물어봤었어요’라며 도와준 스터디원들. 그 모든 질문을 모아서 저만의 생각을 정리했습니다. 모든 방면에서 깊게 생각해보니, 면접장에서 예상하지 못했던 질문을 받아도 솔직하고 자연스럽게 제 생각을 전할 수 있었습니다. 이제야 왜 일분일초가 소중한 연말 시상식 수상소감에서 고마운 사람들을 읊느라 대부분의 시간을 쓰는지 알 것 같습니다. 심장이 터질 것 같은 두근거림에 온종일 볼이 빨갛게 상기되어있었던 최종 발표일의 그 날, 저도 고마운 사람들에게 감사 메시지를 보내며 긴 저녁 시간을 보냈으니까요.아무것도 몰랐던 제가 KBS에 입사할 수 있게 되었던 것은, 처음의 근거 없는 자신감을, 저만의 방법을 찾아 행동하면서 이유 있는 자신감으로 조금씩 만들어 왔기 때문이 아닐까 생각합니다. 제게는 그 열쇠가 사람들이었던 것처럼, 누군가에게는 책이, 누군가에게는 현장에서의 경험이, 누군가에게는 깊게 생각해보는 혼자만의 시간이 그 열쇠일 수 있습니다. 그 방법이 무엇이든, 나만의 방법을 찾아 실행해 나가세요. 이유 있는 자신감과 열정을 가진 여러분을 KBS는 분명히 알아줄 것입니다.#한국방송공사 #KBS #KBS신입공채 #KBS채용 #신입사원후기
조회수 1371

페이스북에 처음 투자한 사람은 얼마를 벌었을까?

그투그 #8 페이스북에 처음 투자한 사람은 얼마를 벌었을까? 이제는 너무나 유명한 성공 신화죠. 하버드생 마크 저커버그는 2004년 하버드 학생들을 대상으로 ‘더페이스북’이라는 서비스를 론칭합니다. 그로부터 15년이 지난 지금 페이스북의 기업가치는 5,000억 달러를 훌쩍 넘었습니다. (최근에 주가가 폭락했음에도 불구하고요. 5,000억 달러는 한국 돈으로 566조가 넘습니다.) 마크 저커버그가 세계에서 손꼽는 부자가 된 건 말할 것도 없죠.저커버그야 그렇다 쳐도, 페이스북에 처음 투자한 사람은 얼마나 벌었을까요? 페이스북에 처음 투자한 사람은 페이팔의 공동 창업자 피터 틸입니다. 피터 틸은 2004년, 이제 막 서비스를 시작한 페이스북에 6억 원을 투자하고 지분의 10%를 샀습니다. 60억 원이었던 기업가치는 만 배 가까이 뛰어 566조가 되었죠. 그가 지금까지 페이스북 주식을 얼마나 가지고 있는지는 알 수 없습니다. 만약 지금까지 페이스북 주식을 하나도 팔지 않았다면? 6억은 56조가 되었을 겁니다.하버드생에, 페이팔 창업자라니! 게다가 숫자가 너무 크니 너무 먼 이야기처럼 느껴집니다. 억도 아니고 조 단위라니요……(먼 산) 2004년의 피터 틸까지 갈 것도 없습니다. 2012년 페이스북이 나스닥에 상장한 날, 페이스북의 기업가치는 121조 원이었습니다. 그 날 제가 페이스북 주식을 100만 원어치라도 샀다면, 제 100만 원은 지금 500만 원이 되었겠죠. 이렇게 미래에 성장할 기업을 남들보다 조금만 더 일찍 알아보고 투자한다면 큰 투자수익을 기대할 수 있습니다. 그럼 내 눈앞에 있는 스타트업이 (페이스북만큼은 아니더라도) 성장할 회사인지 아닌지 어떻게 알 수 있을까요?스타트업 투자에는 MAP 말고 MEP이 필요해제가 지금 제 미래도 모르는데 이렇게 많은 기업이 새로 생기고 문을 닫는 시대에 기업의 미래를 어찌 알겠습니까. 그것도 대기업도 아니고 이제 막 생긴 작은 회사들의 미래를요! 정해진 길도, 정답도 없죠. 하지만 MEP을 보면 이 기업이 나아갈 길을 희미하게나마 예측해볼 수 있어요.1) Market: “이 회사의 물건을 팔 시장이 있나요? 있다면 얼마나 큰 가요?”회사는 일반적으로 일정한 가격에 재화나 서비스를 제공하고 그에 따른 수익을 창출합니다. 그래서 가장 중요한 것은 이 회사가 제공하는 제품이나 서비스를 돈을 주고 ‘살’ 고객이 있느냐이죠. 고객이 얼마나 있고, 고객 수는 얼마나 빠르게 늘어나고 있느냐가 바로 여기서 이야기하는 Market(시장)입니다.가장 중요한 것은 시장이 존재하느냐입니다. 애초에 시장이 존재하지 않는다면 사업을 성장시키기는커녕 유지하기도 쉽지 않겠죠. 시장이 존재한다고 해도 성장의 속도는 얼마나 빠른지, 이 시장이 얼마나 커질지 살펴봐야 해요. 시장이 빠르게 커진다는 건 고객이 빠르게 늘어난다는 뜻이므로, 사업도 빠르게 성장할 것을 알 수 있습니다. 반대로 시장의 성장이 더디면, 사업의 성장 속도도 정체되겠죠. 성숙한 산업에 속한 기업이라면 정부기관이나 금융기관에서 발행하는 각종 시장 보고서, 현재의 시장점유율, 매출의 증가 추이, 경쟁사 분석 등을 통해 시장이 얼마나 빠르게 성장할지 전망을 예측해볼 수 있어요. 하지만 새로운 시장을 개척하는 초기 단계의 스타트업은 이러한 방식으로 시장을 예측하기 쉽지 않습니다. 이때 국외 시장을 살펴보는 게 도움이 됩니다. 요즘 세상이 워낙 좋아져서 구글링 몇 번이면 해외 시장 트렌드를 쉽게 찾아볼 수 있습니다. 미국처럼 스타트업 생태계가 활성화된 해외 시장에서 커지고 있는 시장이라면? 우리나라에서도 성장할 가능성이 큽니다. 하지만 이미 해외시장에서 사장된 사업이라면 조심해야 해요. 우리나라에서도 비슷한 어려움을 겪을 수 있으니까요. 2) Player: “이 회사, 시장에서 몇 등인 가요? 대표이사는 누구인가요?”시장의 가능성을 보았다면 이제 그 시장에서 누가 가장 잘하고 있는지 살펴볼 때에요. 시장이 빠르게 성장하고 있는데 내가 투자하려는 회사가 시장 점유율 1위라면? 투자의 긍정적인 신호로 볼 수 있습니다. 하지만 시장이 아무리 빠르게 성장하고 있더라도 이미 시장 점유율이 압도적으로 높은 1, 2위 업체가 있다면 성장에 한계가 있을 수밖에 없지요.아직 시장이 초기 단계라 압도적인 선두 기업이 없다면, 기업을 이끄는 대표이사의 역할이 무엇보다 중요합니다. 투자자는 자체적으로 조사한 자료와 가설을 바탕으로 제시하는 시장의 크기가 논리적으로 얼마나 타당한지 확인해보아야 합니다. 시장의 규모가 큰 것도 중요하지만, 창업가가 왜 그렇게 생각했고 이를 공략할 전략을 어떻게 세웠는지도 굉장히 중요하죠. 결국, 사업은 사람의 일이니까요. 축구에서도 감독의 적절한 전술과 뛰어난 선수들의 실력이 만나야 좋은 결과가 나올 수 있듯, 사업에서도 아무리 분석을 잘하고 전략을 잘 짜도 실행력이 뒷받침되지 않으면 이길 수 없습니다. 대표이사와 주요 임원진이 얼마나 똑똑한지와 더불어 생각을 현실로 옮길 수 있는 실행력이 있는지 살펴봐야 합니다. 그간의 이력과 업계 평판을 통해 그들이 어떻게 살아왔고 어떻게 일하는지 유추해볼 수 있습니다. 이전 사업의 성공 경험이 있다면 더 믿음이 가겠죠?와디즈를 통해 투자를 유치하려는 기업은 반드시 투자설명서에 시장과 경쟁사를 분석한 내용을 기재해야 합니다. 대표이사를 포함한 주요 임원진의 이력과 레퍼런스 체크를 위한 추천사도 필수로 작성해야 하죠. 투자 전에 와디즈 플랫폼에서 이 회사가 시장에서 어떤 위치에 있는지, 대표이사와 주요 임원진은 믿을만한 사람인지 살펴보면 투자 위험을 낮출 수 있습니다. 3) Exit: “이 주식, 언제 돈으로 바꿀 수 있나요?”흔히 싸게 사서, 비싸게 파는 것이 주식투자의 기본이라고 말합니다. 하지만 아직 상장되지 않은 회사의 주식을 살 때는 고려해야 할 점이 하나 더 있습니다. 투자자가 주식을 팔아 투자금을 회수하는 것을 Exit이라고 합니다. 초기기업의 주식은 싸게 살 수 있지만, 회사가 시장에 상장하지 못하고 문을 닫게 되면 아예 팔지 못할 수도 있습니다. Exit을 할 수 없다면 이 기업이 성장해서 기업가치가 올라도 아무 소용이 없겠죠. 그래서 Market, Player와 함께 Exit 계획도 잘 살펴보아야 합니다. 스타트업은 크게 IPO(기업공개)와 M&A(인수합병) 두 가지 방법으로 Exit 할 수 있습니다. 기업공개 (IPO, Initial public offering)는 기업이 처음으로 불특정 다수의 투자자에게 재무내용을 공시하고 회사의 주식을 시장에 등록해 파는 것을 말합니다. 우리가 흔히 알고 있는 상장을 의미하죠. 와디즈에서는 대체로 초기 단계의 회사가 기업가치 10억~50억 사이에 투자를 받습니다. 내가 투자한 회사가 코스닥에 상장한다면? 보통 기업가치가 1,000억 원이 넘어야 코스닥에 상장할 수 있으므로 20~100배의 투자 이익을 얻을 수 있습니다. IPO가 어렵더라도 내가 투자한 회사가 국내외 기업에 인수합병(M&A)되면 투자금을 회수할 수 있습니다. 최근에는 아직 상장하지 못한 회사라도 KSM(한국거래소 스타트업 마켓)에 등록만 되어 있다면 거래할 수 있어졌습니다. 기업이 일정 기간 뒤에 투자자로부터 주식을 사서 현금으로 돌려주는 상환권이 있거나 배당정책을 시행하는 우선주에 투자하면 IPO나 M&A가 아니더라도 현금화할 수 있습니다.Exit 계획이 아무리 거창하더라도 이미 비슷한 제품이나 서비스를 판매하는 회사 중 시장 점유율이 압도적인 기업이 있거나, 판매하려는 제품이나 서비스의 차별점이 명확하지 않다면 한 번 더 생각해보셔야 해요.이 밖에도 흔히 스타트업의 데스밸리라고 불리는 초기의 적자 구간을 버텨낼 자본이 있는지, 자본이 없다면 대표이사가 투자를 받아낼 능력이 있는지, 회사의 매출액은 증가하고 있는지, 증가하고 있다면 증가 폭이 얼마나 큰지 생각해보면 조금 더 피터 틸에 가까워질 수 있습니다. 채권에 투자할 때만큼은 아니더라도 재무제표도 들여다보면 도움이 됩니다.남들이 아직 관심을 두지 않는 회사에 미래를 보고 투자하는 게 이렇게나 복잡해요. 오랜 시간 살펴보고 투자 성공과 실패를 통해 나름의 통찰력이 생겨야겠죠. 지금부터라도 MEP을 펼쳐 두고, 하나하나 살펴보면 그날이 오기를 기다리며 새롭게 커지는 시장에 관심을 가지고, 누가 잘하는지, 어떻게 투자수익을 실현하는지 살펴보세요. 언젠가는 제2의 페이스북을 찾을 수 있을지도 모릅니다.글 김영아와디즈의 막내 투자 콘텐츠 디렉터(CD)입니다. 우리의 작은 돈이 필요한 곳에 모여 세상을 바꾸는 꿈을 꾸고 있어요. 아 물론 돈도 벌면서요. 더 많은 ‘우리’에게 크라우드 펀딩을 알리기 위해 어렵고 복잡한 투자 이야기를 쉽고 재미있게 풀어내는 일을 합니다. 이 글을 읽고 더 궁금한 점이 생겼다면?▶그림 이윤경와디즈의 브랜드 디자이너입니다. 좋은 '사람' 와디즈가 좋은 '브랜드'로 무럭무럭 자라나도록 물을 주고 있어요. 더 많은 사람들의 시작을 돕기를, 그리고 더 재미있는 세상을 만들어 가기를 기대하고 있습니다.#와디즈 #마케터 #마케팅 #브랜드 #브랜딩 #서비스소개 #크라우드펀딩
조회수 50

바로고 두뇌학습 및 팀워크 활동, 건담처럼 날아봅시다!

바로고두뇌학습 및 팀워크 활동업무만 하기에는 머리가 아파요~그럴 때 잠시 쉬어가는 타임바로고의 두뇌학습 지원으로'건담' 조립을 합니다.지난 포스팅에서건담 조립 소식을 전해 드린 적이 있지요.바로고의지난 두뇌학습 활동 건담 조립 현장http://blog.naver.com/barogo_info/220840167264이번 활동 시간 전생일을 맞이한 남지열 대리님을 위한깜짝파티가 있었답니다.<신비한 동물 사전>의 보우트러클을 꼭 닮은남지열 대리님의 생일을 축하합니다!마음을 가득 담아직접 초코 펜으로 그림까지 그려주었답니다.영화를 보며 꼭- 닮은 대리님의 모습에 깜놀했는데다른 직원들까지 모두 그런 생각을 했다고 하네요.보우트러클로 임명합니다.땅땅!건담처럼 날아봅시다!지금부터는 건담 조립 시작합니다.우리가 조립할 건담은RG 17 : 윙 건담 제로Ew , WING GUNDAM ZERO EW 1/144 초집중하여 건담을 조립하기 시작합니다.잠시 모든 걸 잊고오로지 건담에만 집중하는 시간!바로고만의두뇌학습 지원 방법이랍니다~^^생일 케이크를 앞에 두고도모두들 건담에만 집중하고 있어요.한 번 시작하면멈출 수 없는 건담 조립바로고만의 팀 활동 시간을 통해팀워크가 더욱 좋아지는 것 같아요.업무 외 오고 가는 소소한 대화 속에퐁퐁 샘솟는 팀워크!즐거운 대화에 웃음이 멈추지 않는 시간어떤 대화를 했기에 이리도 활짝- 웃으신 건지궁금하네요~ ^^대화 중에도 손끝에는 건담 조립눈알(?)이 튀어나올 정도로집중하고 계신 과장님차장님 역시 빠른 속도로이번 건담의 포인트, 날개를 만들어 갑니다.생일 케이크도 조금씩 먹으며이제 건담 조립을 완성합니다.시간이 훌쩍~ 지난 간 것도 모르고건담과 함께 한 시간바로고에만 있는 두뇌 학습 지원 타임 입니다.짠! 드디어 완성입니다.하늘을 나는 건담바로고도 힘차게 날아가는 2017년이 되길~바로고만의 바른 문화바로고는 임직원을 위한다양한 혜택을 제공 합니다대표님부터 막대직원까지하나하나 챙기며 함께 하는 바로고바로고에만 있는바른 문화 입니다.
조회수 18288

수평적 조직은 정말 좋은 것일까?

 최근 채용행사나 면접 자리에서 지원자들에게 흔히 듣는 말이 있다. '어느 정도 규모 있는 회사에서 일을 했었는데, 의견을 쉽게 말할 수 있는 분위기도 아니고 주어진 일만 하는 것이 너무 힘들어서 비교적 자유로운 분위기의 스타트업으로 이직을 결심했어요.' 결론부터 말하자면, 반은 맞고 반은 틀린 말이다. 자유로운 분위기의 대기업도 있고, 수직적 조직문화의 스타트업도 있기 때문이다. 물론 보편적 관점에서 보았을 때, 스타트업이 구성원의 의견에 더 귀를 기울이고, 주어진 일 보다는 스스로 문제를 찾고 해결해야 하는 것은 맞지만, 세상 만사 늘 그렇듯 내가 원하는 대로만 일이 흘러가는 것은 아니다. 이 글을 쓰고 있는 나 역시 그렇지만, 대부분의 구직 경험이 있는 사람들은 수직적인 조직에 상당히 익숙해져 있는 편이다. 피라미드 구조와 경직된 조직문화의 끝판왕 군대는 말할 것도 없고, 선생님과 학생, 선배와 후배, 부장과 사원, 그리고 갑과 을...우리가 일상적으로 접하는 조직 또는 관계성은 대부분 수직적이고, 체계적이다. 그래서 우리들은 알게 모르게 창의력과 유연한 사고를 동경하고, 구글이나 밸브처럼 '비교적' 수평적이면서도 개인의 발상과 자유를 존중해주는 기업이 더 좋은 기업이라는 생각을 품고 있는지도 모른다. 그러나 다시 또, 늘 그렇듯, 세상 만물에는 이유가 있는 법. 수직적인 조직문화가 악습과 폐습에 불과하다면 우리 삶과 맞닿은 그 많은 조직들이 모두 수직적으로 이루어졌을 리가 없다.  그래서 오늘은, 다양한 시각에서 세상을 보자는 쓸데없이 거창한 기치 아래, 수직적인 조직의 장점과 수평적인 조직의 단점을 적어보려고 한다. 수직적인 조직의 문제점이야 여러분이 그동안 숱하게 겪어왔을테니 그 부분은 건너뛰고, 수평적인 조직의 장점이야 여러 매체에서 수없이 접했을테니 이 부분 역시 건너뛰고.1. 찬물에도 위아래가 있으면 뭐가 좋을까? 수직적 조직의 장점은 간단하다. 큰 규모의 집단을 체계적으로 굴릴 수 있고, 그로 인해 집단의 이익을 극대화할 수 있다는 점이다. 5명으로 구성된 조직에서, 사장 밑에 부사장이 있고, 그 밑에 부장이 있고, 그 밑에 과장이 있고 또 그 밑에 사원이 있다고 한다면, 내가 내릴 수 있는 평가는 지극히 명료하고도 단순하다. '군대놀이 그만하세요.' 하지만, 500명으로 구성된 조직에 위계가 없다면, 여기에 대한 평가 역시 아주 쉬울 것이다. '오합지졸들만 애써 모아놨네.' 정확히는 기억나지 않지만 좋아하던 소설에 나온 말로, '분열을 할 수 있으면 군대이다'라는 문구가 있었다. 가령 5,000명의 군중이 그저 모여있을 뿐이라면 그것은 평범한 집단에 불과하지만, 그 집단이 발을 맞추어 걸을 수 있다면 군대가 될 수 있다는 뜻이다. 비록 지나치게 수직적일지라도 잘 짜여진 체계가 집단에 부여하는 힘은 그만큼 효율적이고 강력하다. 뛰어난 보상체계로서의 역할 역시 무시할 수 없다. 내가 아무리 많은 일을 뛰어나게 해낸다고 해도, 다른 사람과 나를 규정짓는 무언가가 없다면 의욕이 떨어질 수 밖에 없다. '당신은 우리 회사에서 100년을 일한다고 해도 과장 이상으로 승진할 수 없습니다'라는 말을 들었다고 한다면, 아무리 돈을 많이 준다고 해도 한 번 정도는 퇴사를 생각하게 되지 않을까? 반대로, 대리, 과장, 부장, 임원이 되기 위해 열과 성을 다해 일하는 사람을 우리는 얼마나 많이 보았는가? 그리 달갑지 않은 부분이겠지만, 조직의 개편 또는 조정이 아주 쉽고 명확하다는 것도 큰 장점이다. 병렬한 다른 부서와 쉽게 성과를 비교할 수 있고, 책임 소재가 분명하다. 영업 1부의 실적이 영업 2부보다 낮다면 영업 1부에 대해서만 고민하면 되고, 회사 전체가 갈피를 못 잡고 휘청거리는 경우라면 임원진에 대해서 경영의 책임을 묻는 극단적인 방법을 택할 수도 있다. 어디에 어떤 문제가 있는지 비교적 쉽게 파악이 가능한 것이다. 물론 여러분이 익히 겪어온 바와 같이, 이런 장점들이 때로는-혹은 대부분의 경우-바로 단점으로 작용하기도 한다. 잘 짜여진 수직적 조직체계는 집단의 도덕성과 이성을 마비시키기도 하며, 더 높은 직급과 직위를 위해 수단과 방법을 가리지 않는 경우도 비일비재하고, 문제가 되는 일부를 쉽게 도려내어 버리는 문화가 정착될 수도 있다. 그럼에도 불구하고, 수직적인 조직문화는 무시할 수 없는 장점을 갖고 있다.2. 우리는 모두 친구!....어, 저희 아버지랑 동갑이세요...? 사실 이 부분을 전달하고 싶어서 이 글을 시작하게 된 것이나 마찬가지이다. 수평적 조직문화라고 하면 무언가 좋아보이고, 새롭고 편해보이겠지만, 나름의 고충이 있다. 가장 먼저, 무임승차하는 사람을 잡아내기 힘들다는 점이 있다. 한 명의 리더 또는 리더 없이 유기적으로 움직여서 일을 해야 하는 수평적 조직의 특성상, 내가 일을 조금 덜 하거나 더 하는 것이 크게 눈에 띄지 않는다. 예를 들어서, 더팀스의 영업 담당인 내가 네트워킹에 나간다고 해놓고 어디 PC방이나 사우나에서 놀고 있다고 해도 그걸 알기는 쉽지 않으며, 반대로 밤낮없이 사람들을 만나고 술자리를 가지며 간을 혹사시킨다고 해도 당장 극적인 변화가 일어나지는 않는다. 조직 전체가 아주 서서히 병들게 되는 것이다. 그렇다고 서로가 서로를 신뢰하지 못해 감시하거나 참견하게 되면 삽시간에 조직이 와해되어 버린다. 두번째는 자유로운 만큼 책임이 크다는 점이다. 의견을 쉽게 낼 수 있고, 그 의견이 받아들여지는 빈도 역시 수직적인 문화의 조직에 비해 상당히 높다. 그럼 그 다음은? 책임을 져야 한다. 다른 구성원들의 생각과 다른 의견을 냈고, 그 의견이 받아들여졌다면, 내가 옳았음을 입증해야 한다. 발언권이 강하다는 것은 딱 그만큼의 무게로 돌아온다. 자유롭게 의견을 말하는 것에서 끝나는 것이 아니다. 누군가는 그 의견에 딸려오는 업무를 처리해야 하는데, 높은 확률로 그것은 당신이 된다. 3일째 같은 옷을 입으며 떡진 머리와 시꺼매진 눈시울로 '너무 쎄게 질렀나...'하는 생각을 하게 될지도 모른다는 것을 항상 생각해야 한다. 비슷한 맥락이지만, 주어진 일만 처리하는 것이 아니라 하고싶은 일, 할 수 있는 일을 스스로 찾아서 해야 한다는 것도 상당한 부담이다. 당장 해야 할 일이 없어 보이는데, 뭔가 우리 회사는 나이스하게 돌아가는 것 같지 않고...그렇다면 작은 것 하나라도 일단 부여잡고 일을 해야 한다. 누가 시켜서 하는 일이라면 차라리 된다, 안 된다 견적이라도 나올텐데, 내가 찾아서 일을 하려니 당최 성공기준을 뭘로 잡아야 할 지도 모르겠고, 그렇다고 난 할 일이 없다며 무임승차를 할 수도 없는 노릇이다. 아주 가끔은, 시키는 일만 똑바로 해주면 되던 시절이 그리울 때가, 아주 가끔 있기도 하다. 이렇게 편향된 시점으로 조직론에 대해 글을 썼지만, 역시 중요한 것은 적절한 조화이다. 부, 과 별로 잘게잘게 쪼갠 업무를 맡기는, 전근대의 극단적인 수직적 조직은 그 부작용이 오히려 성장을 저해하는 결과를 낳았고, TF시스템의 도입이나 사내 존칭/직급 호칭 폐지와 같은 것으로 나타나고 있다. 반대로 극단적으로 수평적인 조직은...친구들끼리 사업하면 망한다는 말이 왜 격언처럼 전해져 오는지만 봐도 알 것이다. 더팀스의 경우, 대표님을 중심으로 자유롭게 의견을 교환하는 수평적인 조직문화를 갖고 있다. 각자가 직급이나 직위는 다르지만 모두 한 명의 '팀원'으로서 의견을 말할 수 있고, 발언권이나 업무 권한, 역량을 제한하는 것은 아무 것도 없다. 대표님부터가 팀원들에게 의견을 강요하지 않고 합당한 이유를 들어 설득하려 하시기 때문인 것도 있고, 누군가가 강하게 어떤 의견을 제안한다면 '그렇게까지 말한다면 꼭 필요한 일이겠지'라는 팀원들간의 깊은 신뢰가 작용하기 때문에, 수평적이면서도 효율높은 조직문화를 구축해 올 수 있었다. 하지만 우리라고 예외는 아니기에, 대체로 같은 방향을 보고 있긴 하지만 '정확하게' 같은 목표를 바라보고 있지 않아 혼선이 빚어졌던 것을 깨닫고 명료한 목표 설정을 위한 긴급회의를 잡거나, 업무의 우선순위를 명확히 정해 문제를 해결하려 한다(대략 연 2~3회 정도 주기로 이런 오차를 좁히는 것 같다). 거기에 다들 무임승차만은 죽어도 하기 싫어하는 성격인 탓에 평균적으로 1주일에 4일 정도는 오버워크를 하고, 어느 날은 일이 너무 많아 '아 정말 힘들다, 나는 왜 이렇게 일이 많은걸까'라는 생각이 들어 주위를 슬쩍 둘러보면 아무도 나보다 일을 덜 하는 사람이 없다는 것에 충격을 받기도 한다. 그리고 도저히 결정하기 힘든 안건이 있을 때 6~7시간의 끝장토론을 거쳐 최종적인 의사결정을 내리기도 한다. 나름 이상적인 조직문화라 자부하는 더팀스이지만, 이런 고충이 있다. 거기에, 만약 서비스가 점점 성장하여 팀원이 15명, 20명이 된다면, 더 이상 이런 시스템을 유지할 수는 없을 것이다. 최소한 TF체제, 아니면 어느 정도 수직적인 요소를 결합한 체제가 되어야 합리적으로 조직이 기능하는 순간을 맞이하게 될 것이기 때문이다. 그래서, 수평적인 조직문화 하나만을 보고 이직을 결심하는 사람이 있다면, 꼭 하나 말해주고 싶은 것이 있다. '조직문화가 수평적이라고 마냥 좋은 게 아니더라고요...'#더팀스 #THETEAMS #수평적조직문화 #팀워크 #팀플레이 #기업문화 #스타트업일상 #업무환경 #시스템구조론
조회수 4127

Flask로 만들어 보는 WSGI 어플리케이션

안녕하세요. 스포카 크리에이터팀 문성원입니다. 오늘은 WSGI(Web Server Gateway Interface)어플리케이션을 직접 작성해보고, 또 이런 작성을 보다 쉽게 도와주는 프레임워크 중 하나인 Flask에 대해서 알아보겠습니다.WSGIWSGI에 대해 기억이 가물하신 분들을 위해 지난 글의 일부를 잠깐 다시 살펴보죠.이 경우 uwsgi는 일종의 어플리케이션 컨테이너(Application Container)로 동작하게 됩니다. 적재한 어플리케이션을 실행만 시켜주는 역할이죠. 이러한 uwsgi에 적재할 어플리케이션(스포카 서버)에는 일종의 규격이 존재하는데, 이걸 WSGI라고 합니다.(정확히는 WSGI에 의해 정의된 어플리케이션을 돌릴 수 있게 설계된 컨테이너가 uwsgi라고 봐야겠지만요.) WSGI는 Python 표준(PEP-333)으로 HTTP를 통해 요청을 받아 응답하는 어플리케이션에 대한 명세로 이러한 명세를 만족시키는 클래스나 함수, (__call__을 통해 부를 수 있는)객체를 WSGI 어플리케이션이라고 합니다.글로는 감이 잘 안오신다구요? 그럼 코드를 보면서 같이 살펴봅시다. (모든 코드는 Python 2.7에서 테스트 되었습니다.)Hello World!def app(environ, start_response):    response_body = 'Hello World!'    status = '200 OK'    response_headers = [('Content-Type', 'text/plain'),                         ('Content-Length', str(len(response_body)))]    start_response(status, response_headers)        return [response_body]view rawgistfile1.py hosted with ❤ by GitHubapp은 일반적인 Python 함수지만, 동시에 WSGI 어플리케이션이기도 합니다. environ과 start_response를 받는 함수기 때문이죠.(PEP-333) 사실은 꼭 함수일 필요도 없습니다. 다음은 위의 app과 동일한 동작을 하는 WSGI 어플리케이션입니다.class App(object):    def __init__(self, environ, start_response):        self.environ = environ        self.start_response = start_response    def __iter__(self):        status = '200 OK'        response_body = "Hello World!"        response_headers = [('Content-Type', 'text/plain'),                            ('Content-Length', str(len(response_body)))]        self.start_response(status, response_headers)        yield response_bodyview rawgistfile1.py hosted with ❤ by GitHubApp는 Python 클래스(Class)로 environ과 start_response를 멤버 변수로 가지는데, 여기에는 약간의 트릭이 있습니다. 생성자(Constructor)인 App를 함수처럼 사용하게 하여 리턴되는 결과(실제로는 생성자를 통해 생성된 객체겠죠.)가 \_\_iter\_\_를 구현한 순회 가능한(Iterable) 값이 되게 하는 것이죠. (덤으로 이 객체는 발생자(Generator)를 돌려주게 됩니다.)그럼 이제 이 코드들을 실행하려면 어떻게 해야할까요? 그러려면 먼저 WSGI 규격에 맞게 어플리케이션을 실행시켜 줄 서버를 작성해야합니다. 하지만 다행히도 Python 2.5부터 제공되는 wsgiref.simple_server를 이용하면 간단히 테스트 해 볼 수 있습니다.(서버를 직접 작성하는 부분에 대해선 나중에 다루도록 하겠습니다.)from wsgiref.simple_server import make_serverhttpd = make_server('', 8000, app)httpd.serve_forever()view rawgistfile1.py hosted with ❤ by GitHub위 코드를 실행시킨 후에(당연히 app이나 App도 만들어져 있어야겠죠?) 웹 브라우져를 통해 localhost:8000으로 접속하면 작성한 어플리케이션의 동작을 확인할 수 있습니다.environ과 start_response테스트도 해봤으니 코드를 조금만 더 자세히 살펴봅시다. 함수 버젼의 app이나 클래스 버젼의 App모두 공통적으로 environ과 start\_response를 인자로 받아 요청을 처리하는 것을 확인할 수 있습니다. (당연한 이야기겠지만, 반드시 이름이 environ이나 start\_response일 필요는 없습니다만 편의상 이후 계속 environ과 start_response로 표기하겠습니다.)하나씩 살펴보자면, environ은 Python 딕셔너리(dictionary)로 HTTP 요청을 처리하는데 필요한 정보가 저장되어있습니다. HTTP 요청에 대한 정보는 물론, 운영체제(OS)나 WSGI 서버의 설정 등도 정의되어있지요. 다음 코드는 이러한 environ의 내용을 응답으로 주게끔 수정한 WSGI어플리케이션입니다.def dump_environ_app(environ, start_response):    response_body = "\n".join(["{0}: {1}".format(k, environ[k]) for k in environ.keys()])    status = '200 OK'    response_headers = [('Content-Type', 'text/plain'),                         ('Content-Length', str(len(response_body)))]    start_response(status, response_headers)        return [response_body]view rawgistfile1.py hosted with ❤ by GitHublocalhost:8000에 각종 쿼리 스트링(Query String)을 붙이거나, 브라우져를 바꿔가면서 확인해보면 출력되는 값이 바뀌는 것을 확인하실 수 있습니다.그럼 이제 start\_response를 한번 볼까요. start\_response는 일종의 콜백(Callback)으로 인터페이스는 다음과 같습니다. start_response(status, response_headers, exc_info=None) 실제 서버에서 어플리케이션으로부터 응답(Response)의 상태(Status)와 헤더(Header), 그리고 예외(Exception)의 유무를 확인받아 실행하게 되는데, status와 response_headers는 HTTP 응답 명세에 근거하여 작성하게 됩니다.Middleware지금까지 우리는 어떻게 WSGI 어플리케이션을 작성하는지에 대해 살펴봤습니다. 요청을 받아 처리하는 HTTP의 기본 기능에 충실한 어플리케이션이었죠. 그런데 일반적으로 우리가 작성하는 웹 어플리케이션에서 주로 다루게 되는 쿠키(Cookie), 세션(Session)에 대해서는 어떻게 처리해야 좋을까요? WSGI 명세에는 이러한 내용을 직접적으로 다루고 있지 않습니다. WSGI 자체는 서버나 프레임워크 자체가 아니라 서버가 어플리케이션과 통신하는 명세를 다루고 있기 때문이죠. 따라서 이러한 기능은 작성자가 직접 이를 구현해야 합니다. 그런데 이런 구현을 어플리케이션을 작성할때마다 하는건 너무 번거로운 일입니다. 그것보다는 이미 작성한 어플리케이션을 확장하는 것이 간단하겠지요. 이러한 확장을 위해 필요한 것이 WSGI 미들웨어(Middleware)입니다.미들웨어는 어플리케이션을 처리하기 전후의 처리나 environ의 추가등을 통해 작성된 어플리케이션을 확장할 수 있습니다. 다음은 쿼리 스트링의 \_\_method\_\_에 따라 HTTP 메소드(Method)를 임의로 변경하는 처리를 도와주는 간단한 미들웨어입니다.from werkzeug import url_decodeclass MethodRewriteMiddleware(object):    """        app = MethodRewriteMiddleware(app)    """    def __init__(self, app, input_name = '__method__'):        self.app = app        self.input_name = input_name    def __call__(self, environ, start_response):        if self.input_name in environ.get('QUERY_STRING', ''):            args = url_decode(environ['QUERY_STRING'])            method = args.get(self.input_name)            if method:                method = method.encode('ascii', 'replace')                environ['REQUEST_METHOD'] = method        return self.app(environ, start_response)view rawgistfile1.py hosted with ❤ by GitHubMethodRewriteMiddleware는 \_\_call\_\_를 통해 app을 대체하게 됩니다. (데코레이터(Decorator)가 생각나셨다면 정확한 이해십니다.)Flask미들웨어를 통해 어플리케이션을 확장하는 방법까지 알아봤습니다. 그러나 이것만 가지고 웹 어플리케이션을 만들기에는 아직 귀찮은 부분이 많이 남아있습니다. 각종 파라미터를 처리하기 위해서는 environ를 일일히 뒤져야하며, 요청에 대한 응답으로 전달할 HTML도 일일히 문자열로 적어야하죠. 이런 여러가지 불편함을 해결하기 위해 알아볼 것이 WSGI 마이크로프레임워크를 자처하는 Flask입니다. Flask는 WSGI 라이브러리인 Werkzeug를 만들기도 한 Armin Ronacher가 만든 프레임워크로 “마이크로”라는 수식어에 어울리게 아주 핵심적인 부분만을 구현하고 있지만, 유연하게 확장이 가능하게 설계된 것이 특징입니다.다시 한번 Hello World!우선 Flask를 시스템에 설치해야하는데, pip가 설치되어있다면 pip install flask로 설치 가능합니다.(환경에 따라 루트(root)권한이 필요할 수도 있습니다.) easy_install의 경우도 마찬가지로 easy\_install flask로 설치 가능합니다.설치가 완료되었으면 다음과 같이 아주 간단한 어플리케이션을 작성해봅시다.from flask import Flaskapp = Flask(__name__)@app.route("/")def hello():    return "Hello World!"if __name__ == "__main__":    app.run()view rawgistfile1.py hosted with ❤ by GitHubFlask(정확히는 Werkzeug)는 테스트를 위해 간단한 WSGI 서버를 자체 내장하고 있기 때문에 app.run을 통해 어플리케이션을 직접 실행할 수 있습니다.Route이번에 작성한 Flask 어플리케이션에는 이전까지 보지 못하던 개념이 들어 있습니다. app.route가 바로 그것인데요. 이 메서드는 URL 규칙을 받아 해당하는 규칙의 URL로 요청이 들어온 경우 등록한 함수를 실행하게끔 설정합니다. 위의 Hello World! 예제 같은 경우엔 “/”가 해당되겠지요. 또한 이런 규칙을 URL로 부터 변수도 넘겨 받을 수 있습니다.# http://flask.pocoo.org/docs/api/#url-route-registrations@app.route('/')def index():    pass@app.route('/')def show_user(username):    pass@app.route('/post/')def show_post(post_id):    passview rawgistfile1.py hosted with ❤ by GitHub이렇게 URL을 통해 처리할 핸들러를 찾는 것을 일반적으로 URL 라우팅(Routing)이라고 합니다. 이런 URL 라우팅에서 중요한 기능 중 하나가 핸들러에서 해당하는 URL을 생성하는 기능인데, Flask는 이를 url_for 메서드를 통해 지원합니다.@app.route('/')def index():    return ""@app.route('/')def show_user(username):    return username@app.route('/post/')def show_post(post_id):    return str(post_id)from flask import url_for@app.route("/routes")def routes():    return "".join([            url_for("index"),            url_for("show_user", username="longfin"),            url_for("show_post", post_id=3)            ])view rawgistfile1.py hosted with ❤ by GitHub보다 자세한 사항은 API 문서를 참고하실 수 있습니다.Template여태까지 우리는 요청에 대한 응답으로 단순한 문자열을 사용했습니다. 하지만 일반적인 웹 어플리케이션의 응답은 대부분이 그것보다 훨씬 복잡하지요. 이를 보다 쉽게 작성할 수 있게끔 도와주는 것이 바로 Flask의 템플릿(Template)입니다. Flask는 기본 템플릿 엔진으로 (역시 Armin Ronacher가 작성한)Jinja2를 사용합니다.기본적으로 템플릿엔진은 별도의 규칙(여기서는 Jinja2)에 맞게 작성된 템플릿 파일을 읽어 환경(Context)에 맞게 적용한 결과물을 돌려주는데 이 과정을 Flask에서는 render_template()가 담당하고 있습니다. 다음 코드는 hello.html이라는 템플릿 파일을 읽어서 이름을 적용한 뒤에 돌려주는 코드입니다.# from http://flask.pocoo.org/docs/quickstart/#rendering-templatesfrom flask import render_template@app.route('/hello/')@app.route('/hello/')def hello(name=None):    return render_template('hello.html', name=name)view rawgistfile1.py hosted with ❤ by GitHub쉽게 작성할 수 있게 도와준다고 해도, 템플릿 역시 나름의 학습을 필요로 합니다. 자세한 사항은 Jinja2의 API 문서를 참고하시기 바랍니다.RequestHTTP 요청을 다루기 위해서 때로는 environ의 내용은 너무 원시적일때가 있습니다. HTML 폼(Form)으로부터 입력받는 값이 좋은 예인데요. Flask에서는 request라는 객체(역시 Werkzeug에서 가져다가쓰는 거지만요)를 통해 이를 보다 다루기 쉽게 해줍니다. 다음은 HTML 폼으로부터 입력받은 message라는 값을 뒤집어서 출력하는 코드입니다.from flask import request@app.route("/reverse")def reverse():    message = request.values["message"]    return "".join(reversed(message))view rawgistfile1.py hosted with ❤ by GitHubSession로그인등으로 대표되는 요청간의 상태를 유지해야하는 처리에 흔히 세션(Session)을 사용하실 겁니다. Flask에서는 session객체를 지원합니다.# from http://flask.pocoo.org/docs/quickstart/#sessionsfrom flask import Flask, session, redirect, url_for, escape, requestapp = Flask(__name__)@app.route('/')def index():    if 'username' in session:        return 'Logged in as %s' % escape(session['username'])    return 'You are not logged in'@app.route('/login', methods=['GET', 'POST'])def login():    if request.method == 'POST':        session['username'] = request.form['username']        return redirect(url_for('index'))    return '''        <form action="" method="post">           <input type=text name=username>           <input type=submit value=Login>        </form>    '''@app.route('/logout')def logout():    # remove the username from the session if its there    session.pop('username', None)    return redirect(url_for('index'))# set the secret key.  keep this really secret:app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'view rawgistfile1.py hosted with ❤ by GitHubFlask는 기본적으로 시큐어 쿠키(Secure Cookie)를 통해 세션을 구현하므로 길이에 제한이 있습니다. 때문에 파일이나 DB기반의 세션을 구현하려면 Beaker와 같은 프레임워크를 통한 확장이 필요합니다.(하지만 이 또한 매우 쉽습니다.)#스포카 #개발 #개발자 #개발팀 #인사이트 #기술스택 #꿀팁 #Flask
조회수 483

소중한 그들의 총합

오늘의 내가 어제의 내가 아닌 이유는오늘 새롭게 깨달은 무언가 때문이다.오늘의 당신은 어제의 당신과 같은가?늘 곁에 있던 그들에게,오늘 처음 만난 그들에게서도,우연히 지나친 군중 속에서도무언가 발견하고 배운다.동료들과 얘기를 나누다보면벽이 높은 이들을 만난다.어떤 트라우마 때문인지 모르겠지만다른 생각을 견제하고 자신의 울타리를 강하게 치려는태도때문에 안타까움을 느낄 때가 많다.그리고는 스스로 확장하지 못하는 울타리 때문에성장하지 못하고 업무의 한계에 갖혀 있는 모습을 종종 본다.마음의 문이 열려 있는가?매일 출근길에 듣는 팟캐스트가 있다.아침마다 생각을 자극해주고, 그동안 보지 못한 현상을새롭게 깨닫게 해주는 그들이 요즘 나의 스승들이다.하루하루 다급하게 펼쳐지는 직장에서의 사안들을때론 돌아돌아 시행착오를 겪으면서, 때론 현명하게일을 풀어내는 모든 순간들이 내겐 소중한 공부들이다.받는 스트레스의 반만이라도 배우고 성장할 수 있는 직장이라면 남는 장사인 것이다이렇게 하루에 하나, 한주에 하나씩이라도배움과 깨달음이 쌓이면 어제와 다른, 작년과 다른또 다른 자신을 느끼게 된다.그렇지 않고하루하루 나에게 빠져나가는 무언가만큼채워지는 것이 없다면, 지금의 주변을 다시 만들어봐야 한다.내가 만난 모든 소중한 이들의 총합이현재의 "나"이기 때문이다.곁에 있는 소중한 이들의 총합이 바로 당신이다소중한 이들로 채워야한다.아니면 소중한 이들을 찾아 나서야 한다.실존의 인물이 아니면 글 속의 인물이든,가상의 인물이든...주변의 소중한 이들에게 감사하며...
조회수 894

flake8-import-order-spoqa

안녕하세요. 스포카 프로그래머 홍민희입니다.스포카 사내에서는 파이썬 코드의 스타일을 맞추기 위해 flake8을 사용해왔습니다. PEP 8 스타일을 준수하게 해주고, 안 쓰는 임포트를 꼭 지우게 하는 등의 좀더 구체적인 규칙도 지키게 해주는 린트 도구입니다. 사실상의 표준이기 때문에 파이썬을 이미 쓰고 있는 분들이라면 많이들 알고 계실 것입니다.그렇지만 import문의 사용에 대해서는 우리가 원하는 것만큼의 규칙을 제공하지 않아서, 예전부터 동료 강효준 님이 import-order를 별도로 만들어서 써왔습니다. 만들었을 당시에는 import문의 쓰임에 대한 린트 도구가 없었기 때문에 유용하게 써왔고, 다른 파이썬 오픈 소스 프로젝트에서도 유용할 것 같다고 생각하여 쓰인지 1년쯤 지난 뒤에 오픈 소스로 공개했습니다.하지만 flake8과는 다르게 외부 커뮤니티에서 널리 쓰이지는 못했고, 사실상의 표준이 되었다면 편집기 연동 등이 이뤄졌겠지만, 그에 미치지는 못했습니다. pre-commit hook이나 CI에서나 검사가 이뤄지기 때문에, 코딩을 마쳤다고 생각한 이후에 뒷북으로 실수를 바로잡는 일이 많아 불편했습니다.그 뒤로 시간이 지나자 커뮤니티에서는 flake8-import-order라는 도구가 나와서 사실상의 표준이 됐습니다. 이미 많은 편집기에서 연동이 되는 flake8의 확장으로 구현됐기 때문에 편집기에서 즉시 확인이 가능했고, 더 많은 옵션도 제공했습니다. 그렇지만 cryptography 프로젝트 사람들이 만든 도구다보니, cryptography 스타일 및 Google 스타일 등 몇 가지만 제공했고, 이 도구를 활용하려면 스포카에서 3년 넘게 쓰이던 import 스타일을 포기하고 사내의 모든 코드를 전부 수정하는 난리를 피우거나, flake8-import-order에 스포카 사내 스타일을 옵션으로 추가하거나, 프로젝트를 포크해서 별도로 유지보수하며 써야 했습니다.사내 모든 코드를 전부 수정하는 것은 쉽지도 않을 뿐더러, 스포카에서 쓰이던 스타일에도 나름의 논거는 있기 때문에 쉽게 포기하기는 힘든 결정이었습니다. 일부 프로젝트부터 옮겨가는 시도도 있었으나, 같은 회사에서 코드마다 스타일의 일관성이 달라지는 혼란이 있었습니다.저는 flake8-import-order에 스타일을 추가하는 것을 주저했습니다. Google 스타일처럼 문서화가 이미 아주 자세히 되어 있지도 않고 유명하지도 않은, 일개 회사의 사내 스타일을 사실상의 표준 린트 도구의 7번째 공식 지원 스타일로 추가하는 것이 이뤄질 개연성이 낮다고 봤습니다.그래서 프로젝트를 포크하기로 마음먹은 것이 보름 전쯤입니다. 그런데 코드를 열어보니 좀더 나은 아이디어가 떠올랐습니다. flake8-import-order의 코드를 고치지 않고 런타임에 스타일을 확장 가능한 플러그인 구조를 추가하면, 스포카에서 쓰는 import 스타일을 별도 패키지로 구현할 수도 있다는 생각이 든 것입니다. 당시 flake8-import-order의 스타일 구현은 Style의 기반 클래스를 상속받는 식으로 이뤄져 있었고, 다만 스타일의 목록이 하드코딩되어 있는 것이 문제였습니다. 막상 코드를 읽어보니 플러그인 구조를 도입하는 것이 어렵지 않을 것이라는 생각이 든 것입니다.파이썬 생태계에서는 서로 다른 패키지 사이에서 런타임에 확장 가능한 의존성 주입을 위해 setuptools 시스템이 엔트리 포인트라는 개념을 제공합니다. 예를 들어 국제화 라이브러리인 Babel은 파이썬 이외의 프로그래밍 언어에서도 gettext 문자열을 extract할 수 있게 하기 위해, 확장 가능한 babel.extractors 엔트리 포인트를 노출합니다. 그리고 별도의 템플릿 언어인 Jinja는 해당 템플릿 엔진을 쓸 때 국제화도 대응할 수 있도록, babel.extractors 엔트리 포인트에 Jinja 언어를 해석하는 jinja2.ext.babel_extract를 주입합니다.저는 같은 개념을 활용하여, flake8-import-order가 flake8_import_order.styles라는 엔트리 포인트를 노출하게 하는 패치를 제출했고, 다행히도 업스트림에 받아들여졌습니다.flake8-import-order를 런타임에 확장할 수 있는 구조가 됐으니, flake8-import-order 위에서 스포카의 import 사용 가이드를 구현하는 것은 어렵지 않은 작업이었습니다. 어차피 스포카의 파이썬 코딩 스타일은 대부분 PEP 8을 그대로 따르고 있었고, 따라서 flake8-import-order에 이미 존재하는 스타일 구현에서 몇 부분만 덮어씌우는 것으로 충분했기 때문입니다.위와 같은 장광설 끝에, 그래서 이번에 소개하려고 한 스포카의 파이썬 import 린트 도구는 flake8-import-order-spoqa입니다. 만든지 보름이 지난 뒤에 소개하는 것은, flake8-import-order에 제출한 패치가 포함된 0.12가 PyPI에 릴리스될 때까지 기다려야 했기 때문입니다.사용법은 어렵지 않습니다. pip로 flake8-import-order-spoqa를 설치한 뒤에, flake8 설정에 다음 옵션을 추가하면 됩니다.[flake8]import-order-style = spoqa#스포카 #개발 #개발자 #개발팀 #개발팁 #꿀팁 #인사이트
조회수 991

홍보영상 직접 제작해서 수백만원 절약해보자

** 본 글은 문돌이 PM의 마케터 따라하기 시리즈 입니다.** 1화 보기 - 초기에 할만한 ASO (앱스토어 최적화) 팁** 2화 보기 - 초보 PM이 알아야 하는 초기 모바일앱 분석 101** 3화 보기 - 스타트업 브랜딩: 내가 보는 나와 너가 보는 나의 일치자금이 쪼들리는 초기 스타트업이 지출하기 가장 부담스러운 비용이 무엇일까? 서버비? 광고비? 나는 개인적으로 '원샷페이먼트'라고 부르는 비용들이라고 생각한다. 원샷페이먼트는 말 그대로 한번에 제법 큰 돈을 내야하는 비용들로서 외주제작비, 장비구입비, 그리고 콘텐츠 제작비가 여기에 해당한다. 특히 페이스북이나 유투브에 뿌릴 광고에 태울 동영상들을 외주 맡길 경우 보통 제작비가 백만원은 훌쩍 뛰어넘는데 이 돈 내는거 여간 부담스러운게 아니다. 그렇다고 윈도우 무비메이커로 허접하게 해서 광고태우면 효율이 안나온다.그래서 오늘 글은 저 수백만원을 아낄수 있는 어느정도 퀄리티가 나오는 광고영상을 맥북 하나만 있으면 뚝딱 만들어내는 방법론에 대해 소개하고자 한다. (물론 이 방법론으로 전문가분들의 고퀄편집이 가능한건 절대로 아니다. 어디까지나 임시방편임을 다시한번 강조한다!!) 본 방법론은 맥북이 있는 사람들, 그리고 Garage Band와 iMovie를 가지고 있는 사람들만 가능하다는 것을 미리 밝혀둔다. 빠른 이해를 위해 필자가 운영하고 있는 바크 앱의 홍보영상 제작 과정을 기준으로 설명하도록 하겠다.본 방법론은 총 5단계로 이루어져 있다.1. 아이디에이션 및 컨셉잡기2. 스토리 짜기3. 아이폰으로 촬영하기4. Garage Band로 고퀄의 음원 제작하기5. iMovie로 영상 편집하기본 방법론으로 탄생한 홍보 영상은 다음과 같다. (전문가들이 보기에는 웃음나오는 수준이지만 일반인들이 보기에는 미적으로 큰 무리는 없는 영상이다)https://www.youtube.com/watch?v=o7g_0yRjDoA<iframe width="700.000000" height="394.000000" src="//www.youtube.com/embed/o7g_0yRjDoA" frameborder="0" allowfullscreen="">내 와이프의 노동력을 착취해서 직접 촬영/편집한 영상이다Step 1. 아이디에이션 및 컨셉 잡기우선 내가 어떤 홍보영상을 만들지에 대한 대략적인 아이디에이션 및 컨셉을 그려봐야 한다. 아이디에이션에 필요한 세부내용은 다음과 같다.본 영상의 목적은 무엇인가? 내 제품의 정보전달인가? 소비자의 관심 환기인가?영상의 주 타겟이 누구인가?주로 어떤 채널로 집행될 영상인가? 페이스북? 유투브? 인스타그램?내 제품의 정보전달이 목적이라면 어떤 핵심 포인트들을 전달할 것인가? (3-4개 정도)내 제품에 어떤 후킹포인트가 있어서 소비자의 관심을 낚아올 수 있을까?Tone & Manner는 어떻게 잡을것인가? 발랄하고 활기찬 분위기? 감성적인 분위기? 섹시한 분위기?위 아이디에이션에 대한 부연설명을 좀 더 해 보겠다. 우선, 영상의 목적이 제품의 정보전달일 경우 최대한 제품의 사용성을 직관적으로 보여주는 영상이 되어야 하는 반면 소비자의 관심 환기가 목적일 경우에는 무언가 강렬한 메시지가 들어있는 영상이 필요하다. 사실 비전문가의 입장에서 제작을 시도하기에는 후자보다는 전자의 영상이 도전하기 더 수월하다. 후자의 영상은 크리에이티브도 중요하고 영상의 미적인 부분이나 퀄리티, 후킹포인트 등등이 아주 유기적으로 조합되어야 하기 때문이다.또한, 영상의 주 유통채널이 페북/유투브/인스타 모두를 아우를것인지, 아니면 인스타 위주로 갈 것인지에 따라서 영상의 사이즈가 달라진다. 보통 위 채널을 모두 아우르는 영상은 16:9 또는 16:10의 와이드형으로 제작되지만, 인스타의 경우 (또는 페북도 조금 포함되는 경우) 영상 사이즈는 스퀘어 (정사각형)으로 산출되어야 하기 때문에 제작단계부터 나중에 스퀘어로 영상을 자를 것을 감안해서 편집을 해야 한다. (물론 여력이 된다면 영상을 유투브는 와이드로, 페북과 인스타는 스퀘어로 각각 적용해주는게 가장 좋기는 하다만, 우리에겐 그럴 시간과 여유가 부족하다...아 그리고 요즘은 인스타도 와이드스크린을 게시는 가능하지만 왠만하면 기존 형성된 SNS의 컨벤션을 따라가주는게 좋다.) 한가지만 더 추가하자면, 인스타의 경우 동영상의 분량도 1분을 넘지 못하도록 되어있다. 따라서 힘들게 스퀘어 사이즈로 작업해 놨더니 영상 분량이 1분이 넘어가서 인스타에 태워보지도 못하는 불상사가 생기지 않도록 주의하도록 하자.에어비앤비는 페북에 동영상을 게시할 때 유투브와 연동된 광고는 와이드 스크린으로, 인스타와 연동될 경우 스퀘어 사이즈로 게시하고 있다.바크 홍보 영상의 경우 아이디에이션 세부 내용은 다음과 같다.영상의 목적: 정보전달 - 제품이 실 생활에서 어떻게 쓰이는지를 직관적으로 전달한다.영상의 타겟: 젊은 직장인, 대학생채널: 유투브, 페이스북핵심포인트: 제품의 4가지 유즈케이스를 보여준다 - 아침인사, 직장에서 앱 사용, 앱을 통해 친구 사귐, 파티에서 앱 사용후킹포인트: 외국인을 출현시켜 한국에서 앱 사용하는 모습으로 시작Tone & Manner:  발랄하고 여성스런 느낌, 잡지를 읽는것 같은 분위기, 여성의 낭랑한 나레이션이러한 아이디에이션을 통해 잡은 영상의 컨셉은 다음과 같다.Dear Barkers - 한 유저가 보내는 바크 사용자들을 향한 메시지이러한 컨셉은 향후에 시리즈물로 제작할 것 까지 염두에 두고 구상한 컨셉이다. 즉, 바크 앱을 잘 활용하는 유저들 중 독특하거나 눈에 띄는 유저들을 한명씩 출현시켜서 그들의 눈으로 본 앱 사용기를 'Dear Barkers by 아무개' 이런 시리즈물로 제작하고자 정한 컨셉인 것이다.Step 2. 스토리 짜기영상의 스토리에는 크게 두가지 요소가 있다. 첫째는 장면에 대한 설정인데 영상의 전체 장면들이 어떤 큰 섹션들로 이루어져 있고, 그 하위에는 어떤 장면들을 찍어나갈 것인지를 세세하게 계획하는 부분이다. 둘째는 각 장면마다 들어가는 나레이션이나 자막, 특수효과 등 장면에 붙일 다양한 요소를 기획하는 부분이다. 영상 작업을 처음 해보게 되면 가장 삽질을 많이하는 단계가 바로 스토리짜기 인데, 그 이유는 내가 상상만으로 작업한 스토리대로 실제 촬영이 절대로 매끄럽게 되지 않기 때문이다. 스토리를 최대한 자세하게 짜서 현장에서 직접 촬영하면서 매끄럽지 못한 부분들은 쳐내거나 하는 임시방편이 필요하다.처음에 잡았던 바크 영상의 스토리라인이다. 실제 촬영하면서 엄청나게 난도질되었다.Step 3. 아이폰으로 촬영하기흔히들 영상 제대로 촬영하려면 DSLR이나 캠코더가 있어야 하지 않느냐는 질문을 많이 한다. 사실 이런 전문장비가 필요한 상황은 다음 세가지 밖에 없다. 1) 내 영상이 TV나 옥외광고같은 큰 화면에 송출된다. 2) 아웃포커싱으로 뎁스있는 영상표현이 필요하다. 3) 야간씬이 꼭 들어가야 한다.초기 스타트업이 처음부터 4대매체 광고를 한다면 지금 이 글을 보면서 영상 외주제작비를 아끼려 할리가 없기 때문에 첫번째는 패스하고, 두번째의 경우는 쉽게 말해서 특정 영상에서 포커스 되는 피사체를 제외한 배경이 흐릿하게 보이는 현상을 아웃포커싱 됐다고 표현하는데, 스마트폰 카메라로는 유의미한 아웃포커싱 효과를 얻기 힘들다. (물론 이를 가능하게 해주는 아웃포커싱 앱이 있기는 하다만 퀄리티는 그닥...) 세번째의 야간에서의 장면은 사실 야간이지만 도심 한 복판에서 불빛이 많은 상황에서의 촬영은 아이폰6급 이상, 갤럭시 S6급 이상에서는 충분히 스마트폰으로 가능하다. 하지만 불빛이 적은 상황에서의 야간촬영은 반드시 DSLR 카메라와 조리개 2 이하의 밝은 렌즈가 필요하다. 이 세가지 경우가 아니라면 굳이 영상제작하려고 비싼 카메라 살 필요없이 아이폰이나 갤럭시폰 촬영으로도 충분하다.영상촬영을 초보자가 하려고 하면 이거 아무리 찍어도 뭔가 허접해 보이고 각이 안나온다. 걱정하지 마라. 내가 얘기하는 다음 3가지만 명심하면서 최대한 많은 영상을 촬영하면 반드시 쓸만한 클립이 건져질 것이다.1. 한 클립에서는 절대로 앵글을 바꾸지 마라모든 화면에 앵글이라는게 있다. 바로 로우, 미들, 하이앵글이다. 로우앵글은 밑에서 위를 쳐다보는 것, 미들앵글은 그냥 내 눈높이로 보는것, 하이앵글은 위에서 아래로 내려보며 찍는것을 말한다. 각 앵글마다 느낌이 확 다르고 목적도 다른데, 이에대한 팁들은 다른 전문 영상제작자들의 블로그를 찾아보면서 공부하면 좋다. 여기서는 그냥 내가 지금 찍는 화면이 어떤 앵글이구나 정도만 판단할 수 있으면 되고, 중요한건 한 클립에서 앵글이 왔다갔다 하면 안된다는 것이다. 예를들어 어떤 화면을 미들앵글로 시작했는데 도중에 갑자기 로우앵글로 카메라를 내린다던지, 갑자기 줌인을 한다던지 해서 앵글을 확확 바꿔버리는 경우가 많은데 이러면 그 영상은 불안정해 보여서 홍보 영상으로 쓸 수가 없다. 한번 시작한 앵글은 바꾸지 말고 일단 그 클립을 종료한 후 다시 새로운 앵글로 촬영을 시작하는게 중요하다. 또한, 여러 앵글의 클립을 촬영해 놓으면 나중에 편집할때 영상표현미가 풍부해 져서 더 좋다.카메라 앵글은 크게 3가지가 있는데 하이앵글은 왠만하면 시도하지 말자.2. 인물에 대한 촬영이면 내가 과하다 싶을 정도로 포커스해서 찍어라뭔가 인터뷰나 사람이 얘기하고 있는거나 인물의 행위를 촬영하는 클립인데 초보자들이 많이 하는 실수가 바로 피사체를 너무 줌아웃해서 찍고 있는 경우이다. 사람이 얘기하는 장면인데 실제로 찍은 영상을 보면 사람이 너무 멀리 떨어져 보이는 경우가 많다. 이런경우 내가 찍으면서 '너무 줌인해서 찍고있는거 아냐?' 싶을 정도로 포커스해서 찍어보도록 하자. 물론 얼굴을 꽉 채워서 찍으라는 게 절대 아니다. 보통 가슴 아랫부분이 잘릴정도로 포커스해서 촬영하면 화면에서 제법 인물이 포커스되어 보인다.3. 영상을 끊어 찍어라초보자들이 또 많이 하는 실수가 전체 영상을 한번에 촬영하고 있는 경우이다. 예를들어 한 인물이 카페에 들어와서 주문하고 앉아서 커피마시는 장면이 있다고 상상해보자. 이걸 초보자들이 촬영할때 그 인물의 전체 동선을 따라가면서 한번에 찍는 경우가 많다. 그리고 이걸 여러번 반복해서 찍기도 한다. 이렇게 되면 편집하기도 어렵고 연결된 영상에서 어디서 끊어야 하는지도 애매해 진다. 이 케이스에서는 크게는 1) 인물이 카페이 들어오는 씬, 2) 들어와서 주문대로 걸어가는 씬, 3) 주문하는 씬, 4) 기다리는 씬, 5) 커피 나와서 받아가는 씬, 6) 받아서 자리로 걸어가는 씬, 7) 자리에 앉는 씬, 8) 커피 마시는 씬 이렇게 구간구간 나누어서 촬영을 해야 한다. 보다 전문적인 촬영은 저 구간구간을 카메라 여러대를 동원해서 다양한 앵글로 찍기도 한다. 뭐 이건 카메라가 여러대 있으면 시도해 볼만 하다.한가지 팁은, 아이폰으로 촬영시 손에 들고 촬영하는것 보다는 집에 만일 셀카봉이 있다면 셀카봉에 끼워서 봉을잡고 촬영하는게 더 안흔들리고 안정적으로 촬영 가능하다. 삼각대가 있으면 최고겠지만 대부분은 삼각대도 없는 경우가 많을테니 시중에 널려있는 오천원짜리 셀카봉을 사서 장착하도록 하자.Step 4. Garage Band로 고퀄 음원 제작하기홍보영상 만들때 우리같은 비전문가들이 저작권에 대해 개념이 별로 없어서 특히 음원을 그냥 내가 평소에 좋아하는 음악 다운받아서 입히는 경우가 많다. 요즘은 페북도 유투브도 음원 오토스캔이 발달되어 있어서 내가 마룬5 음악을 입히면 100% 자동 검열로 영상 안올라간다. (페북같이) 올라는 가더라도 광고가 안걸리는 경우가 많다. 이런 경우를 대비해서 시중에는 수 많은 유/무료 음원 사이트들이 존재하고 유투브에도 다양한 무료음원을 제공하는 아카이브가 있기도 하다. 유투브에서 제공하는 이 무료 음원 사이트는 다양한 장르의 무료 음원 및 효과음을 제공하기에 제법 유용하다. 여기서 괜찮은 음원을 찾는다면 이 단계는 그냥 패스해도 좋다. (다만, 각 음원마다 사용 조건이 명시되어 있으니 그걸 꼭 지키도록 하자.)유투브에서 제공하는 무료 음원 라이브러리이다. 각 음원마다 클릭해보면 사용 조건이 명시되어 있으니 유의하자.당신이 맥북유저고 Garage Band가 있으면 진짜 마법처럼 손쉽게 제법 고퀄의 음원을 만들수가 있으니 이 단계를 스킵하지 말고 꼭 한번 도전해 보기 바란다.거라지밴드를 처음 열면 다음과 같이 생겼다. 고민하지 말고 'Empty Project'를 선택한다.거라지밴드의 첫 화면이다.아무리 초보자를 위해 쉽게 디자인된 프로그램이라지만 역시 머리가 아득해질 정도로 복잡해 보인다. 하지만 겁먹지 말자. 하나씩 차근차근 인터페이스에 대해 설명해 주도록 하겠다.프로젝트 메인화면이다. 머리가 아득해질 정도로 복잡해 보인다.1) 미디 (MIDI) 악기를 선택 가능한 좌측 악기 라이브러리 - 이 곳은 마치 내가 연주할 악기를 고르듯이 거라지밴드에 구비되어 있는 미디 악기 창이다. 이 창이 처음에 안보일 수 있다. 당황하지 말고 맨 위 좌측에 책장서랍처럼 생긴 아이콘을 누르면 슉 하고 나온다.2) 연주한 음악을 배치하는 타임라인 - 1번 섹션에서 선택한 악기에 기본 제공되는 건반작업 등으로 곡을 연주하고, 이를 분량에 맞게 배치하는 영역이다. 이 부분은 항상 보인다.3) 다양한 pre-made된 음원 조각들이 모여있는 루프 - 가장 중요한 섹션이다. 사실 이 단계에서 당신이 음악을 한번도 만들어 본 적 없는 생초보라면 위의 1번, 2번은 그냥 무시하고 이 3번섹션만 집중하도록 하자. 이 루프 탭 역시 처음에 창이 안보일 수 있다. 맨 우측 위에 세개의 아이콘 중 가운데 노란리본 모양으로 생긴게 이 탭을 여는 버튼이다.1번과 2번은 음악에 조금이나마 흥미가 있었던 사람이라면 이것저것 악기도 추가해 보고 만지작 만지작 하다 보면 금방 감이 오긴 하는데, 그렇지 않은 사람들에게는 매우 어려운 영역이니까 이 글에서는 패스하도록 하겠다. 사실 3번의 루프 라이브러리만 가지고도 어느정도 고퀄의 배경음악을 만들 수 있으니까 말이다. 루프 라이브러리를 활용하여 음원을 만들기에 앞서 간단히 알고 있어야 하는 사전지식에 대해 짚고 넘어가도록 하자.1. 모든 음악의 기본은 [드럼비트-베이스-멜로디 + 효과음]의 구조로 이루어져 있다. 하지만 경우에 따라서 베이스는 생략하고 [드럼비트-멜로디 + 효과음]으로 구성되기도 한다.2. 모든 음악에는 bpm이라고 불리는 일종의 스피드 같은게 있다. 보통 70-90정도면 느린음악, 100-120정도면 보통, 120 이상이면 빠른 음악이다. 거라지밴드에서 상단에 계기판처럼 생긴 탭에서 'bpm'이라는 부분의 숫자를 더블클릭해서 변경해 줄 수 있다.3. 한 음악은 여러개의 뭉탱이 단위의 음원들이 모여서 이루어진다. 이 뭉탱이 단위는 거라지밴드에서는 기본적으로 타임라인에서 8개의 눈금을 차지한다. 즉, 모든 음악을 8개 단위의 뭉탱이로 조합시키라는 뜻이다.그럼 루프 라이브러리를 활용해서 간단한 댄스 음악을 만들어 보도록 하자. 우선 첫번째 단계는 비트를 선택하는 건데, 루프 라이브러리에 'beat'라는 탭을 누르면 비트 음원만 보여준다. 여기서 하나씩 들어보고 마음에 드는 비트를 선택해서 마우스로 드래그해서 타임라인에 가져다 놓으면 된다. 위에서 말했듯이 갖다놓은 비트를 마우스로 드래그해서 8개의 눈금을 차지하도록 늘려놓은 후, 이 8개 눈금의 뭉탱이를 계속 복사해서 분량을 늘려나가도록 하자. 예를들면 다음과 같은 모습이 될 것이다.갖다 놓은 비트를 8개 눈금 뭉탱이로 늘린 후에 이를 8마디마다 계속 복붙한다.다음 여기에 어울리는 멜로디를 찾아보자. 루프 라이브러리에 멜로디가 너무 많아서 이거 고르고 있는데만 시간 크게 잡아먹기 마련이므로 심플하게 기타, 피아노, 스트링 위주로 찾아보도록 하자. 역시 상단에 guitar, piano, string이라는 탭이 있다. 마음에 드는 음원을 찾으면 역시 위에서와 같이 8눈금을 차지하는 뭉탱이로 늘려주고 적절히 배치한다. 이때 팁은, 음악에도 기승전결 같은게 있다는거다. 처음부터 막 시끄럽게 시작하지 않고 차분하게 시작해서 클라이막스를 찍고 종료하는 흐름이라는게 있기 때문에 이 멜로디를 너무 처음에 배치하지 말고 앞의 한 뭉탱이 (8눈금)은 비트만 틀어주고 9번째 눈끔 부터 멜로디를 넣도록 하자. 또 한가지 팁은, 멜로디 중에서 '~~~01,' '~~~02' 이런식으로 같은 이름에 숫자가 여러개 존재하는 멜로디들이 있는데 이걸 사용하면 같은 느낌으로 다양한 변주를 넣을 수가 있다. 예를들면 다음 사진과 같다.뭉탱이 단위로 기승전결의 흐름을 만들어서 배치하면 음악이 더 풍성해 진다.'Brixton Lights Rhythm Guitars' 라는 음원이 01, 02 두개가 존재하기에 한 뭉탱이 단위로 순차적으로 배열하니까 음악이 제법 풍성해 보인다. 보통 진짜 심플한 영상의 배경음악으로 들어갈 꺼면 그냥 이렇게 비트+멜로디 딱 두개만 넣어서 한 30-40초분량 음악 만들어서 익스포팅 해버려도 상관은 없다. 하지만 여기에 좀 더 풍부한 효과음원들을 추가할 수 있는데, 예를들면 루프 라이브러리에서 'voice'라는 탭을 눌러보면 다양한 목소리 코러스가 있고, 'Conga' 탭을 눌러보면 아프리카 음악같은 효과도 추가 가능 하다. 음악을 다 완성하고 나면 맨 상단에 'Share' 메뉴에 'Exporting to Disc'라는 메뉴가 있는데 이걸 클릭해서 MP3  파일로 추출할 수 있다.Step 5. iMovie로 영상 편집하기이제 드디어 마지막 단계이다. 지금까지 촬영한 영상들과 위에서 만든 음원을 조합하여 영상을 아이무비로 편집하는 과정이다. 역시 아이무비를 처음 다뤄보는 분들을 위해 인터페이스에 대한 기본적인 내용을 다루고 진행하도록 하겠다.아이무비도 심플한듯 보이지만 처음에는 머리가 아득해지는 인터페이스다.1번탭은 영상의 각 요소대로 만들어진 가장 큰 단위의 탭이다. 즉, My media는 내가 지금까지 촬영한 클립들을 불러오는 탭, Audio는 아까 작업한 음원, Title은 각 영상에 들어가는 자막, Backgrounds는 굳이 촬영한 클립이 없어서 배경에 채워넣거나 중간중간 화면전환용으로 필요한 배경화면들인데 별로 많이 쓰이진 않는다. 마지막으로 Transitions는 각 클립마다 영상 전환이 칼같이 될 것인지, 흐려졌다가 나오는지, 겹쳐져서 나오는지 등등의 다양한 화면전환 효과들이 들어있다.2번탭은 1번탭을 클릭하면 그 하위내용들이 표시되는 탭이다. 예를들어, Titles를 클릭하면 자막으로 쓸 수 있는 다양한 형태의 자막 라이브러리가 뜨는 것이다.3번탭은 거라지밴드와 마찬가지로 영상의 각 요소들을 시간순으로 배치시키는 타임라인이다. 이 부분은 크게 4가지 요소로 이루어져 있다. 1) 맨 밑부분의 초록색 바는 영상 전체에 깔리는 기본 음원이다. 아까 거라지밴드에서 작업한 음원이 여기에 들어간다. 2) 그 위의 초록색 바 들은 영상에 부분부분 들어가는 음원인데 주로 영상에 넣는 효과음들이나 나레이션 목소리가 여기에 들어간다. 3) 영상 클립들이 그 위에 배치된다. 4) 각 영상에 들어가는 자막들이 바로 그 위에 있는 초록색 바 이다. 5) 간혹 이미지를 영상에 삽입하고 싶은 경우가 있는데 3번탭의 맨 왼쪽 위를 보면 바크 로고 이미지가 영상 위에 입혀져 있고 자막은 그 위에 들어가 있다. 이게 이미지와 영상이 함께 들어간 부분이다. 이 부분은 picture in picture 기능을 잘 활용하는 트릭인데 나중에 별도의 글로 따로 설명하도록 하겠다.4번탭은 각 부분마다 현재 꾸며진 영상을 프리뷰하는 부분이고 그 상단에 있는 아이콘들은 그 해당 장면에서 다양한 설정이 가능하도록 해주는 기능들이다. 역시 하단에 따로 설명하도록 하겠다.아이무비로 영상작업하는 순서는 다음과 같다.1. 음원 배치아까 거라지밴드로 작업한, 또는 유투브 무료 라이브러이에서 다운로드 받은 음원파일을 타임라인 (4번탭) 맨 하단에 드래그해서 갖다놓는다.2. 영상 배치영상 역시 파일을 그대로 타임라인에 드래그 해서 갖다 놓으면 되는데, 가져다 놓은 후 잘라내기 (Split) 및 줄이기의 두가지 툴로 원하는 부분만 가져다 놓는다.  화면을 잘라내는 방법은 해당 클립에 커서를 놓고 우측 버튼을 클릭하면 'Split Clip'이라는 메뉴가 있고, 이걸 클릭하면 영상이 그 지점에서 둘로 쪼개진다. 영상을 늘리고 줄이는것은 (스크린샷이 안찍혀서 그냥 말로 설명하겠음) 마우스를 해당 클립 끝 부분에 가져다 놓으면 갑자기 화살표로 커서가 바뀌는데 그때 드래그하면 된다.3. 화면전환화면전환은 너무 많이 넣으면 영상이 촌스럽고 복잡해 보인다. 다음 4가지 부분에만 넣도록 한다. 1) 첫 시작, 2) 도입부-메인부 사이, 3) 메인부-클라이막스 사이, 4) 클라이막스-종료부 사이. 보통 첫 시작은 어두워지면서 밝아지기에 'Fade to Black' 화면전환을 맨 처음에 넣으면 영상이 어두웠다가 밝아지면서 시작한다. 또한, 도입부, 메인부 등 각 섹션 안의 클립들은 화면전환을 넣지 말고 그냥 연결해서 붙여넣고, 위에서 언급한 4가지 부분만 Cross Blur (흐려지면서 전환), 또는 Cross Dissolve (겹치면서 전환)를 배치하도록 한다. 마지막은 어두워지면서 끝내고 싶을때는 'Fade to Black'을, 밝아지면서 끝내고 싶을때는 'Fade to White'을 배치하도록 한다.각 영상클립 사이에 있는 나비리본같은 모양이 화면전환 효과가 들어간 지점이다. 보다시피 한 섹션 안의 영상들은 화면전환 없이 연결한다.4. 화면효과 - 밝기조절 및 필터아이무비에는 마치 사진의 밝기를 조절하고 필터를 넣듯이 영상에도 밝기조절 및 필터를 넣을 수 있는 강력한 기능이 있다. 이건 해당 클립을 클릭하면 4번탭 상단에 아이콘 메뉴들 중 파레트 모양의 아이콘을 클릭하면 화면의 밝기 및 색온도를 조절할 수 있고, 삼원모양의 아이콘을 클릭하면 필터를 입힐 수 있는 기능이다.영상 클립의 밝기조절 및 필터효과를 통해서 다양한 화면 연출이 가능하다. 바크 영상에도 도입부와 후반부에 필터를 입혔다.5. 자막작업자막이 필요한 경우 1번탭에서 Titles탭을 클릭하면 다양한 자막기능을 선택해서 타임라인으로 드래그한 후 4번탭에서 글을 입력할 수 있다. 하지만 우리가 예능에서 보는것 처럼 현란한 자막작업은 불가능하다. 아이무비에서 그나마 쓸만한 자막 기능은 Upper, Lower, Centered 요 3개밖에 없고, 나머지는 너무 과하거나 촌스럽다. 아무튼 저 3개중 하나를 선택해서 드래그해서 타임라인에 갖다 놓은 후 더블클릭하면 4번탭에 다음과 같은 텍스트 편집 창이 활성화 된다. 여기에서 폰트 종류, 정렬, 크기등을 조절할 수 있다. 한가지 팁은, 처음에는 글씨에 외각선이랑 그림자, 볼드처리가 자동으로 되어있어 매우 촌스러워 보이는데 당황하지 말고 'B'라는 버튼과 'O'라는 버튼을 클릭하여 외각선과 볼드처리를 해제시키면 된다. 또한 자막을 드래그해서 원하는 장소에 갖다 붙이는 기능 역시 지원하지 않아 당황할 수 있는데 역시 당황하지 말고 Lower의 경우 맨 끝에서 엔터를 여러번 치면 글씨가 점점 위로 올라가서 인위적으로 중간쯤에 갖다 놓을 수 있고, 역시 스페이스바를 여러번 쳐서 원하는 장소에 딱 글씨를 갖나 놓을수도 있다.자막을 더블클릭하면 텍스트 수정창이 활성화 된다.이런 과정을 거쳐서 모든 작업을 끝 마쳤다면 상단의 메뉴에서 File > Share > Export to Disc 탭을 통해서 만든 영상을 mp4 포맷으로 추출할 수 있다.아이무비로는 사실 이것 보다 훨씬 다양한 영상편집 기능을 제공하는데, 이걸 잘만 활용하면 비싼 어도비 프리미어나 파이널컷 프로가 필요 없을 정도로 알차게 활용 가능하다. 이 부분은 향후 별도의 글을 통해서 팁을 전하도록 하겠다.자, 이제 모든 단계가 끝났다. 다시한번 바크 영상을 보자.https://www.youtube.com/watch?v=o7g_0yRjDoA<iframe width="700.000000" height="394.000000" src="//www.youtube.com/embed/o7g_0yRjDoA" frameborder="0" allowfullscreen="">서론에 보여준 이 영상은 사실 이 5단계를 모두 거쳐 작업시간이 약 2주정도 소요된 영상이다.바크 홍보 영상은 위의 단계를 모두 거쳐서 약 2주정도의 시간이 걸려서 완성되었다. 다시한번 강조하지만 에이전시에서 전문적인 툴로 작업하는 고퀄영상에 비할바는 절대로 못되지만, 초기 스타트업이 페이스북이나 인스타 등에 주로 마케팅 하는 용도의 영상으로는 크게 나쁘지는 않다고 생각한다. 당신이 혹시 주머니돈 아껴가며 어렵게 제품 홍보하고 있는 초기 스타트업이라면 수백만원의 아까운 돈을 영상제작에 쓰지 말고 차라리 영상을 직접 제작한 후에 그 돈을 영상을 뿌리는 광고비에 쓰라고 꼭 말씀드리고 깊다. (혹시 이 글이 어느정도 도움이 됐다면, 보답으로 바크 페이스북에 가서 본 홍보영상에 라이크 버튼을 살포시 눌러주시면 매우매우 감사하겠습니다!!!)글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기

기업문화 엿볼 때, 더팀스

로그인

/