스토리 홈

인터뷰

피드

뉴스

조회수 1134

사업엔 정답이 없다

사업엔 정답이 없다.사업에 정답이 있다고 생각하는 사람들이 많다. 특히 성공한 기업들만 후빨 하는 사람들이 그렇게 생각하는 경향이 있고, 언론과 책 몇권에서 얻어낸 얇팍한 '정보'로 각종 교육, 창업 컨설팅 등으로 포장해 스타트업 워너비 젊은이들 대상으로 돈벌이를 하는 경우가 매우 많아졌다.성공한 기업을 retrospective하게 분석하면, 그 성공한 기업들이 순간순간 선택했던 선택은 '정답'이고, 창업자들이 이미 세상이 그렇게 흘러갈거라는걸 알고 있었을 정도로 똑똑했기 때문에 그런 선택을 할 수 있었던 것 처럼 생각하기 쉽상이다.실상은 전혀 그렇지 않다.순간순간의 선택이 성공으로 이어질지, 사업을 접는 결과로 이어질지는 누구도 예측할 수 없다. 성공한 기업의 '옳은 선택'에는 수많은 우연적 요소가 작용한다.마이크로소프트가 IBM 과 공급계약을 채결했지만, 그냥 애플이 시장을 석권했다면 지금의 마이크로소프트는 없다. 품질 좋은 검색엔진 구글은 창업 자체가 그 당시의 시각으로 보자면 야후를 비롯 이미 시장을 석권한 대기업들에 도전하는 매우 멍청한 결정에 가까웠다. 페이스북이 초기 하바드 대학생들 사이에 인기를 끌지 못하고 사장되었다면? 복귀한 잡스가 주요 제품군을 정리하고 MP3 플레이어인 아이팟을 출시하는 전략은 어땠을까? 지금은 mp3 파일을 구매할 수 잇는 아이튠스 시장을 함께 오픈한 것이 대단히 뛰어난 선택 같아보이지만, 그냥 불법 공유 사이트를 통한 다운로드가 그대로 성행했다면, 저작권 저촉을 받지 않는 중국에서 불법 mp3 공유 회사가 창업했었다면?지금와서 돌아보건데 대단히 뛰어난 결정들엔 그 결정들이 실패로 귀결될 수 있었던 수많은 일들이 운좋게도 '일어나지 않았기 때문에', 혹은 반대로 성공으로 귀결될 수 있는 일들이 운좋게 '일어났기 때문에' 성공에 다다를 수 있었던 것이다.실리콘벨리에서 창업한 1500여개 회사중 평균적으로 1개 기업이 조단위 이상의 큰 성공을 이룬다. 나머지 1499개 기업은 다들 멍청했기 때문에, 스타트업 강의에서 얘기하는 '성공비결' 몰랐기 때문에 실패했을까?그렇지 않다. 미래는 누구도 예측할 수 없고, 지금의 선택이 어떤 결과로 이어질지 정확이 예측하긴 불가능하다. 그저 우리는 '대단히 멋지게 성장할 수 있는 몇가지 가설을 근거로 새로운 비즈니스 모델'을 가지고 용감하게 끊임없이 시장에 던져보는 수밖에 없다.1500개 기업 중 하나가 되어 보는 것, 그것이 성공의 비밀.#3billion #운영 #인사이트 #스타트업 #마인드셋 #조언
조회수 2425

크몽 굿즈 프로젝트

안녕하세요. 크몽의 마케팅 콘텐츠 크리에이터로 활동하는 폴입니다 :)제가 크몽에 입사하고 나서 시작된 크몽 굿즈 프로젝트에 대해서 이야기해보려고 합니다.굿즈  goods굿즈라는 것은 실체를 가진 유형의 물품, 즉 실물에 한정하며 팬들의 소장욕을 자극하여 상품 구매에 유인할 수 있도록 상업적인 주가 맞춰진 것이 굿즈라고 할 수 있습니다.최근 들어 여러 스타트업&대기업에서 굿즈를 만들고 대중들에게 알리고 있습니다. 크몽도 역시 대중들에게 피부로 와 닿을 수 있는 유형물 굿즈 프로젝트를 시작하게 됐습니다.굿즈를 만들기 전에대부분의 기업의 굿즈 상품들을 보면 어디에서도 볼 수 있는 상품입니다. 볼펜을 예시로 들어보겠습니다. 내 방과 사무실에도 있는 그냥 평범한 볼펜 정도로 생각할 수 있습니다. 볼펜은 기업의 로고나 문구 즉, 기본적인 판촉 유형물로 제작됩니다. 한발 더 앞서면 기업을 대표하는 캐릭터로 귀엽게 제작을 해서 사람들에게 나눠주기도 합니다.로고가 박힌 볼펜과 캐릭터로 제작된 볼펜을 직접 만들어본 경험이 있고, 심지어 외부에 나가서 직접 한 사람 한 사람 나눠주기도 해보았습니다. 허나 가장 힘이 빠지는 것은 제작된 볼펜들은 대부분 필통 꽂이에 꽂혀있거나 땅바닥에 굴러다니고 하수구를 뚫을 때 잠시 사용되는 안타까운 일이 발생할 때 가장 힘이 빠집니다. 다시 곰곰이 생각하고 목표를 잡았습니다.적어도 크몽에서 만든 굿즈는실용적으로 그 쓰임을 다할 수 있도록, 그렇게 만들자굿즈 콘셉트크몽은 대표적인 캐릭터가 있습니다. 원숭이 캐릭터로 크몽을 알릴 때 적극적으로 대변을 해주는 역할을 하고 있는데요. 캐릭터를 이용한 굿즈 상품은 정말 너무나도 많습니다. 하지만 스타트업에 대표적인 마스코트 캐릭터가 있다면 정말 큰 무기입니다. 저에게는 정말 행운이었죠.크몽의 어머니라 불리는 디자이너 '지니(Jinny)'님이 만들어준 캐릭터를 이용해 굿즈 상품에 적극적으로 개발할 수 있었습니다. 마케팅팀(뇌트워킹)은 필로우 인형(pillow)뿐만 아니라 일반적인 볼펜이 아닌 캐릭터를 활용하여 북마크(bookmark)도 가능한 볼펜을 만들었습니다.컬러코드대부분의 사람들이 가장 어려워하는 RGB와 CMYK칼라코드입니다. RGB(Red, Green, Blue) 빛의 삼원색으로 빨간, 녹색, 파란색을 이용해서 색을 표시하는 방식으로 즉 모니터 화면에서 보이는 색상입니다 RGB로 작업한 디자인을 인쇄하게 되면 낭패를 겪습니다.주로 인쇄에 사용되는 CMYK(Cyan, Magenta, Yellow, Black)는 시난, 마젠타, 노랑, 검정의 4색 CMYK 요소를 4개의 편 판으로 분해해 컬러 인쇄판을 만듭니다. 심지어 CMYK코드로 제작을 하더라도 인쇄과정에서 색상 오차가 심하게 나오는 경우가 많습니다.CMYK 같은 코드로 인쇄해도 색상오차가 나오는 작업물결국 공장과 조율을 잘해야 하는 것인데 기본적인 준비는 팬톤칼라(Pantone Color)입니다. 팬톤칼라는 미국 팬톤사에서 제작한 인쇄 및 소재별 잉크를 조합하여 제작한 색표집입니다. 팬톤칼라가 굉장히 비싸긴 하지만 정말 원하는 색상 코드를 잘 골라서 구매하시는 것이 가장 현명한 선택입니다. 인쇄소보다 실물로 찍어내는 물품 공장에서 대부분 펜톤 칼라칩을 요구합니다. 팬톤칼라코드만 알려주는 이미 공장에서 가지고 있는 팬톤칼라코드로 비교하면서 색상을 찍어냅니다.색상감리 현장모습이것은 기본일 뿐이며 가장 효과적인 방법은 직접 색상 감리를 하는 것입니다. 대량으로 찍어내는 인쇄소나 공장은 사실 색상 감리 과정이 비효율적이기 때문에 일부에 돈을 요구합니다. 적은 금액으로 생산해서 색상의 오차가 크게 발생하느니 일부의 금액을 더 주고 색상 감리를 가는 것이 좋은 방법입니다.공장이 제주도라도 날아가서 감리해야 된다고 생각합니다.제작 샘플굿즈 제작이 진행되면 대량 생산하기 전에 샘플을 먼저 받아보고 나서 피드백을 줘야 합니다. 정말 못난 업체는 샘플도 안 보내고 바로 대량 생산된 물품을 보내는 업체도 있습니다. 그땐 정말 황당하죠. 그래서 꼭 업체에다 먼저 샘플을 먼저 받아보겠다고 말합니다. 그 말을 안 하면 샘플은커녕 바로 대량생산을 하여 바로 보냅니다. 적어도 사진이라도 받아야 합니다. 필로우 인형 같은 경우는 샘플은 5번 정도 받고 대량 상산을 진행했습니다.피드백을 계속 줘야 원하고자 하는 제품이 완성됩니다. 샘플에서는 모양, 크기, 색상, 퀄리티를 확인할 수 있는 금쪽같은 기회입니다. 하지만 제작된 샘플과 대량생산용 완성품이랑 절대로 완벽히 100% 같을 수 없습니다. 적어도 내가 생각한 -5% 정도의 마음의 준비를 해야 정신건강에 좋다고 생각합니다.샘플을 비교하여 상품 퀄리티를 올리는 작업결과물크몽 북마크 볼펜크몽 필로우 인형앞으로앞으로 크몽은 굿즈 상품을 계속해서 실용적이고 아이디어적인 fancy 한 굿즈를 제작할 예정입니다. 제가 쓴 글은 굿즈를 제작할 때 정말 기본 중에 기본이라 생각합니다. 굿즈의 기본적인 제작 과정이 정말 귀찮고 힘든 일이라고 생각하는 사람도 많습니다. 하지만 저러한 과정이 즐겁고 저를 설레게 합니다.크몽 럭키 박스크몽은 상품 쇼핑몰이 아닙니다. 굿즈로 돈을 벌기 위한 목적으로 만들지 않습니다. 굿즈는 마케팅 콘텐츠로서 정말 좋은 콘텐츠입니다. 온라인 시대인 만큼 사진과 동영상이 모든 것을 대변하는 시대이지만 실제로 내 피부에 와 닿는 굿즈가 고객들에게 좋은 이미지와 신뢰를 주고 기업에 좋은 시너지를 준다고 생각합니다. 앞으로 크몽 뇌트워킹팀과 함께 정말 멋진 크몽 굿즈를 만들 것입니다. 서툰 저의 글을 읽어주셔서 감사합니다.#크몽 #마케팅팀 #마케터 #기업문화 #경험공유 #인사이트 #굿즈 #콘텐츠 #콘텐츠마케팅
조회수 1801

Infrastructure dashboard

와탭랩스는 IT 서비스를 운영하는 개발팀과 운영팀에 도움이 되는 솔루션과 서비스를 만드는 스타트업입니다. IT 서비스를 잘 운영하게 위해서는 Infrastructure의 전반적인 상황을 항시 체크할 수 있어야 하는데요. 이런 기능을 하는 대표적인 화면이 대시보드 입니다. 최근 와탭랩스는 Infrastructure 모니터링 서비스에 대시보드를 넣는 작업을 진행하고 있는데요. 와탭랩스는 대시보드를 통해 Infrastructure를 운영하는 개발팀과 운영팀에 어떻게 도움을 줄 수 있도록 할 것인지 소개하겠습니다. 1. IT 서비스 운영에 사용된 인프라 자산 현황을 알아보자지금 회사에서 사용하는 서버의 대수를 알고 계신가요? 현재 동작하는 서버는 몇대인지 혹시 죽어있는 서버가 있는지 등에 대한 정보는 운영팀에서 항상 체크하는 정보입니다. 하지만 개발팀에서는 잘 모르는 정보이기도 하죠. 이런 기본적인 정보가 대시보드에 나온다면 평소 서비스를 운영하는 감을 잡는데 도움이 됩니다. 이런 정보들은 간략한 수치로도 표현할 수 있는데요. 우리는 아래와 같은 데이터를 수집할 수 있습니다. 서버 기본 정보 (inactive servers / all servers)우리가 사용하는 총 서버의 수자와 비활성화된 서버의 숫자는 우리가 항상 알고 있어야 하는 정보입니다.운영체계별 서버 정보 (Linux / Windows / Unix)운영체계를 섞어 사용하는 경우에는 운영체계에 따라프로젝트가 나눠지기도 합니다. 그렇기 때문에 운영체계별로 서버의 총량과 비활성화된 서버 정보를 알면 도움이 됩니다. 프로세스 수프로젝트의 프로세스 수는 일정한 경우가 많습니다. 전체 프로세스의 숫자가 변경된다면 서비스의 운영 상황에 대해 의문을 가져야 합니다. 이벤트 개수24시간동안 발생한 전체 이벤트의 개수와 아직 해결하지 못한 이벤트의 개수를 보여줍니다. 하루동안 얼마나 많은 이벤트가 발생하는지 그리고 아직 해결하지 못한 이벤트가 있는지 알수 있습니다. 디스크 사용량/전체 용량디스크 사용량은 일반적으로 큰 변화를 가지지 않습니다. 디스크 사용량이 평소와 다르다면 서비스의 장애가 발생했거나 발생할 가능성이 높습니다. 메모리 사용량 / 전체 용량메모리 사용량은 일반적으로 큰 변화를 가지지 않습니다. 메모리 사용량이 평소와 다르다면 서비스의 장애가 발생했거나 발생할 가능성이 높습니다. 수치 데이터의 예 2. 서비스를 구성하는 인프라의 CPU 흐름 전체를 알아보자 CPU 사용량은 변화량이 많은 지표입니다. 변화량을 비교하는 챠트로는 라인 차트가 가장 많이 쓰이지만 라인 차트는 개수가 많아지면 전체 상황이 보이지 않는 문제점을 가지고 있습니다. 또한 실시간으로 추가되거나 삭제되는 인프라가 생기는 클라우드 인프라 상황에서 라인챠트는 표현의 한계를 가지고 있기도 합니다. 이런 문제를 해결하기 위한 방법으로 아래와 같은 온도 차트를 사용할 수 있습니다. 온도 차트는 단위 영역에 밀도에 따라 색상으로 깊이를 표현하는 방식입니다. 최근 많은 양의 데이터를 표현하는 방식으로 많이 사용되고 있습니다. 온도 차트의 예3. 경고가 발생했는지 또는 해결 되었는지 알고 싶다.  CPU 사용량이 설정치 이상으로 높아지거나 디스크 사용량이 높아지거나 프로세스가 사라지는 등 다양한 상황에 대한 이벤트가 발생할 수 있습니다 이런 상황을 쉽게 확인할 수 있다면 서비스 운영 상황에 도움이 됩니다. 이벤트 관리의 예이런 스토리를 기반으로 와탭랩스에서 대시보드를 기획하고 있습니다. 개발자와 디자이너가 함께 토론하고 논의하면서 화면과 스토리를 더 다듬게 되면 첫번째 화면이 나올 예정입니다. 아래는 기획과정에서 나온 화면 리소스 입니다. 아직 기획 단계이기는 하나 첫번째 대시보드가 완성되면 이 페이지가 메인으로 올라갈 예정입니다. 대시보드는 데이타의 종류와 위치등을 수정할 수 있으면 좋지만 우선은 고정형으로 개발하여 제공할 예정입니다. 이번 대시보드는 서비스 첫번째 의미가 강한 메인 화면의 성격에 더 초점을 맞추고 있습니다. 아직 몇몇 논의되는 사항이 많은 화면이지만 빠르게 개발하여 가능한 이른 시일에 소개드리도록 하겠습니다. #와탭랩스 #개발자 #개발팀 #인사이트 #경험공유 #일지
조회수 805

[모바일 앱분석] Step2. EXPERIENCE (사용자경험 분석)

지난 글에 이어 앱 분석의 2단계 Experience (사용자경험 분석) 에 대해 알아보겠습니다.( [모바일 앱분석]  Step1. MARKETING (마케팅 분석) 보기 )2013년 Compuware의 조사에 의하면 사용자가 다운로드 한 앱 중 80-90%는 단 한 번 실행 후 삭제한다고 밝혔습니다.매우 높은 수치이긴 하지만, 경험상 수긍되는 결과이기도 합니다. 생각해보면 앱을 삭제하는 이유는 단순합니다. 우리는 앱을 설치하기 전 편의, 문제해결, 유희 등 분명한 목적있습니다. 그러나 설치 후 실행한 앱이 기대한 만큼의 만족도를 제공하지 못했거나 서비스 경험을 하기도 전에 부정적인 경험을 제공했기 때문입니다.Experience 단계의 분석 핵심은 마케팅으로 획득한 사용자가 앱을 사용하면서 겪고 있는 문제점을 정량적 데이터로 빠르게 발견하고, 개선하는 데 있습니다.# 호환성 분석반송률(Bounce Rate)이란 지표는 앱 실행 시 인트로를 지나 첫 페이지에서 서핑이 종료된 비율을 뜻합니다. 쉽게 말해 앱 실행 후 바로 종료한 비율인데요, 앱의 경우 일반적으로 단일 페이지(화면)에서 실행 목적을 달성하기 어렵다고 볼 수 있기 때문에, 앱의 반송률은 극히 낮은 것이 정상입니다. 그러나 반송률이 높다면 왜 그런 것일까요?– 불필요한 푸시 알람을 무심코 눌러 실행되서 바로 종료한 경우– 앱을 실행했는데 제대로 동작하지 않는 경우위와 유사한 행위가 자주 반복된다면 반송률은 증가할 수 있습니다. 즉, 반송률은 앱의 부정적 컨디션을 확인할 수 있는 유일한 지표라고 볼 수 있는데요, 이 지표는 주로 시스템 관련 디멘젼과 어울려 제공됩니다. 앱을 업데이트 했는데 문제는 없는지. 특정 OS에서 또는 특정 디바이스에서 에러가 발생하지 않는지 등을 반송률 지표를 통해 추정할 수 있습니다. # 사용성 분석많은 카테고리와 복잡한 네비게이션은 장시간 앱 사용에 극심한 피로도를 주고 재사용률을 감소하게 만듭니다. 그렇기 때문에 항상 프로바이더 입장에서 앱 개발 시 가장 노력하는 부분이 카테고리, UI, 네비게이션 최적화입니다.일반적으로 컨텐츠 데이터는 앱 개편 시 가장 많이 활용됩니다. 사용자의 관심도에 따라 카테고리 위치를 조정하며, 인기가 높은 카테고리는 유지 및 컨텐츠를 강화하고, 인기가 낮은 카테고리는 제거해서 복잡한 카테고리를 간소화 합니다.컨텐츠 데이터로 사용자의 관심도를 알 수 있다면, 행동패턴 데이터는 사용자의 앱 이용 목적(방법)을 이해할 수 있습니다. 로그인 유저와 비로그인 유저의 행동패턴은 어떻게 다를까? 남성은, 여성은 어떻게 앱을 이용하고 있을까? 서핑을 주로 종료하는 시점은 언제일까? 등 다양한 질문에 답변이 될 수 있는 인사이트를 얻을 수 있으며 검증된 데이터 기반으로 효과적인 앱 네비게이션 개선을 이끌 수 있습니다.# 검색엔진 편의성 분석검색엔진은 목적한 컨텐츠에 가장 빠르게 도달할 수 있는 도구로써, 커머스/뷰티/미디어 앱 등 다수의 컨텐츠를 다루는 앱에서 높은 사용성을 보이고 있는데요, 사용성이 높은만큼 검색엔진이 사용자에게 제공해야 하는 경험 또한 매우 중요합니다.검색을 하는 사용자의 마음가짐은 아래와 같습니다.– 서핑하기 귀찮다– 원하는 정보만 빠르게 얻고 싶다이런 사용자에게 다음과 같은 검색결과를 제시한다면 Conversion은 기대하기 힘들 것 입니다.– 원하는 검색결과를 제공하지 못했을 경우– 너무 많은 정보를 제공하여 선택에 혼란을 줄 경우내부 검색엔진을 운영하는 앱이라면 매일 검색엔진 데이터 모니터링을 통해 사용자의 트렌드 키워드를 확인하고, 그에 적절한 결과 값을 제시해주고 있는지 늘 점검해야 합니다. 또한 정량적 데이터 확인 뿐만 아니라, 실제 앱에서 검색해 보면서 불편함은 없는지, 더 효과적으로 컨텐츠에 접근할 방법은 없는지 등에 대한 고민이 필요합니다.앱 사용자에게 긍정적인 경험을 제공했다면, 최종 목적인 전환 최적화를 위해 집중해야 할 때입니다. [모바일 앱분석] Step3. CONVERSION (성과 분석) 에서는 전환 트렌드를 이해하고 전환을 방해하는 요인을 도출/개선하는 방법에 대해 살펴보겠습니다
조회수 979

아마존에서 실제로 팔릴만한 상품(군)을 찾는 법

인사말안녕하세요 대한민국 셀러들의 아마존 진출을 도와주는 컨설팅 회사이자 업무 대행사인 컨택틱의 이이삭 대표입니다.오늘 제가 알려드리고 싶은 이야기는 '잘못된 상품 선정으로 인해 미판매 재고가 발생하는 것을 방지하는 방법'입니다.전자상거래 시장에 뛰어든 판매자라면 누구나 알고 있으며 한 번쯤은 겪었을만한 문제인 '미판매 재고'에 대해 항상 고민을 할 수 밖에 없습니다. 실제 통계에 따르면 판매자들이 유통하는 재고의 20% 정도는 미판매 재고로 남거나 폐기 처분 하게 된다고 합니다. 이걸 영어로 overstock 또는 dead stock라고도 표현합니다.INTRO - 1. 왜 이런 미판매 재고 문제가 발생하는가?이런 문제를 해결하는 방법에 대해 말씀 드리기 전에 우선 이런 미판매 재고 문제가 '왜' 발생하는지부터 말씀드리겠습니다. 크게 두 가지 원인이 있는데, (1) 제대로 된 조사 없이 상품을 선정/소싱 했거나 (2) 올바르지 않은 정보로 시장 조사를 했기 때문입니다.1번의 경우에는 성실하게 시장 조사를 하지 않은 내 자신을 탓할 수 밖에 없습니다. 하지만 2번의 경우에는 굉장히 억울할 수 밖에 없습니다. 숫자로 입증한 데이터를 기반으로 모든 결정을 내렸는데, 놓친 부분이 있었을 수도 있고, 내가 조사한 데이터가 오차 범위가 넓은 데이터일 수도 있고, 아니면 아예 wrong data를 참고한 것일 수도 있습니다 (예를 들면 관련이 없거나 오히려 연관성을 지으면 안되는 데이터).INTRO - 2. 미판매 재고 문제가 얼마나 심각한 문제인가?상품을 제조/사입 한 순간부터 일단 지출입니다. 여기에 쓰인 돈이 만약 미판매 재고가 된다면, 이 상품들을 제조/사입하면서 사용한 돈은 영원히 회수하지 못할 수도 있습니다. 제조/사입에만 사용한 돈만 날리는 거라면 그렇게 큰 문제가 아닐 수도 있습니다. 하지만 이 재고를 FBA 창고에 입고한 데에 사용한 물류비도 감안해야 하며, FBA 창고에 보관되면서 매월 발생하는 monthly storage fee, 그리고 6개월 이상 미판매된 재고에 대한 long term storage fee, 그리고 마지못해 폐기처리할 결정을 내렸다면 폐기를 하는 데에도 드는 FBA removal fee, 만약 한국으로 귀환 시킨다면 발생할 retrieval fee... 정말 예상했던 것보다 훨씬 큰 손해가 날 수 있는 것이 바로 미판매 재고 문제입니다.이런 비용 하나하나가 결국 '실제로 가능성이 있는' 상품들을 새로 발굴하고 소싱하고 마케팅하는 데에 사용할 돈이 되어야하는데, 잘못된 상품 선정이라는 우범 하나 때문에, 한정된 자금으로 사업을 운영해야 하는 사업주들의 입장에서는 심지어 잠재성을 가지고 있는 potentially profitable 상품들에 대한 기회조차 잃어버리게 되는 것이니, 그런 의미에서 미판매 재고가 가져오는 손해는 막심합니다.THE SOLUTION - 1. 미판매 재고 발생을 방지할 수 있는 기본팁 3가지세상에 그 어떤 것도 정해진 답은 없다고 생각합니다. 하지만 아래 3가지 팁을 통해 여러분들이 위에 언급된 '미판매 재고' 발생의 가능성을 최대한 낮추시길 희망합니다:1. 주관적인 생각을 배제하라 (오직 숫자만 믿어라)너무 당연한 얘기가 될 수도 있지만 실제로 많은 셀러들이 이 실수를 반복합니다. 단순히 '잘 팔릴 것 같다고 느끼기 때문에' 또는 주변에서, 세간에서 이런저런 상품이 요즘 인기있더라 라는 '카더라' 말을 듣고 제조/사입 결정을 내리는 것은 치명적인 실수라는 것을 반드시 항상 인지하고 이런 '감'을 통한 상품 결정을 해선 안됩니다. 그 외에도, 과거에 성공했다고 해서, 주변에 동일한 상품(군)을 판매한 지인이 잘됐다고 해서, 등등 이 모든 것들이 전부 결국 주관적인 input입니다. 후회하지 않으려면 이런 주관적인 생각이 아닌, 오직 올바른 데이터를 기반으로 한, 숫자로 입증된 데이터를 통해 결정을 내리시기 바랍니다.2. 과거 데이터에만 의지하지 말아라그렇지 않은 상품도 있지만, 특정 상품은 seasonal 시즌성 상품일 수도 있으며, fad 유행성 상품일 수도 있습니다. 물론, 과거 데이터가 향후 데이터를 예측할 수 있는 좋은 자료가 될 수도 있기도 하고, 저희가 지금 말하고 있는 data-driven 리서치 방법은 어쨌거나 지난 과거 기록을 살필 수 밖에 없는 것이지만, 과거 데이터 하나에만 온전히 결정의 기반을 두는 것은 각 상품의 특성상 다소 부정확하거나 위험할 수 있다는 것을 인지해야 합니다.3. '추천' 제품은 두 번 세 번 검토하라OEM/ODM 제조유통업자(PL 셀러)들에게 특히나 해당되는 이야기지만, 결국 제조사(공장)은 최대한 많은 제품을 판매하는 게 주 목적입니다. 그 제품을 소싱한 여러분이 재고를 팔 수 있을지 말지는 그들의 고민이 아닙니다. 따라서 제조사가 추천하는 신상품이나 그 제품에 대한 시장 동향도 너무 일방적으로 신뢰해서도 안되고, 이 공장이 여러분 뿐만 아니라 몇 명의 셀러들에게 브랜드명이랑 포장지만 바꾸고 풀어놨는지도 잘 파악해서 시장 포화도를 잘 분석하고 제조/사입을 해야합니다.THE SOLUTION - 2. 시장 조사는 이렇게 하세요답은 결국 올바른 시장 조사입니다. 하지만 올바른 시장 조사를 하려면 어떻게 해야하는지가 궁금하실겁니다. 올바른 시장 조사를 하려면 아래의 3가지를 반드시 고려하시기 바랍니다.1. 시장 크기 (수요) 분석내가 판매할 상품의 시장 크기가 '너무' 작으면 아무리 좋은 상품이어도, 아무리 가격 경쟁력이 있어도, 아무리 마케팅에 예산을 쏟아부어도 당연히 다 무의미한 것입니다. 아마존에 내 상품과 유사하거나 동일한 연관 상품의 목록을 수백, 수천개를 직접 하나하나 조사하고 그 상품들의 스텟(stats)를 분석해서 정녕 내가 진입할 이 시장의 크기가 적당한지를 우선 살펴봐야합니다.2. 경쟁/진입장벽 (공급) 분석시장 크기가 아무리 큰 시장이어도, 그만큼 공급이 많아서 경쟁이 심하면, 이것 또한 문제입니다. 매출이 발생하는 niche 틈새에 끼기 위해서 가격도 낮춰야하고, 이미지도 예쁘게 꾸며야하며, 마케팅을 통해 상위에 노출해야하는 등 여러가지 비용이 많이 들어가게 됩니다. 배보다 배꼽이 커지는 경우가 바로 이런 경우입니다.3. 트렌드 분석위에도 언급했듯이, historical data가 항상 답이 아닙니다. 하지만 그로 인해 알 수 있는 것은 '동향' 즉 trend입니다. 예를 들어 fidget spinner처럼 한 때 극적인 인기를 달리던 상품은 1년이 채 안되어서 인기가 증발했습니다. 소비성 상품이 아니기 때문에 이 수요가다시 올라가거나 현 상태를 유지될 확률은 전무하며, 거의 십중팔구는 아마 시간이 지날수록 이런 fad 상품은 점점 수요가 없어지게 됩니다. 트렌드를 잘 분석해서, (1) 연중 내내 수요가 밸런스 잡힌 시장 또는 시즌마다 일정 수요를 보이는 시즌성 제품을 선정하거나 (2) 라이징 트렌드를 보이는 선정하거나 (3) Fad 상품을 굳이 하겠다면 단타성으로 언제 치고 들어가서 언제 빠질지를 잘 결정해야 합니다.4. 비용 분석아마존에서 판매한다는 것은 굉장히 다양한 수수료가 발생할 것을 고려해야 합니다. 아마존 판매 수수료, FBA 입고를 위한 물류비, FBA 배송대행 수수료, FBA 창고 보관료, PPC 광고, 적절한 할인의 제공, 월 계정 유지비, 교환/반품/환불, 등등... 내가 소싱할 제품은 어느 판매가 구간에 속할지 (저가/중가/고가 상품) 분명히 알아야 하며, 그 안에서 내가 볼 마진의 폭이 정확히 얼마인지도 알아야 합니다.THE SOLUTION - 3. 전문가의 도움을 받으세요위에 언급한 모든 것들을 해결해주는 것이 컨택틱의 아마존 시장 조사 서비스입니다 (다른 말로, '아마존 진출 성공 가능성 분석 서비스'). 저희 회사 서비스를 홍보하려고 하는 것은 아니지만, 실제로 저희가 해드리는 이 시장 조사 서비스는 위에 언급한 모든 항목들을 고려해서 최대한 객관적인 데이터로 입증된 결론들을 의뢰자가 informed decision을 낼 수 있도록 도와주고 있습니다. 특정 상품에 대한 시장 조사를 의뢰하게 되면 그와 유사한 아마존에 존재하는 거의 모든 리스팅들을 뜯어보고 분석해서 그 시장에 대한 정확한 분석을 여러분들이 이해하기 쉬운 말로 설명해드립니다.컨택틱의 아마존 시장 조사 서비스는 20만원에 (부가세 별도) 시장 조사 결과 요약 보고서 1개와 화면 공유를 통한 1시간의 유선 컨설팅이 제공됩니다. 관심 있으신 분들은 연락 주세요!그럼 오늘도 즐거운 글로벌 셀링 되세요!컨택틱서울특별시 강남구 강남대로62길 11, 8층 (역삼동, 유타워)대표 전화: 02-538-3939해외 부서: 070-7771-1727영업 부서: 070-7771-1728이메일: [email protected]유튜브: https://www.youtube.com/channel/UC8OxbQGAnMqWGpGj5weLcZA홈페이지: https://www.kontactic.com
조회수 2409

안드로이드와 자동화 툴

모바일은 플랫폼의 생태계와 규모에 비해 개발자들이 처리해야 할 것이 매우 많습니다.서버나 타 플랫폼들 또한 개발자들의 영역이 많지만 그 영역들이 세분화되고 전문화되어 가고 있습니다. 데이터베이스, 백엔드, 프론트웨어, 인프라, DevOps 와 같이 점점 분야별로 심화되고 독립성을 갖추어 가고 있습니다.하지만 모바일은 각 플랫폼의 개발자들이 전체적인 아키텍쳐, 프론트, 내부용 데이터베이스, 리소스 관리, 배포 등이 해당 플랫폼의 소수의 개발자들에게 광범위하게 공존합니다. 다양한 분야가 전문화되기엔 변화가 잦고 규모가 점 형태로 구성이 된 경우가 많기 때문입니다.그렇기 때문에 반복적이고 불필요하게 비용이 소모되는 작업일수록 자동화 해서 최대한 코드 작성 본연에 업무에 집중할 수 있도록 환경을 구성하는 것이 중요합니다.토스랩 안드로이드 팀은 2015년 초부터 조금씩 자동화 환경을 구성하여 현재는 아래와 같습니다.다국어 문자 관리 자동화이미지 관리 자동화CI다국어 문자 리소스 자동화1. 다국어 글로벌 담당자의 원본 문서토스랩은 다국어 지원을 위해 글로벌 번역 문서를 관리하고 있습니다. 문서는 Google Drive 를 통해서 관리되고 있으며 기획/개발 파트에서 다국어 지원을 위한 리소스를 기입하면 각 언어의 담당자들이 해당 언어를 번역하고 있습니다.구성은 아래와 같습니다ABCDEFGH영어한국어일본어중국어-간체중국어-번체웹키ios 키안드로이드 키2. 기존 작업기존에는 해당 언어의 번역 데이터를 추가하기 위해 개발 파트에서 수동으로 각 언어의 리소스 파일에 추가하는 형태로 진행하였습니다.이러한 작업의 단점은 언어별 리소스 파일에 키-값 형태의 문자 리소스를 추가하는 작업을 반복적으로 해야 한다는 것입니다. 또한 반영이 된 후에 수정된 문자에 대해서 반영하기가 매우 어렵고 실수도 빈번하게 발생합니다.이러한 가능성을 최소화 하기 위해 자동으로 문자 리소스를 갱신하는 작업을 진행하였습니다.3. 안드로이드 파트를 위한 별도 필터 파일 추가|A|B|C|D|E|F| |—-|—-|—-|—-|—-|—-| |영어|한국어|일본어|중국어-간체|중국어-번체|안드로이드 키|가급적 원본 파일에 대한 조작을 피하기 위해 안드로이드용으로 Read-Only SpreadSheet 를 별도로 생성하였습니다.해당 작업을 위해 Google SpreadSheet Script 를 사용하였습니다.4. 자동화 툴 작업자동화 툴의 역할은 크게 3가지였습니다.안드로이드용 필터 파일을 다운로드한다.Spread-sheet를 분석해서 다국어용 자료구조로 변환한다.다국어용 자료구조를 XML 파일로 변경한다.툴은 Python 스크립트로 작업하였습니다.5. Gradle Task 로 추가별도의 Python 파일을 실행해도 되지만 Gradle Task 로 추가하여 Android Studio 에서도 Task 를 실행할 수 있도록 하였습니다.개발팀에서 안드로이드 키를 원본 문서에 추가한 후 Gradle Task 실행하면 바로 반영되도록 하였습니다. 기존의 방식과 가장 큰 차이점은 Merge 시 충돌 이슈에 대해서 더이상 관여하지 않아도 된다는 것입니다. 가장 최근 시점을 기준으로 자동화 Task 를 실행하면 모든 리소스가 최신화되기 때문에 충돌이 난다하더라도 무시하고 새로 Task 를 실행함으로써 충돌에 의한 이슈를 완전히 배제하고 작업할 수 있다는 장점이 생겼습니다.더 나아가 현재는 Android 용 리소스 Key를 기획 팀에서 기획시 적용하도록 하기로 현재 논의되고 있습니다. 이러한 논의가 반영된다면 더이상 리소스 관리에 있어서 개발파트에서 관리 할 필요가 없어지므로 다국어 리소스에 반영해야할 리소스 또한 최소화 될 것이라 기대하고 있습니다.이미지 리소스 자동화1. 기존 작업앱에 사용되는 디자인 리소스는 이슈 트래커와 JANDI 의 디자인 토픽을 통해서 전달 받아 작업을 하였습니다.이런 작업 형태는 이미지 관리가 분산 될 뿐만 아니라 일관성 있는 전달 방식이 아니기 때문에 누락건이 언제든지 존재할 수 있습니다.그래서 디자인 리소스에 대한 관리를 디자인 팀이 주도적으로 하며 개발팀에서는 빠르고 편하게 이미지를 전달 받을 수 있도록 하기 위해 자동화 툴을 만들었습니다.2. 개선 작업토스랩의 디자인 팀에서 사용하는 저장소는 권한에 따라 접근이 가능하도록 API 를 제공하고 있습니다. Read-Only 권한을 부여받은 후 API 를 통하여 이미지를 다운로드하도록 툴을 구성하였습니다.툴은 Python 스크립트로 구성하였습니다.3. Gradle Task 로 추가문자 리소스와 마찬가지로 별도로 Gradle 로 툴을 이용할 수 있도록 하기 위해 별도의 Task 를 정의하여 사용하도록 하였습니다.자동화된 리소스의 관리문자와 이미지를 자동화로 관리한다 하더라도 개발자가 필요에 따라 임의로 추가/수정하는 리소스가 존재 할 수 있습니다.이를테면 다운로드한 이미지 리소스를 활용한 Selector-Drawable 과 같은 것들입니다.이에 따라 자동화 처리된 리소스들은 별도의 관리를 위해 추가적으로 ResourceSet 을 만들었습니다. android { // ...중략 sourceSets { main.res.srcDirs += ${별도의_리소스_경로} } } 이러한 방식을 통해서 자동화된 리소스와 추가적한 리소스를 분리하여 발생할 수 있는 문제를 최소화 하였습니다.지속적 통합 (Continuous Integration, CI)자동화와 관련되어서 결코 빠질 수 없는 내용입니다. 빌드, 테스트, 배포, 리포팅에 이르기까지 이 모든 과정에 있어서 자동화 되지 않았다면 상상하기 어려운 작업들입니다.토스랩에서는 Jenkins 를 활용하여 빌드-테스트-리포팅을 하고 있습니다.1. 빌드 대상빌드의 의미는 최소한 컴파일 오류가 발생하지 않는 코드들이 최종 상태로 관리되고 있음을 의미합니다. 그러기 때문에 언제나 중앙 저장소에 반영되었거나 반영될 예정의 소스들은 항상 빌드 대상이라고 볼 수 있습니다.안드로이드 팀은 내부적으로 빌드 대상이 되는 브랜치를 아래와 같이 정의하였습니다.개발된 이슈가 최종적으로 반영된 브랜치 (develop)Github 에서 코드에 변경이 발생하면 이를 Jenkins 로 통보하여 해당 브랜치를 빌드합니다.개발 브랜치에 반영을 위해 코드리뷰 중인 브랜치 (features, fixes)Github 에 새로운 Pull-Request 가 발생하면 Jenkins 로 통보하여 해당 브랜치를 빌드합니다.테스트와 리포팅은 이 시점부터 발생한다고 볼 수 있습니다.2. 빌드빌드를 하는 과정에 기본적인 정적 분석을 사용하고 있습니다. 코드의 Convention 이나 복잡도 등을 측정하고 이를 분석하여 수정할 부분을 파악하기 위해서입니다.3. 테스트안드로이드팀은 작년 중순까지 Robolectric 이라는 Test Framework 을 사용하였으나 여러가지 이슈로 인하여 현재는 Android Test Support Library 를 사용하고 있습니다. ATSL 은 에뮬레이터를 필요로 하기 때문에 Jenkins 서버에 에뮬레이터를 구동하여 Test-Bed 를 구성하였습니다.빌드 과정에서 정적 분석이 완료되면 테스트 코드를 동작 시킵니다.테스트 된 결과는 JUnit Test Report 와 Jacoco Coverage Report 를 받고 있습니다.4. 결과 리포트빌드, 테스트 결과는 Jenkins 에서 별도로 관리되고 있지만 모든 동작들은 자동화 되어 관리되기 때문에 별도의 장치가 없다면 알아채기 어렵습니다.좀 더 빠른 피드백을 받기 위해 JANDI-Webhook 기능을 이용하여 결과 리포팅을 바로 받아 확인 할 수 있도록 하였습니다. 또한 Github Pull-Request 화면에서 Build-Status 연동하여 코드리뷰 하는 과정에서 잠재적 오류를 찾을 수 있도록 하였습니다.※ 빌드된 결과물의 배포는 내부적인 정책으로 현재는 하지 않고 있습니다만, 현재 가용 가능한 리소스 안에서 해결 방안을 찾고 있습니다.총평자동화의 가장 큰 목적은 반복적이지만 시간을 소요하기엔 가치가 떨어지는 작업을 단순화 하기 위함이었습니다. 여기서 오는 가장 큰 의미는 관리에 소요되는 시간을 최소화함으로써 생산성을 향상 시켰다는 데에 있습니다.특히 다국어 리소스와 이미지 리소스를 자동화 하기 위한 작업은 소요된 시간이 극히 미미하지만 그 효과는 매우 긍정적이라 할 수 있습니다.CI 는 초기 설정뿐만 아니라 관리가 매우 어려운 작업입니다. 해당 시스템을 총체적으로 알고 있다는 가정에서 해야 하며 정책적으로 규정해야 하는 것들도 있습니다. 하지만 결과물 그 자체에 대한 관리를 위해서는 없어서는 안되는 도구이며 정적분석과 자동화 테스트 등 다양한 효과를 얻을 수 있기 때문에 많은 개발자들에게 권장하고 싶습니다.#토스랩 #잔디 #JANDI #개발 #효율 #자동화툴 #업무환경
조회수 628

경계를 지우자

당신이 디자이너라면디자인의 경계를 넘어서야 뜻을 이룰 수 있으며,당신이 마케터라면마케팅의 영역을 벗어나야 진짜 마케팅을 할 수 있다.자신의 영역을 고수하면 그냥 고립될 뿐이다명함에 새겨져 있는 당신의 분야는 그저 관념일 뿐이며,실존하는 구분이 아니다. 컨베이어 벨트에서 편의상 내 일과 당신의 일을 구분하기 위한 경계선일 뿐이다.지금의 구분이라면,레오나르도 다빈치는 무엇을 하는 사람으로 구분할 것인가?당신이 숫자를 다루는 회계사에 머문다면,그냥 기능인으로 살뿐이며,당신이 변호사의 틀 안에서만 일 한다면,기술인일 뿐이다. 그저 전문적인 기술인일 뿐이다.법을 도구로 세상을 새롭게 기획할 수 있다면,위대한 정치인이 될 것이며,디자인을 도구로 새로운 생각을 표현할 수 있다면,뛰어난 크리에이터가 될 것이다.당신이 현재 가지고 있는 직함과 직종은요리의 재료일 뿐이다. 그 재료로 무엇이든 만들 수 있다.대학 4년간 배운 것에 한계를 두는 것만큼 우둔한 것이 없으며, 자신이 사회생활을 시작한 그 영역을 벗어날 수 없어서 몸부림친다면, 그 또한 관념의 경계에 발목을 잡힌 것일 뿐이다.엔지니어가 디자이너가 될 수 있으며,마케터가 철학자가 될 수 있어야 하며,교사가 창작자가 되어야 한다.댄서가 프로듀서가 될 때 세계적인 히트 그룹을 만들어내고,시각디자이너가 건축가가 될 때 세상에 없던 위대한 공간이 만들어진다.요리사가 패션을,바리스타가 큐레이팅을,개그맨이 슈퍼레이싱을,건축가가 음악을 넘나들을 때세상은 서로 다른 영역을 이해하고 새로운 것을 접목할 수 있으며, 창의성이 발휘될 수 있다.문과, 이과는 우리에게만 있는 구분이다.고2 때의 결정이 인생의 족쇄가 되어서도 안되며,도대체  누가 '문'과 '이'로 세상을 나누어 이해하는가?세상에 문과와 이과의 구분은 없다모든 경계를 넘나들 수 있는 용기가 있을 때새로운 것이 보인다.어쩌면, 그 영역 안에서만 고민하기 때문에인생이 답답한 것일 수 있다.경계를 지우자.그러면 새로운 세계가 보일 것이다.순간, 몇 사람이 떠오른다.그게 당신일지도 모른다.
조회수 1126

원하는 대로 뭉치는 GROUP BY

편집자 주전문 용어는 특정의 학술 용어나 기술 용어를 말하는데, 대개 둘 이상의 단어가 결합하여 하나의 의미 단위에 대응하는 말, 곧 합성어의 성격으로 되어 있다. 아래와 같은 전문 용어는 단어별로 띄어 씀을 원칙으로 하나, 편의상 붙여 썼다. 1) 수행 결과 > 수행결과2) 수행 시간 > 수행시간3) 실행 계획 > 실행계획Overview지난 글에서는 ORDER BY를 파헤쳤습니다. 이번에는 ORDER BY만큼이나 자주 쓰이는 GROUP BY를 알아볼 시간인데요. GROUP BY는 컬럼 값을 그룹짓고(중복을 제거하고) 이에 대해 건수나 값의 합을 계산할 때 사용합니다.지난 글 보기: 순서대로 척척, ORDER BY지난 글 보기: 단일 TABLE을 SELECT하자! 1.GROUP BY의 이해GROUP BY의 기본적인 문법은 아래와 같습니다.SELECT     MBR_NM FROM test.TB_MBR_BAS GROUP BY     MBR_NM  ; 실행계획은 아래와 같습니다. 테이블을 전부 읽어서 temp를 만들고 GROUP BY를 수행하라는 의미죠. GROUP BY가 수행되는 것은 Extra에 Using filesort가 표시된 것으로 유추할 수 있습니다.참고로 Using filesort는 GROUP BY, ORDER BY, DISTINCT 등의 정렬과 관련한 작업을 수행하면 나타납니다. Query를 수행해볼까요?위와 같은 결과가 나왔는데, 수행시간은 3.77초가 걸렸습니다. 이 Query는 MBR_NM의 중복을 제거해서 화면에 표시한 것입니다. 이번에는 아래의 Query를 수행해보겠습니다.SELECT     MBR_NM      ,COUNT(*) FROM test.TB_MBR_BAS GROUP BY     MBR_NM  ; 바뀐 것이 있다면 SELECT 절에 COUNT(*) 가 추가된 것입니다. 실행계획은 다른 점이 없습니다.COUNT(*)는 레코드의 건수를 계산할 때 사용합니다. 위의 계획은 MBR_NM의 값이 같은 건수를 출력하라는 의미입니다. 수행해보겠습니다.수행시간은 3.64초로 비슷하게 나옵니다. 위의 내용을 보면 강나영 1437건, 강다은 1465건, 강도연 1445건 … 인 것을 알 수 있습니다. 만약 테이블의 전체 건수를 알고 싶다면 어떻게 할까요? 아래와 같이 수행해보세요.SELECT     COUNT(*) FROM test.TB_MBR_BAS  ; 수행결과는 다음과 같습니다.2.GROUP BY의 응용(1): 나이 구하기이번에는 나이 컬럼을 추가하고 이름별 나이의 합을 구해보겠습니다. 아래의 명령으로 컬럼을 추가합니다.ALTER TABLE test.TB_MBR_BAS ADD COLUMN AGE TINYINT UNSIGNED DEFAULT 0 COMMENT '나이'; 컬럼이 추가되고, 다음과 같은 구조를 갖출 겁니다.AGE 컬럼에 모두 0이 들어간 것을 알 수 있다.SELECT     * FROM test.TB_MBR_BAS ; 0으로 들어간 값을 1에서 100 사이의 임의 값으로 변경하겠습니다. 만약 내용을 변경한다면 아래 예시와 같이 UPDATE문을 사용하세요. UPDATE test.TB_MBR_BAS SET AGE = TRUNCATE(RAND()*100,0)+1 ; test.TB_MBR_BAS 의 AGE 컬럼 내용을 변경하라는 명령을 하기 위해 RAND() 함수를 쓰고 임의의 값을 발생시겼습니다. UPDATE 및 SELECT를 수행하면 값이 변경된 것을 알 수 있습니다.SELECT     * FROM test.TB_MBR_BAS  ; 변경된 값이번에는 이름이 같은 사람들의 나이 합을 구해볼까요? 합을 구할 때는 SUM 함수를 사용합니다. SELECT     MBR_NM     ,COUNT(*)     ,SUM(AGE) FROM test.TB_MBR_BAS GROUP BY     MBR_NM ; 실행계획은 AGE 컬럼을 추가하기 전과 바뀐 것이 없다는 걸 알 수 있습니다. 실행결과를 보겠습니다.수행시간은 4.3초 걸렸습니다. ‘강나영’이란 이름을 가진 사람의 건수는 1,437건이고, 나이의 합은 74,092인 것을 알 수 있습니다. 합산만 하면 의미가 없으니 평균 나이를 구해보겠습니다. 방법은 SUM / COUNT하는 방법과 AVG 함수를 이용하는 방법 두 가지가 있습니다.SELECT     MBR_NM      ,COUNT(*)      ,SUM(AGE)      ,SUM(AGE)/COUNT(*)      ,AVG(AGE) FROM test.TB_MBR_BAS GROUP BY     MBR_NM  ; 실행계획은 이전과 달라진 부분이 없습니다. 수행결과를 보도록 하죠.수행시간은 5.6초 정도 걸렸습니다. 좀 더 빨리 수행하면 좋을 텐데 말이죠. 시간을 단축시키려면 어떻게 해야 할까요?3.GROUP BY의 응용(2): 수행시간 단축하기기본적인 방법은 GROUP BY할 컬럼으로 INDEX를 생성하는 것입니다. MBR_NM으로 INDEX를 생성해보겠습니다.CREATE INDEX IX_MBR_BAS_02 ON test.TB_MBR_BAS (MBR_NM); 생성 후, 이전 Query를 수행합니다.SELECT     MBR_NM      ,COUNT(*)      ,SUM(AGE)      ,SUM(AGE)/COUNT(*)      ,AVG(AGE) FROM test.TB_MBR_BAS GROUP BY     MBR_NM  ; 아래의 실행계획이 달라진 것을 알 수 있습니다.실행계획을 보면 전체를 읽어서 처리하는 부분은 사라졌습니다. 대신 IX_MBR_BAS_02 INDEX를 사용하는 것으로 나옵니다. 이미 정렬된 구조를 갖추고 있는 INDEX에서는 GROUP BY 수행 시, 또 정렬하지 않아도 됩니다. 그래서 별도 정렬인 Using filesort가 Extra에 나오지 않은 것이고, GROUP BY에 INDEX를 사용하는 것으로 해석할 수 있습니다. 그렇다면 시간은 얼마나 줄었을까요? 수행해보겠습니다.0.5초 정도 걸렸습니다. 기존 5.6초보다 훨씬 많이 개선된 것을 알 수 있습니다. 시간은 단축되었는데 결과는 같습니다.이번에는 IX_MBR_BAS_02를 기존 MBR_NM에서 MBR_NM, AGE로 생성해 보겠습니다.DROP INDEX IX_MBR_BAS_02 ON test.TB_MBR_BAS; CREATE INDEX IX_MBR_BAS_02 ON test.TB_MBR_BAS (MBR_NM,AGE); INDEX를 생성하고 이전 Query를 수행합니다.SELECT     MBR_NM      ,COUNT(*)      ,SUM(AGE)      ,SUM(AGE)/COUNT(*)      ,AVG(AGE) FROM test.TB_MBR_BAS GROUP BY     MBR_NM  ; 달라진 것이 있다면 Extra에 Using index가 표시된 것입니다. 기존에 INDEX가 MBR_NM으로만 구축된 Query는 IX_MBR_BAS_02 INDEX로 GROUP BY하고, TB_MBR_BAS에서 AGE 합을 구한 것입니다. 하지만 INDEX가 MBR_NM, AGE로 구축된 이번 경우는 IX_MBR_BAS_02 INDEX를 이용해 GROUP BY 와 AGE의 합까지 구한 것이죠. 물론 결과는 같았지만, 수행속도는 0.3초로 개선되었습니다.4.GROUP BY의 응용(3): 특정 조건의 결과 출력WHERE마지막으로 성이 김 씨인 경우에만 GROUP BY하여 값을 출력해보겠습니다. 위의 Query에서 WHERE로 조건만 더하면 되는데요.SELECT     MBR_NM      ,COUNT(*)      ,SUM(AGE)      ,SUM(AGE)/COUNT(*)      ,AVG(AGE) FROM test.TB_MBR_BAS WHERE MBR_NM LIKE '김%' GROUP BY     MBR_NM  ; 위의 이미지처럼 WHERE 조건이 들어가면서 type이 index에서 range로 바뀐 것을 알 수 있습니다. 이것을 해석하면 ‘ IX_MBR_BAS_02를 WHERE조건의 범위만큼 처리하라는 것’입니다. 실행결과를 보죠.HAVINGHAVING 절은 GROUP BY로 SUM, COUNT, AVG한 값을 필터 조건으로 걸고 싶을 때 사용합니다. 예시로 위의 Query에서 AVG(AGE) 값이 50보다 작은 것을 출력해보겠습니다.SELECT     MBR_NM      ,COUNT(*)      ,SUM(AGE)      ,SUM(AGE)/COUNT(*)      ,AVG(AGE) FROM test.TB_MBR_BAS WHERE MBR_NM LIKE '김%' GROUP BY     MBR_NM HAVING AVG(AGE) < 50>결과를 출력하면 아래와 같습니다.AVG(AGE)가 50보다 작은 값들이 출력된 것이 보이는군요.글을 마치며간단한 예제를 소개해드렸지만 큰 규모로 GROUP BY를 하면 재미있는 결과들을 만날 수 있습니다. 예를 들어 대한민국 전체 국민을 대상으로 GROUP BY를 실행하면, 평균 나이가 가장 많은 성 씨를 찾을 수 있습니다. 인구통계학 분석에 적용하면 100년 안에 없어질 성 씨를 알 수도 있고요. 응용할 수 있는 범위가 아주 많겠죠? 이상으로 GROUP BY에 대한 소개를 마칩니다. 글한석종 부장 | R&D 데이터팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발자 #개발팀 #인사이트 #경험공유
조회수 903

[Tech Blog] Keep Principles in Mind

원칙(Principle)은 중요합니다. “난 원칙대로 살지 않겠어!” 라고 외치고 싶더라도, 원칙이 있고 원칙을 충분히 이해하고 있지 않다면 그저 사춘기 소년/소녀의 이유 없는 반항 정도로 밖에 들리지 않을테니까요. 사실 대부분의 이런 경우 원칙 보다는 “규칙(Rule)대로 살지 않겠다”에 가깝지만, 여기에서는 그냥 넘어가도록 하죠. 소프트웨어 개발에도 다양한 원칙들이 존재합니다. 학부 수업에서 잠깐 들었거나 이런 저런 글들을 읽다가 접해 봤을 이런 원칙들은 실제 서비스를 만들면서 바쁘게 기능을 추가하고 버그를 수정 하느라 어느새 기억 속에서 잊혀지곤 하죠. 정신없이 기능을 구현하다가 문득 코드를 돌아봤을 때 ‘이게 왜 여기에 있지’ 라는 의문이 든다면 한 번쯤 원칙을 되새겨 보라는 신호가 아닐까요? 이 글에서는 Clean Architecture 와 Clean Code 등의 저자로 유명한 Uncle Bob(Robert C. Martin)이 얘기하는 S.O.L.I.D Principles 에 대해 얘기해 보려고 합니다. SOLID 원칙은 밥 아저씨가 2000년도 자신의 논문 Design Principle and Design Patterns 에서 OOD(Object-Oriented Design)를 위해서 제안한 5가지 원칙의 앞 글자만 떼서 붙여졌습니다. Object-Oriented Design 을 대상으로 제안된 원칙이지만 Agile 개발 등의 개발 방법론 핵심 철학에도 적용될 수 있는 개념들 입니다. S.O.L.I.D Principles Single Responsibility Principle Class 는 오직 한 가지의 책임이 주어져야 하고, 오직 한 가지 이유에서만 변경되어야 합니다. 보고서를 편집하고 출력하는 모듈에 대해서 생각해 볼까요. 해당 모듈은 두 가지의 이유로 변경될 가능성이 있습니다. 보고서의 내용이 바뀌었을 때도 변경되어야 하고, 보고서의 형식이 바뀌었을 때도 변경되어야 합니다. 편집 과정 때문에 모듈을 변경하다 보면 해당 변경 사항이 출력 부분에도 영향을 미칠 가능성이 상당히 높습니다. 이 경우 내용을 편집하는 모듈(i.e 내용을 담당하는 모듈)과 출력하는 모듈(i.e 형식을 담당하는 모듈) 두 가지로 나뉘어야 합니다. “할 수 있다고 해서 해야 한다는 뜻은 아닙니다.” Open / Closed Principle Class, Module, Function 등의 소프트웨어 구성 요소는 확장(extension)에 대해 열려 있어야 하며, 변경(modification)에 대해 닫혀 있어야 합니다. 어떤 모듈이 Data Structure 에 필드를 추가하거나 함수를 추가하는 등 확장이 가능하다면 그 모듈은 확장에 대해 열려 있다고 표현합니다. 반면에 어떤 모듈이 수정 없이 다른 모듈에 의해 사용될 수 있다면 그 모듈은 닫혀 있다고 표현합니다.  public class CreditCard {     private int cardType;       public int getCardType() { return cardType; }       public void setCardType(int cardType) { this.cardType = cardType; }          public double getDiscount(double monthlyCost){          if (cardType == 1) {              return monthlyCost * 0.02;          } else {              return monthlyCost * 0.01;          }     } }  위 CreditCard class 에 새로운 카드 타입을 추가하려고 하면 getDiscount 함수를 변경할 수 밖에 없습니다. 이 경우 Open/Closed Principle 을 위반된다고 볼 수 있습니다. “코트를 입기 위해서 개복 수술을 할 필요는 없으니까요.” Liskov Substitution Principle 프로그램 상의 Object 들은 프로그램의 정확성을 해치지 않으면서 하위 타입의 Instance 로 변경 가능해야 합니다. 하위 타입 함수 인자의 반공변성(Contravariance), 하위 타입 함수 반환 타입의 공변성(Covariance), 상위 타입의 예외를 상속하지 않는 추가적인 예외 발생 금지 등의 요구 사항이 있습니다. OOP 에서 상속 개념을 배울 때 이해를 돕기 위해 주어진 몇 가지 예시들이 있었을텐데, 우습게도 우리가 생각하기에 타당한 상속에 관한 예시들 중 의외로 원칙을 위배하는 경우가 많습니다. Liskov Substitution Principle 을 위반하는 대표적인 예시는 정사각형과 직사각형입니다. 정사각형은 직사각형의 일종이니 Square가 Rectangle을 상속받는 것이 충분이 타당한 것으로 보입니다. 정말 그럴까요? Rectangle 의 넓이를 구하는 함수의 테스트를 구성해 봅시다.  Rectangle rect = new Rectangle(); rect.setWidth(10); rect.setHeight(20); assertEquals(200, rect.getArea());  여기에 new Rectangle() 대신에 new Square()가 rect 에 할당되면 어떻게 될까요? 넓이는 400 을 반환하기 때문에 테스트는 실패하겠죠. 정사각형이 직사각형을 상속 받으면 Liskov Subsitution Principle 을 위반한다고 볼 수 있습니다. 상속은 문제를 해결하는데 있어서 상당히 유혹적인 방법입니다. 하지만 상당히 많은 경우에 상속을 오용할 가능성이 높습니다. “오리처럼 생기고 오리처럼 꽥꽥 거리더라도, 배터리가 필요하다면 오리가 아닙니다.” Interface Segregation Principle 많은 것을 아우르고 일반적으로 사용 가능한 하나의 interface 보다 특정 클라이언트를 위한 여러 개의 interface 가 낫습니다. Xerox는 Stapling(프린터기가!?), Fax 등의 다양한 기능이 포함된 신규 프린터 소프트웨어를 개발 도중, 더이상 개발이 불가능할 정도로 프로그램이 번잡 해졌다는 것을 인정하고 밥 아저씨에게 도움을 요청합니다. 문제는 Job Class 하나가 모든 기능을 다 구현하고 있다는데 있었습니다. 이 비대한 Class 는 Client 입장에서 사용되지도 않을 모든 함수를 알 수 있게 구성 되어 있었죠. 이 문제에 대해 밥 아저씨는 Interface Segregation Principle 을 적용하여 각 Client 입장에서 사용해야 하는 함수 만을 가지고 있는 각 interface 들을 따로 만들었습니다. 그리고는 다음에 나올 Principle 인 Dependency Inversion Principle 을 통해서 해당 기능을 구현하게 함으로써 문제를 해결했습니다. Dependency Inversion Principle “추상화에 의존해야지, 구체화에 의존하면 안됩니다.” 상위 계층의 모듈은 하위 계층의 구현이 아니라 추상화에 의존해야 합니다. 상위 계층이 하위 계층의 구현에 의존하던 전통적인 의존 관계를 역전 시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있습니다. 예를 들어 Dependency Injection 은 이 원칙을 따르는 방법 중 하나 입니다. Conclusion 세상에 나쁜 프로그램은 있습니다. 당장 눈에 보이는 기능이 똑같다고 같은 프로그램인 것은 아닙니다. 생각보다 많은 코드들이 ‘그 곳에 넣을 수 있기 때문에’, ‘그 곳에 넣어도 돌아가기 때문에’ 깊은 고민 없이 그 곳에 정착합니다. 당장 좀 더 빠르게 기능을 추가해서 주변 사람들의 박수를 받을 수도 있습니다. 허나 이것들이 쌓이면 더이상 손댈 수 없는 코드가 되고, 문제를 느끼고는 Refactoring을 하자고 다짐하고, 모두 엎은 다음 또 다시 같은 코드를 만들게 되겠죠. 쉬운 코드가 가장 만들기 어려운 코드이고, 그런 좋은 코드는 좋은 원칙으로 부터 나옵니다. 변화에 적응할 수 있는 프로그램, 의도가 쉽게 읽히는 프로그램, 문제 발생 가능성이 적은 프로그램, 쉽게 확장할 수 있는 프로그램 등 좋은 프로그램을 만드는 것은 우리가 실제로 목표하는 것을 달성하기 위해서 정말 중요합니다. 이는 그저 경험이나, Tweak 만으로 이루어지지 않습니다. 다양한 신규 기술들과 Framework 들을 두루 섭렵하면서 활동 반경을 넓히고 경험을 쌓았다면, 가끔은 잠시 서서 원칙에 대해 되돌아 보는 것은 어떨까요?   *버즈빌에서 활기찬 개발자를 채용 중입니다. (전문연구요원 포함)작가소개 Whale, Chief Architect “Keep calm and dream on.”
조회수 935

서비스 기획에 관하여

 최대한 개발자, 디자이너, 기획자 어느 한 직군으로서가 아닌 중립적 입장에서 이야기하고 싶지만, 저는 기획을 가장 중점으로 하였고, 다른 부분들에는 아무래도 많은 배경지식이 상대적으로 매우 적어서 지금부터는 기획자로서 기획에 관하여 더 집중적으로 설명드리도록 하겠습니다. "기획"의 사전적 의미는 "어떤 대상에 대해 그 대상의 변화를 가져올 목적을 확인하고, 그 목적을 성취하는 데에 가장 적합한 행동을 설계하는 것을  뜻함."입니다. 즉, 서비스 제작을 시작하면서 그 서비스가  어떤 문제점을 어떤 방식으로 어떻게 해결할 것인지를 설계하고, 어떤 결과가 있을 것인지 예측하고, 이를 위해 어떻게 서비스를 제작할 것인지를 판단하는 모든 업무를 기획이라고 합니다. 그리고 이를 위해선 이용자들이 이해하는 서비스보다 두 단계 세 단계 더 깊은 서비스에 대한 인사이트를 발전시켜 나가야 합니다. 그리고 이러한 기획과 계획을 팀원들(디자이너/ 개발자/ 마케터들 등)과 공유하고, 모두가 원하는 서비스를  제작할 수 있도록 개선하는 것이 기획자의  업무입니다.  이를 위해 기획자는 시장과 산업에 대한 조사를 진행하고, 예상 이용자들을 사람들을 만나고, 또 Legit 한 기획서를 작성하고, 서비스에 대한 프레임워크, 목업 등을 작성하는 등 다양한 업무를 진행해야 합니다. 그렇기 때문에 기획이란 업무 자체도 커뮤니케이션, 서비스 제작 관리, 서비스 기능에 대한 간결하고 정돈된 상세 설멍 등의 전문성이 필요한 분야이고, 계속해서 공부를 놓으면 안 되는 분야일 뿐만 아니라, 많은 창의성을 필요로 하는 분야입니다. 그래서 이번장에서는 1. 기획자로서의 핵심적 요소 2. 기획자의 업무들/ 기획자들이 사용하는 용어 정리 3. 기획서를 두서 있게 잘 작성하는 방법  을 위주로 설명해 드리도록 하겠습니다. 다른 팀원들이 전문적인 소프트웨어를 사용하고, 내가 모르는 전문적인 지식을 가지고 업무에 일하는 것을 보고 "내가 하고 있는 분야에 대한 전문성이 떨어지는 것이  아닐까..."라고 생각하시는 분들도 있을 거라 생각됩니다. 그렇다고 기획자의 업무가 절대 다른 분야들에 비해서 전문성이 떨어진다는 생각은 절대로 하지 마세요. 서로의 업무에 관해서 존중이 필요한 것과 같이, 여러분이 하시는 업무 역시도 전문성을 기반으로 하는 업무이고, 책임감을 가지고 더 열심히 어떤 부분을 공부해야 더 효율적인가를 끊임없이 찾아 공부하셔야 더 좋은 기획, 더 좋은 아이디어를 가질 수 있다는 것이 저의 생각입니다!#코인원 #블록체인 #기술기업 #암호화폐 #스타트업인사이트
조회수 1443

유노윤호마냥 살았던 시간에 대하여(오만가지 알바썰1부)

업무관련된 글을 쓰다보니 여기저기 뭔가 복제된 듯한 글들이 겁나 많아서... 요즘은 브랜딩 어쩌고 하는 글을 잘 쓰고 있지 않습니당. 사실 어쩌면 제 생각도 누군가의 글이나 콘텐츠에서 비롯된 컨트롤씨븨일지도 모르겠단 의구심도 들었구요. 그래서 오늘은 구냥 제 경험담을 주루룩 늘어놓아볼까 합니다. 어느 집이든 사연하나쯤은 다 있기 마련아니겠습니깡. 여차저차 되어서 초등학교 5학년 때부터 일을 하기 시작했습니다. 뭐 그 이후론 나름 혼자 돈 버는 것에 재미를 들려서 자발적으로 알바를 하기도 하고, 생계때문에 일하기도 하고 기타 등등 다양한 이유로 이것저것 재미진 일들을 해봤던 것 같아요. 오늘은 그것들에 대한 이야기입니다!~아련...1. 신문배달제 첫 알바였어요. 초등학교 5학년때 송정리의 한국일보 사무소에서 일했었죠. 한달에 30만원 받았구 200부씩 돌렸답니다. 처음엔 아파트를 돌렸는데 하필이면 엘베에 창문이 뚫린 개무서운 아파트여서 오줌을 지려버릴 뻔 했습니다. 특히 복도식은 코너돌 때 심장의 탄력을 느낄 수 있었어요. 첫 달 월급을 받으려고 사무소에 갔다가 형들에게 흠씬 두둘겨맞고 다 뺏겨버렸던 기묘한 추억이 있습니다. 알았어 알았다고느낀 점 : 신문을 돌리다가 남는 건 간혹 역앞의 택시아저씨들에게 팔기도 했어요. 스포츠신문 하나당 500원에. 그럼 율무차 한잔 뽑아먹고 신문배달 끝나고 스타 한 판 하고 갈 용돈은 벌 수 있었죠. 인생 이렇게 사는건가 싶습니다.2. 현주컴퓨터 설치알바초등학교6학년~중학교1학년때 했던 거예요. 현주컴퓨터를 기억하실랑가 모르겠어요. 여튼 컴퓨터에 기본적으로 스타 브루드워를 깔아주고 DDR매트를 증정품으로 주던 시대였더랬죠. 중1이 다루기에 노턴과 설치유틸은 꽤나 까다로웠는데, 대신 본체 내부 선정리하고 메인보드 갈아끼고 이런건 잘했습니다. 새 컴퓨터가 짠! 하고 부팅되면 기분이가 좋았죠. 월급은 기억 안나네욤..이런거 드리고 그랬음느낀 점 : 기계는 뭐든 배워놓으면 좋습니다.3. 야식집 전단지전 만화그리는걸 엄청 좋아했어요. 진짜 진성덕후였죠. 더쿠들의 방향성은 흔히 일본애니덕, 일본어덕, 희귀작덕, 장비덕 등등으로 나뉘어지는데 저는 그중 장비덕이었습니당. 그러니 돈이 많이 들었을거고, 그걸 충당하기 위해 보미야식집에서 많은 스폰을 받았죠. 보통 2,000장정도 돌리면 3,4만원을 받았습니당. 코픽마카 10개입 이나 최종병기그녀 원화집을 정도를 살 수 있는 돈이었죠. 이걸 사블고 싶었지..느낀 점 : 전단지위에 미리 테이프를 붙여놓고 셋팅해놓으면 초빠르게 돌릴 수 있습니다. 뭐든 미리 조금만 손써놓으면 나중이 편하죠.4. 삼각김밥 공장중학교3학년때 했던것 같아요. 밤9시에 상무지구쪽 어딘가에서 음침하게 기다리고 있으면 봉고차가 와서 절 태우고 갑니다. 봉고차엔 어머님들이 가득하신데, 어머님들의 입담은 진짜 어마어마해요. 밤10시부터 시작해서 아침6시까지 공장에서 일합니다. 그 시간내내 수다가 끊이지 않죠. 보통 수다의 범위는 자식얘기부터 옷과 지구환경까지 아우르기 때문에 범우주적인 인문소양을 필요로 합니다. 공장 내부는 생각보다 매우 깨끗하고 위생적이어서 놀랐어요. 장점이라고 하면 일하는 내내 뭔가를 계속 쭈서먹을 수 있단 점입니다. 어머니들의 이쁨을 받는 것은 덤.삼각김밥느낀 점 : 애교와 칭찬은 많은 것을 가져다줍니다. 5. 이마트 즉석조리 코너이건 고2때 했었어요. 이마트가면 어묵, 족발, 스시, 튀김, 닭강정 이런거 파는 곳 있죠? 네 맞습니다. 그걸 다 만들었죠. 특히 전 잡채, 닭강정, 튀김 등등을 만들었어요. 당면을 다라이에 넣고 소스와 함께 버무리는데 뜨거워 죽어벌임. 하지만 끊임없이 먹을 수 있어서 아주 행복했습니다. 느낀 점 : 무슨 일을 하든 잘 먹어야 즐겁습니다.6. 주유소 알바주유소는 재밌고 심심합니다. 20살때 겨울에 좋은기름이니까 구도일에서 일했었죠.  뭔가 시장통마냥 소리치고 아재들과 노는 건 재미있는 일이죠. 경유와 휘발유만 섞어넣지 않는다면요.  물론 개춥고 석유절임이 된 듯한 냄새는 어쩔 수가 없긴 합니다. 하지만 나름 재밌게 일했어요.느낀 점 : 중립을 모르시는 분들에게 중립을 설명하는 건 어렵더라구요. 중립에 놓으시라구요!!! 중립!!! N!! N!!7. 홀서빙이건 알바의 3대장이라고 할 수 있죠.(주유소, 배달과 더불어) 홀서빙의 매력은 소근소근 메뉴를 고르는 커플의 속삭임을 먼 발치서 듣고 미리 음료준비를 해야한단 점입니다. '자갸, 콜라 하나시킬까?' / '구랭' 이라는 대화를 듣자마자 이미 콜라는 만들어져 있어야 해요.  손님이 머리카락 들었다고 빽시킨 까르보나라를 맛있게 묵었던 기억이 납니다. 느낀 점 : 뭔가를 엎지르거나 와장창했을 땐 멍하지 서있지 말고 빨리 죄송하다고 하고 닦고 치워야 해요.8. 행사장위에서 꽃뿌리기콘서트장 꼭대기에 폭40센치 정도되는 개무서운 철길이 있는데 거기 걸어다니면서 꽃을 손으로 뿌렸어요. 나름 재미있었던 것 같아요. 공짜공연도 보고 말이죠. 물론 공연보느라 헛눈팔면 꽃과 함께 아름답게 비행해버림.느낀 점 : 쉽다..라는 형들의 말이 있었는데, 숙달된 선배들의 말은 대부분 뻥입니다.(지들이나 쉽지..)9. 철거노가다중에서 젤 하기 싫었던 게 철거예요. 젤 즐거운 건 레미콘차 들어올 때 물뿌리는 거구요. 철거는 일하는 내내 철골이나 타카, 각목쪼개진 거에 긁히고 찍히고 개아프고 먼지 마시고 짱힘들어요.... 건물 몇 채는 뿌셨던 것 같아요. 6개월 정도 일하고 나니 이제 요령이 잘 생겨서 신입아저씨들도 가르쳐드리고 했었어요. 아저씨들과 친해지면 목욕탕값도 주시고 그러더라구요.느낀 점 : 점심에 막걸리를 마시는 건 효율을 높여줘요.스팀팩이 이런 기분인가 싶죠. 다만 눈감고도 각목위를 걸을 수 있고, 대충 던져도 벽돌 짝을 맞출 수 있을 때 가능한 얘기예요. 초보들이 괜히 술먹고 일했다간 허벅지에 찔린 콘크리트 대못을 심심찮게 발견할 수 있을 거예요.10. 채권추심아... 이건 사람이 할 짓이 아닙니다. 사람이 사람에게 할 짓이 있고 못할 짓이 있고 그런거지... 전 이 알바를 하면서 자본주의에 대한 희망과 환상을 버렸습니다.느낀 점 : 어떤 일이든 사람이 사람에 대한 애정과 사랑을 바탕으로 해야 의미가 있는 겁니다.11. 콜센터(AIG 사고처리반)교통사고가 나면 일단 뒷목잡고 나와서 보험사에 전화를 하잖아요. 그걸 했었어요. 이게 25살때였나...그랬을 거예요. 보통 보험사에 전화를 하면 상담사 연결하기까지 일단 개느려터진 안내음성을 듣고, 1번누르고 주민번호 앞자리 누르고, 2번 누르고, 0번을 눌러야 하거든요. 지금 사고가 나서 경황도 없고 미치겠는데 2분씩 그걸 듣고 누르고 있으면 저라도 욕이 나올 것 같아요. 그땐 욕을 많이 먹었어요. 전국의 다양하고 기발한 욕설을 경험하며, 나중에 이런걸 책으로 펴봐도 괜찮겠다 싶었죠. 손바닥에 생명손도 조금 길어진 느낌이고..느낀 점 : 음성만으로도 힘이 빠지고 우울증이 생기기도 합니다. 양파에게 욕하면 시들어 죽는다는 말이 괜찮게 아니더라구요. 사람은 분명히 환경의 동물입니다.12. 카페에서 커피만들기28살때 했었던 것 같아요. 사업망해서 말아먹고 돈 없어서 약 6개월가량?...눈물을 머금고 일했더랬죠. 커피향을 즐기며 우아하게 일할 것 같지만 실제론.. 하루에도 라떼 테이스팅한다고 우유를 3통씩 마셔대는 통에 하루라도 주룩주룩을 안한날이 없었어요. 특히 사람들이 몰리는 아침8시반과 오후1시엔 일일이 레시피 재가며 만들 시간이 부족하더라구요. 그럴 땐 대강 따라도 40cc가 나올 수 있게 연습을 해주는 게 필요했어요. 느낀 점 : 지식보다 손이 더 빨라요. 뭔갈 알았으면 머리에 담아두지 말고 손한테 인수인계하세요.13. 스키장 제설알바스키장엔 다양한 알바가 있고 보통 늦가을이나 초겨울쯤에 모집해서 우르르 들어가요. 여러가지 파트가 있는데, 그 중 돈을 많이 주는 곳이 제설쪽이더라구요. 돈을 많이 주는 데는 다 이유가 있는 것이었어요. 군대에서도 이정도로 눈이 싫진 않았는데, 진심 자다가 눈떴는데 하얀 천장만 나와도 경기들릴 것 같은 시간이었습니다.하아....느낀 점 : 에버랜드 알바도 그렇듯, 에버랜드는 재미있지만 그곳에서 일하는 사람들까지 재미있진 않습니다. 게다가 각 부서별의 격차는 상상이상이죠. 일은 환상이 아니더라구요. (여행회사 간다고 항상 재미있지 않은 것과 같음)14. 계단청소빌라돌아다니면서 청소하는 거예요. 왜 그 청소하는 날 해서 수요일 화요일 이렇게 적혀있잖아요. 그럼 가끔 아저씨나 아주머니들이 오셔서 쓸고 닦고 난간 왁스칠하고, 모서리 닦고 하는 그거예요. 열심히 돌아다니면서 지도에 표시된 빌라를 돌아다니며 청소를 해요. 약 3,4개월 조금 넘게 했던 것 같은데 세상 재미없어요.느낀 점 : 재미는 없지만 하다보면 또 뭔가 늘긴 해요. 이렇듯 숙달과 성장은 다른 얘기예요.15. 택배상하차아냐, 안돼, 하지마 돌아가.느낀 점 : 도망쳐16. 매장오픈사실 전 23~4살때 아디다스에서 옷과 신발을 팔았지만, 가끔 신규매장 오픈할때 오픈지원을 가기도 했어요. 한달에 한 번정도였죠. 여주아울렛, 롯데월드점, 가든파이브점, 부천 등등을 오픈했는데 보통가면 일단 청소까진 되어있고, 선반과 집기들이 들어와요. 그리고 윙탑으로 박스5백~2천개 정도가 들어오거든욤. 그럼 그거 다 내려서 까대기하고 사이즈정리하고 DP용 빼고, 엑셀에 수량정리하고 국밥먹고 쓰러지는 그런 일정이예요. 주로 밤9시에 투입되서 밤새 진행하고 오전에 MD이 이렇게 옮겨라 저렇게 옮겨라 하면 다시 배치하고 그런 식이예요. 일은 엄청 힘들었지만, 사실 지금도 좀 그립긴 해요. 깨끗하게 정리된 매장과 창고를 보면 아주 뿌듯하거든요(정리변태인지라..)느낀 점 : 아까 그 박스 못봤어? 라는 질문에 대답할 수 있어야 해요. 일에 있어서 가장 중요한 건 내 일이 아니어도 관찰할 수 있는 능력이죠.에어컨설치디스크형 에어컨을 설치하는 일이예요. 특히 큰 건물은 시스템에어컨으로 움직이잖아요. 천장에 삽입되는 형태의 에어컨을 디스크형이라고 하는데 고녀석을 박아넣고 배선을 연결하는 거예요. 유격훈련받을 때 목봉들고 와리가리하는 그런 얼차려를 받은 적이 있는데 딱 그 느낌이랄까요. 겁내 무거운 디스크형 에어컨을 목과 팔로 받히고 있어야 하는데, 이대로 내 목이 부러지진 않을까 싶지만 부러지진 않습니다.눈에 석면 들어감...느낀 점 : 구리선은 어떻고, 스틸선은 어떻고, 이건 배수관이고 이건 보온재를 씌워야 하고 등등... 아저씨들이 알려주시는 걸 가만히 듣고있다보면 새로운 세계를 볼 수 있어요. 우리가 당연하게 여긴 것들이 사실은 어떤 이들의 지식과 노하우로 만들어졌단 사실에 경외심마저 들죠.1부는 여기서 마무리 짓도록 하겠숩니다. ㅋㅋㅋㅋ 2부에서 못다한 일들로 또 돌아올께욤.

기업문화 엿볼 때, 더팀스

로그인

/