스토리 홈

인터뷰

피드

뉴스

조회수 1011

마침내 완전히 새로워진 이메일마케팅, 스티비가 선보입니다

2015년 12월에 시작한 베타 테스트를 마치고 드디어 오늘, 스티비 정식버전을 출시합니다.기획부터 대량 발송 후 성과 측정까지, 이메일마케팅의 모든 과정을 담았습니다.정식버전 출시를 기념하여 라이트 요금제를 11월 30일까지 무료로 제공합니다.마케팅 성과를 한 눈에 확인할 수 있는 대시보드마케팅 성과를 지난 주와 비교해 보고 얼마나 개선됐는지 바로 확인할 수 있습니다. 모바일과 데스크톱 중 어떤 디바이스에서 더 많은 반응이 일어났는지 쉽게 알 수 있습니다. 조만간 스티비 사용자 평균 데이터와의 비교 기능도 선보일 예정입니다.국내에서 가장 간편한 A/B 테스트이메일 제목, 발신자 이름, 발송 스케줄로 A/B 테스트를 할 수 있습니다. 간편한 비율 설정으로 빠르게 성과를 개선하세요.프레젠테이션을 만드는 것처럼 쉬운 콘텐츠 에디터베타 버전에 비해 콘텐츠 저장 방식을 개선했습니다. 많은 인기를 끌었던 지도 상자에는 한국 실정에 맞게 다음 지도 API를 적용했습니다. 대량 발송 기능의 필수 요소인 푸터 상자가 추가되었습니다.월 4회까지 무료로 발송할 수 있는 요금 체계스티비 조사* 결과, 국내에서는 마케팅 이메일을 월 평균 3.25회 발송하고 있습니다. 이에 따라, 구독자 5,000명 기준으로 월 4회까지 발송할 수 있는 스타터 요금제를 무료로 제공합니다. 이메일마케팅을 적극 활용해 성과를 극대화하려는 분들을 위해서는 월 8회 발송이 가능한 라이트 요금제와 무제한 발송이 가능한 스탠다드 요금제를 제공합니다. 정식버전 출시 기념으로 라이트 요금제를 11월 30일까지 무료로 사용할 수 있습니다.이 밖에도 쉽고 즐겁게 이메일마케팅을 실행할 수 있도록 저희 스티비 팀이 개발한 다양한 기능을 정식버전에 담았습니다.#슬로워크 #스티비 #마케팅 #마케팅툴 #서비스소개
조회수 754

프로그래밍 동료 평가의 어려움

지난 주에는 학생들이 서로 간의 과제를 채점해주는 방식의 과제 채점 방법인 동료 평가에 대해 알아보았습니다. 동료 평가는 강의에 크기에 거의 무관하게 사용될 수 있고, 학생들은 다른 학생들이 제출한 과제를 채점하면서 자기가 생각하지 못했던 새로운 아이디어를 발견하거나, 자신이 했던 것과 유사한 실수를 하는 친구에게는 자신의 경험을 바탕으로 건설적이고 유용한 피드백을 줄 수 있는 등의 장점도 있었습니다.엘리스 시스템에서 코드 공유 기능을 이용하면 동료 평가를 진행할 수 있습니다.그러나 동료 평가가 항상 만능인 것만은 아닙니다. 프로그래밍 수업에서 동료 평가는 크게 보면 “다른 사람의 프로그래밍 코드를 이해”하고, “이해한 것을 바탕으로 알맞은 평가”를 하는 두 단계로 이루어진다고 볼 수 있는데, 프로그래밍에 익숙하지 않은 대다수 학생에게는 “다른 사람의 코드를 이해”하는 첫 번째 단계부터가 큰 고난으로 다가오기 때문입니다. 이는 비단 학생의 문제일 뿐만이 아니라 실제 현장에서 일하고 있는 숙련된 프로그래머에게도 마찬가지입니다. 선행 연구에 따르면 다른 사람의 코드를 코드 그 자체만 보고 이해하는 것은 숙련된 프로그래머에게도 어려운 일이며, 그중에서도 특히나 해당 코드를 작성한 저자의 의도를 이해하는 것이 어렵다는 설문 결과가 있습니다. 몇 년이 넘는 시간 동안 수많은 코드를 읽어보았을 숙련자에게도 어려운 일인데, 프로그래밍에 전혀 경험이 없는 학생들에게는 얼마나 더 큰 어려움으로 다가올지 예상해보는 것은 어려운 일이 아닌 것 같습니다.그렇다면 프로그래밍 교육의 혁신을 추구하는 연구팀으로써 이를 두고만 볼 수는 없는 것은 당연지사. 동료 평가를 성공적으로 완수하기 위해 학생들에게 필요한 것은 무엇이고, 또 프로그래밍 교육 툴의 일부로서 제공해 줄 수 있는 것은 어떤 것들이 있을지 고민해보게 되었습니다. 그리고 본 연구팀은 다양한 대학교 전산 과목에서 조교로서 활동했던 경험과 프로그램 개발자로서 Git 등의 코드 버전 관리 도구, GitHub와 같은 오픈소스 커뮤니티에서 경험 등을 바탕으로 다음과 같은 접근을 해보았습니다.숙련된 오픈소스 개발자들도 리뷰를 위해 코드를 한 줄 한 줄 비교해가며 차근차근 읽어나가야 하는데, 왜 프로그래밍에 익숙하지 않은 학생들에게는 이 과정을 전부 생략한 채 마지막 결과(제출된 코드)만 보여주고 평가를 하게 하는 걸까? 오히려 숙련된 개발자들보다는 학생들에게 “한 줄” 단위 로, 아니면 이보다 더 세세하게 “한 글자” 단위로 코드가 처음부터 끝까지 완성되는 과정을 보여주는 것이 더 효과적이지 않을까?Eliph: Effective Visualization of Code History for Peer Assessment in Programming Education백문이 불여일견, 위의 이미지는 실험을 위해 제작된 프로그래밍 교육용 동료 평가 시스템 Eliph의 실제 사용 모습입니다. 프로그래밍에 익숙하지 않은 학생들이 동료 평가 과정에서 다른 학생의 코드를 이해하는 데에 어려움을 겪는 것은, 마지막으로 제출된 코드만 보아서는 문제 풀이 과정 전반에 대한 이해가 어렵기 때문이라는 것을 가설을 바탕으로, “그렇다면 문제 풀이 과정을 최대한 세세하게 보여주자!”는 아이디어를 구현한 것이 위의 보이는 Eliph 시스템입니다.Eliph는 학생이 프로그래밍 문제를 푸는 과정을 처음 시작부터 마지막으로 제출할 때까지의 키보드 입력, 코드 실행 결과, 중간 채점 결과 등을 모두 기록한 뒤, 나중에 다른 사람이 자신의 코드를 평가할 때 되돌려볼 수 있는 기능을 제공합니다. 그리고 이를 통해 (1) 평가를 받는 학생은 자신이 작성한 코드에 대한 의도를 평가자에게 더 잘 전달할 수 있고, (2) 평가를 하는 학생은 저자의 생각의 흐름을 함께 따라가며 코드를 더 쉽고 명확하게 이해할 수 있어 양쪽 모두가 동료 평가를 더 효과적으로 활용할 수 있습니다.본 연구팀은 Eliph 시스템을 효과를 검증하기 위해 실제 대학교 전산학과 수업에서 수강생 60명의 학생을 대상으로 시스템을 검증해보았습니다. 그 결과, 평가자가 Eliph 시스템을 사용해서 다른 사람의 코드를 평가할 때 코드 저자의 의도를 더 잘 파악할 수 있어 평가에 도움이 되었다는 것을 확인할 수 있었습니다(좌측 그래프). 또한, Eliph 시스템을 사용하여 진행된 동료 평가로부터 제출된 피드백이 기존의 방식으로 진행된 동료 평가로부터 제출된 피드백들보다 저자들에게 더 높은 만족도의 준다는 것을 확인할 수 있었습니다(우측 그래프). 좀 더 자세한 결과와 분석은 아래의 참고 문헌의 Eliph 논문에서 직접 확인해보실 수 있습니다.마치며이번 글에서는 프로그래밍 교육에서 동료 평가의 중요성과 실제로 수업에서 동료 평가를 사용하기 위해 넘어야 할 난관들을 소개해보았습니다. 그리고 프로그래밍에 익숙하지 않은 학생들이 동료 평가를 효과적으로 활용할 수 있도록 도와주는 시스템 Eliph를 간략하게 소개해드렸습니다. 아직 Eliph 시스템은 프로토타입으로만 개발되어 연구용으로만 사용되고 있지만, 조만간 엘리스 교육 플랫폼에서 사용해보실 수 있도록 열심히 준비하고 있으니, 기대해주시면 감사하겠습니다.참고 문헌Park, Jungkook, et al. “Eliph: Effective Visualization of Code History for Peer Assessment in Programming Education.” Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing. ACM, 2017.#엘리스 #코딩교육 #교육기업 #기업문화 #조직문화 #서비스소개
조회수 1417

다이어트는 실패하라고 있는 것! 피키캐스트의 먹방 담당, 먹PD

안녕하세요!멋진 옐로모바일 패밀리사의 서비스와 팀문화를 소개하는 옐친소,그18번째 이야기!이번에는 수많은 핔플과 옐로모바일 임직원들의 다이어트를 끊임없이 방해하는 먹방요정,먹PD팀을 만나보았습니다.하나의 콘텐츠가 만들어지기까지의 눈물겨운 과정을 지금 확인해보세요:)안녕하세요,옐로인들에게 피키캐스트 먹PD의 간략한 소개 부탁 드립니다!애쉬:안녕하세요 옐로인 여러분!저희는 피키에서 돼지 포지션을 맡고 있는 먹PD팀입니다!먹PD팀은 저를 포함해서 로빈과 위니까지 총3명입니다.먹PD팀은 피키에서 어떤 업무를 담당하고 있나요?로빈:저희는 피키에서Food분야를 담당하고 있는데요.주로 신제품이 나오면 발 빠르게 먹어보고 리뷰를 하거나,비슷한 제품들 중 가장 맛있는 걸 선정하기도 합니다.또 혼자만 알고 있기 아까운 먹거리나 식당을 소개하기도 합니다:)먹PD팀에 오래 있다 보면 뭔가 습관같은 게 생길 것 같아요!로빈:맞아요!계속 먹피디 콘텐츠를 만들다 보니 직업병 같은 게 생겼는데..음식을 보면 일단 예쁘게 찢고 있어요 ㅋㅋㅋ 그냥 먹어도 되는데 천천히 가르고 있고,치즈 있으면 쭈우욱 늘리고 있고..애쉬:진짜 ㅋㅋㅋ2년 정도 먹피디로 활동하다 보니,음식으로 예술을 하는 경지에 이르렀죠;;위니:그러다 보니 음식이 가장 맛있는 타이밍을 놓쳐요ㅋㅋ 그래서 결국 하나 더 시키죠.그렇게 늘 다이어트에 실패하곤 합니다. (또르륵)배불러도 배고파지는 찢르가즘음식 먹기 전 의식 같은 건가요ㅋㅋㅋ 누가 제일 잘 찢으세요?로빈:다른 건 몰라도 치즈 늘리는 건 제가 원톱이라고 생각합니다. 애쉬:손으로 찢는 건 제가 제일 잘하죠ㅋㅋㅋㅋ먹PD팀이 만든 콘텐츠 중 가장 기억에 남는 콘텐츠는 무엇인가요?위니:아무래도 제일 고생스러웠던 몇 개가 생각나는데,편의점 식품들로 빙수를 만들었던 콘텐츠가 가장 강렬하게 기억에 남아요.그 당시에는 저희 사무실에 냉장고도 없었거든요.빙수는 녹는데 촬영은 해야 하고 다음 컷 찍으려면 설거지도 해야 하고 몸이 한 개라 완전 멘붕이었어요.그래도 콘텐츠 자체는 바이럴이 잘 되어 고생한 보람은 있었습니다:)애쉬: 저는 가장 고생스러웠던 햄버거 편이요. 많고 많은 편의점표 햄버거 중에 어떤 게 제일 맛있고 가성비가 좋은 지 따져보고 콘텐츠로 만들어야 했어요.우선 직접 비교를 해봐야 하니,눈에 보이는 편의점이란 편의점은 다 들어가서 햄버거를 싹 쓸어왔었죠.그것이 비극의 시작이었습니다…로빈:그날 애쉬가 출근하는데 양손 가득 비닐 봉지를 ㅋㅋㅋ 그때 햄버거를 30개정도 샀던 것 같아요.애쉬:촬영도 촬영인데,일단 맛 평가를 해야 하니까 다 먹어봐야 했어요.한 입씩만 먹어도 햄버거가 몇 개야..기껏 샀는데 버릴 수도 없으니 배불러도 먹어야 하고..진짜 죽는 줄 알았어요.그렇게 고생했는데 다른 사정 때문에 콘텐츠로 나가지 못했다는 슬픈 비하인드 스토리입니다ㅠㅠ편의점 탈탈 털어 데려온 햄버거들로빈은 어떤 콘텐츠가 가장 기억에 남나요?로빈:저는'찢르가즘 하이라이트'편이 가장 기억에 남아요.저희가 음식의 질감 등을 보여주려고 음식을 하도 찢고,자르고,늘리다 보니, '찢기 전공자'라는 별명이 생겼더라고요.그래서 한 번은 그동안'찢은'장면들을 영상 하나로 모아봤어요.편집을 위해 수십 개에 달하는 찢는 장면들을 한 폴더에 모아놓고 보니,찢는 실력 변천사도 한 번에 보이고 추억이 새록새록 떠올랐습니다.배도 많이 고팠고요.ㅋㅋㅋ제보로 만들어지는 콘텐츠도 많은 것 같아요!그건 어떻게 만들어지나요?위니:먹PD콘텐츠에 핔플들이 자신들이 알고 있는 맛집을 많이 어필해 주셨어요.이걸 콘텐츠로 만들면 어떨까 해서,콘텐츠 맨 뒷장에 음식 영상 제보 페이지를 하나 추가했습니다.핔플들이60초 이내의 음식 영상을 저희에게 제보해주시면 매일21시에 짤 콘텐츠로 나가고 있어요!늘 배고픈 시간에 먹거리 콘텐츠를 올려 수많은 픽플의 다이어트를 실패로 돌아가게했는데요,여기에 한 말씀 부탁 드립니다ㅋㅋㅋㅋ애쉬:다이어트는 실패하라고 있는 겁니다 여러분.하지만 맛있는 건 실패하지 않아요.로빈: 살아보니 정말 세상은 넓고,맛있는 건 많더라고요.맛있게 먹기에도 짧은 인생,즐겁고 행복하게 드시길 바랍니다!하하핳위니:얘들아3년 동안 수고했고 나중에 돼지 돼서 보자^^음식 메이킹 콘텐츠도 있는데,조리는 어디에서 하나요?로빈:놀라시겠지만…전용 부엌은 따로 없어요. 탕비실에서 조리를 하다 보니 피키 직원들이 냄새를 맡고 하이에나처럼 몰려들어 한입씩 빼앗아 먹어요.특히 동네형 춘리는 단골이랍니다!ㅋㅋ위니:피키 경영진에게 건의합니다!전용 부엌 좀 만들어주세요!지금까지 털어본 편의점 음식 중 가장 추천하는 음식은 무엇인가요?애쉬: G*25갈릭 버터 팝콘!!!이것도 앞에서 말한 햄버거처럼ㅋㅋ 콘텐츠 만들다가 팝콘을 한 번에10봉지를 먹은 터라 당분간 절대 팝콘은 안 먹겠구나 했는데,다음 날 저도 모르게 저걸 사고 있더라고요.제 최애 과자 랭킹이 바뀌었을 정도로 맛있어요 ㅋㅋㅋ위니:저는G*25치즈콘닭!!달달하고 짭짤하고 느끼하고 매콤하고 혼자서 다 하는 친구입니다.맥주 안주로 완전 추천.애쉬:이쯤 되면G*25상 줘야겠네.로빈:저는 핵불닭볶음면!!!가장 맛있다기보다는 정말 진짜 진심으로 매웠어요.스트레스 받을 때 매운 게 땡기잖아요.그때 하나 끓여먹으면 콧물이랑 땀 동시에 흘리면서 스트레스를 조금이나마 풀 수 있는 것 같아요.그렇다면 신사동에서 먹어본 최강 맛집은!?로빈:저는 마*족발이요!달고 맵고 자극적인데다 양도 어마무시하게 많아요!애쉬:저는 순*시래기요.저희 어머니가 공기밥을 다 드시는 분이 아닌데,한 공기를 다 비우시더라고요.또 그 집에 옛날 과자를 파는데 정말 맛있어요.피키 직원들이 다 좋아해서 과자를 사 들고 오면 포케스톱에 몰려들 듯 몰려들어요ㅋㅋ인스턴트를 그렇게 많이 섭취한 후 건강관리는 어떻게 하고 있는지요?로빈:건강관리는커녕 다이어트도 절대 못 해요.다이어트 좀 해볼까 하면 햄버거5종 털고,건강 관리 좀 해볼까 하면 편의점 탈탈 털고..위니:우리 몸은 썩지도 않을 거야..아무래도 음식 분야를 다루고 있기 때문에 뭐든 잘 먹을 것 같은데,못 드시는 것도 있나요?애쉬:커피요.다 같이 카페에 가도 저는 스팀우유 사 먹거든요 ㅋㅋ 하루에 커피10잔은 마시게 생겨서는 못 마신다고 맨날 놀림 받아요.위니:저는 안 먹는 음식이 굉장히 많아요.토마토,양파,마요네즈,당근,만두…..로빈:거기까지 하세요.다 나열했다간 인터뷰 오늘 안에 안 끝나요 ㅋㅋㅋ신제품이 나올 때마다 리뷰를 해주시곤 하는데 출시 소식은 어떻게 아시는 거예요?애쉬:매일마다 신제품 기사,브랜드 홈페이지,브랜드별SNS를 확인해요! 로빈:신제품 같은 경우엔 최대한 빠르게 올리는게 관건이에요.그래서 신제품 소식이 있으면 편의점을 하나하나 다 들어가보고,없으면 다른 편의점에 또 가고.그러다 보면 하루에 편의점만 거의20군데를 돌게 됩니다.신제품은 무조건 당일 콘텐츠를 생산해 내야 해서 이렇게 되면 야근 각이죠.위니:회사 근처에 대형 마트 하나만 생겼으면 좋겠어요.매번 리뷰 할 제품 구하러 다닐 때마다 너무 힘들어요.회사 근처에 대형 마트가 하나도 없거든요.마지막으로2017년 먹피디 팀의 새로운 목표는 무엇인가요?애쉬:사실 저희 셋 다 다른 업무를 병행하고 있기때문에 먹PD하나에만 올인 할 수 없어 그동안 성에 찰 만큼의 콘텐츠를 다루지 못했는데요.올해는 더 많은 음식을 먹어보고 더 많이 보여드리려고 해요. 2017년 들어서 실제로 그렇게 하고 있고요!덕분에 많은 핔플이 요즘 열일한다고 응원해주고 있어요.세상의 맛있는 것들 모두 탈탈 털 수 있도록 노력할 테니,여러분도 저희와 함께 맛있게 달려주세요!
조회수 1076

iOS Passbook의 signpass 분석

Passbook이란?iOS 6에서 새로 추가된 Passbook은 여러 장의 디지털 티켓, 쿠폰, 매장 카드를 담고 편리하게 이용할 수 있는 애플리케이션입니다. Passbook 안에 들어가는 티켓, 쿠폰, 매장 카드들을 Pass라고 부릅니다. Pass는 기존 앱보다 손쉽게 개발, 배포할 수 있으며, 위치나 시간에 따라 최적의 사용 시간에 맞춰 알림을 주기 때문에 더 높은 사용성을 보장할 수 있습니다. 이번 블로그 글에선 Pass를 만드는 과정에서 이용되는 signpass의 소스코드를 분석해보도록 하겠습니다.signpass?signpass는 애플이 Pass 개발에 이용할 수 있게 제공한 툴킷으로, 형식에 맞춰 개발된 Pass 디렉터리를 인증서와 함께 하나의 파일(*.pkpass)로 묶어주는 프로그램입니다. Xcode Project 형태로 소스코드와 함께 Passbook Materials에 포함되어있습니다. Passbook Materials는 애플 개발자 계정이 있으면 무료로 다운받으실 수 있습니다.왜 분석하는가?signpass가 하는 일은 Pass를 만들어서 배포하는 데 있어 필수적인 과정이지만, 많은 Pass 배포환경이 리눅스 운영체제 위에 각자 고유의 서버 시스템 위에 구축될 것이므로, 해당 커맨드 라인 툴을 그대로 이용하기보단 기반 서비스 플랫폼에 맞춰서 새로 구현해야 할 필요가 있습니다. 다행히 signpass가 하는 일은 간단하며, 애플도 signpass를 주석이 포함된 소스코드 형태로 배포하였기 때문에 어렵지 않게 분석할 수 있습니다. 이 글은 signpass를 분석해야 할 분들에게 더욱 편하게 처리 과정을 이해할 수 있도록 돕고자 합니다.signpass의 처리 과정signpass는 크게 3가지 일을 수행합니다.파일명과 hash를 key/value 형태로 담은 manifest.json을 제작manifest.json을 인증서로 인코딩한 signature 제작기존 파일과 앞의 1, 2 번에서 제작한 파일을 함께 zip 압축signpass에는 이 외에도 validation 기능과 몇 가지 커맨드 라인 처리 기능이 포함되어있지만, pkpass를 만드는 과정만 보고 싶으시다면 PassSigner.m 의 +(void)signPassWithURL:(NSURL *)passURL certSuffix:(NSString*)certSuffix outputURL:(NSURL *)outputURL zip:(BOOL)zip 메서드만 참조하시는 것만으로 충분합니다.manifest.json 제작형식에 맞춰 제작된 *.pass 디렉터리의 파일을 훑으면서 json 형태로 저장합니다. key는 파일이름, value는 파일 내용에 대한 SHA1 해싱이 들어가며 ([fileData SHA1HashString]), 완성된 json 파일은 보통 아래와 같은 내용을 하게 됩니다.{ "[email protected]" : "bd5442b4b08aa4dde333ec9ef0269e7fd93140b3", "icon.png" : "ba47a8021c8d74d2146d7244c8a0566be37df43b", "pass.json" : "1cdbac541c1736420e7fbd7455c98d0735a71a9e", "logo.png" : "780540b3a324bf66aeaee2d352283371356e9502", "[email protected]" : "a718ffd4e611e404dd3eb701454bcaefdabbe311" } signature 제작manifest.json 파일을 애플에서 받은 Pass 인증서를 이용해 인코딩합니다. (CMSEncodeContent()) 인증서를 통해 manifest를 인코딩함으로써, 쿠폰 발급자가 아닌 다른 사용자가 임의로 Pass를 편집하는 것을 방지합니다. 인코딩된 파일은 signature라는 이름의 파일로 Pass의 Top-level 디렉터리에 manifest.json과 함께 저장합니다.CMSEncodeContent는 PKCS #7 기반의 Cryptographic Message Syntax RFC 3852 표준으로, 해당하는 과정을 다른 플랫폼에 포팅할 때 표준 문서와 애플 인증서 형태를 함께 참조하시기 바랍니다.zip 압축위의 두 파일과 나머지 파일들을 모두 포함하여 zip파일로 압축합니다. 단순한 과정이므로 부가적인 설명은 생략합니다. :-)마치며signpass의 구현 과정을 이해하였다면, Pass 배포 서비스를 구축 시 기반 플랫폼 의존도가 낮은 시스템을 구축할 수 있습니다. 또한, 이 분석을 통해, 애플이 Pass를 어떠한 방식으로 안전하게 보호하는지를 이해할 수 있으므로, 여러 회사에서 Pass의 도입 여부를 고민할 때 보안 측면에서 좋은 참고 자료가 될 것으로 기대합니다.#스포카 #개발 #개발자 #iOS #iOS개발 #앱개발 #Signpass #인사이트
조회수 2109

Android Gradle Tips

안드로이드와 GradleAndroid 가 Gradle 을 이용하기 시작한 것도 3년이 다 되어 갑니다. 이제는 많은 유저가 당연히 Gradle 을 Android 기본 개발 환경으로 사용하고 있습니다.하지만 기본 설정으로만 Gradle 을 사용하는 사용자들이 많습니다. 게다가 구글에서 Android Gradle Build DSL 을 끊임없이 변경했기 때문에 많은 사용자들이 이를 이해하기도 전에 변경이 되는 경우가 매우 빈번했습니다.Gradle Dependency 분리하기안드로이드 자동화 툴위 두번의 포스팅을 통해서 TossLab 에서 사용하고 있는 Gradle 에 대해서 소개를 해드렸습니다.오늘은 Android 팀이 사용하는 Custom 설정들에 대해서 정리하도록 하겠습니다.1. 초기화 값 검증 및 설정하기개발자들이나 CI 에서 관리해야하는 속성 값에 대해서는 각각 다르게 설정할 필요가 있습니다.안드로이드 팀은 3개의 추가적인 속성값을 추가하여 사용하고 있습니다.# gradle.properties inhouse_version=2 # 배포/qa 버전의 hofix version 을 관리학 ㅣ위함 report_coverage=false # coverage 측정에 대한 on/off 기능 dev_min_sdk=21 # minSDK 의 개별적인 관리를 위함 위의 3개의 값은 존재 하지 않으면 빌드가 되지 않도록 하는 강제사항으로 만들었으나 새로운 개발자가 입사하게 되었을 때 또는 CI 서버에 실수로 기입하지 못하게 되었을 때 Project Import 나 빌드가 아예 되지 않는 현상이 발생하였기에 초기 값을 설정할 수 있도록 하였습니다.report_coverage 는 5. Android Gradle DSL 에서 buildTypes.debug.testCoverageEnabled 에서 사용되며 이 값은 설정에 따라서 디버그 과정에서 변수값들이 제대로 노출되지 않게 됩니다. report 가 필요한 CI 서버 용으로 만들어진 값입니다.// valid.gradle def checkValidProperties() { println "Properties Valid Checking.........." if (!project.hasProperty("inhouse_version")) { println "set up to gradle.propeties --> inhouse_version = 1 (default)" project.ext.inhouse_version = 1 } if (!project.hasProperty("report_coverage")) { println "set up to gradle.propeties --> report_coverage = false (default)" project.ext.report_coverage = false } if (!project.hasProperty("dev_min_sdk")) { println "set up to gradle.propeties --> dev_min_sdk = 19 (default)" project.ext.dev_min_sdk = 19 } println "Properties Valid Check OK" } checkValidProperties() // ------------------------------- // build.gradle apply from: 'valid.gradle' 위와 같이 설정한 뒤 gradle.properties 에 아무런 값을 설정하지 않고 빌드를 하게 되면 빌드 최초에 다음과 같은 log 를 보실 수 있습니다.================================================================================ Properties Valid Checking.......... set up to gradle.propeties --> inhouse_version = 1 (default) set up to gradle.propeties --> report_coverage = false (default) set up to gradle.propeties --> dev_min_sdk = 19 (default) Properties Valid Check OK ================================================================================ 2. APK Copy 하기QA 팀 전달 또는 스토어 배포시에 Android Studio 의 기본 기능을 이용하지 않고 Gradle Task 를 사용하여 빌드를 하게 되면 /app/build/outputs/apk 에 있는 패키지를 복사하는 것이 여간 귀찮은 작업이 아닐 수 없습니다.그래서 Gradle 에서 기본적으로 제공되는 Copy Task 를 이용하여 APK Copy Task 를 만들었습니다.// apk-copy.gradle android.applicationVariants.all { variant -> // 1. Copy Task 생성 def task = project.tasks.create("copy${variant.name}Apk", Copy) task.from(variant.outputs[0].outputFile) // 2. 바탕화면 Task 로 복사 task.into("${System.properties['user.home']}/Desktop/") // 3. 복사하는 과정에서 APK 이름 변경 def targetName = "jandi-${variant.baseName}-${variant.versionName}.apk" task.rename ".*", targetName task.doFirst { println "copy from ${source.singleFile.name} to $destinationDir" } task.doLast { value -> println "completed to copy : $targetName" } } // --------------- // build.gradle apply from: 'apk-copy.gradle' 위의 Task 는 총 3개의 단계로 구분할 수 있습니다.Copy Task 생성~/Desktop 으로 복사복사 할 때 APK 이름 변경Task 를 정의하는 과정에서 application 의 flavor, build-type, version 을 기반으로 복사하도록 한 것입니다.위와 같이 설정하면 다음과 같이 사용할 수 있습니다.# flavor : qa , build-type : Debug $> ./gradlew assembleQaDebug copyqaDebugApk # 또는 줄여서 아래와 같이 쓸 수 있습니다. $> ./gradlew aQD copyQDA Application Variant 에 대한 변수는 링크에서 확인하실 수 있습니다.3. CI TasksCI 용으로 CheckStyle 과 PMD 를 사용하기 때문에 관련 설정 또한 별도로 처리하였습니다.task pmd(type: Pmd) { source 'src/main' include '**/*.java' ruleSetFiles = files('../pmd.xml') ignoreFailures = true } task checkstyles(type: Checkstyle) { configFile file('../checkstyle.xml') source('src/main') include '**/*.java' classpath = files() showViolations = true ignoreFailures = true } // --------------- // build.gradle apply from: 'ci-tasks.gradle' CheckStyle 과 PMD 설정에 필요한 정보 또한 별도의 script 로 설정하였습니다.4. Gradle Properties빠른 빌드를 위해 추가적인 설정을 하고 있습니다.# gradle.properties # 백그라운드 빌드 org.gradle.daemon=true # 동시 빌드 org.gradle.parallel=true # jvm heap size org.gradle.jvmargs=-Xmx4346m # build jdk org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home 위의 설정 중에서 제일 보셔야 할 것이 org.gradle.jvmargs 입니다. Android Gradle 설정 중에서 위의 값이 적으면 빌드속도가 현저히 느려집니다.빌드 할 때 console log 를 확인하시고 값을 적절하게 맞춰주실 것을 권장합니다.5. Android Gradle DSL 추가 정의하기 // build.gradle // ...중략 android { // 특정 Flavor에서 Release Build 막기 android.variantFilter { variant -> if (variant.buildType.name.equals('release') && (variant.getFlavors().get(0).name.equals('qa') || variant.getFlavors().get(0).name.equals('dev'))) { variant.setIgnore(true); } } buildTypes { debug { debuggable true testCoverageEnabled = project.hasProperty("report_coverage") && report_coverage.toBoolean() } // ..중략... } productFlavors { dev { // demo version applicationId 'com.tosslab.jandi.app.dev' versionName(defaultConfig.versionName + ".dev." + inhouse_version) minSdkVersion project.hasProperty("dev_min_sdk") ? dev_min_sdk : 19 } // ..중략.. } // 빌드 과정에서 CPU 와 Ram 최적화 하기 dexOptions { javaMaxHeapSize "2g" maxProcessCount Math.max(1, ((int) (Runtime.getRuntime().availableProcessors() / 2))) } } variant-filter 를 이용해서 qa 나 dev 용 빌드는 release 버전이 빌드되지 않도록 하였습니다.buildTypes 와 productFlavors 에서는 앞서 설정한 gradle-properties 에 대해서 설정에 따라 기본값이 지정되도록 하였습니다.dexOptions 설정은 개발하는 기기의 PC 환경에 따라 다를 수 있습니다.Android DSL 에 의하면 Dex 빌드 과정에서 최종적으로 사용하는 메모리는 heapsize * process-count 라고 합니다.heapsize 기본값 : 2048MBprocess-count 기본값 : 4참고문서6. Android Resource Image 의 EXIF 정보 삭제하기보통 디자이너가 Photoshop 과 같은 툴을 이용하여 이미지를 만들게 되면 자동으로 adobe 와 관련된 exif 정보가 붙게 됩니다. 그래서 빌드 할 때 libpng warning : iCCP ... 와 같은 warning 메세지를 보실 수 있습니다. 이는 Android Build 과정에서 aapt 가 이미지 최적화 하는 과정에서 불필요한 exif 정보로 인해서 오류를 내게 됩니다.따라서 exif 정보를 초기화 해주는 작업이 필요합니다.맥 사용자에 한해서 지원됩니다.HomeBrew 를 이용해서 exiftool 을 설치하셔야 합니다. exiftool 설명find . -path '*src/main/res/*' -name '*.png' -exec exiftool -overwrite_original -all= {} \; 저는 별도로 쉘 스크립트를 만들어서 실행합니다.아래를 복사해서 붙여넣기로 실행하시면 됩니다.echo "find . -path '*src/main/res/*' -name '*.png' -exec exiftool -overwrite_original -all= {} \;" > exif_clean.sh chmod 744 exif_clean.sh 관련 정보 : adt-dev google group 에서 제시된 해결책Wrap up안드로이드 팀은 Gradle 을 이용하여 반복적일 수 있는 작업을 자동화 하고 다양한 초기화 설정과 편의를 가지고자 하였습니다.초기화 값 검증 및 설정Apk 복사 자동화CI Task 정의Gradle Properties 지정Android Gradle DSL 정의Android Resource Image EXIF 삭제Gradle 을 얼마나 잘 활용하냐에 따라서 조직에 필요한 Task 를 금방 만드실 수 있습니다. 이번 포스팅이 도움이 되었기를 바라며 활용해보실 것을 권장합니다.#토스랩 #잔디 #JANDI #개발자 #개발팀 #앱개발 #안드로이드 #인사이트
조회수 1449

초기 스타트업의 무료 마케팅 채널

** 본 글은 문돌이 PM의 마케터 따라하기 시리즈 입니다.** 1화 보기 - 초기에 할만한 ASO (앱스토어 최적화) 팁** 2화 보기 - 초보 PM이 알아야 하는 초기 모바일앱 분석 101** 3화 보기 - 스타트업 브랜딩: 내가 보는 나와 너가 보는 나의 일치** 4화 보기 - 홍보영상 직접 제작해서 수백만원 절약해보자** 5화 보기 - 바이럴루프, 중요한건 알겠는데 어떻게 적용할래?** 6화 보기 - 인스타그램 노가다 마케팅 101** 7화 보기 - 문돌이도 간지나는 HTML 이메일좀 보내보자** 8화 보기 - 인스타 마케팅 헛수고를 줄이는 10가지 마케팅 방법론연간 억단위의 돈을 쓸 수 있는 대기업에서 광고 기획을 운영하다가 갑자기 팀원 2명에 매달 50만원도 안되는 호주머니돈으로 광고를 운영해야 하는 투자유치 전 단계의 스타트업을 운영하는 상황에 처하게 되면 최소 일주일정도의 멘붕상태를 경험하게 된다. 아주아주 개인적인 경험에 기반해서 대략 저 일주일동안 어떤 멘붕경험에 처하게 되는지 적어보면 다음과 같다. (강조하지만, 아래같은 상황은 대행사에서 일하시는 내공 높으신 분들과는 상관 없는 얘기입니다. 본인처럼 파포&액셀에 예산 박아넣어서 전달해본 일만 해본 사람에게 해당하는 시추에이션입니다)1일차 - 기업에서 하던대로 100만원의 돈을 가지고 포털 키워드광고, 포털 배너광고, 페북, 인스타, 유투브, 구글 GDN, 모바일 디스플레이 네트워크 등등의 온라인 위주의 광고 채널에 돈을 배분해 본다.2일차 - 어제 배분했던 채널들의 단가를 뒤져보기 시작한다. (보통 대행사에 일임하던 부분이라 본인은 실제 단가가 어떤지, 어떤 식으로 운영되는지에 대한 지식이 1도 없을 가능성이 크다.) 내 예상보다 대략 100배는 높은 단가에 멘붕을 겪은 후에 다음 채널들을 제거한다 - 포털사이트, 모바일 디스플레이, 구글 GDN.3일차 - 2일동안 시간낭비한 느낌이다. 100만원도 안되는 돈 가지고 집행 계획을 세우려 했던게 잘못이였던것 같다. 따라서 오늘부터는 확실한 채널을 하나씩 파볼 예정이다. 우선 페북부터 시작해 보자. (역시 보통 대행사에 일임하던 부분이라 본인은 실제 페북 광고를 어떤식으로 집행하는지에 대한 지식이 1도 없을 가능성이 크다.) 오늘 하루는 페북 광고를 어떤식으로 운영하는지 (사실 별로 도움이 되지 않는) 동영상 강의나 블로그 글들을 열심히 스크랩하면서 시간을 보낸다. 오늘 하루가 마감할 즈음 '아 페북 광고 할만 하구나' 하는 생각과 함께 내일 실제 집행할 부푼 기대를 앉고 꿀잠에 빠진다.4일차 - 페북 광고 컨텐츠를 만들기 시작한다. 이 역시 해본적이 없기 때문에 대략 본인 제품 이미지에 문구를 넣어서 그럴싸하게 만들었다고 자축하며 오전을 보낸다. 점심을 먹고 오후에 이제 광고를 태우려고 하는데, 아차! 광고를 태우려면 페이지가 필요하다는걸 그제서야 깨달은 후 오후내내 페이지 만드는 작업을 한다. 이건 또 다른 세계이므로 페이지를 어떻게 만드는지, description에는 뭐라고 쓰는지, 만들긴 했는데 라이크가 1도 없으니 페북 친구들을 열심히 초대하면서 남은 하루를 다 쓴다. '내일은 진짜 광고를 태우고야 말테다'라는 불타는 신념과 함께 또 한번 꿀잠에 빠진다.5일차 - 드디어 페북 광고를 태우려고 'Create Advert'라는 탭을 태어나서 처음으로 클릭해 본다. 맨 처음에 뜨는 Boost post, Send to your website, Improve views, Get installs of your app, Improve conversions, 등등 생전 처음보는 광고상품들을 클릭해야 하는데 각각 의미하는게 뭔지 찾아보느라 반나절을 또 소모한다. 어렵게 Get installs of your app을 선택한 후에 다음 페이지로 넘어갔더니 나는 당장 컨텐츠부터 올릴걸 예상하고 있었는데 타겟을 정하는 페이지가 먼저나와 당황하기 시작한다. 어제 동영상에서 본 타겟팅 방법을 떠올리며 '서울거주,' '19-25 여자,' 'Dogs lover,' 'In College' 등등 타겟팅을 초 세밀하게 하면서 '우와 이래서 페북페북 하는구나 타겟팅을 이렇게나 세밀하게 할 수 있다니!' 라고 감탄하면서 타겟팅 완료하는데만 2시간정도 걸린다. 하루 버짓을 입력하라는데 우리는 돈이 별로 없으니 일단 소심하게 $5을 적어본다. 엥??? 앱 인스톨 광고는 미니멈이 $20이라는 메시지에 멘붕을 겪고, 다시 첫 페이지로 돌아가서 상품을 바꿔본다. 이것저것 찾아보고 2시간 더 삽질해 보니까 대략 'Boost your post'가 가장 저렴한 제품이라는걸 깨닫고 난 후에 Boost your post를 할 포스팅을 먼저 해야겠구나.. 하고 생각하며 아 젠장.. 여기부터는 내일 다시 해야겠다 하고 다소 불안한 마음을 뒤로하고 잠에 빠진다.6일차 - 벌써 일주일이 다되가는데 광고는 태우지도 못하고 개발자는 '너 도대체 일주일동안 뭐하는거냐'라고 말하는 듯한 압박감을 느끼며 다시 포스트를 만들기 시작한다. 이미 만들어 높은 포스트를 올리고 다른 기업들이 하는것 처럼 내용을 입력하고 클릭할 링크까지 잘 삽입한다. 페북 다루는데 조금 익숙해졌기 때문에 이 작업은 1시간만에 완료한다. 다시 어제 했던 과정으로 Boost your post, 타겟팅, 버짓, 컨텐츠 등등의 과정을 잘 클리어한 후 드디어 서브밋을 했다!!!! 우와 드디어 태어나서 처음으로 내손으로 집행한 광고구나 하고 자축하며 신나게 점심먹으러 간다. 점심먹고 와서 'manage advert' 탭으로 가서 내가 집행한 광고가 잘 나가고 있는지 살펴보려는데 으잉???? 내 광고가 reject 됐단다... 이유는 이미지에 텍스트가 너무 많다고 한단다. 오늘 오후내내 이 부분과 씨름하며 어찌어찌 성공적으로 광고가 approval 되고 안도한다. 오늘은 토요일이니 불토를 보낼 계획과 함께 광고가 잘 태워지고 있는걸 확인하고 퇴근한다.7일차 - 어제 너무 신나게 달려서 점심때 즈음 띵한 머리로 일어나서 페북 광고부터 확인한다. 광고는 계획한대로 내 돈을 아주 쭉쭉 잘 뽑아먹고 있다. 근데 으잉??? 포스트 reach는 벌써 1000명 가까이 생겼는데 라이크 0, 공유 0, 댓글 0, 링크클릭 2의 무반응 대 참사에 또 멘붕에 빠진다. 나름 이유가 뭔지 찾아보고 고민해보고 하니까 '아, 내가 너무 광고처럼 컨텐츠를 만들었구나..' 라고 생각하거나, '내가 타겟한 젊은층이 요즘 페북을 별로 안하나보다..'라고 생각하기 시작한다. 아무튼 광고 태우기 시작한지 하루밖에 안 지났으니 조금 더 태워볼까 하는 심정으로 일요일인데 제대로 쉬지도 못하고 계속 stat창을 리프레시만 해대면서 스트레스 게이지가 높아진다.대략 위와같은 악몽같은 1주일은 필자가 실제로 겪은 경험이다. 실제로 일주일간 페북을 더 태워보고 돈은 약 50불을 썼는데 반응 제로의 광고를 집행한 다음에 '아, 페북은 젊은애들은 이제 안 쓰는 채널이구나' 라고 말도 안되는 합리화를 하며 포기한 후에 다른 채널들을 살펴보다가 계속 시간낭비만 하는 악몽의 사이클을 겪은 경험이 있다. 사실 매달 50만원도 안되는 호주머니돈 가지고 본인이 페북 타임라인에서 발에 치이도록 보이는 공유 몇백 몇천개씩 나오고 있는 광고나 바이럴 컨텐츠들처럼 되는걸 기대하고 페북만 파고 있다가는 내가 이러려고 회사 때려치고 스타트업 차린다고 했나 하는 자괴감만 들면서 스트레스 게이지에 버닝아웃 되기 쉽다. 물론 컨텐츠가 정말 아주아주 훌륭하다면야 저런 호주머니돈으로도 페북에서 바이럴 일으키는게 불가능한건 아니지만 페북은 지금까지 내 경험상 적절한 예산이 받쳐주지 않는 한 바이럴이 뻥 터지는게 구조적으로 불가능한 채널이라고 생각한다.따라서, 이 글에서는 초기에 저런 페북 채널에 너무 의존하지 않고 (페북은 호주머니돈으로도 절대 포기할 수 없는 채널이기에 나중에 따로 글을 쓰려고 한다.) 돈 한푼 안들이는 무료채널을 통해 바이럴을 일으킬 수 있는 방법에 대해 논의해 보고자 한다.접근 가능한 무료채널들을 발굴하여 특징 정리하기필자가 지금까지 활용해왔던 모든 무료채널들을 나열해 보면 다음과 같다.- 국내 커뮤니티: 클리앙, SLR클럽, 불펜, 루리웹, 뽐뿌, 네이트판, 네이버 아사모 카페, 각 대학 홍보게시판, 디시인사이드, 리뷰리퍼블릭- 해외 커뮤니티: 레딧, 프로덕헌트, IGN, 틴더, iMore, XDA- 국내 뉴스 및 매거진: 플래텀, 벤처스퀘어, 비석세스, 버티컬플랫폼, 디에디트, K스타트업밸리- 국내 기타: 위키트리, 빙글본 채널들을 간략하게 다음과 같이 정리해서 향후 컨텐츠를 게시할때 타이밍, 컨텐츠 주제, 후킹포인트, 톤앤매너등을 결정하는데에 참고자료로 활용할 수 있도록 한다. 아래 정리 내용은 어디까지나 필자 본인의 개인적 의견으로 정리한것이기 때문에 저게 정답이라고 생각하지 말고 꼭 본인이 직접 분석하길 바란다.1) 클리앙- 커뮤니티 성격: IT관련 종사자들의 모임에서 시작한 커뮤니티. 대체적으로 사람들이 훈훈하고 서로 돕고자 하는 분위기가 강하다. 클리앙 회원으로서의 자부심이나 각 소모임에서의 유대감도 매우 높은 편이다.- 유저: 30대-40대 초반의 IT관련 종사자들, 중간관리자급이나 전문가 레벨의 사람들이 많다.- 후킹포인트: 최신정보나 IT쪽으로 신기한거, 가공되지 않은 정보- 주의사항: 커뮤니티의 전체게시판인 '모두의공원'보다는 '아이포니앙'과 같이 서브 그룹을 활용하는게 좋다.2) SLR클럽- 커뮤니티 성격: 옛날 DSLR 광풍이 불때 출사족들의 장비관련 정보교류 커뮤니티에서 시작했으나 지금은 유머글, 정치글 등등이 많이 올라오는 커뮤니티로 변모됐다.- 유저: 20대-30대의 젊은 층이 모여있는듯 하지만, 아직도 카메라관련 서브그룹에는 40-50대 분들이 많이 있는듯 하다.- 후킹포인트: 무조건 신박하고 재밌는거 위주- 주의사항: 하루에 글이 너무 많이 올라와서 한번 올리면 반나절만에 5-6페이지까지 넘어간다. 따라서 오히려 밤 늦은 시간이나 오전 10시-12시 사이에 트래픽이 적을때 포스팅해서 최대한 포스트 수명을 늘리는게 중요하다.3) 루리웹- 커뮤니티 성격: 옛날 소니등등 게임기 관련에서 출발한 커뮤니티같다. 솔직히 아직도 잘 모르겠으나 게임관련 커뮤니티로 특화된듯 하다.- 유저: 게임 좋아하는 유저들. 나이대는 딱히 없이 골고루인듯 하다.- 후킹포인트: 무조건 최신의 정보성 글들. 유머글들은 타 커뮤니티에 비해 좀 배재되는 성향이 있음. 뭔가 이 커뮤니티에서 처음 밝혀지는 내용들에 대한 관심이 많은 편.- 주의사항: 여기는 아예 앱을 소개하는 게시판도 있기는 하나 트래픽이 많지 않은 편. 메인 게시판인 '애플' '안드로이드' 게시판에 글을 개제하려면 로그인 횟수가 최소 30일 넘어야 권한이 주어진다.4) 뽐뿌- 커뮤니티 성격: 특가 딜들을 공유하는 커뮤니티에서 출발했다고 한다. 커뮤니티 정책이 엄청나게 엄격해서 왠만한 광고글은 광속으로 차단된다.- 유저: 30대가 많은듯 한데, 할인 딜들을 찾아보면서 알뜰하게 거래하는걸 즐기는 쇼핑족들을 행각하면 됨.- 후킹포인트: 본 커뮤니티에만 독점적으로 알려지는 정보가 인기가 높다. 또한 제 3자가 퍼서 소개하는 글이어야 회원들에게 먹혀진다.- 주의사항: 제 3자가 아닌 본인이 3자인척 해서 올리는걸 주작이라고 표현하는데 (아래서 설명할거임) 주작인게 들통나면 가차없이 글 신고되서 차단되니 주의하자.5) 네이버 아사모- 커뮤니티 성격: 옛날 아이폰 관련 모든 정보는 이 카페를 통했다 할 정도로 유명했던 애플 관련 네이버 카페- 유저: 나이대는 딱히 없음. 댓글다는 사람들로 보면 주로 남자들이 대부분인듯 함.- 후킹포인트: 여기는 아예 앱을 소개하는 코너가 있어서 그냥 앱 광고 글 올려도 무방함.- 주의사항: 네이버 카페 자체가 요즘 트래픽이 떨어지는듯 해서 그런지 이 카페도 트래픽이 막 활발하게 나오진 않지만, 조회수가 꾸준히 올라가는 장점이 있다. 처음에 올린 후에 조회수가 천천히 올라간다고 절대로 실망하지 말고 인내하며 기다려 보자.6) 리뷰리퍼블릭- 커뮤니티 성격: 페북에서 아주 유명한 '리뷰왕 김리뷰'님이 만든 리뷰 커뮤니티 사이트이다. 필력 넘치는 리뷰어들이 모여있고, 사이트 트래픽도 동접이 항상 100-300명대를 유지할 정도로 활발한 커뮤니티.- 유저: 20대-30대의 젊은 유저들, 남자들이 많은듯 하다.- 후킹포인트: 무조건 필력이 넘쳐야 한다. 재미없는 글, 그냥 단순 광고들은 바로바로 다운보트로 저기 마리아나 해구까지 떨어진다.- 주의사항: 리뷰와 광고글의 차이를 잘 파악해야 한다. 내가 내 제품을 너도 써봐 하는 식의 글이 광고이고, 제 3자가 다른 제 3자한테 이거 써봤더니 이래이래함 하고 쓰는 글이 리뷰이니, 그 포인트를 잘 잡아서 글을 써야 한다.7) 레딧- 커뮤니티 성격: 쓰레드라고 불리는 글이 업봇, 다운봇을 받아서 상위로 노출되거나 사장되는 해외 최대 커뮤니티. 사실 해외에는 우리나라처럼 커뮤니티문화가 잘 발달되어 있지 않아서 레딧이 거의 유일한 커뮤니티 채널이라고 봐도 무방하다.- 유저: 워낙 규모가 커서 유저 범위도 딱히 정해져 있지 않다.- 주의사항: 서브레딧이라 불리는 하위 커뮤니티마다 글을 어떻게 써야하는지 정책이 까다롭게 정해져 있어서 이를 잘 따르는게 중요하다.8) 프로덕헌트- 커뮤니티 성격: 스타트업들이 본인 제품 출시하면서 공유하는 커뮤니티에서 출발했다. 업/다운보트 시스템으로 본인 컨텐츠가 일단위로 순위가 매겨진다. - 유저: 주로 스타트업 종사자들이나 IT 종사자들이 많다.- 후킹포인트: 신기하거나 공감을 많이 받을 수 있는 제품, 최신 기술, 수려한 디자인 등- 주의사항: 일 단위로 순위를 매기고 하루가 지나면 리셋되서 다음날 페이지로 넘어가기 때문에 업로드 타이밍이 매우 중요하다. 보통 샌프란시스코 타임 기준으로 12시가 넘어갔을때 올리는게 좋다. 또한 모든 사람들의 업보트가 모두 똑같이 평가되는게 아니라 누가 업봇했는지, 어떤 상황에서 업봇했는지에 따라 웨잇이 다르게 매겨지니 주의하자. 예를들어 업봇 누른 사람이 커뮤니티에서 팔로워가 많을수록, 업봇 누른 경로가 프덕 메인에서 직접 찾아서 들어온 트래픽일 수록 (URL을 직접 클릭해서 들어온 트래픽은 거의 제로 카운트된다) 업봇 웨잇이 높아진다.9) 틴더- 커뮤니티 성격: 모두가 알다시피 글로벌 최대의 데이팅앱이다. - 활용 방향: 데이팅앱에서 광고행위하면 바로 신고먹고 잘릴수 있다. 하지만 일본, 동남아, 유럽 일부국가에서는 게이 커뮤니티를 중심으로 광고행위를 해도 그게 뭔가 도움이 되는 정보나 신기한거면 어느정도 먹히기도 한다. 본인은 현재 운영중인 바크 앱의 일본 마케팅을 주로 틴더를 활용해서 했다.- 주의사항: 앱 프로필에 본인이 만든 제품이다는 식으로 사진을 올려놓고 모든 사람들을 right swipe 하는 방식으로 홍보한다.10) 버티컬플랫폼- 매체 성격: 로아컨설팅에서 운영하는 스타트업 관련 다양한 아티클 매체이다. 고퀄의 분석 글들이 많아서 트래픽이 매우 많다.- 유저: 스타트업 관계자들이 대부분이다.- 주의사항: 버티컬 플랫폼을 보면 제품을 소개하는 양식이 정해져 있다. 그 양식에 맞게 작성해서 에디터에게 전달해야 하며, 제품력이 뛰어나지 않거나 해결하고자 하는 문제가 별로 심각해 보이지 않으면 채택이 안될수도 있다. 이상 위에 나열한 채널 중 일부만 간략하게 정리해 봤다. 우리 대학 졸업하고 입사지원할때 이력서 쓰는 느낌이라고 생각하면 편할것이다. 각 회사마다 인재상이나 포지션 요구사항이 다 다른데 이를 무시하고 회사마다 복붙해서 이력서 지원하면 서류탈락 거의 100% 되는 것 처럼, 무료 채널들 역시 각 채널 별로 발전된 역사, 유저들, 후킹포인트, 정책등등이 모두 다른데 이를 무시하고 본인 컨텐츠를 광고처럼 복붙해서 퍼나르면 대부분 강퇴당하고 이미지도 않좋아지니 이 과정을 꼭 거치도록 하자.컨텐츠와 톤앤매너 정하기위의 과정을 거쳐 대략 무료채널들의 성격을 파악하였다면 이번에는 위의 채널별 우선순위를 정해서 컨텐츠를 올릴 차례이다. 이때 톤앤매너를 잘 정해야 하는데, 대부분의 커뮤니티에서는 광고성 글을 끔찍하게 혐호하는 경향이 있기 때문에 1) 광고인게 전혀 티가 안나게 올리거나, 2) 아예 본인이 자작한거라고 선언하는 식의 방향성 결정이 필요하다. 하나씩 살펴보도록 하자.1) 광고인게 전혀 티가 안나게 컨텐츠 만들기위에서 잠깐 언급했듯이, 광고와 리뷰의 차이는 이 글이 본인의 보이스로 작성된건지, 제 3자에 의해 작성된건지에 따라 결정된다는 것이다. 광고인게 전혀 티가 안나려면 무조건 1) 본인이 커뮤니티 실 회원이고 2) 어디서 신기한걸 발견한 것 처럼 가장해서 3) 최대한 전혀 그 회사와 관계 없는 사람의 보이스로 컨텐츠를 작성해야 한다. 이게 매우 어려운 작업이라서 이걸 어설프게 해버리면 '주작이여 활활 날아올라라~' 라는 댓글 도배와 함께 신고되서 강퇴당하기 마련이다. (주작이라는 단어를 이거 하면서 처음 알았다;;) 또한, 본인이 커뮤니티 실 회원이 아니라면 회원가입을 방금 했을텐데, 대부분은 최소 일주일~한달간 글 올리는 권한이 제한되어있을 가능성이 크다. 이런 경우 굳이 1번 전략을 하고 싶다면 해당 커뮤니티에서 활동을 오래 한 사람들을 수소문해서 그 사람의 계정으로 올리는것도 하나의 방법이 될 것이다.2) 본인이 자작한거라고 선언한 컨텐츠 만들기필자는 대부분 이 전략을 사용했다. 뭔가 본인이 신기한걸 만들었다며 솔직하게 배경을 밝히고 글을 올리는건데, 이건 광고에 해당하기 때문에 글이 바로 차단될 가능성이 크긴 하다. 하지만, 제품이 신박하고 최대한 솔직한 톤으로 양해를 구하는 식으로 올리면 살아남을 가능성도 있고, 일단 살아남기만 하면 그 방대한 커뮤니티의 트래픽을 활용할 길이 생기니 이 방법을 활용할 것을 추천한다. 자작이라고 선언하는 글에는 크게 다음 내용이 들어가 있으면 좋다. 1) 만들게 된 배경, 2) 제품 소구 포인트 3-4개 정도, 3) 커뮤니티 회원만을 위한 스페셜 딜. 특히 3번이 매우 중요한데, 본인 제품이 유료일 경우 본 커뮤니티 회원들에게만 특별히 무료 해택을 제공한다면서 댓글 달아달라는 식으로 올리면 반응이 매우 좋다. 또한 광고글일지라도 이처럼 커뮤니티 회원들에게 혜택을 주는 글들은 차단당할 확률도 줄어든다.바크 앱 소개글을 클리앙에 게시했었는데 앱을 다운받은 약 300여명의 클리앙 회원들이 앱 스샷을 공유하는게 바이럴을 타면서 3일만에 다운로드 만명 터진적이 있다. PR 매체 콜드이메일링 활용 팁사실 기자분들에게 콜드이메일로 보도자료 뿌리는 PR전략은 이게 효과가 있긴 있는건지 필자도 잘 모르겠다. 찾아보면 어떤 스타트업은 콜드이메일로 잘 뿌려지기도 한다는데 솔직히 본인이 바크앱으로 PR관련 콜드이메일링으로 전혀 효과를 보지 못했다. 이건 본인이 잘 못해서일 가능성이 거의 90% 이상이지만, 기자분들 역시 매우 바쁜 사람들이고 연계된 PR 에이전시가 다 있기 때문에 네트워크에 의해 기사가 받아들여질 가능성이 있을 것이다. 이 콜드 이메일링을 효과적으로 하는 방법론에 대해서는 벤처스퀘어의 스타트업을 위한 홍보(PR) 팁 글에 아주 잘 정리가 되어 있으니 참고하길 바란다.개인적으로 이 부분에 대한 팁을 적어보자면 다음과 같다.1) 플래텀, 벤처스퀘어, 비석세스를 먼저 두드리자.스타트업에게 단비같은 존재인 이들은 보도자료가 정말 개떡수준만 아니면 스타트업이 전달하는 왠만한 보도자료를 무시하지 않고 응대해 준다. 따라서 다른 PR매체에 콜드 이메일링을 하기 전에 우선 이 3개 매체를 먼저 두드려서 보도자료 대비 실제 기사가 나가는 프로세스 및 흐름을 체험해 본 후에 콜드 이메일링에 도전하도록 하자.2) 네이버, 다음 뉴스에서 본인 서비스와 유사한 제품의 글을 쓴 기자분들 목록을 정리하자.네이버나 다음 뉴스 코너에서 본인 서비스와 유사한 제품들을 검색해서 그 기사를 써준 기자들의 이름, 매체, 이메일, 샘플기사 URL을 엑셀로 잘 정리해 놓도록 하자.3) 보도자료는 내용은 동일한걸 복붙할지라도 첨부 링크는 유니크링크로 제공하자.사실 100여개나 넘는 기자분들에게 보내는 보도자료의 내용을 모두 다르게 작성하는건 초기 스타트업을 운영하는 사람으로서 매우 부담스러운 일이다. 따라서 어쩔 수 없이 동일한 내용을 복붙해서 보낼 수 밖에 없는데, 이때 제품링크는 무조건 유니크 링크, 즉 그 매체에서 채택이 됐을 경우에 그 링크를 타고 얼마나 들어오는지 추적이 가능한 링크를 만들어서 보내도록 하자. 그래야 갑자기 트래픽이 늘어났을때 이게 어디서 들어오고 있는지 측정이 가능해 진다.4) 이미지 자료는 대표이미지 1-2개만 이메일에 첨부하고 나머지는 드롭박스에 넣어라.보도자료가 개념없이 10메가가 넘는다던지, 첨부파일이 너무 많아지면 받는 사람 입장에서 부담스럽다. 또한 회사 이메일계정의 경우 용량이 많으면 반송되기도 한다. 따라서 보도자료에는 1) 보도자료 워드파일, 2) 대표이미지 1-2개 정도만 첨부하도록 하고, 나머지 보도자료들은 드랍박스 퍼블릭 폴더를 만들어서 거기에 업로드하고 링크를 이메일에 첨부하도록 한다.5) 지메일의 Streak을 활용해서 이메일을 상대방이 읽는지 체크하자.지메일의 익스텐션 중에 'Streak'이라는 서비스가 있다. 이건 본인이 보낸 이메일을 상대방이 열어보는지, 몇번이나 열어보는지를 체크해 주는 익스텐션인데, 이걸 활용해서 내가 보낸 콜드이메일링에 상대방이 반응하고 있는 것인지를 체크해 볼 수 있어 유용하다. 보통 view수가 5개 이상 찍히게 되면 그 이메일은 고려되고 있을 가능성이 크기 때문에, 5개 이상 넘어가는 이메일만 따로 추려서 다시 한번 리마인드 이메일을 보내는 전략도 취할 수 있다. Streak을 활용하면 몇번이나 이메일이 열렸는지, 그 위치까지 확인이 가능하다.지금까지 호주머니돈으로 운영되는 초기 스타트업이 접근 가능한 무료 채널들 활용 방법에 대해 논의해 봤다. 무료채널을 활용하는건 사실 고된 작업이고, 소위 노가다라고 불리는 작업이기도 하다. 뭔가 본인이 온라인 공간에 똥글을 싸지르는것 같은 자괴감이 들기도 한다. 하지만, 호주머니돈 수준으로 돈태워서 페북 광고하는것 보다 무료채널에서 한번 잘터지는게 효과면에서 비교할 수 없을 정도로 유용하다. 실제로 바크 앱의 경우 초기에 위에서 언급한 클리앙 채널을 통해 바이럴이 터져서 다운로드 만명을 일주일만에 달성하기도 했다. 또한 본인 제품이 무료채널들을 통해 컨텐츠가 많이 생겨야, 포털에서 검색했을때 검색 결과에 본인 제품이 많이 노출되는 장점도 생긴다.글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기
조회수 6810

KBS 신입사원 입사후기 - [이수민] KBS에서 기다리겠습니다(기자 편)

2018년 12월 12일은 제가 절대로 잊을 수 없는 날입니다. 오후 5시, ‘합격’이란 글자를 보는 순간 머리가 멍해졌습니다. 그리고는 그동안의 불안한 마음을 씻어내려는 듯, 눈물이 계속 쏟아졌습니다. 드디어 제가 기자라는 꿈을 이룬 순간이었습니다. 9월부터 시작된 모든 전형을 거치면서 신입사원 입사 후기를 정말 많이 들여다봤습니다. 정해진 정답이 없는 시험이라지만, 왠지 입사 후기에 그 답이 있을 것만 같았기 때문입니다. 분명 저와 같은 마음이었던 분들이 있을 거로 생각합니다. 그 마음을 누구보다 이해하기에, 부족하겠지만 최선을 다해 후기를 써보려 합니다. 2018년 신입직원 공개채용은 총 4단계로 진행됐습니다. 1. 서류 전형자기소개서는 최종 면접에까지 영향을 주는 중요한 서류입니다. 그만큼 정성 들여 써야 합니다. 저는 ‘KBS에 지원한 동기는 무엇입니까?’라는 질문을 가장 많이 고민했습니다. 왜 타사가 아닌 KBS 기자여야만 하는지 본인만의 답을 꼭 찾으시길 바랍니다. 자기소개서 문항이 매년 달라질 수도 있지만, 직무 지원 동기, KBS 지원 동기와 같은 문항들은 미리 써보고 제출 직전까지 고민하면 좋을 것 같습니다. 저 역시 작성 후 주위 사람들로부터 피드백을 받아 여러 번 수정했습니다. 그리고 모든 문장은 읽기 쉽도록 짧게 쓰는 게 좋습니다. 2. 필기 전형필기 전형은 상식(객관식+약술), 논술, 작문으로 진행됐습니다. KBS 뉴스, 신문, 시사 상식 책 등으로 일반 상식을 공부했습니다. 추가적으로는 KBS 사보를 정리해 KBS 관련 질문에 대비했습니다. 방송학 문제는 출제되지 않았습니다. 논술과 작문은 문제에 대한 답만 쓰기보다, ‘왜 이 질문을 했는가?’에 초점을 맞춰 답안을 작성했습니다. 저는 예상하지 못했던 논술 주제가 나와서 조금 당황하기도 했습니다. 정치, 사회 등 현안부터 KBS 보도, 공영방송의 역할, 기자의 역할 등 폭넓게 주제를 잡고 공부하셨으면 합니다. 그리고 주어진 시간이 길지 않기 때문에 시간 분배 역시 중요합니다. 시간 안에 글을 작성하는 연습을 하면 좋을 것 같습니다. 논술과 작문도 자기소개서와 마찬가지로 최대한 단문으로 쓰려고 노력했습니다. 필기 전형은 짧은 시간 내에 완벽하게 준비하는 게 어렵습니다. 평소에도 꾸준히 상식 공부와 글쓰기를 병행하면, 시험장에서도 좋은 실력을 충분히 발휘하실 수 있을 거로 생각합니다. 3. 실무 전형실무 전형은 토론 면접, 실무진 면접(사전 과제, 카메라 테스트 포함)으로 이틀에 나눠 진행됐습니다. 저는 실무 전형에 대비하기 위해 스터디에 참여했습니다. 토론 면접을 위해서는 최근에 이슈였던 사안을 정리해 찬/반 모든 입장을 공부했습니다. 저는 토론 프로그램과 관련 기사들을 보며 입장을 정리했습니다. 그리고 실제 면접 때는 제게 주어진 발언 기회를 최대한 활용했습니다. 저는 주장과 논거를 논리적으로 말하는 데에 중점을 뒀습니다. 또한, 토론 면접 때는 ‘듣는 기자’의 모습을 보여주는 게 중요하다고 생각합니다. 다른 사람이 얘기할 때 끼어들거나, 혼자만 계속 답변하는 모습은 피하시길 바랍니다.실무진 면접을 위해서는 크게 자기소개서, KBS, 시사 이슈로 나눠 예상 질문과 답변을 준비했습니다. 자기소개서 질문은 스터디를 통해 추가 질문이 나올 것 같은 부분, 추상적인 문장에 관한 구체적 사례 등을 위주로 준비했습니다. KBS 질문은 사보와 관련 프로그램을 살펴보면서 공부했습니다. 제가 준비한 질문은 KBS 뉴스의 장단점, 기억 남는 보도, 타사와의 비교, 신뢰도 문제 등이었습니다. 그리고 시사 이슈는 토론 면접을 준비하면서 공부한 내용을 바탕으로 저만의 답변을 만들었습니다. 실제 실무진 면접에서는 카메라 테스트 후 면접이 진행됐습니다. 카메라 테스트를 위한 1분짜리 스트레이트 기사를 쓰는 게 사전 과제였습니다. 많은 수치를 넣기보다, 누구나 들었을 때 한 번에 이해되는 내용으로 작성했습니다. 카메라 테스트 때는 오독 없이, 최대한 잘 들리도록 큰 목소리로 발음에 주의하며 읽었습니다. 그리고 실무진 면접 때는 당당하지만 겸손한 태도로 임했습니다. 잘 모르는 질문에는 솔직하게 잘 모르겠다고 답하기도 했습니다. 모든 답변은 두괄식으로 하되, 최대한 짧게(1분 이내) 말했습니다. 면접 때 예상하지 못했던 질문들이 많이 나왔습니다. 당황하면 말이 빨라지거나 본인이 가진 버릇이 나오기 쉬우니, 이를 대비하기 위한 연습도 하면 좋을 것 같습니다. 4. 최종 면접최종 면접은 사전 과제와 임원 면접으로 하루에 진행됐습니다. 사전 과제는 90분 동안 주어진 자료와 상황을 보고 취재계획서와 3분짜리 방송용 기사를 작성하는 것이었습니다. 시간이 길지 않고 자료의 양이 많으므로, 빠르게 주제를 정하는 게 좋다고 생각합니다. 물론, 해당 주제가 왜 기사로 쓰일 수 있는지에 대한 충분한 근거 역시 필요합니다. 이를 위해선 뉴스를 평소에도 꾸준히 보면 훨씬 도움될 것 같습니다.임원 면접을 위해서는 실무진 면접 때 준비했던 부분 외에 추가로 ‘어떤 기자가 되고 싶은가’를 많이 고민했습니다. 들어가서 어떤 보도를 하고 싶은지, 어떤 언론인이 되고 싶은지에 대한 고민을 평소에 많이 하시길 바랍니다. 임원 면접 때도 3차와 마찬가지로 당당하지만 겸손한 자세로 임했습니다. 스터디를 통해 모의 면접을 진행하거나 혼자 있을 때도 거울을 보면서 연습했습니다. 모든 답변은 문장 단위로 외우기보다 키워드 중심으로 준비했습니다.  서류 접수부터 최종 발표가 나기까지, 매일 롤러코스터를 타는 기분이었습니다. 하루는 잘할 수 있을 것 같다가도 다음날은 무기력함에 자신감이 바닥을 치기도 했습니다. 하지만 이 모든 과정을 거치면서 느낀 건 ‘KBS는 도전하는 사람에게 열려있다’라는 점입니다. 제가 잘나서 이렇게 후기를 쓰고 있는 게 아닙니다. 포기하지 말고 자신 있게 KBS의 문을 두드려 주십시오. 그러면 어느 순간 문이 열리고 KBS 안으로 들어가는 여러분의 모습을 보실 수 있을 겁니다. KBS에서 기다리겠습니다.#한국방송공사 #KBS #KBS공채 #KBS신입채용 #KBS채용 #입사후기
조회수 1453

네오펙트의 글로벌 시장 도전

내가 CEO로서 경영을 하고 있는 네오펙트는 디지털 재활기기를 개발하고 만들고 있는 스타트업이다. 2010년 6월에 창업을 했으니까 이제 만으로 6년이 조금 넘었다. 난 처음 회사를 만들 때부터 우리 회사는 글로벌 시장에서 승부를 보는 글로벌 회사가 되어야 한다고 생각했다. 직원도 몇 명 없고 제품도 제대로 없는 회사가 글로벌 회사가 되겠다고 이야기했을 때 직원들이나 외부인들이나 아마도 가당치도 않은 생각이라고 했을 것이다. 하지만 네오펙트가 글로벌 시장으로 가야 하는 것은 선언적이거나 되면 좋겠다는 옵션이 아니라 반드시 되어야 한다는 숙명이라고 생각한다.네오펙트가 글로벌 시장에 도전하는 첫 번째 이유는 우리가 헬스케어 시장에 도전하고 있기 때문이다. 헬스케어 시장은 전 세계적으로 성장하는 산업이다. 하지만 국내 헬스케어 시장은 규제와 제도적 한계로 인해 성장에 대한 제약을 가지고 있다. 그렇기 때문에 좁은 한국 시장만 바라보아서는 네오펙트의 성장은 제한적일 수밖에 없다. 이러한 성장의 제약을 뛰어넘기 위해서는 글로벌 시장에 대한 도전은 필수적일 수밖에 없다.두 번째 이유는 국내 대기업의 독과점 구조에서 자유롭고 싶어서이다. 우리나라는 모든 산업에 있어서 대기업 독과점 구조로 이루어져 있다. 소수 몇 개의 대기업이 건설, 병원, 제조, 유통 등등 모든 분야를 장악하고 있는 구조를 가지고 있다. 우리가 내수 시장에만 의존하는 경우 우리는 어쩔 수 없이 그러한 독과점 구조에 순응하고 그것에 맞추어진 '을'이 되어야 할 것이다. 하지만 난 이러한 구조에서 벗어나 우리만의 브랜드로 우리 제품을 팔고 싶다. 언젠가 한번 모 대기업에서 우리 제품을 OEM 형식으로 공급할 수 있는지를 물어본 적이 있다. 난 단호하게 거절했다. 만약 우리가 국내 시장만 생각하고 있다면 이러한 제안을 거절할 수 없었을 것이다.세 번째는 헬스케어의 패러다임이 바뀌고 있기 때문이다. 헬스케어 산업, 특히 의료기기 산업은 전통적으로 유럽과 미국 회사들이 장악한 산업이다. 네오펙트가 속한 재활기기 산업도 별반 다르지 않다. 하지만 헬스케어 시장은 디지털 기술이 들어오면서 빠르게 변화하고 있다. 이러한 변화의 시기에는 새로운 방식을 통해서 시장을 새롭게 만들어가는 우리와 같은 스타트업들에게 기회를 준다. 난 이러한 기회를 잡기 위해서는 글로벌 시장의 변화의 한가운데 서 있어야 한다고 생각한다. 헬스케어는 다른 산업군에 비해서 변화가 상당히 느린 산업이다. 하지만 최근의 변화는 이러한 고정관념을 무색하게 만들고 있다. 그렇기 때문에 이러한 변화 중심에 서기 위해서는 글로벌 시장에서 세계의 경쟁 제품들과 함께 경쟁해야 한다. 그것이 우리를 더욱 발전시킨다고 생각한다.우리의 글로벌 시장 진출은 이제 막 시작한 단계이다. 작년에 미국에 법인을 만들었고, 작년부터 미국과 유럽에 물건을 팔기 시작했다. 하지만 우리 제품을 사용한 미국과 유럽의 소비자들의 반응을 보면서 우리 제품이 글로벌 시장에서 충분히 승산이 있다는 확신을 가지게 되었다. 헬스케어 산업의 변화 속에서 네오펙트도 변화의 한 축이 될 수 있다는 확신이 들었다. 우리는 비록 한국 스타트업들의 중심이라고 하는 '강남', '판교'와는 조금 떨어진 '죽전'에 있지만 글로벌 헬스케어 산업의 중심에 있다고 자신한다.네오펙트는 말로만 '글로벌'을 외치는 회사가 아닌 실제 세계시장에서 세계의 경쟁자들과 함께 어깨를 나란히 하는 진정한 '글로벌 컴퍼니'로 성장할 것이다. 그게 우리의 숙명이다.#NEOFECT #스타트업 #스타트업창업 #창업자 #창업가 #목표 #글로벌 #세계시장
조회수 1127

클라우드와 운영자의 불안함.

2018년은 정말 클라우드가 일반화되는 해가 될듯 합니다. 클라우드 이전 사업 소식이 이곳저곳에서 들리는 요즘입니다. 스타트업 생태계는 이미 클라우드로 넘어갔지만 올해에는 엔터프라이즈 기업에서 대규모 IT 기업들까지 모두 클라우드로 넘어가고 있습니다. 와탭이 클라우드 최적화를 목표로 하는 모니터링 서비스이다보니 클라우드로 전환하는 시점에 있는 많은 기업들을 만나는데요. 클라우드를 적용하려고 준비중이거나 최근 클라우드로 이전한 기업의 운영팀들은 현업에서 사용하는 과정에서 클라우드 안정성에 대한 불안을 토로하기도 합니다. IT 운영자들이 느끼는 클라우드에 대한 불안감IT 운영의 핵심은 안정화입니다. 클라우드 이전까지 IT 인프라는 변화를 관리하는 대상이 아니였습니다. IT 인프라는 운영중에 변화하지 않으며 초기 설계에서도 최대 부하를 견디기에 충분한 여지를 남겨서 구성하였습니다. 하지만 클라우드에서는 IT 인프라가 운영중에도 변화 가능한 요소가 되면서 IT 인프라 규모 산정에서 부터 커다란 변화가 발생합니다. 최대 부하가 아닌 최소 부하가 규모 산정 기준이 되다. 여지껏 IT 인프라의 구성 기준은 언제나 최대 부하를 견딜수 있도록 설계되어왔습니다. 하지만 IT 인프라를 클라우드로 시작한 스타트업들이 IT 인프라를 구성하는 방법은 기존의 규칙을 무시하기 시작합니다. IT 인프라를 규모를 최소 부하에 맞춰서 구성하는 것입니다. 단지 실시간으로 확장 가능한 서비스 구조와 Auto Scailing을 통해 규모를 맞춰갑니다.IT 인프라 평균 부하의 기준이 높아지다. 클라우드 이전까지 우리는 IT 인프라의 CPU 부하율을 평소 20% 아래로 유지해 왔습니다. 하지만 이 또한 변화가 생깁니다. 제가 만나는 많은 클라우드 기반 서비스 기업들이 CPU 부하율을 50%에서 70%까지 유지하고 있었습니다. 일반적은 운영관점에서 IT 서비스 운영에 익숙하지 않은 기업의 운영 미숙이라 생각할 수 있습니다. 하지만 클라우드에 익숙한 운영팀은 서비스 성능에 문제가 발생하지 않는 범위에서 인프라의 규모를 실시간으로 조절합니다. 기존의 상식으로는 매우 위험해 보이지만 클라우드를 정말 잘 쓰는 기업들은 성능과 안정성을 해치지 않으면서 인프라 자원의 여유를 최대한 줄이는 방법들을 내재화하고 있습니다. IT 인프라 장애를 해결하지 않는다.  모든 IT 인프라는 장애가 발생합니다. 인프라의 장애는 이벤트성으로 발생하지만 운영팀은 장애를 반복 해결해 나가는 과정에서 패턴을 인지하고 대처해 나갑니다. 클라우드에서도 장애는 어쩔수 없이 발생하지만 운영팀은 장애를 인지할 뿐 장애를 물리적으로 해결하지는 않습니다. 대신 클라우드를 사용하는 IT 운영팀은 빠르게 서비스 구성과 환경을 전환하여 서비스를 원활하게 동작시킵니다. 운영자들이 갖는 불안감이 현실이 되다.다시 운영자들의 불안감에 대해서 이야기 해보죠. IT 인프라의 규모를 줄이고 자원 사용률이 평소에서 50%를 넘기는 급박한 사용 환경에서 클라우드 인프라에 장애가 발생해도 할 수 있는 일이 없다는 것은 정말 큰 스트레스를 주는 일입니다. 물론 위에서 설명한 것처럼 클라우드 네이티브한 서비스라면 문제없이 돌아갈 수 있겠지만 기존 레거시를 운영하면서 클라우드로 전환한다면 IT 운영자 입장에서는 앞에 이슈들이 불안감이 아닌 현실이 됩니다. 넷플릭스 7년만에 클라우드 이전을 완료하다.넷플릭스가 클라우드 이전을 결정한것은 2007년이지만 이전을 완료한것은 2016년이였습니다. 이렇게 긴 시간은 투자한 이유에 대해 넷플릭스는 "기존 IDC 기반의 인프라가 가진 문제들을 클라우드로 가져가지 않기 위해서"라고 했지만 다른 한편으로는 클라우드에서 발생하는 문제들을 해결할 수 있는 시스템 구조를 만들기 위해서였습니다. 그렇기 때문에 넷플릭스에서는 클라우드 네이티브 방식을 택하여 사실상 모든 기술을 재구축하고 운영 방식을 근본적으로 바꿨다. 아키텍처 면에서 넷플릭스는 거대한 앱을 수백 개의 마이크로 서비스로 마이그레이션하고 NoSQL 데이터베이스를 사용하여 데이터 모델을 반정규화했다. 예산 승인, 중앙화된 릴리스 관리, 몇 주에 걸친 하드웨어 프로비저닝 주기를 도입해 지속적인 콘텐츠 전달이 가능해졌으며, 느슨하게 결합된 개발운영(DevOps) 환경에서 엔지니어링 팀이 셀프서비스 툴로 독립적인 결정을 내릴 수 있게 되면서 혁신이 가속화되었다. 이 과정에서 새로운 시스템을 여럿 구축해야 했으며, 새로운 기술도 배워야 했다. 넷플릭스가 클라우드 네이티브 기업으로 변신하는 데는 많은 시간과 노력이 필요했지만, 클라우드 마이그레이션을 통해 글로벌 TV 네트워크로서 지속적인 성장을 이뤄나갈 밑거름을 마련할 수 있었다.https://media.netflix.com/ko/company-blog/completing-the-netflix-cloud-migration결론기존의 레거시를 바탕으로 클라우드 마이그레이션을 진행하는 기업들은 클라우드에서 발생하는 다양한 운영 이슈들을 겪을 수 밖에 없습니다. 대부분 클라우드 이전 사업을 진행하는 데 있어서 이전 서비스 성능을 맞추는 데만 집중하다보니 이전 후 운영과정에서 발생하는 많은 문제들은 운영팀이 짊어지게 됩니다. 하지만 이 문제들은 개발팀과 운영팀이 함께 지속적으로 개선해 나가야 합니다. 최종적으로 클라우드 네이티브 구조가 완성되기 위해서는 시스템과 조직 문화 모두가 변화해야 합니다. 클라우드 마이그레이션은 엄청 고난한 일입니다. 만일 클라우드를 도입했는데, 아직 불안함이 있다면 아직 클라우드 마이그레이션이 끝나지 않은것입니다. #와탭랩스 #개발자 #개발팀 #인사이트 #경험공유 #일지
조회수 2235

Dropwizard와 Asynchronous HBase 적용기

Background워크인사이트 서비스는 루비 온 레일즈 기반으로 작성된 웹 애플리케이션입니다. 주로 사용하는 데이터의 대부분은 HBase에 저장되어 있습니다. HBase는 자바로 작성된 API를 기본으로 제공하므로, 레일즈가 직접 HBase의 데이터에 접근할 수 없습니다. 따라서 데이터를 효과적으로 읽어들이기 위해서는 두 가지 방법 중 하나를 선택해야 합니다. 첫 번째는 HBase Java API를 이용하기 위해 웹 애플리케이션 역시 자바 기반의 프레임워크로 재작성하는 것이고, 두 번째는 HBase 스토리지 측 데이터 형식과 레일즈 웹서비스 측 데이터 형식을 서로 연결해주는 RPC 중개자를 도입하는 것입니다. 첫 번째 방법은 프로그래밍 언어를 통일함으로써 데이터 통신의 일관성은 물론 시스템 안정성이나 성능 측면에서 좀 더 낫다는 장점이 있는 반면에, 현재까지 작성한 레일즈 애플리케이션을 전부 자바 기반의 프레임워크로 재작성해야한다는 단점이 있습니다. 두 번째 방법은 보다 범용성을 지향하는 방식으로 향후 시스템의 확장에 좀 더 유용하지만, 첫 번째 방법보다 시스템 전체 성능은 뒤떨어진다는 단점을 갖고 있습니다.당시에는 이미 워크인사이트의 개발이 상당히 진척된 상태였기 때문에, 레일즈 프레임워크를 그대로 유지하면서 자바와 소통할 수 있는 JRuby를 사용하는 것이 최선인 것 같았습니다. 하지만 실험 결과 JRuby는 실 사용할 수 없을 정도의 성능을 냈습니다. 무엇보다도 레일즈 지원이 아직 미성숙한 상태였고, 사용중인 루비 젬 중에도 네이티브 C 구현 루비만 지원하는 젬이 상당 수 있었으며, 이러한 이유들로 인해 결국 JRuby는 대안에서 제외되었습니다. 루비 온 레일즈를 버리고 다른 자바 기반 프레임워크로 전면 재작성하기에는 너무 큰 소모비용과 위험요소가 있었기에 다른 방식을 고려하게 됩니다.그래서 조이는, 앞서 말한 크게 두 가지의 대안 중 두 번째, 범용 데이터 중개자를 도입하기로 결정하고, Thrift를 선택하기로 결정하였습니다. Thrift는 페이스북에서 처음 개발하였고, 현재는 아파치 재단에서 관리하고 있는 범용 RPC 프레임워크입니다. 비슷한 기능을 가진 다른 프레임워크로는 구글의 Protocol Buffer나 아파치 Avro등이 있습니다만, Thrift를 선택한 이유는 지원하는 프로그래밍 언어의 종류가 가장 다양하다는 것이었고, 워낙 많은 사용 사례가 있어 신뢰성이 검증되었다는 판단을 했기 때문입니다. Thrift는 그 규모에 걸맞게 다양한 플랫폼별 배포판을 지원하고 있으며, 조이는 현재 사용중인 하둡 시스템 관리용 Cloudera manager를 지원하는 배포판을 이용하여 디플로이하였습니다. 레일즈와의 연동도 thrift젬을 이용하여 손쉽게 할 수 있었습니다. 테스팅 결과도 문제 없었고, 이것으로 모든 것이 잘 돌아가는 줄 알았습니다.그림1. Thrift를 적용한 ZOYI Back-end SystemProblem워크인사이트는 런칭 이후 지금까지 가파른 성장세를 이어오고 있습니다. 서비스 초기에 느긋한 속도로 성장하던 적용 매장 증가 추세는, 2015년 현재 기하급수적으로 증가하는 상승곡선을 그리고 있으며, 그에 따른 시스템의 스케일 업 & 아웃 이슈도 매 달 새롭게 발생하고 있습니다.그림2. 오픈 이후 워크인사이트가 구동 중인 실제 매장 수문제없이 잘 굴러갈 것만 같았던 Thrift서비스 역시 조이의 성장세에 따라 점차 부하가 걸리기 시작했는데, 당초에 기대했던 범용 RPC 프레임워크가 보장하는 확장성과 동시성과는 조금 다른 성격의 문제가 발생하게 되었습니다. 시스템에 대규모 질의가 집중되는 시점에 병목 현상이 발생하고, 이것이 CPU와 메모리의 한도를 초과하면 그대로 다운되는 현상이었습니다. 특히 메모리 사용량이 복구되지 못하고 계속 쌓여만 가는 누수 현상이 치명적이었습니다. 게다가 이렇게 다운된 Thrift가 재시작된 경우, 레일즈와의 연결을 복구하지 못하는 현상도 비주기적으로 발생하였습니다.조이의 하둡 클러스터는 본래부터 확장성을 고려하여 설계되었기 때문에, Thrift에서 발생한 이러한 문제는 생소한 것이었습니다. 다각도에서 테스트를 해 봤지만, 처음에는 원인을 파악하기가 쉽지 않았습니다. 리부트된 클러스터도 자가 복구가 되지 않아, 개발팀이 직접 클라우데라 매니저를 주시하고 있다가 Thrift 서버의 다운 시점에 수동으로 재시작을 해 줘야 하기도 했습니다. 데이터 변환 프로토콜의 문제인지 검토해 보았으나, Thrift 프로토콜이 갖는 본질적 결함은 더더욱 아니었습니다. 자바 언어가 갖고 있는 내재적 결함도 아니었습니다. HBase가 제공하는 자바 API의 문제도 아니었습니다.하지만 심도 있는 검증 과정을 통해, Thrift의 가비지 컬렉션이 제대로 작동하지 않는 문제를 발견하였고, 이는 단순히 Thrift의 최적화의 문제가 아니라는 결론에 이르렀습니다.Dropwizard그렇게 고심하던 개발팀은, 2014년의 워크인사이트 첫 런칭 시점으로 되돌아가서 생각해보기로 합니다. 당시의 조이가 먼저 생각했던 방식은 JVM 기반의 프레임워크였는데, 자바를 이용하여 서비스 레벨도 구현하면 Thrift에서의 데이터 변환 과정에서 야기되는 문제를 원천적으로 방지할 수 있음에 다시금 주목하게 되었습니다. 많은 프로그래밍 언어간의 데이터 통신을 위해 설계된 Thrift는 사실 레일즈와 자바로 균일하게 구축된 조이 시스템에는 필요 이상으로 무겁고 큰 프레임워크였습니다. 조이가 겪은 이런 Thrift의 문제를, 해외의 여러 기업들도 경험하였고 각기 다른 방법으로 최적화를 진행한 것도 알게 되었습니다. 이렇게 된 이상 바꿀 수 밖에 없었던 것입니다.그래서 다음 대안을 찾기 위해 많은 리서치와 스터디를 진행했습니다. 넘쳐나는 프레임워크들의 홍수 속에서 가볍고 안정적이며 구현이 편리한 프레임워크를 찾기란 쉽지 않았습니다만, 결국 Dropwizard라는 자바 프레임워크를 도입하기로 결정하게 됩니다. Dropwizard는 이미 잘 알려져 있는 Spring이나 Play 등과 같은 풀 스택 자바 프레임워크와는 다른, 경량 REST API 프레임워크입니다. Dropwizard는 모듈화가 잘 되어 있고, 숙성된 자바 생태계의 안정적인 라이브러리(Jetty, Jersey, Jackson)들을 사용하였으며, 모던 자바에 걸맞는 방식(리플렉션, 동시성 등)을 사용하기 쉽게 패키징되어있습니다. 국내에는 잘 알려지지 않았지만, 해외에서는 이미 Airbnb 등 유수의 스타트업들이 실제 서비스에 사용함으로써 그 유용성을 입증하고 있는 프레임워크입니다.그림3. Dropwizard로 새로 구성된 ZOYI Back-end System다만, 처음 사용하는 프레임워크에 조이의 모든 서비스를 포팅하는 것은 불가능에 가까웠고, 설령 하더라도 엄청난 리스크를 감당할 가치가 있는 지 의문이었습니다. 레일즈가 보장해주는 빠른 기능 구현과 쉬운 배포 및 강력한 ORM 등은 루비 온 레일즈가 주는 최대의 강점이기에, 이를 포기하기는 쉽지 않았습니다. 생산성과 성능, 어느 한 쪽도 놓치고 싶지 않았습니다.그래서 조이는 두 마리 토끼를 다 잡아 보기로 결정합니다. 레일즈의 장점을 유지하면서, Dropwizard의 최대 장점인 HBase 데이터 접근의 유연성도 살릴 수 있는 방법을 찾기로 하였고, 결론적으로 Dropwizard는 기존의 Thrift가 담당하던 데이터 중개자의 역할만을 수행하게 되었습니다. Dropwizard의 잘 나뉘어진 모듈화는 이를 가능하게 해 주었습니다. 모든 모듈을 사용하면 풀 스택 프레임워크에 버금가는 규모의 시스템도 구축할 수 있지만, 필요한 것만 선택하여 사용하면 가볍고 빠르게 작동하는 미들웨어 역할도 가능한 것입니다.Asynchronous HBase, and Java 8Dropwizard가 HBase 연결에 사용한 클라이언트 모듈은 AsyncHBase입니다. Asynchronous HBase는, 타임스탬프 기반 데이터베이스인 OpenTSDB를 만든 팀이 자신들의 제품에 HBase를 연동하기 위해 기존의 HBase 클라이언트인 HTable을 대체하는 모듈을 재작성한 것으로, 완전한 비동기 방식과 넌블록킹 및 스레드 안전성 보장이 강점이라 할 수 있습니다. AsyncHBase와 Dropwizard를 연동하는 것은 매우 수월했습니다. 테스트 결과, 간결한 코드로도 초당 수 만 단위의 동시성을 안정적으로 처리할 수 있음을 검증했습니다. 조이는 OpenTSDB를 실시간 데이터 분석에 사용하고 있어, 해당 팀이 제공하는 제품의 품질과 전망에 대해 신뢰를 갖고 있었습니다. 테스트 결과는 이 신뢰를 더욱 뒷받침해주었고, 본 모듈을 Dropwizard의 HBase 연결 모듈로 선정하게 되었습니다.또한, Dropwizard와 AsyncHBase의 도입과 함께 처음으로 자바 버전 8로의 이식도 진행하게 되었습니다. 자바 8은 람다와 스트림 등 함수형 프로그래밍의 여러 기법을 대거 도입하였고, 자바 특유의 장황한 문법을 조금 더 간결하게 축약할 수 있는 장점이 있습니다. Dropwizard와 AsyncHBase 모두 자바 8과 순조롭게 연동되었으며, 이 결과에 만족한 조이는 기존의 하둡 맵 리듀스 프로젝트 역시 자바 8로 버전업하기로 결정하였습니다.PerformanceDropwizard의 성능 테스트 결과는 만족스러웠습니다. AsyncBase도 기대를 저버리지 않는 결과를 보여 주었습니다. HBase Java API와의 매끄러운 연동은, 성능 측면에서 기존과는 비교할 수 없을 정도의 향상을 보여주었고, 이 덕분에 기존 맵 리듀스 워크플로우 중 일부를 실시간 처리로 옮겨, 좀 더 유연하고 동적인 분석이 가능하게 되었습니다.다음의 비교는 Thrift와 Dropwizard의 각각의 벤치마크 테스트를 100개 동시 작업, 단위당 10000개의 요청으로 수행한 경우의 결과를 나타낸 것입니다.그림4. Thrift 테스트 시의 메모리 사용량Concurrency Level: 100 Time taken for tests: 514.315 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 32090000 bytes HTML transferred: 27600000 bytes Requests per second: 19.44 [#/sec] (mean) Time per request: 5143.151 [ms] (mean) Time per request: 51.432 [ms] (mean, across all concurrent requests) Transfer rate: 60.93 [Kbytes/sec] received Thrift 벤치마크 결과. 전체 수행에 514초가 걸렸습니다.그림5. Dropwizard 테스트 시의 메모리 사용량Concurrency Level: 100 Time taken for tests: 4.599 seconds Complete requests: 10000 Failed requests: 121 (Connect: 0, Receive: 0, Length: 121, Exceptions: 0) Non-2xx responses: 121 Total transferred: 23288000 bytes HTML transferred: 21559452 bytes Requests per second: 2174.25 [#/sec] (mean) Time per request: 45.993 [ms] (mean) Time per request: 0.460 [ms] (mean, across all concurrent requests) Transfer rate: 4944.72 [Kbytes/sec] received Dropwizard 벤치마크 결과. 전체 수행에 4초가 걸렸습니다!그림6. 초당 처리량 (높을수록 좋음)벤치마크 테스팅 시 스레드 분산이 최적화 된 경우에는 최대 100배 이상의 속도 향상이 있었습니다. Dropwizard는 기존 Thrift에 비하여 성능 향상은 물론, 안정성 면에서도 시스템이 다운된 이후에 자동 복구되지 않는 현상도 사라졌습니다. 무엇보다도 짧은 코드만으로 대규모의 질의에도 견고하고 신속하게 반응하는 서비스를 구현할 수 있다는 점이 Dropwizard의 가장 큰 장점입니다.Conclusion유용한 오픈소스 프로젝트는 시장에 너무나도 많이 널려 있습니다. 이 중에 어떤 것을 선택하는가는 소프트웨어 기업에게 중요한 안건이며, 잘못된 결정은 프로젝트 자체는 물론 회사의 생사를 결정하기까지 합니다. 조이는 적합성, 성능, 안정성, 생산성 등 모든 면에서 조이의 서비스와 알맞는 제품을 찾으려고 항상 노력하고 있으며, 가능한 한 넓고 깊은 검증, 분석 및 연구를 통해 최적의 대안을 찾아내고 있습니다. 그 결과, 이번 Dropwizard와 Asynchronous HBase를 도입하여 기존의 Thrift를 대체하는 프로젝트는 예상보다 훨씬 좋은 성과를 낼 수 있었습니다. 국내에는 Dropwizard의 실무 사용기 등을 찾아보기 힘들고, 한글화된 문서 자체도 찾기 쉽지 않은데, 이 글이 앞으로의 선택을 고민하는 분들, 드롭위자드에 관심이 있는 분들께 도움이 될 수 있으면 좋겠습니다.#조이코퍼레이션 #개발팀 #개발자 #개발환경 #업무환경 #인사이트 #경험공유
조회수 1697

아라님 'e커머스'에서는 유통마진  진짜 낮아요?

'e커머스' 시장이 매일매일 전성기를 맞는다.모바일 쇼핑까지 가세하면서 m커머스라고 불릴 정도로 시장이 확대됐다.실제 GS홈쇼핑의 경우, GSSHOP의 모바일 거래액 취급고가 TV홈쇼핑의 것을 넘어섰다.커머스 판의 체질개선이 일어나고 있다.e커머스를 운영하는 기존 사업자들은 ‘D2C(Direct to consumer)’전략을 도입하기 시작했다. 기존 몰과 더불어, 인플루언서와 그 채널에서 소통 및 구매가 바로 일어나게끔 더 진보된 커머스 환경을 조성했다. 나날이 진보되며 e커머스는 매일이 전성시대다.   *본 글에서는 온라인 커머스, 모바일 커머스, 미디어 커머스 등 산재된 용어들을 'e커머스'로 통합정의하고자 한다.전통 식음료업체, 오리지널 오프라인 유통사업자들도 ‘O.O(Online Only, 온라인 전용)’ 제품 및 브랜드로 e커머스 비즈니스에 나서며 활기를 띄고 있다. 대표적으로, 웅진식품의 탄산수 ‘빅토리아’ 제품은 오프라인 유통망이 아닌 온라인 플랫폼에서만 구매가 가능하다. 신선 야채가게 브랜드 ‘총각네’가 내놓은 ‘총각네 두유’도 온라인 구매가 활황이다.온라인 구매는 유튜브, 페이스북 소통을 즐기는 Y세대와 밀레니얼 세대들의 입소문을 탄다. 흔치 않은 디자인과 독특함으로 나름 프리미엄 제품으로 인식되고 소비된다.전통 제조업체가 온라인 유통망에 입점을 하는 요인으로 e커머스의 가성비를 꼽는다.전통 오프라인 유통망을 거치는 것보다원가를 절감할 수 있다는 것이 진출 업계의 설명이다.그렇다면, 태생이 'e커머스'인 기업들은 실제 유통에서 강점이 있을까.e커머스에서의 유통은 오프라인과 달리 어떤 노력을 기울일까블랭크코퍼레이션에서 오퍼레이팅 전반을 담당하는 장아라 프로와 티타임을 가졌다.블랭크코퍼레이션 장아라 프로 https://brunch.co.kr/@arajangJason KH : 전통적인 유통기업들이 소위 누리꾼, 네티즌이라 불리었던 잠재고객에게 구매를 일으키는 플랫폼으로 e-커머스를 바라보던 것과는 사뭇 달라진 것 같아요. 유통마진, 원가절감과 함께 온라인 프리미엄이라는 두 마리의 토끼를 잡는 듯 합니다.장아라 프로 : 유통마진의 절감은 분명있지만 e커머스 진출의 지배적인 이유는 아닌거 같아요. 오히려 온라인 프리미엄, 온라인 파워를 바라보는 것이 더 크죠.전통적인 유통기업들은 힘과 기본기가 있어요. 현재 저희와도 다양한 협업을 진행하는 플랫폼 중 하나 예를 들어 SSG의 경우, 신세계 그룹의 다채로운 유통망과의 통합 시너지를 내면서 엄청난 상품 카테고리를 확보했어요. 이용자도 엄청 많아요. 그리고 ‘브랜드 갈라쇼’같은 메인 프로모션 활용, '에디션'기획 등 쇼핑을 주제로 한 다양한 색으로 이용자와 호흡하고 있고요. 오프라인 못지 않은 신뢰와 온라인의 편리함이라는 강점을 살리면서요.Jason KH : 듣고보니 수많은 상품과 브랜드는 모두 원가를 절감하기 위해 SSG에 입점한 것은 아닐거라는 생각이 드네요. 제품의 특성과 개성에 알맞게 온라인 플랫폼을 선택해 입점하면서 구매를 일으키는 것 같아요.장아라 프로 : 맞아요. 29CM, W컨셉 같은 플랫폼은 편집과 큐레이팅으로 이용자들과 소통하지요. 상품 카테고리를 넓히는 동시에 매거진 버금가는 디지털 콘텐츠, 브랜드 룩북 등에 투자를 하면서 호응을 얻고 있어요.그런데 지배적인 이유는 아니지만 분명 전통적인 오프라인 유통망을 통하는 것보다 e커머스 진출은 상대적으로 유통마진이 절감되는 효과도 얻을 수 있죠.Jason KH : 유통마진을 좀 더 이야기해보고 싶어요. e커머스를 통해 전통기업들이 절감할 수 있는 부분은 물건의 단계적 배송료, 입점 수수료, 판촉-판매 인건비, 매장관리비, 재고처리비 등 요소인 것 같아요. 그렇다면, 아주 태생부터 'e커머스'인 기업들은 당연히 낮은 유통원가를 바탕으로 비즈니스를 하겠지요?  장아라 프로 : 보기에 따라 다른 것 같아요. 자사몰과 오프라인 유통망 입점을 비교할 때는 당연히 자사몰을 기반으로 한 비즈니스의 유통원가가 낮아요. 하지만 온라인 유통망 입점과 오프라인 입점을 비교한다면 유통마진을 구성하는 요소가 달라질 뿐 유통원가는 발생합니다.e커머스 역시 앞서 말한 굵직한 플랫폼부터 다양한 스토어에 입점합니다. 저희 블랭크도 다양한 제품을 드럭스토어, 백화점 같은 오프라인과 소셜커머스, 오픈마켓, 온라인스토어 등 온라인몰 입점을 병행하면서 브랜드 제품과 소비자 간의 접점을 다각화하고 있어요.온라인 입점도 수수료가 있습니다. 제품장르와 카테고리에 따라, 또 제품의 판매량과 제품 기본원가에 따라 다양한 비율로 수수료를 책정합니다. 또 원활한 입점과 비즈니스를 위해 다양한 물류사, 밴더사와 협업을 하면서 수수료가 발생하고요. 수수료뿐만 아니라 각 플랫폼을 통한 제품의 통합주문, 생산과 발송 등 모든 과정에서도 비용이 발생하지요.   Jason KH : 즉, 기존 유통기업들이 e커머스 진출에서 얻는 유통마진의 절감은, 오프라인을 기반으로 할 때 사람의 손을 더 많이 거치며 발생했던 비용을 줄일 수 있는 것으로 봐야겠네요.대게 전통기업이 e커머스 유통으로 마진 개선의 활로를 찾는 것을 혁신이라 말하는데, 그렇다면, 블랭크는 e커머스 기업이잖아요. 유통에서 어떤 혁신을 고민하고 실행하나요?장아라 프로 : 제가 흠뻑 젖어 일하는 영역은 유통, 생산, 물류, CS 등 오퍼레이팅 분야에요. 블랭크에서는 '유생물 유닛'이라 부릅니다. 우리에게 혁신은 e커머스에서 더 효율적인 구조를 만드는 것입니다. 이를 위해서는 유통뿐만 아니라 생산, 물류, CS 각각의 영역에서 노력이 필요하죠.간략히 소개드리자면, 블랭크에서의 ‘유통’은 약 250여 가지의 다양한 제품을 국내외 자사몰에 유통하고, 제품의 특성에 알맞게 온라인몰, 오프라인몰에 입점 시키는 분야 입니다.‘생산’은 제품의 패키지와 구성에 필요한 원자재를 구매하고, 제조까지 관리하는 영역이고요.‘물류’는 매월 약 30만 박스에 해당하는 출고물량을 관리하면서 물류의 프로세스를 기획해요.'CS'는 고객만족을 높이며 제품과 브랜드의 최전선 케어를 담당하고요.Jason KH : 그럼 각 분야 별로 어떻게 효율적인 구조를 만들고 있는지 살짝 말씀해주실 수 있으세요?장아라 프로 : 저희는 모든 커머스의 경쟁력은 곧 고객서비스에서 나온다는 생각을 가지고 있어요. e커머스에서의 고객서비스라하면, 유생물 즉 오퍼레이팅이고요.유통의 경우, 원가와 이익의 마진 폭을 개선하는데 노력합니다. 우선 적극적인 수소문과 많은 미팅에서 팁을 얻습니다. 다양한 스토어들의 정책에 알맞게 효율적인 상품을 선정하고 입점합니다. 예를 들어, 홈쇼핑이 핫해도 모든 제품이 먹히지 않아요. 이 제품이 어떤 타깃을 갖는지 알아야 하고, 또 제품의 특성과 마케팅전략(고급화, 일반화)과도 궤를 맞춰야하죠. 그렇게 유통원가를 개별로 책정해서 관리합니다.생산의 경우, 보통 전통적인 오프라인 기업 포함 대개의 기업들은 ‘턴키’ 방식을 채택합니다. 건설업체가 설비와 시공까지 모두 책임지고 다 마친 후 발주자에게 열쇠를 넘겨준다는 의미인데요. 커머스로 치면 제품의 제조, 생산부터 물류, 유통까지 전담하는 것이에요. 저희는 이렇게 하지 않으려고 노력합니다. 리소스가 상당히 높아지지만 저희는 구매처를 세분화하고 개별조율 하려고 노력합니다. 내자구매와 외자구매를 나누어 원자재 구매값을 더 절감하면서, 더 높은 품질은 내는 파트너를 찾고 조율하는데 노력을 기울이죠.블랭크는 “좋게~좋게~갑시다”가 없는 회사에요. 더 논리적으로 좋은 부분이 있으면, 조율리소스가 들더라도 그 방법을 찾아나섭니다. 생산 담당자들이 조율의 리소스를 들이는 만큼 타이트한 재고관리와 재발주 기간을 줄일 수 있습니다.Jason KH : 유통과 생산 두 분야의 효율적인 구조는 '원가를 낮추되 품질과 이익을 높이는 것'이군요. 어렵네요. 그럼 물류랑 CS 이야기도 해주세요.장아라 프로 : 물류의 경우는 크게 두 가지로 혁신을 꾀합니다.1. 안전한 물자관리와 빠른 배송관리 2. 원가절감의 프로세스 마련 입니다.소비자가 특정 온라인몰에서 물건을 사는 이유는 ‘가격, 다양성, 속도’ 때문이라 판단했고, 이 중 한가지 요소를 증대시킨다면 구매율이 상승할 것이라는 가설을 세웠습니다. 이에, 배송속도 측면의 검증을 위해 ‘블랭크혁신물류센터’를 설립해서 테스트하고 있어요. 이미 국내에서는 쿠팡 로켓배송부터 SSG배송까지 반나절이면 상품을 받아볼 수 있을 정도로 매우 발달했는데요. 저희는 좀 더 파격을 담아, 배송과 거점 퀵서비스를 융합하는 물류 서비스를 고민하고 있습니다.그리고 물류 파트너들과 리소스비용, 원가상승에 대한 요인을 분석해요. 물류에서는 주문유입, 데이터정리, 상품선별, 분류, 선적확인, 송장부착, 배송 스타트 등 다양한 분업이 이루어지는데, 이 과정을 효과적으로 할 수 있게끔 인력을 구성하고 시스템을 만듭니다. 예를 들어, 한 박스제조 업체가 하나의 제지에 더 많은 도면을 프린팅할 수 있는 신기술이 있다면, 파트너사와 함께 이 기술을 도입하면서 원자재 비용을 절감하는 것이지요.CS의 경우는 우리보다 더 전문적이고 노하우 가득한 파트너사와 협력하기 위해 노력합니다. 파트너사들은 다양한 고객 유형을 알고, 경우에 따른 관리 노하우와 스터디 리포트가 쌓여있어요. 블랭크의 브랜드 별 고객문의량은 타 업체의 전체 문의량과 비슷한 수준입니다. 이에 파트너사의 노하우와 기술을 빌리면서 배우기 위해 노력합니다. 일례로, 카카오챗봇을 도입했는데요. 이게 고객문의에 대한 원활한 처리를 도우면서 단순문의량이 상당히 감소했고요. 빠른 해결과 답변에 고객만족도도 증가하는 가시적인 성과를 얻었습니다. 이에 카카오아이와 루나소프트, 블랭크 3자간의 AI챗봇 고도화 개발에 대한 노력을 지속하고 있습니다.Jason KH : 상세한 설명 감사해요 아라님, 정리해보면 e커머스의 오퍼레이팅 혁신의 노력은 몇 개의 키워드로 쉽게 이해 됩니다. 원가와 이익의 마진폭을 끊임없이 개선하는 것, 고객서비스로 만족도를 높이는 것, 그리고 발품을 많이 팔고 또 파트너사와 윈-윈의 협업을 꾀하는 것이네요.특히 인상 깊은 부분은 ‘블랭크혁신물류센터’인거 같아요. 왜냐하면 오프라인 매장이 온라인에 비해 취할 수 있는 절대적인 장점이 바로 직접성과 접근성인데, 온라인에서도 오프라인만큼의 즉각적인 경험을 할 수 있을 것 같아 기대되네요.         장아라 프로 : 저희 사업의 근간이 상생-공유가치창출입니다. 수많은 제조사를 발굴하고 이들과 협업을 통해 수익을 창출하고 나누는거죠. 유생물도 같은 관점이에요. 수많은 파트너사와 협력하고 배우면서 가치를 창출하고 공유하는 것이죠. 유통의 입점도, 생산의 구매처 발굴도, 물류의 혁신 파트너 협력도 모두 상생의 길목에 있다고 생각합니다.태생이 e커머스인 기업이라도 유통 단계에서 무조건적인 메리트를 타고 나지는 않는다.오프라인 사업자들이 안정적인 공급체계를 바탕으로 전통적인 유통원가를 절감하면서 서비스하기 위해 e-커머스를 활용하는 것처럼, e커머스 유통에서도 효율성을 더 높이기 위해 나름의 혁신을 일으키고 있다.아마존의 자동화 물류, 무인화 같은 리테일 테크적인 부분이 아니다.우선, 다룰 수 있는 범위 내에서 분석하고 강점을 찾아 실행한다.그렇게 단계적이고 실험적으로 혁신을 시도한다.Jason KH커뮤니케이션    기획자
조회수 1156

인공지능 시대, 일자리 넘치게 만들기

인공지능과 로봇 기술의 발달로 일자리가 급격히 줄고 있다. 기업은 고용보다 저렴한 자동화를 택한다. 민간 부문에서 일자리가 창출되지 않으니 정부는 공무원을 수십만명씩 뽑는 방식으로 문제를 해결하려 한다. 안타깝게도 공공부문 일자리는 비효율적이고 지속 가능하지도 않다. 새로운 시대, 새로운 형태의 일자리가 필요한 이유다.1. 그리스 노예제의 재림인공지능을 탑재한 로봇이 인간의 노동력을 대체한다. 과연 암울한 시대일까. 역사적으로 이와 비슷한 시기가 있었다. 고대 그리스 사회다. 고대 아테네 인구의 40% 이상이 노예였다. 노예가 생산을 담당하고 시민 계급은 노예 생산물을 소비하며 살았다. 시민들은 농업이나 어업에 종사하지 않는 대신 서양학문의 토대가 된 철학을 발전시키고 현대 정치의 원형인 민주주의를 꽃피웠으며 문학과 연극, 조각, 건축 등 인간의 한계를 확장하는 일에 전념했다. 모두 노예노동 덕분이었다. 이제 우리는 로봇을 노예로 삼을지, 스스로 로봇의 노예가 될지 선택해야 한다.2. 기존 국가 R&D를 없애자로봇의 일자리 침탈로부터 우리를 구할 방도는 기존의 국가 R&D를 없애는 것이다. 지난해 한국의 국가 R&D 예산은 19조5000억원으로 GDP 대비 0.9%(세계 4위)에 달한다. R&D 성공률은 98%로 경이로울 지경이다. 문제는 투자 대비 형편없는 산출물이다. 정부출연 연구소나 정부자금을 받은 대학의 연구결과가 사업화로 이어진 비율은 약 20%로 영국(70.7%) 미국(69.3%)에 비해 크게 떨어진다. 높은 R&D 성공률에 비해 사업화 비율이 낮은 건 실패하면 다음번 연구비 확보가 곤란하다는 이유로 연구자들이 어려운 과제는 꺼리기 때문이다. 이럴 바에는 차라리 국가 R&D 예산을 스타트업 창업에 투자하고 대학과 출연연의 연구실 창업을 독려하는 것이 어떨까. 정부는 창업 기업 투자금을 마련해 막대한 일자리 창출의 기회를 얻고 연구소 R&D의 옥석도 가릴 수 있을 것이다.3. 스타트업 = 국가 R&D진짜 국가 R&D는 스타트업이다. 국가 R&D는 정부 투자로 국가의 지적자본을 쌓는 과정이다. 하지만 세상에 필요한 진짜 연구는 연구소가 아니라 기업 현장에서 이뤄진다. 스타트업 창업은 시장에서 원하는 첨단 기술을 개발하거나 새로운 비즈니스 모델을 실험하는 연구활동이다. 수많은 실패가 나오겠지만 이 또한 경험자본으로 사회에 축적된다. 실패 당사자는 물론 이를 지켜본 많은 사람들이 실패를 반면교사로 사업의 성공확률을 높인다. 정부가 R&D 활동을 통해 달성하고자 하는 목표와 일치한다. 기존 창업기업 R&D 지원금을 늘리자는 것이 아니다. 정부가 모태펀드와 벤처캐피털(VC)을 활용해 진행해 온 간접투자를 대폭 확대하자. 펀드를 다변화 하고 VC의 자유도를 높여준다면 기존 제도가 갖는 부작용도 줄일 수 있을 것이다.4. 고등학교 졸업하면 창업기술 발전에 따라 기존 기업들은 고용을 줄인다. 이제 일자리를 만들기 위해선 취업에 의존하지 말고 말 그대로 창업(創業)을 해야 한다. 취업을 위한 교육에서 창업을 위한 교육으로 전환해 고등학교를 졸업하면 창업하는 것이 당연하도록 만들어야 한다. 매년 수십만명의 졸업생이 스타트업을 창업하거나 스타트업에서 일하는 구조를 만들어 일자리 공백을 메워야 한다. 이를 위해선 교육제도의 대대적인 개편과 더불어 정부의 적극적인 투자가 필요하다. 정부가 출자한 펀드는 VC를 통해 가능성 있는 스타트업에 투자하고 해당 스타트업은 고용을 늘려 사업을 수행한다.5. 지속가능한 일자리 생태계스타트업은 R&D적 성격을 띄기 때문에 단순 이전지출을 만들기 위한 공공 일자리보다 생산적이다. 투자금을 이용해 수익사업을 하기 때문에 정부 산하 연구소보다 더 많은 일자리를 창출한다. 성공기업이 나오면 일자리와 세수가 늘어날 뿐 아니라 지분 매각으로 투자금을 회수해 후배 스타트업에 재투자 할 수도 있다. 스타트업 투자는 실패가 더 많지만 한번의 성공으로 모든 실패를 만회할 수 있다. 정부 펀드가 실패한 창업가의 재도전을 지원할 수 있는 재무구조를 확보할 수 있는 이유다. 수많은 스타트업이 생겼다 사라졌다를 끊임없이 반복하며 일자리 공백을 최소화 하는 지속가능한 일자리 생태계를 만들 수 있다.6. 기본소득 대신 스타트업 임금짧은 기간 안에 정부의 창업투자를 기존의 10배 정도로 급격히 늘리는 것에는 부작용이 따를 수 있다. 창업가가 부족하고 아직은 전 연령대에 적용하기도 어렵기 때문이다. (교육제도부터 뜯어 고치고 점진적으로 확대하는 것이 최선이긴 하다.) 다만 이 방식이 공공부문 일자리 만들기나 기본소득보다 생산적이고 비용효율적이며 지속가능하다는 점을 지적하고 싶다. 최근 많이 논의되는 기본소득은 재원이 많이 필요할 뿐만 아니라 모두에게 동일한 금액을 나눠주는 만큼 인플레이션이 발생해 실질소득 증가율이 크게 감소한다. 실업자를 생산능력이 거세된 잉여인간으로 박제시켜 버리는 문제도 있다. 반면 정부의 스타트업 투자는 인간의 노동을 R&D라는 고차원적인 범주로 끌어올리는 동시에 노동의 몫인 임금을 보장한다. 그리스 시민들이 예술이나 철학, 정치제도에 몰두해 인류 발전에 기여했듯 우리도 빵 만들기는 로봇에 맡기고 세상을 바꾸기 위한 도전에 몰두해야 하지 않을까.#콜버스랩 #인사이트 #아이디어공유 #자율출퇴근 #징검다리강제휴가 #성장중 #채용 #커뮤니케이션 #팀워크 #협업

기업문화 엿볼 때, 더팀스

로그인

/