스토리 홈

인터뷰

피드

뉴스

조회수 764

앱 재사용율(Retention)이 앱 설치수보다 더 중요한 이유

사용자획득에 집중된 모바일 마케팅모바일앱 시장 내 경쟁이 치열해지면서, 새로운 앱 사용자들을 유치하기 위한 마케팅 비용은 점차 상승하고 있습니다. 글로벌 조사에 따르면, CPI (Cost per Install) 광고 단가는 검색광고채널의 경우 평균 $8.63, SNS 플랫폼은 $5.84, 배너 및 비디오 채널은 $2.99로 한 명의 새로운 유저를 데려오기 위해 높은 비용이 든다는 것을 알 수 있습니다. ( Souce : Singular )지금까지 대다수 모바일 마케팅의 성과 척도는 앱 사용자 획득에 있었기 때문에, 마케터들은 높은 단가에도 불구하고 광고를 통해 최대한 많은 사용자들이 앱을 설치하도록 만드는데 집중했습니다. (구글플레이 스토어의 앱인스톨 광고 )낮은 앱 재사용율(RETENTION), 이유는?하지만 그들이 간과했던 것은 대다수의 앱을 설치했던 사용자들 중에 지속적으로 앱을 사용하는 비율이 매우 낮다는 점입니다. Appboy의 2016년 글로벌 리포트에 따르면, 앱을 설치한 다음날 앱을 재사용하는 사용자 비율은 평균적으로 25% 보다 낮게 나타났습니다. 7일 뒤에 재사용율(retention rate)은 11%로 떨어졌고, 45일 뒤에는 5% 미만, 90일 뒤에는 4.1%를 기록했습니다.즉, 앱 설치형 광고를 통해 100명의 사람이 앱을 설치했다 하더라도, 그 중 다음날 앱을 재접속하는 사람은 25명 미만이고, 일주일 뒤에는 11명, 90일 뒤에는 오직 100명 중 4명만이 앱을 사용한다는 의미입니다.(Source; Appboy, Retention Report 2016)이와 같은 수치는 다른 조사에서도 유사하게 나타나고 있습니다. Quettra의 조사에 따르면, 평균적으로 앱 (안드로이드 기준) 을 설치한 다음날 77% 사용자가 앱을 떠나고, 30일 내에 90%, 90일 후에는 95%가 앱을 삭제하거나 더이상 방문하지 않는 것으로 나타났습니다.(Source; Quettra)실제 Wisetracker 를 이용하는 앱 서비스의 retention report를 보아도 위와 유사한 수치를 발견할 수 있습니다.(Source; Wisetracker의 retention report)이와 같은 낮은 retention (재사용율) 이 나타나는 이유는 하루에도 수많은 앱들이 생겨나는 상황에서 사용자들은 다양한 앱을 테스트하는 동시에, 1~3일의 짧은 시간 안에 그 서비스를 지속적으로 사용할지 안 할지를 결정하기 때문입니다.즉, 앱을 처음 방문했을 시 사용자의 흥미를 끌지 못하면 다음날, 일주일, 3달 뒤에도 그가 앱을 지속적으로 사용할 확률은 매우 낮다고 볼 수 있습니다.앱 재사용율(RETENTION)을 높이기 위한 3가지 전략사용자가 앱에 처음 접속 시, 서비스를 쉽게 이해하고 매력적으로 느끼는지 파악합니다.앱 서비스의 회원가입 단계가 복잡하거나, UI/UX가 사용하기 어렵다면 처음 사용자의 경우 서비스 이용을 포기할 확률이 높습니다. 앱을 설치한 사용자들이 회원가입 단계에서 이탈율은 얼마인지, 처음 사용자들의 페이지뷰, 체류시간은 얼마인지에 대한 데이터를 통해 처음 사용자들이 우리 서비스를 문제없이 사용하고 있는지 파악합니다. 만일 회원가입 특정 단계에서 이탈율이 높다거나, 체류시간이 반복사용자에 대해 짧다면 처음 사용자들이 우리 서비스를 어려워하거나 매력적으로 느끼지 못하고 있기 때문에 서비스 개선을 통해 retention을 높일 수 있습니다.타겟팅 푸시메시지를 통해 사용자가 앱을 재방문하도록 유도합니다.푸시메시지는 사용자가 앱을 재방문하도록 유도하는 효과적인 방법 중에 하나입니다. 푸시메시지를 더욱 효과적으로 사용하기 위해서는 개개인에 맞춤화된 메시지 전달이 중요합니다. Wisetracker에서는 우리 서비스의 처음 방문자들의 데모그래픽 또는 방문행동 특성을 기반으로 ADID/IDFA를 추출해 각 그룹마다 타겟팅된 메시지를 보낼 수 있습니다.앱 사용자에게 개인 맞춤 리타겟팅 광고 및 콘텐츠를 보여줍니다.만약 커머스 앱을 다운받아 방문한 처음 사용자가 몇 개의 상품을 둘러본 뒤 앱을 종료했다면, 그에게 리타겟팅 광고를 통해 해당 상품을 다시 보여주는 것이 retention 을 높이는데 가장 효과적일 것입니다. 우리 서비스에 방문한 사용자들이 조회했던 콘텐츠 정보를 기반으로, 리마켓팅 광고를 진행하거나, 해당 사용자가 앱에 접속 시 관련 콘텐츠를 보여줌으로써 retention 을 높일 수 있습니다.사용자 유지 > 사용자 획득기존 앱 마케팅 캠페인의 목표를 사용자 획득으로만 잡으셨다면, 지금 앱 서비스의 retention 리포트를 확인해 보시길 바랍니다. 하루가 지나고, 30일이 지난 뒤 재사용율이 높지 않다면 우리 비즈니스의 핵심 목표는 사용자 획득이 아닌 재사용율(retention) 을 높이고 앱 삭제율을 낮추는 것으로 나아가야 합니다. 2017년에는 Wisetracker를 통해 정확한 In-app 데이터를 분석하고, 앱 사용자들을 보다 깊게 이해함으로써 높은 retention 을 달성할 수 있는 한 해가 되시길 바랍니다.* WISETRACKER는 모바일 광고 성과 측정부터 In-app 이용자/컨텐츠 분석, 푸시메시지 최적화까지 지원하는 모바일 통합 분석/타겟팅 솔루션입니다. 와이즈트래커 솔루션의 무료체험을 원하실 경우 여기를 클릭해주세요.* WISETRACKER가 제공하는 무료 데이터 분석 컨설팅를 원하신다면 여기를 클릭해주세요.#와이즈트래커 #앱마케팅 #마케터 #인사이트 #꿀팁 #조언 
조회수 1776

'융합'을 정의하다.  신유통과 커머스 사례

누군가 이야기한 것 같다.“빅뱅 이후 새로운 것은 없다”“새로운 것은 편집일 뿐이다”“아이디어는 기존에 있던 생각들의 조합이다”우리가 흔히 생각하면서 놓치는 부분이 있다.‘융합’에 대한 의미다.전에 없던 새로운 기술을 도입하는 것은 말그대로‘기술도입’이다.바람직한 융합은 기존에 있던 기술과 시스템, 맥락을,기존에 있던 기술과 시스템, 맥락끼리 잘 조합하는 것이다.이러한 관점에서 융합은 아주 멀고 어려운 발상이 아니다.출처: Rumble media혁신은 이러한 이미 존재하는 점들을 여러 개, 여러 방향으로 이어보는 융합 사고에서 출발한다.점들을 잇는 융합 과정에서 대략 두 가지의 혁신이 발생한다.1. 기존에 있던 분야를 잘 접목해 새로운 것을 창출하는 혁신2. 기존에 있던 분야들끼리 닮아가는 과정에서 새로운 결과물을 창출하는 혁신먼저, 최근 화두가 된 ‘미디어 커머스’를 보면,‘미디어’와 ‘커머스’는 각각 오래전부터 존재하던 것이다.미디어는 여러 대중의 눈길을 사로잡는 채널이고, 커머스는 물건을 판매하고 구매하는 판이다.심지어, 각각 아닌 ‘미디어+커머스’도 원래 존재했다.홈쇼핑의 경우, 방송사업자를 통한 TV채널(미디어)을 매개로, 전화주문으로 물건을 판매하는 미디어 커머스다. 카탈로그 판매도, 카탈로그라는 아날로그 미디어를 통해 주문을 받는 미디어 커머스다.즉, 전혀 새로운 것이 아니다.이보다 조금 더 진보된 케이스가 있다.‘콘텐츠 커머스’다.블랭크코퍼레이션의 경우, 콘텐츠 파워를 먼저 검증하고 이후 커머스를 접목했다.→ 누구나 모바일로 손쉽게 영상을 즐긴다 → 수많은 사람들이 모이는 페이스북, 인스타그램 등 소셜미디어에서 재미있는 영상 콘텐츠로 눈길을 모은다 → 시간이 지나면 상당한 이용자 트래픽을 획득하게 된다 →  영상과 콘텐츠가 주는 재미에서 해답을 얻었다 →  재미있게 상품을 소구하고, 논리적인 실험, 리뷰 영상으로 설득력을 얻는다 → 콘텐츠를 접한 이용자들은 그 상품을 구매할 수도, 좋아요/공유 등의 참여활동으로 콘텐츠를 이슈화할 수도 있다. 소소충전 제품 바이럴광고 영상어떠한 융합일까. ‘콘텐츠’와 ‘커머스’의 융합인 것이다.잘 구축된 미디어 채널로 물건을 파는 것이 아니다(≠미디어 커머스).제품이 소셜미디어에서 다양한 라이프스타일을 지닌 남녀노소 이용자를 다이렉트로 만난다.제품을 소재로 한 콘텐츠가 이용자와 소통하는 구조다. 여기서 트래픽은 중요하지 않다.물건을 얼마나 많은 이용자들에게 설명하고 피드백을 받았는지 소통하는 것이 중요하다.블랭크코퍼레이션 남대광 CEO"블랭크는 영상 회사도, 유통 회사도 아니라고 생각합니다. 기존 개념으로 정의 내리기 힘든 융합을 추구하고 있습니다. 우리가 가장 잘하는 것은 영상이라는 콘텐츠로 소비자를 설득하는 일입니다. 영상으로 소비자를 찾아가 일일이 설득하는 작업을 하는 방식이죠. 그래서 저희 스스로 ‘디지털 방문판매’ 회사라고 부르기도 합니다.”블랭크코퍼레이션 남대광 CEO,비즈한국 인터뷰 중 발췌CJ ENM이 주도하는 ‘DADA studio’도, 카카오의 '카카오메이커스'도 모두 같은 맥락이다.브랜드를 소개하거나 잘 구축된 온라인몰로 안내하지 않는다. 개별 제품이 주는 기능에서 유머를 찾고, 설득 논리를 만든다. 제품 자체가 콘텐츠가 되어 이용자들의 호응을 얻는다. 굳이 유명인사가 아니어도, 일반인, 회사원들이 출연하더라도 눈길을 끈다.각 사 페이스북 채널에서 발췌‘미디어 커머스’와 ‘콘텐츠 커머스’는 바로 1. 기존에 있던 분야를 잘 접목해 새로운 것을 창출한 융합 혁신이다.두번째는 엄청난 기술 굴기를 자랑하는 ‘신유통’ 사례다.특히, 중국의 기술진보, 혁신의 속도가 거세지며 ‘신유통’이라는 키워드가 연일 눈길을 끈다.겉으로 보여지는 것들은 ‘무인화’, ‘자동화’, 인공지능(AI), 스마트 물류시스템 같은 기술혁신이다.조금 더 들어가면, ‘알리페이’ 등 핀테크를 통한 간편결제, 온라인-오프라인의 융합이다.끝까지 깊숙이 파고들면, 결국 "온라인 사업자들의 오프라인 저변확대다" 신기술의 도입은 그것이 좋기에 무턱대고 이루어지는 것이 아니다.먼저, 혁신이 필요한 영역과 수요를 분석하고 실험의 과정을 거친다.지금 겉으로 보여지는 신유통의 모습은 종착지가 아닌 융합의 실험장이다.  이들의 융합은, 온라인은 오프라인의 장점을, 오프라인을 온라인의 장점을 취하며,서로 닮아가면서 경계를 허문다.  알리바바 마윈 회장 (출처: uk.businessinsider.com)/ 아마존 베조스 CEO (출처: CTV news)신유통을 이끄는 중국의 B-A-T, 미국의 아마존… 결국, 모든 온라인 커머스(전자상거래)가 그리는 목표는 ▲온라인 환경에서도 오프라인과 같은 즉각적인 경험을 일으키는 것과 ▲온라인에서 체득한 데이터기반의 사고 및 기술적 편의성을 오프라인에도 접목하는 것이다.월마트, 온라인 주문-픽업 서비스 등 서비스 테크 도입 (출처: techspot.com)글로벌 최대기업인 미국의 월마트, 대한민국의 대표 유통기업인 신세계, 이마트 등 원조 오프라인 유통기업들은 온라인 환경조성에 여념이 없다. ▲안정적인 체인과 물류, 인지도와 접근성을 갖춘 오프라인 사업장을 튼실한 기반으로, 온라인 플랫폼 적용 및 배송, 서비스 테크를 접목하며 시너지를 내기 위해 노력한다.서로 혁신 분야는 갖지만 혁신의 성격이 다르다.한쪽은 자신들의 온라인적 강점에 유통망 확대, 물류 시스템 구축을 더해 오프라인 경험을 창출하려고 한다.다른 한 쪽은 견고한 유통망, 시스템을 바탕으로 간편주문, 결제, 배송 등 온라인 서비스의 편의성을 접목하려 한다.‘신유통’은 2. 기존에 있던 분야들끼리 닮아가는 과정에서 새로운 결과물을 창출하는 융합 혁신이다.커머스와 온라인, 오프라인 등 분야에 한정해 정의했지만, 융합이 있는 어떤 영역이든 위 두 가지 범주에 부합한다. 일례로, 최근 인플루언서, 왕홍의 영향력으로 막강해진 소셜미디어 판에서 즉시 커머스를 일으키는 ‘D2C(Direct To Consumer)’전략이 뜨고 있다. 간략히 말해, 유명인사가 입은 브랜드의 제품을 유명인사의 콘텐츠 혹은 채널에서 바로 확인하고 구매로 이어질 수 있도록 하는 비즈니스다.용어가 새로울 뿐이지, ‘제휴’, ‘커머스’ 등 기존에 있던 분야들의 융합이다.‘Online Only’, ‘o2o’ 등등 모든 것이 같다.  즉, 중요한 것은 용어에 매몰되지 않아야 한다.‘융합’은 실생활에서 찾을 수 있고, 실행하다보면 이루어질 수 있다."크으~신유통 사업을 해야겠어, AI인재를 영입하자""콘텐츠커머스 창업을 해야지, 콘텐츠 잘 만드는 사람이랑 커머스 잘하는 사람이 필요하겠군""o2o 서비스를 해야지! 어떤 오프라인들을 이어볼까, 오프라인부터 찾자!!"같은 발상을 경계해야 한다. 쉽게 바라보고 접근했기에 지금의 기술과 트렌드 생태계가 일어났다.이 간단한 정의가 ‘융합’이라는 큰 단어에 매몰돼 어려움을 겪는 사업자 혹은 비즈니스를 정의하기 어려운 분들에게 도움이 되었으면 한다.Jason KH커뮤니케이션    기획자
조회수 2099

알바라고요? 우리는 극장 서비스 전문가! CGV강남 원유림 미소지기, 양두일 도움지기

‘알바도 능력! 리스펙트 하자’고 주장한다면, CGV를 좋은 예로 들 수 있다. 미소를 잃지 않고 고객이 원하는 할인카드 정보를 전하고, 빠른 손놀림으로 매점 음식을 전달하며, 친절을 다해 상영관 착석을 도와주는 미소지기와 도움지기가 존재하기 때문이다. 이들의 차원이 다른 서비스를 받은 이라면 ‘엄지척’을 날리는 건 당연한 일! 알바를 넘어선 남다른 직업관으로 CGV강남에서 고객 서비스를 실천에 옮기고 있는 원유림 미소지기와 양두일 도움지기를 만나봤다. CGV가 열어준 ‘꿈’의 기회▲ 안녕하세요. CGV강남의 얼굴 양두일 도움지기, 원유림 미소지기입니다.고객 감동과 행복을 전하겠다는 서비스 마인드로 각 CGV 지점에서 열심히 일하는 미소지기와 도움지기. 월 10회 무료 영화관람과 포토티켓, 매점 메뉴 할인 제공, 4대 보험 가입, 마감 후 퇴근 시 교통비 지원, 1년 이상 근속 시 퇴직금 수령 등 다양한 혜택을 누릴 수 있어 20대 청춘 세대와 60대 실버 세대의 ‘꿀알바’로 잘 알려져있다. 그만큼 지원자도 많은 편. 2015년 CGV죽전에 이어 2017년 CGV강남에서 미소지기를 이어가고 있는 원유림 님은 어떻게 CGV와 연을 맺게 되었을까? 예전부터 CGV 미소지기가 되는 게 로망이었어요. 2015년 스무살이 된 후, 곧바로 집 근처에 있는 CGV죽전에 지원했는데, 운이 좋게도 합격했죠. - 원유림 미소지기 - 운이 좋다는말로 에둘렀지만, 뚜레쥬르, 예식장 등 다양한 알바의경험치와 이를 통해 얻었던 성실함을 내세웠던 게 큰 영향을 미쳤다고. 서울로 이사 후 CGV강남 면접을 봤을 때도 CGV죽전 근무 당시 한번도 결근한적이 없다는 것을 내세우며 당당히 합격, 극장 내 마스코트로 활약중이다.양두일 도움지기는 오랫동안 영어 강사 및 학원 운영을 해오다 2012년 일을 그만뒀다. 그동안열심히 일했던 것을 보상받듯 몇 달간 푹 쉬었지만, 일하고 싶어 몸이 근질근질했다고. 가까운 복지관에서 시니어 일자리 관련 교육을 받던 중 CGV 도움지기를 알게 되었고, 2013년 공고를 보는 즉시 CGV강남에 지원했다. 2명 모집에 지원자는 8명. 교육도 서비스의 일종이라며 다양한 고객을 맞을 준비가 되었고, 성실함을 어필했다. 사회 일원으로서 다시 일하고 싶다는 강렬한 눈빛(?)은 합격을 안겨다 줬다. 초반 체력적인 어려움에 봉착했지만, 업무가 익숙해지면서 자신감이 생겼고, 이후 7년 째 단 한번의 결근 없이 극장 내 꼭 필요 인원으로 자리매김 중이다.  아침에 일어나 출근할 곳이 있는 게 얼마나 행복한지 모를 거예요. 그래서 지금까지 열심히 다니고 있는 것 같아요. - 양두일 도움지기 - 우리에게 필요한 건 암기력과 독심술?미소·도움지기가 하는 일은 생각 외로 많다. 먼저 이들이 담당하는 일은 크게 티켓박스(매표), 스위트박스(매점), 플로어(상영관안내·관리)로 나눠진다. 티켓박스에서는 티켓 발권은 기본, 할인 카드, 간단한 영화 정보 전달 등의 업무를 맡는다. 스위트박스는 고객이 원하는 물품을 신속하게 전달하는 게 주 업무이며, 플로어는 고객 입·퇴장과 함께 상영관 관리 및 청소를 담당한다. 이들은 주당 40시간 이하, 하루 평균 6~7시간 동안 일하는데, 원유림 미소지기는 티켓박스와 스위트박스를, 양두일 도움지기는 플로어를 주로 담당한다고.▲ 주로 티켓박스, 스위트박스에서 고객 응대 하는 원유림 미소지기최근 예매 후 무인티켓발권기(키오스크)를 통해 발권하는 고객이 늘어남에 따라 티켓박스 발권 수는 줄었지만 여전히 할인카드 관련 문의가 많다. 티켓박스를 주로 담당하는 미소지기에게 필요한 건 바로 암기력. 원유림 미소지기는 신속히 고객의 궁금증을 풀어주기 위해 주로 사용하는 할인카드 정보를 암기하고, 그 외로 물어보는 건 선임 미소지기나 매니저에게 물어본 뒤 정확한 정보를 전한다. 출근 시 일일 조회에서 당일 매표 관련 변경 사항을 숙지하는 것도 잊지 않는다. 최근에는 키오스크 작동법이나 포토티켓 사용법 문의에도 재빠르게 응대하는 등 티켓 관련해서는 전문가가 다 되었을 정도.스위트박스 근무 때는 신속함을 생명으로 응대한다. 행여나 매점 주문이 밀려 상영시간에 맞춰 영화를 못보는 초유의 사태를 막기 위해 보다 빠르고 정확히 응대한다. 현금영수증 등 기본적인 서비스 응대도 잊지 않는다. 아무래도 티켓박스나 스위트박스는 고객이 가장 먼저 찾는 곳이니 밝은 미소와 친절함을 유지하기 위해 힘쓴다고. 이런 노력으로 2018년 하반기 우수 미소지기 장학금을 받았다.▲ 2018 하반기 우수미소지기 장학금의 주인공 원유림 미소지기주인의식을 갖고 열심히 하다 보니 이런 보상을 얻을 수 있다는 것에 놀라웠어요. 제 노력을 인정받았다는 것에 감동도 받았어요. 정말 미소지기를 잘했다는 생각이 들어요.(웃음) - 원유림 미소지기 - 주로 플로어 담당인 양두일 도움지기도 출근 시 일일 조회를 마친 후 입·퇴장 시간이 적힌 시간표를 보고 해당 근무 시간 안에 담당해야 할 상영관을 체크한다. CGV강남 경우 총 6개 상영관이 층마다 두 관씩 마련되어 있어 시간대에 맞춰 올라갔다 내려갔다를 반복한다. 입장 시에는 티켓 검수를 하고, 영화가 잘 나오는지 확인 후 매니저에게 무전 보고도 한다. 퇴장 시에는 인사와 더불어 재빨리 청소하고 다음 고객을 맞이할 준비에 들어간다.▲양두일 도움지기를 플로어 지킴이로 만들어주는 필수 아이템7년 동안 한결같이 CGV강남 플로어를 지킨 양두일 도움지기는 입장 시간에 자신의 노하우를 발휘한다. 에스컬레이터를 타고 올라오는 고객의 모습만 봐도 알콩달콩한지, 서먹한 관계인지, 연애 기간은 얼마나 됐는지 유추하는 그만의 독심술(?)을 사용한다. 사귄지 얼마 안된 연인의 경우 손을 안 잡고 올라오는 경우가 많은데, 이럴 때 입장 인사 멘트를 재미있게 해서 즐거운 분위기를 조성한 뒤 자연스럽게 손을 맞잡게 하도록 유도한다고. 상영관 입장 시 고객들의 웃는 얼굴을 보는 게 그에겐 큰 즐거움이자 보람이다. 협업과 책임감으로 만들어가는 서비스 NO.1미소·도움지기의 일이 매번 행복하고 재미있는 건 아니다. 이들은 고객에 울고, 고객에 웃는다고 입을 모았다. 열심히 일하다가도 강성 고객들을 마주할 때면 있던 힘도 없어진다고. 그럼에도‘감사합니다’, ‘수고하십니다’라는 고객의 말 한마디, 힘듦을 함께 나누는 동료들이 있기에 고객을 위한 최상의 서비스를 할 수 있다 말한다.▲ 주말 등 바쁜 시간이면 서로 도와가며 일을 하는 최상의 팀워크그만큼 동료들과의 협업은 중요하다. 특히 유동인구가 많은 지역에 위치한 CGV강남은 지역적 특성상 휴일 오후 1~8시는 고객으로 붐비는데, 이때는 모두 협업하는 마음을 똘똘 뭉친다. 다들 매진이 아니면 이상하다고 할 정도라고 하니 자신감이 넘칠 정도다. 이는 오랜 시간 동안 같이 일하면서 신뢰와 믿음이 쌓이고, 많은 이야기를 나누며 친해졌기에 가능할 수 있는 것. 특히 양두일도움지기는 나이 차이를 극복하고 미소지기에게 인생의 선배로서 학업이나 진로 문제 등의 고민상담을 해주며 친해졌다. 원유림 미소지기도 그의 조언으로 많은 도움을 받았다고.할아버지와 손녀처럼 보이기도 하지만 극장 내에서는 최상의 팀워크를 보여주는 동료로서 고객에게 최상의 서비스를 전하는 이들. 앞으로도 CGV강남을 찾는 고객들을 위한 서비스를 이어나갈 예정이다. <극한직업>을 향한 고객들의 무한한 사랑으로, 눈코 뜰새 없이 바빴던 2월을 보내고 3월, 4월 <캡틴마블><어벤져스: 엔드게임>을 맞이할 준비를 하기 위해 체력도 키울 예정이라 말하는 이들의 계획을 들어봤다.▲ CGV강남에 오신 걸 환영합니다. 행복한 관람되세요~~초심을 잃지 않고 최선을 다하겠다는 마음가짐으로 일할 겁니다. 기회만 된다면 미소지기 출신 직원으로 오랫동안 CGV에서 일하고 싶어요. - 원유림 미소지기 -올해 5월이면 이곳에서 인생 2막을 연지 만 6년이 됩니다. 건강이 허락하는한 10년 꽉 채우고 싶고, 전국에 있는 도움지기들에게 누가 되지 않도록 최선을 다하겠습니다. - 양두일 도움지기 - CGV가 우리 곁에 다가온 지 올해로 21년. 기술의 발전으로 인해 관람 문화가 변모하고 있지만, 한가지 변함없는 건 미소지기와 도움지기의 서비스 마인드다. 고객의 행복과 좋은 추억을 선사하기 위한 이들의 노력은 CGV의 긍정적 이미지 원천이자 정진할 수 있는 동력. 고객 감동을 위한 원유림 미소지기와 양두일 도움지기의 변함없는 서비스는 앞으로도 계속될 것이다.[채널 CJ] #CJ #CGV #CGV강남 #도움지기 #미소지기 #키오스크 #구성원인터뷰 #직무소개 #직무정보 #기업문화 #CGV채용 #CGV공채
조회수 6148

[SQL 데이터분석] 증감율 구하는 간단한 방법

sql에서는 = 등호가 비교연산자로 사용됩니다.대신 := 이렇게 콜론(:)과 등호(=)를 같이 쓰면 대입연산자로 쓸 수 있어요.select @prev := users.id // @prev 라는 임시변수에 users.id 값을 넣어라. from users가입일자로 사용자수를 구해보면, 아래처럼 가입일로 group_by 를 해서 구하죠.select date(created_at) as '가입일' , count(1) as '가입자수' from users group by 1 order by 1 desc;// 가입일 | 가입자수 // --------------------------- // 2017-08-02 100 // 2017-08-01 50그럼 전일 대비 증감율을 구하려면 어떻게 할까요?select date(created_at) as '가입일' , @prev as '전일 가입자수' , (count(1) - @prev) / @prev as '증감율' , @prev := count(1) as '가입자수' from users group by 1 order by 1 desc;// 가입일 | 전일 가입자수 | 증감율 | 가입자수 // -------------------------------------------------------- // 2017-08-02 50 1.0 100 // 2017-08-01 50 0 50증감율을 계산하는 count(1) / @prev까지는 @prev 에 전일 가입자수가 저장되어 있구요.@prev := count(1) 에서 당일 가입자수로 할당이 됩니다.저는 := 이 연산자를 알기 전엔 self-join 형태로 증감율을 구했는데데이터를 가오는 속도는 := 이 연산자가 훨씬 빠른것 같습니다.다음엔 self-join 으로 증감율을 구하는 법도 한 번 올려볼께요.#티엘엑스 #TLX #개발 #개발팀 #개발자 #꿀팁 #인사이트 #조언
조회수 1666

Prototyping

안녕하세요. 스포카 디자인팀 인턴 박소연입니다. 이번 글에서는 사용자 경험User Experience 디자인 과정 중 프로토타이핑Prototyping에 대해 설명해보도록 하겠습니다.Prototyping이란,Prototype이란 “처음”을 뜻하는 그리스어 protos와 “느낌”을 뜻하는 typos가 합쳐져 “원본”, “초기”를 뜻하는 prototypos가 되었고, 이것에서 발전한 “초기 형태”인 prototypon에서 유래하였습니다. (출처: 위키피디아)프로토타이핑의 주목적은 UX 컨셉을 구체화하여 사용자에게 직접 실험을 하기 위한 것입니다. 먼저 조사한 결과를 토대로 아이디어와 컨셉을 도출합니다. 그 이후 실제 모델을 제작하고, 해당 모델에 해당하는 사용자와 전문가에게 사용하게 한 후 의견을 기록합니다. 프로토타입을 제작할 시에는 사용자가 구현될 시스템에 대하여 어느 정도 명확한 심상을 얻을 수 있을 정도의 디테일을 유지하여 제작합니다. 실험 시, 최대한 실제 환경이나 그와 비슷한 상황에서 실험하는 것이 중요합니다. 또한, 실험 중에 전체적인 서비스의 감성의 흐름과 피드백을 기록해야 합니다.프로토타이핑은 크게 두가지로 나누어질 수 있습니다.첫째는 아날로그 프로토타이핑으로, 종이에 연필로 쉽고 빠르게 스케치하는 것이 관건입니다. 두 번째는 디지털 프로토타이핑입니다. Low fidelity 혹은 high fidelity로 제작할 수 있는데, low fidelity는 최소한의 구성요소는 다 갖추고 있는 정도를 뜻합니다. 주로 보여주기용인 파워포인트, 키노트 등으로 구현할 수 있습니다. 발사믹과 같은 프로그램을 사용하여 간단한 인터랙션을 구현할 수도 있습니다. High fidelity는 완성에 거의 가까운 형태로, 장식적인 요소도 모두 포함하여 정확히 제작하게 됩니다. 실험에 적합한 형태를 선택하는 것이 중요한데, 장단점을 표로 정리해서 보여 드리겠습니다.다양한 프로토타이핑 유형:프로토타이핑특징장점단점아날로그프로토타이핑연필과 종이.빠르고 간단하다.수정이 쉽다.구체적이지 않다.구현할 항목이 많을 시오래 걸린다.디지털프로토타이핑-low fidelity보여주기 혹은인터랙션 가능.하나 혹은 다수의프로세스를 표시.수정이 비교적 간단.시스템의 특징을 살리기어려울 수 있다.디지털프로토타이핑-high fidelity인터랙션과 장식적요소까지 구현.가장 구체적이고이해가 빠르다.특징을 모두 구현할수 있다.제작에 오래 걸린다.수정이 힘들다.프로토타입을 제작하고 난 후에는 제작한 모델을 사용하여 실험을 진행 할 수 있습니다. 실험 종류 역시 여러 가지가 있지만, 이번에는 세 가지만 추려서 소개해 드리겠습니다.Desktop Walkthrough말 그대로 책상 위에서 구현할 수 있는 작은 모형을 말합니다. 레고와 같은 3D모형을 이용하여 실제상황의 특징들을 구현합니다. 이를 무대로 삼아, 사용자의 페르소나Persona를 구현한 모형을 직접 움직이며 사용자 경험을 재현합니다. 간단한 모형으로 다양한 사람들이 이해하기 쉽고, 전체적인 프로세스를 포괄적으로 검토할 수 있습니다. 또한, 모형을 여기저기 움직이면서 문제점을 수정하기에 쉽습니다.Service Prototype서비스 프로토타입은 소품과 물리적인 목업mock-up을 이용하여 상세한 서비스를 재현하게 됩니다. 주로 해당 제품을 사용하는 실제 환경과 최대한 비슷한 곳에서 사용자가 직접 사용하고 역할극 등을 진행하게 됩니다. 사용자가 직접 사용하고 만져볼 수 있는 모델이 있기 때문에 사용자가 서비스에 대해 좀더 깊은 이해를 할 수 있습니다.Service Staging서비스 스테이징은 좀 더 많은 인원이 필요합니다. 여러 이해관계자가 지켜보는 가운데 디자이너와 사용자가 함께 프로토타입을 사용한 시나리오scenario를 재현합니다. 역할을 바꾸어 여러 번 반복 재연하면서, 다양한 이해관계자의 피드백을 받을 수 있습니다.프로토타입 실험 요약:DesktopWalkthroughService PrototypeService Staging장소LEGO 모형실험실, 스튜디오, 실제상황실험실, 스튜디오, 실제 상황대상LEGO 모형사용자사용자, 디자이너 등목적시범, 설명이해 도모,사용성 파악사용성 파악, 이해관계 정립,시나리오 점검Conclusion이제까지 UX Design의 과정 중 한 가지인 프로토타이핑에 대해 간략히 설명해보았습니다. 프로토타이핑의 가장 중요한 목적은 사용자들이 직접 체험하고 이해할 수 있도록 최대한 실제와 가깝게 재현하는 것입니다. 하지만 프로토타이핑으로 다양한 실험을 했다고 디자인이 완료된 것은 아닙니다. 수집한 의견을 반영하여 수정과 보완을 거쳐 새로운 프로토타입으로 다시 실험하는 등 응용 범위는 다양합니다. 프로토타이핑은 UX Design에 필수적인 과정입니다. 보통, 디자이너와 개발자들은 사용자들이 자신이 생각한 대로 움직일 것이라고 일종의 “착각”을 하게 되는데, 이는 프로토타이핑을 통해 적절히 조정할 수 있을 것입니다.참고자료 및 이미지 출처:· 서비스 디자인 교과서, 안그라픽스, 2012· http://www.enginegroup.co.uk/site· http://www.loop-ux.com· http://www.davidarno.org/2009/09/17/napkee-converting-balsamiq-mockups-into-flex-views-just-became-a-complete-breeze/· http://inspirationfeed.com/inspiration/25-examples-of-wireframes-and-mockups-sketches/#스포카 #디자인 #디자이너 #디자인팀 #인턴 #인턴생활 #인사이트 #꿀팁 #경험공유
조회수 2424

꼰대질은 정말 나쁜가?

젊은 꼰대가 더 노답인 이유'꼰대는 나이의 문제가 아니라 공감능력의 문제다.' 「무례한 사람에게 웃으며 대처하는 법」의 저자인 정문정 작가의 말이다. 몇번을 곱씹어 봐도 맞는 말이다. 적어도 내가 살아온 시간을 더듬어 보면 나이든 꼰대도 많았지만 또래인 꼰대도 적지 않았다. 특유의 허세와 과시가 불편했고 그들을 이해하기 위한 노력은 몇 배 더 힘들었다. 꼰대는 어디서든 환영받지 못한brunch.co.kr/@moonkka/30 새벽에 이 글을 읽었다.많은 호응과 인기가 있는 것을 보고 조금 안타까운 마음이 들었다. 언젠가부터 우리 사회의 추가 한 쪽으로 기울어져 있는 것은 아닌가하는 생각이 든다.공감과 부정. 따뜻함과 냉철함.안정과 성장.이 모든 것들은 서로 무엇이 더 중요하다고 말할 것도 없이 중요한 부분이며 균형을 이뤄야 한다고 생각한다. 그리고 사람 개개인의 가치관에 따라 그것이 조금 기울어질 수 있을지언정, 사회 전체의 기류에 있어 균형이 깨질 경우엔, 그것은 문제가 될 수 있다.내가 처음 창업했을 때 내 주변에는 나보다 어린 사람이 없었다. 주변의 형들, 형님들, 사장님들의 98%는 나를 동생처럼 여겼다. 그들은 나를 거리낌 없이 혼내고 조언해줬다. 물론 누가 싫은 소리를 하면 기분이 좋지는 않다. 당시엔 나도 크게 저항했고 지금도 그렇다. 그러나 늘, 돌이켜 생각하면 큰 천운이며, 인복인 것 같다.순간적인 감정을 조절하지 못하고 대들어서 감정적으로 상대방의 지혜를 막아서버린 자신에 대한 후회만 들 뿐이다.위 글에서 저자는 남의 일에 간섭하는 사람을 꼰대라고 표현했는데, 자신에게 공감만 할 줄 아는 사람만 내 측근으로 두게되면 지금의 내가 갖고 있는 시야 밖을 잘 보지 못한다. 누군가 내 일에 간섭하고 비판해주는 것은 무료 컨설팅과 똑같다. 글쓴이가 표현하는 ‘꼰대질’은 생각보다 큰 에너지를 필요로 한다. 숨가쁘게 남에 대해 조언해주다 보면 힘이 빠진다. 그 정도로 그 사람의 입장에서 내 시각을, 조언을 전달해줘야하는 매우 고차원적인 작업이다. 그 에너지를 누군가 나에게 주는 것 만으로 돌이켜보면 감사할 뿐이다.나이가 들면서 옛날만큼 날 혼내는 사람은 점점 줄어드는 것 같다. 그리고 언젠가는 나도 이런 기회를 더 많이 잃어버릴 것이다. 누군가로부터 훈계를 받고, 지혜를 얻고 성장하는데도 시기가 있는 것이다.언젠가부터 우리 사회는 ‘공감’을 최우선의 가치로 여기고 나머지는 모두 ‘꼰대질, 간섭’으로 묶어 평가절하 하는 것 같다.지식은 누구의 기분도 상하게 하지 않으나, 지혜는 때로는 우리의 심리적 안락에 위해를 가한다.지식은 난무하되 지혜는 없는 세상으로 가고자 하는 것이 맞는 것일까? 왜 성공한 사람들은 지금의 고통받는 사람들에게 공감을 해주고 거기서 멈추는 것일까. 왜 사람들이 원하는 이야기들만 해주고, 절대 다수로부터 사랑받고 싶은걸까.그들은 무엇으로 성공의 가도에 올랐을까. 무슨 지혜를, 무슨 이야기를 듣고 남들에게 자신의 의견을 말할 수 있는 위치까지 올라갔을까.왜 그 이야기는 하지 않는 것일까.나름대로의 성공을 하여 세상이 아름답게 보이면, 그 아름다운 세상을 보지못하는 사람들에 대한 연민이 생기는 걸까?꼰대소리를 듣기 싫어 조언을 잘 안하는 사람들도 이제 아주 많아졌다. 균형은 깨져가고 세대간 갈등은 심화되고 있다. 나와 같은 젊은층의 심리적 안락도 중요하지만, 선대의 지혜를 흡수하고 전수받는 것도 중요하다. 균형은 깨져선 안된다.나는 원래 꼰대라는 말을 싫어한다.그리고 정말 아쉽게도, 나는 이 분이 말하는 젊은 꼰대의 부류다.
조회수 1547

플레이팅 2일차

이 포스트는 플레이팅 개발자 박은환님의 '회사 1일차' 포스트를 오마쥬 한 것 입니다.회사 1일차어쩌다 보니 나도 매달 한 번씩 마루180에서 열리는 플레이팅 액티비티 데이(워크숍)부터 출근을 시작하게 되었다. 워크숍이다 보니 1일 차 때는 맛보기? 정도였고, 2일 차가 된 오늘부터 본격적인 업무가 시작되었다. 언젠가부터 기록(문서화)은 분명 중요한 것이라는 생각이 들어 기록을 남긴다.그래도 첫 출근을 워크숍으로 하니 좋은 점도 있다. 각 팀의 현재 상황을 공유하는 자리이다 보니 현재 회사의 각 팀 업무와 팀별로 엮여있는 각종 상황, 앞으로의 방향성 등 큰 그림 파악하기에 매우 좋은 자리였다.회사 2일차영어 이름을 사용해보자사실 영어 이름은 전 직장인 이큐브랩에서도 사용하던 것이라 거부감이 0에 가까웠다. 개인적으로 국내 회사에서의 영어 이름은 계륵일 수 있다는 입장이지만 2일 차인 아직은 괜찮은 것 같다. 나는 영어 이름보다는 닉네임을 선호하는 편이라 늘 사용하던 요우(Yowu) 라는 이름을 사용하기로 했다. 몇몇 분들은 되게 어려운 이름이라고 하신다. 사실 영어 이름은 군대 시절 해외파 통역병 준엽이 형이 지어준 Anthony라는 부담스러우면서 간지 넘치는 이름이 있지만 사용해본 적이 거의 없어 요우가 편하다.정말 오랜만의 스크럼 회의스크럼 회의를 했다. 지금까지 했던 스크럼 회의보다 훨씬 간단한 형태다. 애자일 보드도 없고 Task를 보면서 하는 회의도 아니었지만 각자 어제 한 일과 오늘 한 일을 간단명료하고 신속하게 공유한 뒤 종료되었다.회사 시스템과 코드를 파악해보자입사 후 1주일 정도의 순수 업무 파악 기간이 있으면 가장 좋지만 아무래도 스타트업이다 보니 바로 내부에서 사용할 간단한 서비스를 만들게 되었다. 회사 개발자들 모두 MacBook Pro 쓸 때 혼자 노트북에서 쓰던 Ubuntu 쓰겠다고 해서 eslint (es6 + airbnb)를 vim으로 올리는데 꽤 애를 먹었다. eslint를 사용하는 것에서 눈치챘겠지만 플레이팅의 기술 스택은 node.js, react.js, redux 등이다. (그런데 airbnb의 컨벤션이 나를 너무 귀찮게 한다.. 그 수 많은 빨간 줄이란..)정말 다행히도 나는 최근 node.js를 메인으로 사용하고 있었고, 더 다행히도 react.js와 redux 역시 최근에 사용하고 있었다. 덕분에 코드 이해는 어렵지 않았지만 node.js 구조화의 자유로움 덕분에 현재 플레이팅에서 사용 중인 Application 구조 파악에 시간이 걸린다. 여기에 내가 사용해보지 않은 기술들. graphQL이나 knex, material-ui 등을 익히는데 걸리는 시간은 어쩔 수 없는 당연한 학습 비용이다. (나는 SQL문을 직접 핸들링하는 걸 더 좋아하는데 ㅜㅜ)다만, 워낙 급성장한 스타트업인 탓에 내부 인프라 개선이나 가이드라인 수립, 데이터베이스, 문서화 등에서 정말 할 일이 많아 보인다.(없는 것 보다는 낫다) 순수 개발은 나보다 감각이 좋은 개발자들이 많으니, 개인적으로 업무도 익힐 겸 한동안 이쪽 부분을 일들을 맡아보는 것도 좋을 것 같다. (바쁘면 그런 거 없겠지만.)그렇다면 이제 밥을 먹어보자플레이팅에서 판매하는 '홍콩식 비빔 탄탄면'이다.역시나 플레이팅에서 판매되는 음식들은 가히 최상급이다. 심지어 신선함을 위한 당일 판매가 원칙이다 보니 당일에 팔지 못한 음식은 재고로 나와 먹고 싶은 직원은 그냥 먹을 수 있다. (물론 오늘 처럼 재고 없이 완판되면 없으면 아무것도 가져갈 수 없다. 흑) 그렇다고 우리가 짬처리되는 음식만 먹을 수 있는 것은 아니고, 직원들을 위한 포인트가 직원 복지로써 따로 지급된다. 그 포인트로 회사 내에서 주문하여 먹을 수 있다. 오늘은 홍콩식 탄탄면을 먹었는데 정말 맛있더라. 내 지출을 분석해보면 앵겔 지수가 매우 높은 편인데, 차후 엥겔 지수의 감소를 기대해본다.플레이팅의 사원에게는 수저 세트가 지급된다. (...군대?)마무리2일 차 출근이지만 제대로 된 1일 차 출근으로써 느낀 점은 개발하는 데 있어 자유로운 분위기가 강하다. 이것이 나에게 어떻게 작용할지는 앞으로 지켜봐야겠지만 스스로 텐션을 잘 조절하고 경계심을 가져야 할 필요를 느낀다. 자유로운 분위기의 스타트업이지만 동시에 물론 급성장하는 스타트업이니만큼 당장 떠오르는 창의적이고 편리한 무언가를 만들기보다 당장 눈앞에 닥친 작업을 하게 될 일이 많을 것이다. 하지만 이는 회사가 어느 정도 안정 궤도에 오르고 나면 언제든지 시도해볼 수 있을 것이다.#플레이팅 #입사 #입사2일차 #출근 #2일차출근 #경험공유 #기업문화 #조직문화 #회사소개 #팀소개
조회수 2820

우아한 설계의 첫걸음, ES7의 decorator

하루가 멀다 하고 신기술이 쏟아지는 요즘 자바스크립트 또한 계속해서 새로운 모습으로 바뀌고 있습니다. ECMAScript 2015(이하 ES6)에 새롭게 등장한 Arrow function, Class, Generator 등이 그중 하나라 할 수 있습니다. 오늘은 ECMAScript 2016(이하 ES7)에서 새롭게 제안된 Decorator에 대해 알아보려 합니다.Decorator란?ES7 스펙 명세(링크)에는 Decorator를 아래와 같이 설명하고 있습니다.선언된 클래스와 그 프로퍼티들을 디자인 시간에 변경할 수 있는 편리한 문법위 문장만 봐서는 도대체 Decorator가 어떤 역할을 하는지 감이 오지 않습니다. 백문이 불여일견이라고 예제를 통해 Decorator를 어떻게 활용할 수 있는지 알아보겠습니다. 아래 코드는 Decorator를 이용해 설계한 클래스 코드의 일부입니다.@withSuperEngine class Car {     ...   @readOnly  manufacturer = 'ZOYI'   ... } 클래스와 클래스의 프로퍼티가 어떤 성질을 가지고 있는지 한눈에 보이시나요? Car는 슈퍼 엔진을 가지고 있고 manufacturer는 변경할 수 없는 값이라는 것을 소설을 읽는 것처럼 쉽게 이해할 수 있습니다. 이처럼 Decorator를 이용하면 코드를 우아하게 작성할 수 있습니다. 그렇다면 어떻게 Decorator를 정의하고 사용할 수 있을까요?Decorator는 최종적으로 채택된 스펙이 아니기 때문에 babel과 함께 사용해야 합니다. babel 설정은 링크에서 확인할 수 있습니다.Decorator의 선언 및 사용방법Decorator는 사실 함수입니다. 함수를 선언한 뒤 ‘@’ 키워드를 이용해 선언된 함수를 Decorator로 사용할 수 있습니다. @withSuperEngine, @readonly, @say.hello, @hello(...) 등이 사용 가능한 Decorator의 호출 형태입니다. Decorator는 클래스를 꾸밀지, 클래스의 프로퍼티를 꾸밀지에 따라 선언하는 방법이 달라집니다.클래스 프로퍼티의 Decorator먼저 클래스 프로퍼티의 Decorator를 정의하고 사용하는 방법에 대해 알아보겠습니다. 이 경우에는 프로퍼티의 descriptor를 인자로 받아 새로운 descriptor를 반환하는 형태를 가집니다. (descriptor에서 설정할 수 있는 여러 값은 링크를 확인해주세요.)그럼 이제 readonly 역할을 하는 Decorator를 작성하고 테스트를 해 보도록 하겠습니다.function readonly(target, property, descriptor) {     descriptor.writable = false   return descriptor } class Car {     @readonly   manufacturer = 'ZOYI' } const myCar = new Car()   myCar.manufacturer = ‘JOY’ // 새로운 값을 할당하려고 한다면 에러가 납니다. 또 다른 예제로 클래스의 프로퍼티를 열거할 때 열거 대상에서 제외하는 Decorator를 작성해 보겠습니다.function nonenumerable(target, property, descriptor) {     descriptor.enumerable = false   return descriptor } class Car {     @nonenumerable  acceleration = 10 manufacturer = 'ZOYI' } const myCar = new Car()   for (let key in myCar) {     console.log(key)  // manufacturer 만 출력이 된다. acceleration는 열거 대상에서 제외된다. } 단 몇 줄만으로 우리는 클래스의 프로퍼티를 읽기 전용으로 만든다던지 열거 대상에서 제외했습니다. 참 편리하지 않나요? Decorator의 활용은 여기서 끝나지 않습니다. 메모이제이션을 하는 메서드를 만들수 있고 클래스에 자동으로 바인드된 메서드로 만들 수도 있습니다.Decorator는 제안된 지 얼마 안 됐지만 많은 사람들이 활발히 연구 중입니다. github에는 지금도 계속해서 Decorator에 관련된 라이브러리들이 올라오고 있습니다. 그중 core-decorators.js는 미리 정의된 유용한 Decorator 패키지를 제공합니다.클래스의 Decorator클래스의 Decorator는 타겟 클래스의 생성자를 인자로 받습니다. 사용자는 인자로 받은 생성자를 입맛에 맞게 바꾼 뒤 반환을 해 주면 됩니다.function setAnimalSound(sound) {     return (target) => {     target.prototype.sound = sound     return target   } } @setAnimalSound('oink') class Pig {     say() {     return this.sound   } } @setAnimalSound('quack') class Duck {     say() {     return this.sound   } } const pig = new Pig()   console.log(pig.say()) // ‘oink’ 출력 const duck = new Duck()   console.log(duck.say()) // ‘quack’ 출력 위 코드처럼 오리나 돼지의 울음소리를 클래스 내부에서 정의하지 않고 클래스 Decorator를 사용해서 정의할 수 있습니다.(사실 이런 코드는 설계 관점에서 봤을 때 바람직하지 않지만 Decorator를 사용할 수 있는 여러 방법 중에 하나라고 봐주시면 감사하겠습니다.)클래스 Decorator는 클래스의 생성자를 바꾸는 것에 국한되지 않고 완전히 다른 클래스의 생성자로 바꿔치기도 할 수 있습니다. 아래 코드는 그 예제를 보여줍니다.function withBus(target) {     return class Bus {     say() {       return 'I am bus'     }   } } @withBus class Car {     say() {     return 'I am car'   } } const car = new Car()   console.log(car.say()) // ‘I am bus’ 출력 이런 구현 방식은 특정 상황에서 클래스 자체를 하이재킹 함으로써 전통적인 분기문 예외 처리가 아닌 보편적인 프로그래밍을 할 수 있게 도와줍니다.클래스 Decorator는 Cross-Cutting-Concern(전체 설계에서 빈번하게 나오는 관심사를 쉽게 모듈화 시키지 못하는 상황)이나 React에서 컴포넌트 하이재킹을 쉽게 해결해줄 수 있는 방법을 제공합니다. 이런 상황을 어떻게 효율적으로 처리하는지에 대해서는 Decorator를 소개하는 글의 취지에 맞지 않아 다음에 연재할 글에서 다룰 예정입니다.마무리이상으로 ES7에 새롭게 제안된 클래스 및 클래스 프로퍼티에 사용할 수 있는 Decorator에 대해서 알아봤습니다. Decorator는 Java, Python과 같은 언어에서 이미 존재하는 문법이기 때문에 이런 설계가 기존에 없던 새로운 방법은 아닙니다. 하지만 오랫동안 ES5에 머물던 자바스크립트가 ES6, ES7 그리고 최근에는 ES8까지 빠르게 변하고 있는 스펙 속에 다른 언어의 장점을 품는 것은 그 자체로 상당히 도전적인 변화라 생각합니다. Decorator 문법은 클래스와 그 파라미터를 꾸밀 수 있는 것에 멈추지 않고 함수의 파라미터에도 꾸밀 수 있게 드래프트 버전이 나온 상태입니다. 자바스크립트에서 Decorator를 이용한 우아한 설계가 어디까지 발전할 수 있는지, 그리고 향후 자바스크립트의 행보가 기대됩니다.#조이코퍼레이션 #개발자 #개발팀 #인사이트 #경험공유 #일지
조회수 2086

덕업일치를 이룬 옐로오투오 로컬사업부 신입왕, 이휘재 매니저

안녕하세요, 매력 넘치는 옐로피플을 발굴해 소개하는 Y의 옐플 인터뷰 18번째 이야기! 이번 주인공은 옐로오투오 로컬사업부에 입사한지 반년도 되지 않아 좋은 성과로 모두를 놀라게 한 ‘이휘재 매니저’입니다. 평소 좋아했던 야구선수와 함께 작업을 진행하며 덕업일치를 이룬 이야기부터 그가 얘기해 주는 노하우까지! 그의 흥미진진한 이야기를 놓치지 마세요~안녕하세요! 옐블 독자들을 위해 간략한 자기소개 부탁 드립니다. 안녕하세요, 옐로패밀리 여러분! 1월부터 옐로오투오 로컬사업부에 조인한 이휘재입니다. 잘 부탁드려요!옐로오투오 로컬사업부에서는 어떤 일을 하고 계세요? 소상공인 마케팅을 돕는 컨설팅을 하고 있습니다:) 서울오빠나 당근웹 등의 내부 솔루션들을 필요로 하는 소상공인들에게 연결해 드리는 거죠. 자영업하시는 분들 중 온라인에 대한 이해도가 낮은 분들이 있는데요, 그런 분들에게 저희 사업을 소개해드리고 사업을 온라인으로 가져올 수 있게 도와드리고 있습니다:)최근 사업부 내에서 좋은 성과를 내셨다고 들었어요! 쑥스럽네요^^ 사실 동료, 선배들이 갓 입사한 저를 너무 잘 이끌어 주시고 많은 도움을 주신 덕분에 계약 성과가 좋았던 것 같아요. 처음에는 모르는 분들, 그것도 홈페이지에 대한 이해도가 낮거나 니즈가 없는 분들에게 상품을 설명하는게 굉장히 어려웠어요. 그래도 많은 도움을 받아 차차 철판을 깔기 시작했죠ㅎㅎㅎ전 직장에서도 컨설턴트 직무를 맡았었나요? 네, 졸업 후 10개월 정도 컨설턴트 일을 하다가 동생과 함께 옷가게를 잠시 운영했어요. 장사를 하다 보니 같은 일을 하면서 고민을 공유하고 협업했던 게 그립더라고요. 다시 컨설턴트 일을 하고 싶은 마음에 입사하게 됐습니다:) 옐로모바일 사내카페에 엄청 끌렸었는데 동대문 본사로 출근을 하게 돼서 조금 아쉬운 면이 없지않아 있어요ㅋㅋ 그래도 함께 일하는 팀들이 너무 좋아서 만족하며 다니고 있어요.로컬사업부 단체사진10개월이라니! 그 연차에 좋은 성과를 낼 수 있었던 노하우가 있을까요? 저는 서비스에 대한 자신감이라고 생각합니다. 본인이 내가 판매하는 서비스에 자신감이 있어야 한번도 만난 적 없는 사람을 설득시킬 수 있는 것 같아요. 설득을 해야 하는 자영업자분들 대부분이 저보다 나이도 경력도 많은 분들이고, 제가 무슨 의도로 전화를 걸었는지 다 아시더라고요. 그런 분들을 설득하기 위해서는 본인이 먼저 충분히 설득 되어야 한다고 생각해요. 자신감이라! 자신감을 쌓는 방법은 무엇일까요? 우선 두려워하거나 확신이 없으면 절대 안될 것 같아요. 그래서 처음에는 제가 기본적으로 배경지식이 있고 관심있는 업종을 공략했어요. 그 산업에 대해 조금이라도 알고 있다면 클라이언트들과 대화하기 수월하고 자신감이 붙으니까요! 그리고 컨설팅 하는 과정에 문제가 있으면 함께 하는 팀원들, 선배들이 바로 피드백을 줄 수 있는 환경에서 근무하고 있어요. 혼자서는 절대 깨달을 수 없는 습관이나 실수에 대한 피드백을 듣고 바로 잡으면서 더욱 자신감이 생기는 것 같습니다.로컬 사업부 비즈니스의 차별점이 있다면 무엇일까요? 저희의 가장 큰 강점은 토털 서비스가 가능하다는 점인데요, 모든 일들을 본인이 직접 고민하고 결정해야 하는 소상공인들에게 비즈니스를 성장시키기 위해 함께 고민해주는 파트너가 생긴다는 건 정말 큰 힘이 됩니다. 저희 로컬사업부는 실제 홈페이지와 같은 솔루션 제작 뿐 아니라 운영을 위한 컨설팅, 광고 전략 수립, 사후 케어까지 온라인을 통한 비즈니스가 안착될 수 있도록 다양한 방안으로 서비스를 제공하고 있어요:)입사 이후 가장 기억에 남는 에피소드가 있나요? 제가 야구를 굉장히 좋아하거든요. 그중 몇 년 전에 은퇴한 조규수 선수 팬이었어요. 얼마전에 리틀야구단과 컨설팅 계약을 했는데, 감독 이름이 ‘조규수’라고 되어 있더라고요. 설마 했는데, 정말 제가 좋아했던 선수라 너무 신기하고 설레었습니다:) 함께 업무 진행하면서 싸인볼도 받았는데 성공한 덕후라는 게 이런 거구나를 느꼈죠.영광의 싸인볼! 두둥지금까지 일하면서 다양한 피드백이 있었을 것 같아요. 최근 개인 변호사 사무실을 개업한 분이 이었습니다. 온라인 비즈니스에 약한 분이라 영업도 항상 전화나 대면으로만 진행하셨다고 하더라고요. 온라인 비즈니스에 대한 니즈도 크게 없으셨고요. 오랜 설득 끝에 웹사이트를 개설해드리고 온라인 상으로 상담할 수 있는 솔루션 교육까지 진행해 드렸습니다J 이후 온라인을 통한 상담 요청이 많아지고 댓글을 통해 피드백을 주고 받으면서 저희 서비스에 대한 만족도가 높아지셨어요. 나중에는 비즈니스에 많은 도움이 됐다며 고맙다는 인사도 전해 주시더라고요. 이 일을 하면서 가장 뜻 깊었던 순간이 아닐까 싶어요:) 와, 혹시 기존에 온라인 비즈니스를 적극적으로 하지 않고 있지만 도움이 될 수 있는 분야를 꼽아 본다면 무엇이 있을까요?아까 말씀드렸듯, 저는 동대문 청평화시장에서 옷가게를 운영했는데요. 도매업이고 MD들이 직접 와서 옷을 수백 장씩 가져가기 때문에 대부분의 가게들이 홈페이지 조차 만들지 않아요. 소매로 쇼핑몰하는 클라이언트들의 영역을 침범하는 것이라 생각하시기 때문이죠. 그런데 이걸 일반 소비자가 아닌 사업자들 대상으로만 판매하는 온라인 쇼핑몰을 운영한다면 보다 효율적으로 비즈니스가 가능하지 않을까 라는 생각입니다.동대문 청평화시장에서 운영했던 매장회사에게 바라는 점이 있다면? 음, 사원들끼리 소통할 수 있는 시간이 더 많아졌으면 좋겠어요. 팀원들끼리 소통하면서 많은 것들을 배우고 있는데, 다른 팀과는 대화할 기회를 만들기가 쉽지 않더라고요. 회사차원에서 서로 편하게 이야기할 수 있는 자리를 자주 만들어준다면 서로 시너지도 나고 에너지도 받으면서 일 할 수 있을 것 같아요!  마지막으로 한마디 부탁 드립니다! 제가 하는 일이 모르는 사람들을 상대해야 하는 분야이다 보니 어려움이 있어요. 그렇지만 함께 일하는 동료, 선배들 덕분에 짧은 기간에 좋은 성과도 낼 수 있었다고 생각합니다. 저도 앞으로 계속 연차가 쌓이면 후배가 생길 텐데, 제가 선배들에게 받았던 것처럼 후배들에게 조언을 해줄 수 있는 좋은 선배가 되고 싶어요. 로컬사업부 파이팅! 옐로오투오 파이팅!!
조회수 4464

자바스크립트 기초 문법 정리 Part 2 - 객체

지난 Part 1 포스팅에 이어 자바스크립트 기초 문법에 대해 정리해보았습니다. 이번 포스팅에서는 여러 객체와 그 객체에서 제공하는 각 메서드에 대해 정리하였습니다. 다루는 객체의 여러 메서드에 대해 정리하였기 때문에 전 포스팅처럼 간략하지는 않지만 이번 포스팅을 저장해 두고 자바스크립트로 개발하면서 필요할 때마다 참고하여 보기에는 좋을 것 같습니다. 다만, 메서드 사용 예의 코드는 넣지 않았으니 예제 부분이 필요하다면 필히 공식 문서를 참고해주세요. 익히는 것 자체도 공식 문서를 통하여 보는 것이 가장 좋지만 혹여 영어에 취약하신 분이라면 이 포스팅을 참고하는 것도 괜찮을 것 같습니다. :)내장 객체브라우저의 자바스크립트 엔진에 내장된 객체. String/Date/Array/Nath/RegExp Object 등이 있음.날짜 객체 DateDate 객체 생성new Date()new Date(milliseconds)new Date(dateString)new Date(year, month, day, hours, minutes, seconds, milliseconds)Date Get 메서드getDate() - 일 정보를 가져옴.getDay() - 요일 정보를 가져옴. 0(일요일)-6(토요일)getFullYear - 연도 정보를 가져옴. (yyyy)getHours() - 시간 정보를 가져옴.getMilliseconds() - 밀리초 정보를 가져옴. 0-999 (1/1000 초의 단위)getMinutes() - 분 정보를 가져옴.getMonth() - 월 정보를 가져옴. 현재 월에서 -1한 값으로 옴.getSeconds() - 초 정보를 가져옴.getTime() - 1970년 1월 1일부터 경과된 시간을 밀리초로 가져옴.Date Set 메서드setDate() - 일 정보를 설정.setFullYear() - 연도 정보를 설정. 원한다면 월과 일 정보도 설정할 수 있다.setHours() - 시간 정보를 설정.setMillseconds() - 밀리초 정보를 설정.setMinutes() - 분 정보를 설정.setSeconds() - 초 정보를 설정.setTime() - 1970년 1월 1일부터 경과된 시간을 밀리초로 설정.기타 Date 메서드now() - 1970년 1월 1일부터 지금까지의 밀리초를 반환.parse() - 날짜 형태의 문자열을 변환하여 1970년 1월 1일부터 입력한 날짜까지의 밀리초를 반환.toString() - Date 객체를 문자열로 변환.toJSON() - Date 객체를 JSON 데이터로 변환.valueOf() - Date 객체를 밀리초로 반환.숫자 객체 NumberNumber 생성var num = 1;      var num2 = new Number(1);Number 객체의 속성MAX_VALUE - 표현 가능한 가장 큰 수.MIN_VALUE - 표현 가능한 가장 작은 수.POSITIVE_INFINITY - 무한대 수 표기.NEGATIVE_INFINITY - 음의 무한대 수 표기.NaN - 숫자가 아닌 경우 표기.Number 객체 메서드toExponential(n) - 자수 표기법으로 소수점 n자리만큼 문자형 데이터로 반환.toFixed(n) - 소수점 n자리만큼 반올림하여 문자형 데이터로 반환.toPrecision(n) - 유효 숫자 n의 개수만큼 반올림하여 문자형 데이터로 반환.toString() - 숫자형 데이터를 문자형 데이터로 반환.valueOf() - 객체의 원래 값을 반환.parseInt(값) - 데이터를 정수로 변환하여 반환.parseFloat(값) - 데이터를 실수로 변환하여 반환.수학 객체 MathMath 메서드 및 상수Math.abs(숫자) - 숫자의 절댓값을 반환.Math.max(숫자1, 숫자2, 숫자3) - 숫자 중 최댓값을 반환.Math.min(숫자1, 숫자2, 숫자3) - 숫자 중 최솟값을 반환.Math.pow(숫자, 제곱값) - 숫자의 거듭제곱한 값을 반환.Math.random() - 0~1 사이의 난수를 반환.Math.round(숫자) - 소수점 첫째 자리에서 반올림하여 정수를 반환.Math.ceil(숫자) - 소수점 첫째 자리에서 무조건 올림에서 정수를 반환.Math.floor(숫자) - 소수점 첫째 자리에서 무조건 내림해서 정수를 반환.Math.sqrt(숫자) - 숫자의 제곱근 값을 반환.Math.PI - 원주율 상수를 반환.배열 객체 ArrayArray 생성var array = new Array();array[0] = 1;array[1] = 2;var array2 = new Array(1, "temp", true);var array3 = [1, true, "문자열도 가능"];Array 객체의 메서드 및 속성join(연결문자) - 배열 객체에 데이터를 연결 문자 기준으로 1개의 문자형 데이터로 반환.reverse() - 배열 객체에 데이터의 순서를 거꾸로 바꾼 후 반환.sort() - 배열 객체에 데이터를 오름차순으로 정렬.slice(index1, index2) - 배열 객체에 데이터 중 원하는 인덱스 구간만큼 잘라서 배열 객체로 가져옴.splice() - 배열 객체에 지정 데이터를 삭제하고 그 구간에 새 데이터를 삽입할 수 있음.concat() - 2개의 배열 객체를 하나로 결합.pop() - 배열에 저장된 데이터 중 마지막 인덱스에 저장된 데이터 삭제.push(new data) - 배열 객체에 마지막 인덱스에 새 데이터를 삽입.shift() - 배열 객체에 저장된 데이터 중 첫 번째 인덱스에 저장된 데이터를 삭제.unshift(new data) - 배열 객체의 가장 앞의 인덱스에 새 데이터를 삽입.length - 배열에 저장된 총 데이터의 개수를 반환.문자 객체 StringString 생성var str = "hello";      var str2 = new String("hi");String 객체 메서드 및 속성charAt(index) - 문자열에서 인덱스 번호에 해당하는 문자 반환.indexOf("찾을 문자") - 문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 최초로 일치하는 문자의 인덱스 번호를 반환. 찾는 문자가 없으면 -1 반환.lastIndexOf("찾을 문자") - indexOf와 동일하나 문자열의 오른쪽부터 찾음.match("찾을 문자") - indexOf와 동일하나 찾는 문자가 없으면 null을 반환.replace("바꿀 문자", "새 문자") - 문자열에서 왼쪽부터 바꿀 문자와 일치하는 문자를 찾아 최초로 찾은 문자를 새 문자로 치환.search("찾을 문자") - 문자열 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 최초로 일치하는 인덱스 번호를 반환.slice(a, b) - a개의 문자를 자르고 b번째 이후에 문자를 자른 후 남은 문자를 반환.substring(a, b) - a 인덱스부터 b 인덱스 이전 구간의 문자를 반환.substr(a, 문자 개수) - 문자열에 a 인덱스부터 지정한 문자 개수만큼 문자열을 반환.split("문자") - 지정한 문자를 기준으로 문자 데이터를 나누어 배열에 저장하여 반환.toLowerCase() - 문자열에서 영문 대문자를 모두 소문자로 바꿈.toUpperCase() - 문자열에서 영문 소문자를 모두 대문자로 바꿈.length - 문자열에서 문자의 개수를 반환.concat("새로운 문자") - 문자열에 새로운 문자열을 결합.charCodeAt("찾을 문자") - 찾을 문자의 아스키 코드 값을 반환.fromCharCode(아스키 코드 값) - 아스키 코드 값에 해당하는 문자를 반환.trim() - 문자의 앞 또는 뒤에 공백 문자열을 삭제.브라우저 객체 모델(BOM)브라우저에 내장된 객체. window 객체브라우저 객체의 최상위 객체.window 객체 메서드open("url 경로", "창 이름", "옵션 설정") - 새 창을 열 때 사용.- open() 메서드 옵션 설정: width/height/left/top/location/status/scrollbars/tollbarsalert("메세지") - 경고 창을 띄움.prompt("질의 내용", "기본 답변") - 질의응답 창을 띄움.confirm("질의 내용") - 확인/취소 창을 띄움.- 확인 클릭시 true 반환, 취소 클릭시 false 반환.moveTo(x 위치값, y 위치값) - 창의 위치를 이동시킬 때 사용.resizeTo(너빗값, 높잇값) - 창의 크기를 변경시킬 때 사용.setInterval("스크립트 실행문", 시간 간격) - 일정 간격으로 반복하여 실행문을 실행시킬 때 사용.clearIntervar(참조 변수) - 참조 변수에 참조되어 있는 setInterval() 삭제.setTimeout("스크립트 실행문", 시간 간격) - 일정 간격으로 한 번만 실행문을 실행시킬 때 사용.clearTimeout(참조 변수) - 참조 변수에 참조되어 있던 setTimeout() 삭제.screen 객체사용자의 모니터 정보를 제공하는 객체.screen 객체 속성width/height/availWidth/availHeight/colorDepth(사용자 모니터가 표현 가능한 컬러 bit)location 객체사용자 브라우저의 주소 창에 url에 대한 정보와 새로 고침 기능을 제공하는 객체.location 객체 속성 및 메서드href - 주소 영역에 참조 주소를 설정하거나 URL 반환.hash - URL의 해시값을 반환.hostname - URL의 호스트 이름을 설정하거나 반환.host - URL의 호스트 이름과 포트 번호를 반환.port - URL의 포트 번호를 반환.protocol - URL의 프로토콜을 반환.search - URL의 쿼리를 반환.reload() - 새로 고침.history 객체사용자가 방문한 사이트 중 이전에 방문한 사이트와 다음 방문한 사이트로 다시 돌아갈 수 있는 속성과 메서드를 제공하는 객체.history 메서드 및 속성back() - 이전 방문한 페이지로 이동.forward() - 다음 방문한 페이지로 이동.go(이동 숫자) - 이동 숫자만큼의 페이지로 이동. 음의 값이면 이전 페이지로 이동.length - 방문 기록에 저장된 목록의 개수 반환.navigator 객체현재 방문자가 사용하는 브라우저 정보와 운영체제의 정보를 제공하는 객체.navigator 속성appCodeName - 방문자의 브라우저 코드명을 반환.appName - 방문자의 브라우저 이름 반환.appVersion - 방문자의 브라우저 버전 정보를 반환.language - 방문자의 브라우저 사용 언어를 반환.product - 방문자의 브라우저 사용 엔진 이름을 반환.platform - 방문자의 브라우저를 실행하는 운영체제를 반환.userAgent - 방문자의 브라우저와 운영체제의 종합 정보를 제공.문자 객체 모델(DOM)HTML 문서의 구조.선택자직접 선택자직접 문서에서 요소를 선택함. (id/class/폼 명/요소 명 등)document.getElementById("아이디 명") - 아이디를 이용해 요소를 선택.document.getElmentsByTagName("요소 명") - 요소의 이름을 이용해 요소를 선택.document.formName.inputName - 폼 요소에 name 속성을 이용해 요소를 선택.인접 관계 선택자직접 선택자를 사용해 선택해 온 문서 객체를 기준으로 가까이에 있는 요소를 선택함. (parentNode/childeNodes 등)parentNode - 선택한 요소의 부모 요소를 선택.childNodes - 선택한 요소의 모든 자식 요소를 선택. 선택한 모든 요소가 저장됨.firstChild - 선택한 요소의 첫 번째 자식 요소만 선택.previousSibling - 선택한 요소의 이전에 오는 형제 요소만 선택.nextSibling - 선택한 요소의 다음에 오는 형제 요소만 선택.문서 객체 이벤트 핸들러 적용하기onclick - 선택한 요소를 클릭했을 때 이벤트 발생.onmousevoer - 선택한 요소에 마우스를 올렸을 때 이벤트 발생.onmouseout - 선택한 요소에 마우스가 벗어났을 때 이벤트 발생.submit - 선택한 폼에 전송이 일어났을 떄 이벤트 발생.버튼document.getElementById("btn").onclick = function() {    alert("welcome");}일단은 참고하는 책을 기준으로하여 정리해보았는데 후에 시간이 될 때마다 공식 문서를 참고하여 번역한다는 생각으로 보다 세부적인 사항을 정리해도 좋을 것 같다는 생각이 드네요. 우선적으로는 빠르게 함수와 이벤트에 대해 배우고 객체에 대한 더 자세한 사항을 정리하도록 하겠습니다. 다음 포스팅은 자바스크립트의 함수와 이벤트에 대해 다룰 예정입니다!참고문헌:Do it! 자바스크립트+제이쿼리 입문 - 정인용JavaScript 튜토리얼 문서 (http://www.w3schools.com/js/default.asp)티스토리 블로그와 동시에 포스팅을 진행하고 있습니다.http://madeitwantit.tistory.com#트레바리 #개발자 #안드로이드 #앱개발 #Node.js #백엔드 #인사이트 #경험공유
조회수 5058

스타일쉐어 CS센터 구축하기

안녕하세요. 스타일쉐어에서 PM을 맡고있는 박성환 입니다.스타일쉐어는 2011년 패션 커뮤니티로 시작해 2015년 10월 beta 오픈, 2016년 4월 정식으로 스토어 기능을 오픈하였습니다. 즉, 마음에 드는 패션스타일을 보는 곳이 기존의 스타일쉐어 였다면, 이때부터 정보만 얻는 것이 아닌 마음에 드는 스타일을 직접 구매 가능하게 되었습니다.그러면서 스타일쉐어는 서비스적으로도 그리고 조직적으로도 많은 변화를 하게 됩니다. 그중 조금 더 다양하고, 빠른 피드백을 줄 수 있는 CS센터의 필요성이 생겨납니다. 기존에도 CS활동은 있었지만, 서비스 피드백에 대한 이메일/앱스토어 리뷰에 대한 응대였다면, 스토어 기능이 들어간 후부터는 훨씬 더 즉각적으로 해결이 필요해지는(취소, 반품, 교환, 상품문의) 문의사항이 새롭게 발생합니다. 이에 따라 스타일쉐어 CS프로세스는 큰 변화를 하게 되고, CS팀도 함께 생성되었습니다.이 변화에서 겪은 여러 경험을 기록해보려 하고, 그중 우선 스타일쉐어 CS센터를 구축하면서 느낀 바를 2번에 걸쳐 남겨보려고 합니다. 이번 내용은 첫 번째인 ‘CS센터를 어떻게 구축했는지’에 대한 부분을 다뤄보겠습니다.**CS(customer service): 고객서비스**위 내용에 대해 위키백과에서는 아래와 같은 문구를 인용하여 설명합니다.고객 서비스는 고객 만족 수준을 강화시키는 일련의 활동이다. 다시 말해 이는 제품이나 서비스가 고객의 예측을 만족시키는 느낌을 말한다.즉, CS란 고객 만족에 대한 활동이며, 구매활동에서 일어나는 여러 가지 예측을 적절한 시간, 적절한 장소에서 해결해 줄 수 있어야 합니다. 온라인 쇼핑에서 발생하는 고객의 ‘예측’은 크게 결제, 배송일시, 반품, 교환 등으로 나눌 수 있습니다. 이와 같은 예측들을 사용자가 원하는 시간에 편한 방법으로 문의하고, 그에 대한 답변을 빠르게 제공할 수 있는 피드백 채널을 고려하게 되었습니다.어떤 CS채널을 추가로 제공할 것이며, 어떻게 구축할 것인가?기존 서비스 피드백을 받던 이메일/앱스토어 리뷰에 대한 채널은 있었지만, 위 채널은 고객이 문의사항이 있을 때 즉각적으로 해결될 것이라는 인지가 부족해, 전화와 채팅이라는 2가지 채널을 추가로 오픈하였습니다.▲StyleShare에서 현재 제공중인 문의채널전화문의(Call)온라인 쇼핑의 CS채널 중 가장 전통적이고, 기본적으로 인지하는 문의 채널입니다. 하루에 전화 문의 수가 10~30콜 이하가 유지된다면 다른 준비들은 필요 없이 일반 전화로도 응대할 수 있지만, 100콜 이상의 전화문의가 오거나 지속해서 증가하는 경우 아래의 기능들을 필요로 하게 됩니다.통계: 어떤 종류의 문의가 오는지, 들어오는 문의 중 얼마만큼 받고 있는지, 평균 응대 시간은 어떻게 되는지 등의 현황 및 개선에 필요한 데이터를 모으기 위함.호 분배[^1]/전환: 100통 이상 인입이 되는 경우 다수의 CS매니저가 응대를 하게 되는데, 이때 효과적으로 근무 인원에 대한 분배 및 사안에 대한 전환이 되어야 나누어서 응대가 가능하다. [^1]: 착신번호 각각에 대해 착신비율 지정이 가능한 기능입니다.운영시간별 응대: 전화응대를 24시간 365일 진행할 수 없기에, 응대 불가능 시간에 대해 사용자 안내가 진행되어야 한다. 서비스내의 안내 뿐만 아니라 자동 응답멘트도 달라져야 한다.콜백: 모든 매니저가 응대를 진행 중일 때 들어온 문의 전화를 못 받게 되는데, 이에 대해 선 연락하여 문의를 이어갈 수 있게 시간과 통화 가능한 번호가 남겨져야 한다.녹취: 문제가 되는 CS문의 해결과 개선을 위해 전화문의 내용이 녹음되어야 한다.대표번호: 여러 개의 전화번호로 응대를 하게 되는데, 이를 사용자에게는 15XX-XXXX로 만들어지는 대표번호 하나만으로 안내할 수 있어야 한다.위 기능들을 모두 제공하기 위해서는 독자적으로 개발하는 것은 현실적인 어려움이 있어, 위 기능 기반으로 제공하는 서비스를 통해 구축하였습니다. 통신사에서 제공하는 서비스(인터넷 전화 사용 시)는 아래와 같습니다.KT biz centrexLG U+ 클라우드 컨택SKT Biz Point(가격대는 1회선당 5~10만 원 정도로 유사하고, 기타 기능들의 차이도 현재는 크게 없어 사무실에서 사용하는 인터넷 상품과 결합으로 인한 할인이라든지, 기타 필요조건에 대한 상담 후 진행하시면 됩니다.)스타일쉐어 CS센터는 위 최소 요구조건으로 정한 위 기능들이 모두 속해있고, CS매니저분들이 이전에 사용해 본 경험이 있어 새로운 tool의 적응이 필요 없는 ‘LG U+ 클라우드 컨택’ 상품을 이용 중입니다.채팅(Chat)채팅 문의의 경우 사용자가 업무/수업 중에도 문의할 수 있고, 직접 스크린 샷이나 사진을 업로드 할 수 있어 15~25세 사용자들이 선호하는 문의 채널입니다. 채팅을 통한 CS프로세스를 진행하고자 하는 경우 직접 개발 혹은 CS를 위해 개발된 채팅 서비스를 사용하여 구축할 수 있습니다. 각각의 방법/서비스별 특성은 아래와 같습니다.서비스 명특징직접 개발시간적인 비용은 가장 많이 들지만, 원하는 프로세스/템플릿 등을 적용옐로아이디(카카오톡)무료(응대에 한해서), 카카오톡을 이용하기에 도달율(앱 push ON)이 가장 높으나 여러 명이 응대하기에는 무리가 있음(호 분배, 완료처리, 대화 내용 저장 안 됨)Sendbird개발적인 자유도가 가장 높으며(채팅 서버만 사용 가능), 상황에 맞는 여러 가지 가격/사용 플랜이 존재channel.io유료 서비스 중 가장 저렴(상담사 10명, 월 50$), 쇼핑몰 응대에 최적화해피톡(상담톡)카카오에서 제공하는 상담톡(옐로 아이디의 불편사항을 개선하여 CS센터에서 사용 가능하도록 만들어진 API)을 지원, 위 서비스 중 가장 CS어드민에 대한 기능이(호 분배/자동응답/상담원변경) 다양함스타일쉐어 CS센터는 기존에 사용하고 있던 옐로아이디 채널을 이용할 수 있고(상담톡), 현재 여러 명의 CS매니저가 응대를 하기에 어드민 기능이 가장 세분화된 해피톡을 채팅 CS 서비스로 사용하고 있습니다. 직접 개발해서 구현하는 것이 가장 이상적이나, 우선은 채팅 CS에 대한 이해와 빠른 시일 내에 적용해야 하는 현실적인 고민이 있어 3rd party 서비스를 사용하는 것으로 결정했고, 추후 직접 개발을 통한 스타일 상담/추천/Chatbot에 대해 진행 할 계획입니다.CS매니저는 몇명이 필요하고, 어떻게 채용하는가1) 응대를 위해서는 몇명의 CS매니저가 필요한가요?처음으로 쇼핑몰을 오픈하는 곳이라면 1명으로 시작하면서 늘리면 되지만, 아래의 경우에는 응대율1을 유지하기 위해 인입 콜수의 계산과 그만큼의 문의를 지원할 수 있는 CS매니저가 준비되어 있어야 불편 없는 CS경험을 유지할 수 있습니다.대규모 광고/이벤트를 통해 갑작스러운 주문건 상승이 예상되는 경우이미 사용자들이 많이 방문하는 사이트에서 쇼핑 기능을 추가하는 경우계산방식(예상 일 주문건 수) x (1건의 주문당 평균 전화문의 비율) ÷ 1명의 CS매니저가 1일동안 받을 수 있는 전화문의 수 위와 같이 필요한 CS매니저 수를 예측하기 위해서는 아래의 정보가 필요합니다. 그리고 아래 정보의 경우 처음 대입하고자 할 때에 기준값이 없기에 지금까지 커머스 서비스를 경험하면서 느낀 수치를 제시해드리려고 합니다(일반적인 패션/뷰티 쇼핑몰 기준). 추후 운영하면서 아래 정보에 대한 통계치가 마련되면 해당 수치로 계산하는 것을 추천해 드립니다.1명의 CS매니저가 1일동안 받을 수 있는 전화문의 수대기 콜이 언제나 존재하는 경우는 1명이 하루에 80~100콜도 가능하지만, 이 경우 대기시간이 상당수 걸리기에 사용자가 긴 대기시간 없이 응대가 되기 위해선(80% 이상의 응대율) 40~50콜이 적당하다.1건의 주문당 평균 전화문의 비율신선식품이나 당일/예약 배송 등과 같이 특이 케이스의 배송상품이 아닌 경우 경험상 1건의 주문당 10~15% 비율로 전화문의 수를 보였다.예상 일 주문건 수예상 방문자 x 구매 전환율예를 들어, 1월 27일부터 설 관련 이벤트를 진행해 하루 약 3,000건의 주문 건수가 예상되는 경우 아래와 같습니다.(3,000건 x 15%) ÷ 50콜 = 9명 즉, 위와 같은 이벤트 시기에 먹통이 되지 않는 CS센터를 유지하기 위해서는 약 9명 정도의 CS담당 인원이 배정 or 채용 해야한다는 기준으로 준비를 하고 있습니다.2) CS매니저 채용방식의 차이(외주/파견/자체)CS매니저의 역할이 무엇인지, CS센터에서 어떤 것이 중요한지에 따라서 채용방식도 나뉠 수 있습니다. 각 채용방식에 따른 장단점을 적어보았습니다.외주/파견: CS매니저는 외주 회사의 소속/관리이며, CS센터가 외부에 존재하거나 파견의 경우에는 외주회사 소속의 CS매니저가 회사로 출근도 가능하다.장점: 커머스의 특성상 대규모 광고/이벤트에 따라 문의 건수가 폭증하게 되는 케이스가 종종 발생하는데, 외주회사의 경우 상시 CS담당 인력을 보유한 채로 여러 서비스의 CS를 대행해주므로, AWS 클라우드 서비스처럼 거래/문의량이 폭증할 때에는 늘렸다가 종료되면 줄이는 형태로 응대율 커버가 용이하다.단점: 외부에 CS센터가 존재하는 경우 정기적인 교육은 존재하지만, 꾸준히 개선 아이디어나 기타 커뮤니케이션이 용이하지 않고, CS센터 전담 외주의 경우 CS매니저 10명 정도의 규모부터 사용 가능해 초기 커머스 서비스에서는 사용하기 어렵다.내부 채용장점: CS매니저로서 전화/기타 문의 응대뿐만 아니라, 다른 역할(개선점 수집/마케팅 활동)을 정의할 수 있고, 빠른 커뮤니케이션 및 서비스 특유의 응대 문화를 구축할 수 있다.단점: CS매니저들의 인원수를 대폭적으로 늘이거나 줄이는 것이 용이하지 않으므로, 대규모 광고/이벤트로 인해 폭증하는 기간에는 응대율을 지키기가 매우 어렵다.스타일쉐어 CS센터의 경우에는 모든 CS매니저를 내부 채용하고 있습니다. 단순 응대보다 저희 CS센터는 사용자 마케팅 활동의 최전선이라 생각하며, 서비스 개선점 수집, 구매 문의 외의 스타일 상담 진행, 빠른 커뮤니케이션 등의 기타 미션도 함께 CS매니저분들의 역할로 진행하고 있습니다. 다만, 응대율 커버를 위해서 ‘응대 자동화’, ‘문의 내용을 콘텐츠화하여 문의 수 감소’ 등의 노력을 지속해서 진행하며 부족한 부분을 보완해 나가고 있습니다.마무리StyleShare의 경우 스토어 기능의 오픈을 대규모 이벤트와 함께 시작했고, 기존 사용자들이 모여 있었던 플랫폼이었기에 거래량/문의 수 예측을 통한 CS센터 구축이 중요했습니다. 커머스는 사용자가 상품의 만족뿐만 아니라 상품을 보여주고, 소개하는 방식 / 결제의 간편성 / 빠르고 예측 가능한 배송 등과 함께 즉각적이고 편리한 CS도 사용 경험상 중요한 요소라 생각하고 있습니다. 그렇기에 구축 시 ‘대규모의 문의량을 시작부터 소화할 수 있을 것’과 ‘개선이 용이한 형태’ 를 중요하게 생각하고 하였습니다.하지만, 아직 고민과 문제점은 많이 남아있습니다. 앞으로 스타일쉐어 CS프로세스가 해결해야 하는 과제는 크게 아래 2가지를 우선적으로 바라보고 있습니다.채널 다양화에 따른 고객정보 통합: 문의 채널이 다양화되면서 문의내역/사용자 정보를 로깅하는 공간도 분리가 되고 있습니다. 그러다 보니 이를 한 곳에서 보고/기록하는 형태로의 개선이 필요합니다.KPI: KPI라고 하면 딱딱하게 보일 순 있으나 CS프로세스의 방향에 맞는 KPI를 만들고자 하는 이유는 꾸준한 개선과 동기부여 입니다. CS매니저는 특성상 회사가 가장 즐거울 때(주문량 증가)가 가장 바쁘고, 힘든 업무가 됩니다. 그리고 일반적인 CS센터의 KPI인 ‘응대율’, ‘1인당 응대 콜 수’ 등으로 하기에는 저희가 바라보는 CS방향(효율화 < 만족도)과 달라 이에 대한 정의가 필요하여 이 작업을 현재 진행 중에 있습니다.이번 글에 이어 정리할 StyleShare CS프로세스 2번째 내용은 위의 고민을 어떻게 해결하려 했는지에 대한 시도들을 다뤄 볼 계획이며, 빠른 시일 내에 정리해보도록 하겠습니다. 감사합니다.고객이 연결을 요청한 전체 전화문의 중 CS매니저가 연결된 비율, 일별 전체 문의 수(부재 포함) ÷ 일별 전체 응대 진행된 문의 수 ↩#스타일쉐어 #CS #팀구축 #시스템구축 #인사이트 #경험공유
조회수 964

스타트업, 사대주의에 빠지지 말자.

하지만, 탈한국적이라는 것이 사대주의를 의미하는 것은 아니다.분명한 것은 한국적인 환경이 더 좋지 않다는 것을 의미하는 것이지 미국이나 일본, 중국의 환경만을 부러워하는 것은 아니다. 아주 단순하게 일반화시켜서 그들의 환상적인 성공사례만 수집해서 이야기하려고 하는 것도 아니다.정말 중요하게 전달하고 싶은 메시지는 한국적인 환경은 정말 암울하다고 경고하고 싶을 뿐이다.미국에서 창업하거나 M&A 이후에 가볍게 버림받는 것은 너무도 당연한 것인지도 모른다. 오히려, 국내 특정 대기업의 분위기는 한번 식구로 받아들여지면 쉽게 내치지 않는 문화를 가진 특정 상황들도 있다고 이야기할 수 있다.하지만, 그런 케이스들은 특정 케이스 들일뿐, 대부분의 분위기는 어느 정도 일반화되어있다고 이야기하겠다.사실, 계약관계에 의해서 더 이상 단물이 나오지 않는 조직과 사람에 대해서 가차 없이 인사관계를 진행하는 것은 미국적인 관행이 더 살벌하게 받아들여질 가능성이 더 높다고 이야기한다.하지만, 최소한 그들은 법적인 단계나 계약서를 뛰어넘는 행위에 대해서는 윤리적인 행위에 대해서 대부분은 지키려 한다고 이야기하겠다.국내 대기업들처럼 유망하거나 의미 있는 서비스를 만든 중소기업과 유사한 제품을 만들거나, 더 싸게 하기 위해서 비슷한 기업들에게 해당 기업의 노하우를 비공식적으로 공개한다던지 하는 행위는 분명하지 막 매우 적다.그들의 세계에서 그른 올바르지 않은 행위들이 자신의 신뢰를 깎아먹는 것인지에 대해서 너무도 잘 알고 있기 때문이다.그래서, 대부분 그들의 세계는 신뢰와 계약, 윤리적인 단계에 의해서 시스템이 움직인다. 그래서, 그들은 계약관계가 끝나거나 계약에 의해서 정해진 목적이 부족하다고 생각하면 가차 없이 잣대를 들이댄다.가끔 제가 글을 올리는 것에 대해서 너무 심한 일반화가 아니냐는 비판을 하시는 분도 계신다. 물론, 그 의견에도 공감한다. 왜냐하면 내가 글을 올리는 것은 내 경험을 기반으로 나열되는 것일 뿐, 완전 일반화가 되는 이야기가 아니기 때문이다.그냥, 내 경험상 그랬다는 것이고, 후배들에게 조금이라도 그 경험적인 가치에 대해서 전달하고 싶을 뿐이다. 가능한 많은 실패에 대해서 많이 전달하는 것 그것이 선배가 경험한 것을 최소한 전달해야 한다고 느끼기 때문이다.한국이건 중국이건 일본, 미국이건 스타트업을 만들고 생태계를 넘어서서 무언가 혁신을 이룬다는 것은 정말 매우 힘든 행위이다. 하지만, 불행한 것은 불행하다고 이야기해야 하는 것이 선배 된 입장이라고 생각한다.기존의 악습과 관습을 그대로 유지해야 시스템에서 받아들여주지, 그것을 조금만 벗어나려고 한다면, 수많은 잣대와 기준으로 사업 자체를 틀어막는 행위가 가장 극심한 나라가 한국이라고 악평을 해야겠다.차라리 틀이 잘 짜인 일본의 생태계를 성급하게 일반화시킨다면, 정해진 룰을 넘어선 방법으로 소비자들과 공급자를 연결하는 방법을 고안한다면 해당 시스템에 대해서 진지하게 기존 생태계가 바라보며, 그 혁신적인 시스템이 그대로 사장되지 않도록 보호하려고 애를 쓴다. 다만, 그 속도가 너무 느리기 때문에 일본의 시스템이 불안해 보이는지도 모르겠다.하지만, 일본의 시스템은 그런 움직임이 조금씩 진보적으로 움직인다.중국의 경우에는 악습이나 관습이 완전하게 경제 시스템 전체를 지배하고 있지 않기 때문에 매우 혁신적인 시스템이 시장에 도입되고 사용되는 것에 대해서 굉장히 빠른 속도로 움직이다. 일종의 불협화음 마저도 혁신의 속도의 과실까지 시스템이 허용하고 있다는 것을 느낀다.각 국가마다 나름대로 혁신을 포용하는 방법이 다르다.느리다는 일본도 다양한 방식으로 경제활동이 파급되도록 시스템이 개방되고 있다. 중국이나 미국은 두말을 할 이유가 없다.하지만, 한국은 아니다.슬프게도 꼰대들이 만들어 놓은 기존 시스템이 가진 관습을 그대로 유지해야 한다.헬스케어이건 금융이건 똑같다. 한국적 창조경제의 핵심은 그러하다. '기존의 악습과 관습이 유지되는 혁신'을 하라는 것이다.그 말이 가능한지 모르겠지만, 그렇게 사용되고 있다. 매우 창조적으로...하지만, 희망은 버리지 않고 있다. 우리가 분명하게 할 수 있는 일들이 많으며, 주변의 스타트업은 국내의 상황과 꼰대들의 바람과는 다르게 움직이고 있다.굳이 한국적인 서비스를 만들지 않으며, 꼰대들이 만들어 놓은 생태계에 몰입하지 않으며, 중국보다 더 디테일한 서비스를 만들며, 일본보다 빠르게 움직이고, 미국보다 더 창의적이고 지식기반으로 움직이는 사업들이 분명 존재한다.그런 멋진 후배들에게서 한국의 미래를 발견한다. 다들 파이팅이다!

기업문화 엿볼 때, 더팀스

로그인

/