스토리 홈

인터뷰

피드

뉴스

조회수 945

스타트업을 시작하며...8

Phase 37. 실물을 판매하는 start-up난 이번 startup을 준비하면서 부터.. "앞으로 만드는 회사에서는, 고객들의 손에 뭔가를 쥐어주어야겠다"라는 생각을 했다. 서비스 자체만으로는 고객들이 아무리 편해도 돈을 주고 쓰겠다는 생각을 하기가 쉽지 않고, 또 다른 대체제들이 계속 생겨나게 되면 그냥 바꿔타면 되는 것이다. 그래서 실물을 만들기로 한 것이고..그렇다보니, 너무나도 많은 challenge가 있었다. 제품에 대한 지식 부족, 관리 부족, communiction 부족 등등.. 이제 한바퀴를 돈 시점에서는 조금 더 잘 할 수 있겠지만, 상품의 코팅 방법, 종이 인쇄의 질감 등등은 아직도 나에겐 도전의 영역이다.그렇기 때문에 각각의 영역에서 나보다 뛰어난 역량을 가진 사람들이 join해야 하지 않을까? 라는 생각을 한다.총 7개의 글로 나누어서 기록하였고.. 그간 빠진 내용들도 많겠지만, 아무튼 9월 11일 결국 paffem이 세상에 나올 수 있었다. 제품을 만들어냈고 출시했다는 즐거움 이면에는 아직 부족한게 너무나도 많아 보인다는 그 생각에 잠을 이룰 수 없을 지경이다. 그래 이제부터가 시작이다. 파펨의 런칭파티 당시의 현장 사진Phase 38. 그렇게 런칭을 하고.. 런칭을 하고서는 새로운 고민들의 연속이다... 이 제품을 어떻게 알릴 것인가? 필요한 것들의 수급은 문제없이 잘 이루어지고 있는지? 함께 일할 인재들을 어떻게 찾을 것인지? 등등그런데.. 사실 paffem의 서비스가 설명하기엔 그리 쉬운 것이 아니라서, 어떻게 쉽게 설명할까? 가 고민의 포인트였다. 그러던 중, flea market에 가서 상품 판매를 해 보았는데.. 역시나 현장에서 말로 설명해봐야 고객이 어떤 포인트에서 이해를 쉽게 하고, 구매까지 연결시켜 볼 수 있을지? 에 대한 아이디어가 나오는 듯 하다. 결국 그렇게 flea market을 2회 참여하고서 만든 서비스 소개카드!! 앞으로는 10~15초 길이의 동영상 버젼으로도 만들어봐야 겠다. 다음 글 부터는 런칭 후에 마주치게 되는 이슈들에 대해서 포스팅 예정!!#파펨 #스타트업 #창업가 #창업자 #마인드셋 #인사이트
조회수 1001

일할 때 오물거리는 꽈자에 대해 알아보았다.(개취존)

이제 하다하다 오물거릴 과자에 대해서도 알아보고 있네요. 뭐 아무 맥락없이 어그로나 끌려고 하는 것은 아닙니다. 말씀드렸듯 저는 프로젝트 할 때 주로 클라이언트 사무실에 컴퓨터를 들고 가서 직원마냥 일을 했죠. 일을 하다보니 자연스레 탕비실 이용도 종종 있었고, 그들의 주전부리를 함께 나누며 진정한 식구로 거듭나곤 했습니다. 근데 이게 한 두번도 아니고 미팅을 비롯하여 이곳저곳을 다니다보니 묘한 공통점을 발견하게 되었습니다. 도대체 왜! 한결같이 탕비실엔 마가렛트가 있는가...하는 것이죠. 기시감인가 싶어 다른 기억들을 되새겨봐도 이 마가렛트는 어디에나 존재했던 것 같았습니다. 롯데와 회사간 모종의 MOU가 있지도 않을진데, 죄다 비슷한 과자들이 있는 것을 보고 생각했습니다.마가렛트는 왜 항상 회사에 상주하는가. 직원인가?아, 이것이 진정한 브랜딩의 참모습이구나. 물론 헛소리입니다만, 조금 생각해보면 이렇습니다. 브랜딩이라고 하는 것은 결국 대상에 대한 이미지와 선입견의 구축입니다. 이러한 심리적 베이스가 가장 잘 드러나는 것은 사실 '의도적 구매'가 아닌(예를 들면 고가의 카메라나, 노트북과 같은 정보기반의 선택이 아닌) '습관적 구매' 부분이라고 할 수 있죠. 그냥 아무 이유없이 구매하는 것 만큼 무시무시한 브랜디드 콘텐츠가 또 있겠습니까. 물론 맥심같이 그냥 싸고 혜자스러워서 구매하는 합리적 선택도 있겠지만, 5만원어치 과자를 사와야할 때 장바구니에 담기는 과자의 종류는 놀랍게도 얼추 비슷비슷한 것들입니다. 아마도 우리 마음속엔 아..사무실에서 이런 과자. 행사장에선 이런 과자.. 등의 기시감이 존재하는 듯 합니다. 그리고 고대의 유전자로부터 흘러내려오듯 내재된 DNA에 마가렛트의 고소함이 흐르고 있을지도 모르는 일이지요.그래서 무의식중에 그냥 집어먹고 있는 사무실 안의 과자 및 주전부리에 대해 기억을 되새겨보기로 하였습니다. (어, 참 대단하다.) 개인취향이 가득하니 그냥 그런가보다....하는 관점에서 봐주시면 즐거울 것 같습니다.사무실용 꽈자1. 오징어집/양파링/자갈치 패거리농부의 마음 패거리들. 이 녀석들은 너무 와작거립니다. 그리고 계속 먹으면 입천장이 까지고 혓바늘이 돋죠. 이들의 공통점은 모두 뒷면에 '아빠의 술안주로도 좋은~' 이라는 문구가 있습니다. 곰곰히 생각해보면 과자야 아무때나 먹으면 되는 건데 굳이 본인의 TPO를 규정해놓는 것도 재미있습니다. 얘네들의 공통점은 짭쪼름입니다. 뭔가 입이 심심할 때 먹으면 아주 맛있지만, 지나치게 와작거려서 동료를 거슬리게 할 수도 있습니다.덧. 알새우칩은 케찹에 찍어먹어야 맛있습니다.2. 홈런볼느님존맛가성비가 창렬스러운 홈런볼느님은 보통 한 봉지에 23~24개정도가 들어있습니다. 큰 홈런볼 번들용이 4개들이 홈런볼보다 11개 정도가 적다는 쓸데없는 오유의 연구결과가 있습니다. 그러니 낱개로 사도록 합시다. 재수가 좋으면 27개까지도 득할 수 있습니다. 하지만 중량은 동일하므로 초코가 덜 들었을지도 모릅니다. 여튼 홈런볼은 일단 조용히 한 알씩 생각없이 먹기 좋습니다. 게다가 지구를 파괴하지만 편리한 플라스틱 용기가 있어서 부시럭거리지 않아도 될 일이죠. 아주 훌륭한 업무용 과자라고 할 수 있습니다. 당이 떨어질 때 고소함과 초코초코함을 한 번에 충족시켜주면서 뇌내의 다량의 도파민을 분출시킵니다. 일시적으로 기분이 좋고 잠이 깨는 듯한 느낌적인 느낌을 받을 수 있습니다. 게다가 졸라 맛있음. 3. 편의점팝콘이놈들은 악마다 악마야팝콘은 신이 허락한 마약과도 같습니다. 특히 콘소메와 어니언맛 팝콘은 아주 대단한 중독성을 보여주죠. 와작거림의 정도도 덜하고 양념된 팝콘을 먹고나서 몰래 손가락을 빨아먹으면 아주 기가 막힌 불량한 시즈닝맛을 느끼면서 혀르가즘에 도달할 수 있습니다. 단점은 자꾸 땅에 흘린다는 것과 이에 옥수수 껍질등이 낄 수 있다는 점, 가끔 혓바늘이 돋거나 입이 텁텁해진다는 등이 있습니다. 그리고 자꾸 손에 시즈닝이 뭍어서 키보드가 개판이 될 수 있으니 조심해야 합니다. 장점은 가성비가 엄청나단 것입니다. 편의점에선 1,000원에 하루종일 와작거릴 수 있는 거대한 양의 팝콘을 구매할 수 있죠. 4.예감뭔가 항상 있음얘는 꼭 하나씩 있더라구요. 특히 치즈그라탕맛은 거의 무조건적이었습니다. 혹시 여러분 사무실에도?...예감은 일단 튀기지 않았다는 문구로 뭔가 건강할 것 같은 느낌을 주지만 칼로리는 별 차이가 없다는 함정이 있습니다. 와작거리긴 하지만 하나씩 넣고 오물거리거나 녹여먹을 수도 있습니다. 특히 감질맛 나는 양과 동료와 나눠먹기 편한 형태로 되어 있어서 오고가는 예감속에 꽃피는 애사심을 느낄 수 있습니다.4.고구마깡/꿀꽈배기/감자깡 일당주로 얘네들은 묶음 판매를 합니다. 그래서 먹고싶지 않은 감자깡이 자꾸 딸려오죠. 그런데 놀라운 것은 원래 고구마깡과 감자깡은 내 돈주고 사먹지는 않지만 막상 까놓으면 또 한 두개씩 집어먹게 된다는 점입니다. 더욱 신기한 것은 한 두개 먹다보면 계속 먹을 수 밖에 없는 담배못지않은 중독성이죠.4.뽀또/애플잼쿠키/초코칩쿠키 하아..마성의 뽀또. 치즈맛. 이건 정말 절대 내 돈주고 사먹지 않는데, 있으면 하나씩 꼭 까먹게 됩니다. 애플잼쿠키와 초코칩쿠키도 그러하죠. 아마 이 녀석들의 매출의 70%는 직장인들이 아닐까 싶습니다. 이럴거면 그냥 B2B영업을 하는 것이.. 뽀또는 먹으면 어금니 안쪽에 자꾸 뭉쳐서 낍니다. 일하다가 자꾸 혀를 안쪽으로 넣어서 이상한 표정을 짓게 되죠. 초코칩과 애플잼도 그렇습니다. 덤으로 엄마손파이가 등장하는데, 주로 엄마손은 행사장 테이블에 많더라구요. 그래서 행사장 과자에서 다루도록 하겠습니다.4.콘칩/포테토칩/캬라멜콘+메이플커져서 먹기 힘들어짐.뭔가 고대의 유물같은 아재과자이지만, 심심할 때 와작거리기엔 또 이만한 것들이 없습니다. 단점이라면 자꾸 손에 가루가 묻는다는 것이랄까요. 캬라멜콘은 원래 땅콩이 7개정도 바닥에 깔려있는 것이 또 매력이었는데 이젠 땅콩이 사라지고 왕창 커져서 한 입에 넣기 힘들게 되었습니다. 이 녀석들을 동시에 먹으면 단짠단짠을 느낄 수 있는데 이는 마치 맛의 교향곡을 타고 어깨춤을 추며 저 하늘 너무 뭉게구름을 밟고 잠시 신선이 된 느낌과 같습니다. 그러나 그것은 단지 일장춘몽이요, 이내 입이 텁텁해지며 혓바늘을 감수해야 합니다. 심하게 와작거리므로 옆 동료와 나눠먹어야 합니다. 동료애를 고취시키는 멋진 아이템입니다.5.참붕어빵/뻥이요/신짱의문이 하나 있습니다. 저 참붕어빵은 심심치 않게 보이더라구요. 근데 정작 먹는 사람은 별로 없습니다. 하지만 며칠 지나면 또 없어져 있어!....사무실엔 "참붕어빵 요정"이 사는 것이 분명합니다. 뻥이요는 팝콘을 대신하는 유용한 과자입니다. 양이 혜자스럽고,  가루가 묻어나지 않아 깔끔하게 하나씩 먹을 수 있죠. 하지만 하나씩 먹는 사람은 거의 없습니다. 대다수 손에 담아서 털어넣죠. 남녀노소 신입경력 대표인턴할 것 없이 뻥이요는 털어넣는 것이 진리입니다. 버터맛이 아주 고소해서 계속 들어갑니다. 신짱도 그러합니다. 신짱은 가끔 입천장을 어택해서 피와 함께 버무려진 맛을 느낄 수도 있는데, 종종 느껴지는 검은깨의 고소함이 우리를 마치 깻잎밭으로 인도하는 느낌입니다.6.키도/레돈도/크리스피얘 이름이 레돈도라고 합니다. 처음알았네.요즘에 외국과자 판매점이 많아서, 손쉽게 외국과자를 살 수 있는데 대표적인 것이 키도와, 레돈도, 그 크리스피 감자(미용실에서 서비스로 주는)칩입니다. 당연히 양이 혜자스럽고 한입에 조금씩 넣어먹을 수 있는 훌륭한 업무최적화를 보여줍니다. 더불어 뭔가 사다놓으면 트렌디한 회사문화를 보여줄 수 있어서(도대체 왜..?) 스타트업 중에는 외국과자가 즐비한 곳들이 꽤나 있었습니다.7.기타 이상한 과자들(노브랜드 초코칩, 펑리수, 젤리)가성비가 지리는 노브랜드나, 코스트코 치즈볼 등을 쟁여놓고 먹는 곳도 있었습니다. 그리고 휴가철이 끝난 9월 초 정도가 되면 뭔가 회사에 펑리수나 파인애플과자, 일본과자들이 쌓여있더라구요. 개인적인 취향에 따라 젤리데이나 하리보, 마시멜로우를 놓고 있는 곳도 있었습니다. 하지만, 대부분 이런 것들은 탕비실이라기보단 두번째 서랍정도에 많이 있더라구요.행사용 꽈자사무실에만 과자가 있는 것이 아닙니다. 더욱 놀라운 것은 바로 소규모 행사때 때 테이블에 올려진, 또는 미팅이나 강의장에 뒷편에 비치된 주전부리입니다. 뭔가 행사용 과자 세트가 있는 듯한 느낌이 있는데 생각나는 대로 열거해보겠습니다.그래..완전체다 이거 완전카스타드/쿠크다스 조합뭔가 반드시 있습니다. 고구마맛도 있고, 통밀맛도 있고, 초코맛도 있고, 그냥 오리지날도 있습니다. 반드시 있음. 소리없이 오물거리며 먹기 좋습니다. 하지만 소리가 나지 않는다고 그냥 먹으면 목이 막힙니다. 반드시 맥심 화이트골드 믹스커피나 동서 현미녹차가 있어야 합니다. 쿠크다스는 얼마나 찢다가 흘리고 깨먹으면 뜯는 법이 두 번이나 설명되어 있습니다. 생각보다 양이 창렬스러워서 많이 구비할 수는 없는 귀족과자입니다. 아이비/에이스조합무조건 동서맥심 화이트골드/모카골드 각입니다. 김연아와 이나영의 대결이죠. 찍어먹으면 그 진가가 두 배가 되는데 너무 오래담그고 있으면 에이스가 녹아서 커피속으로 빠져버립니다. 신개념 스프를 먹을 수 있을 수도 있으니 살짝만 찍도록 합시다. 주로 강의장이나 미팅 때 많이 쓰이는데 조용히 먹을 수 있고, 뭔가 포장이 4,5개 단위로 되어 있어서 일회용접시에 쌓아놓기 좋기 때문인 듯 합니다.마가렛트/빅파이/후렌치파이 조합말할 필요가 없는 행사를 위한, 행사에 의한, 행사의 과자들. 후렌치파이 딸기맛이 가장 잘 팔립니다. 그 다음이 후렌치파이 사과맛, 마가렛트, 빅파이순이더라구요. 빅파이는 목맥혀서 많이 안먹습니다. 이에 초코 끼기도 하고.오레오/롯데샌드/초코하임 조합하아...이것 또한 전설의 삼위일체죠. 가끔 크라운산도가 끼기도 하는데 주로 딸기맛이 꼽사리를 낍니다. 롯데샌드 평소에 돈 주고 사드셔보셨나요? 하지만 행사장에선 왠지 하나씩 손에 쥐어야 할 것 같은 느낌이 있습니다. 마찬가지로 깔끔하게 하나씩 입에 넣을 수 있고 생각보다 와작거리지 않습니다. 그러고보면 행사장 과자는 거의 와작소리가 나지 않는 조용하고 매너있는 과자들이 많습니다.오예스/초코파이군대도 아니고, 행사장에만 오면 오예스를 하나씩 먹게되더라구요. 그런데 이상하게 초코파이는 손을 잘 안대는 듯한 느낌입니다. 쫀득거리는 마시멜로우때문에 뭔가 베어먹기가 그러해서 그런지... 그러나 이 오초조합은 꽤나 올드한 느낌이 강해서, 요 근래 행사장에선 많이 자취를 감추고 있는 근대의 유산이라고 할 수 있습니다.촉촉한초코칩/칙촉/다이제 조합등장! 초코초코 콤보. 제일 먼저 사라지는 선호도1순위의 조합이죠. 하지만 다이제는 뭔가 거대한 초코와 통밀과자가 부담스러워인지 쉽게 집어먹지 않더라구요. 아마, 딱히 하나씩 뜯어먹기가 힘든 패키징이라서 그럴 듯 합니다. 하지만 요즘은 3개가 한 봉지로 구성된 빌어먹을 질소포장 덕분에 행사장 과자로 그 위상을 넓혀가고 계십니다.    야채크래커/제크/하비스트 조합잘 안먹음. 과자라는 것이 참으로 그렇습니다. 사람이 먹는 낙이라도 있어야 즐겁게 일할 수 있다..라는 생각때문에 잔뜩 구비해놓고 와작와작 먹긴 하는데. 막상 먹고싶어서 먹는다기 보단 있으니까 먹는 경우가 훨씬 많은 것 같습니다. 주로 이러한 과자는 하모니마트나 롯데마트 등에서 많이 구매하게 되더라구요. 한 번에 5만원 어치 구매해서 2주정도 오물오물 거리는 것이죠. 경제심리를 증명하기 위한 게임중엔 '최후 통첩 게임' 이란 것이 있습니다. 상호간의 제안과 거래를 통해 이익을 취할 수 있는 선택을 하는 흥미진진한 게임이죠. 재미있는 것은 이 최후 통첩 게임을 진행하는 환경. 그러니까 테이블위에 놓여져 있는 몇 가지의 소품만으로도 사람은 크게 다른 선택을 한다는 점입니다. 펜과 종이, 시계등이 올려진 사무실느낌의 테이블에선 매우 합리적이고 경제적인 선택을 주로 하죠. 손해보더라도 조금의 이익을 취하는 쪽으로 행동을 하는 경향이 높습니다. 하지만 액자,꽃병,양초 등이 올려진 일상생활 느낌의 테이블에서는 감정적인 선택을 훨씬 많이 합니다. 상대의 제안이 기분나쁘면 약간의 이익도 포기해버리고 자존심을 지키는 것이죠.이처럼 사람은 주변의 환경, 그것도 단 몇 개의 소품만으로도 심리적 프레임과 행동의 패턴이 달라지곤 합니다. 사무실에 터줏대감처럼 자리한 늘 사오던 과자들도 어쩌면 우리의 행동을 규정하는 그 몇 개의 소품 중 하나가 되어있는 것을 아닐까용? 다음 번엔 과자를 담은 장바구니를 한 번 빤히 쳐다보는 것도 재미있을 것 같아요. 기존에 사보지 않았던 녀석을 한 번 가져가보는 것도 흥미진진한 경험을 선사하지 않을까 싶습니다.(참붕어빵은 제외)
조회수 1876

당신의 회사는 fbstart에 지원 가능합니다

페이스북에서 스타트업에게 지원프로그램을 운영하고 있습니다.그것은 바로 FbStartFbStart 뭘까?개발자의 제품 빌드와 성장을 돕기 위한 Facebook의 글로벌 스타트업 프로그램입니다. 이 프로그램에 참여하는 멤버는 무료 도구와 서비스, 지원, 교육 등을 이용할 수 있으며 일 년 내내 Facebook 팀과 직접 연결하여 기술 및 전문가 멘토십을 이용할 수 있는 기회가 있습니다. 또한 Amazon, Dropbox, Stripe, MailChimp 등 수십 개의 Facebook 파트너로부터 독점적인 맞춤 할인 패키지를 받습니다. Messenger 플랫폼 및 네이티브 모바일 앱 개발자는 FbStart.com에서 프로그램을 신청할 수 있습니다.네 그렇습니다.앱 서비스를 하는 스타트업들에게 실질적인 재원을 지원해주는 프로그램이죠.FbStart 참여 자격 요건은?라이브 Messenger 플랫폼 봇이 있는 개발자는 물론 Facebook과 협력 관계인 VC, 액셀러레이터, 대학 및 해커톤 파트너로부터 리퍼럴 코드를 받은 스타트업이 참여할 수 있습니다. Facebook은 여러 성장 단계의 개발자를 위해 두 가지 과정을 제공합니다.시작 과정: Google Play 스토어 또는 Apple App Store에 Messenger에서 우수한 품질의 실행 가능한 봇 또는 네이티브 모바일 앱을 출시한 개발자전문 과정: Google Play 스토어 또는 Apple App Store에 Messenger에서 실행 가능한 봇 또는 네이티브 모바일 앱을 출시하고 타겟 시장에서 지속적으로 성장 중인 개발자  FbStart에 참여하려면 등록된 Facebook 앱 ID와 Facebook 개발자 계정이 있어야 하지만 프로그램에 참여하도록 승인받기 위해 Facebook 제품을 앱에 통합할 필요는 없습니다.어떻게 시작할까요!?Facebook for Developers에 앱을 관리를 하고 계신다면 확인해주시고FbStart  접속저희 회사는 이미 혜택을 받은 상태라 신청 부분란이 없네요..ㅠㅠ아직 혜택을 안 받으신 분들이시면 파란 버튼이 '시작하기'라고 되어 있습니다.시작을 하시면 페이스북에서 물어보는 게 있는데요여기에서 직접 신청하세요. 간단한 신청서에 회사 및 앱 정보를 기재하시면, 2주 이내에 답변을 받게 됩니다.여기서 곤란한 부분!신청란 적는 부분에 재무적인 사항을 쓰는 부분이 있습니다."FbStart에 대한 참여 승인 시 재무 상태만 고려하는 것은 아니지만 비즈니스 전반적인 상태를 판단하는 데 중요한 지표가 됩니다. 또한 여러분의 단체가 비상장 기업인지, 규모가 프로그램에 적합한지도 판단해야 합니다."기타 궁금한 사항은 "요기" 에서 확인해주세요즉 누락하여 쓰는 경우 프로그램에 떨어질 확률이 높습니다. 신중하게 써주세요^^저희(오누이)는 여러번 떨어진 결과 붙었습니다..ㅠㅠ그럼 붙었는지 확인하는 곳은!?developers.facebook에서 '알림'을 확인해주시면 확인가능합니다.떨어지면 이렇게 알림이 나오네요 :)떨어지면 나오는 알림그러면 붙으면!?기분 좋아 ㅎㅎ이렇게 알려주네요!!!! ㅎㅎ마지막! 페이스북에서 지원하는 혜택이 뭘까요!?FbStart 혜택1. 클라우드서비스아마존 웹서비스아마존 웹서비스 (12개월) 15,000달러 지원 (17.03.12일 기준) 한화 1,733만 2,500원2. 협업Dropbox (6개월)최대 30명의 직원을 위해 Dropbox를 통해 파일을 안전하게 보관, 동기화 및 공유3. CRM (고객 관계 관리)Salesforce Desk.com (6개월)소규모 기업에 대한 지원을 위해 ProPlan(3명)에 대한 무료 액세스 권한으로 탁월한고객 지원을 제공합니다.5. 고객지원Zendesk (12개월)새로운 고객들은 한달에 300달러의 신용 카드를 받고, 고객들의 지원을 우선 순위로 삼고, 고객 지원 표를 발행하기 위한 아주 간단하고 간단한 시스템을 제공 받습니다.6. 배포GitHub (4개월)코드를 4개월간 무료로 사용하시고 다른 개발자들과 협력하실 수 있습니다.FACEBOOK (12개월)Facebook의 기술 전문가를 대상으로 한 질문을 사용하여 Facebook의 기술 전문가와 앱 검토, 앱 분석, 앱 및 플랫폼 정책에 관한 질문과 관련된 질문을 받으십시오.7. 디자인Adobe 각각 20% 할인 혜택 제공 (12개월)귀하의 모바일 앱에 대한 강력한 컨텐츠를 만들고 디자인하기 위해 창의적인클라우드 사진 촬영 계획(무제한 좌석)에 대한 20%할인 혜택을 제공합니다.귀하의 모바일 앱에 대한 강력한 컨텐츠를 만들고 디자인하기 위해 창의적인 클라우드 계획(무제한 공간)을 제공하는 데 15%할인 혜택을 제공합니다.fiverr (10개월) 500달러 지원 (17.03.12일 기준) 한화 577,750원디자인 및 복사 리소스를 확보하기 위해  최대 500달러의 크레딧을 받으십시오.ANIMOTO (12개월)6개월 간의 여유로운 비즈니스 크리티컬 비디오를 사용하여 간편하게 제작할 수 있으며, 6개월간 무료로 제공되는 무료 비즈니스 비디오를 제작할 수 있습니다.8. 도메인지원Namecheap (12개월)모바일 앱의 온라인 상태를 무료로 제공하는 동시에 무료로 제공되는 무료 Namecheap와 무료 PremiumDNS를 제공합니다.9. HR (인적 자원)AngelList세계 최대 규모의 플랫폼이자 창업자를 모집하기 위한 세계 최대 규모의 플랫폼인 FbStart의 구인 이사회 초청WorkableWorkable의 표준 플랜(5개의 활성화 작업 목록)으로 시작하여 귀사의 채용 노력을 관리하십시오.Workable은 한국에 변역 및 소개된 자료가 없네요..ㅠㅠ (고용 및 채용플랫폼)YandikiYandiki의 개인적 재능을 바탕으로 크리에이티브 인재를 원격으로 채용하십시오. 5,000달러의 비용과 5,000달러의 리베이트를 받은 후에는 매 시간마다 10%의 리베이트를 받아야 합니다.Yandiki은 원격 가상업무 환경을 제공하는 플랫폼10. 다국어화reverieinc최대 1,000,000개의 단어에 액세스 할 수 있도록 모바일 애플리케이션의 다양한 언어로 모바일 앱의 콘텐츠를 제공하고 최대 100개의 단어를 사용하여 최대 200개의 언어로 구성된 정적 문자열을 제공합니다.Transifex다양한 언어를 사용하여 모바일 앱에서 디지털 컨텐츠를 수집, 번역 및 전달하여 애플리케이션 중심의 프리미엄 플랜을 통해 성장을 돕는 플랫폼입니다.11. 시장조사Sensor Tower 500달러 지원 (17.03.12일 기준) 한화 577,750원앱 스토어 검색을 최적화하고 기본적인 앱 스토어 최적화( ASO)플랫폼을 갖춘 애플리케이션 스토어를 최적화하기 위한 키워드를 식별합니다. 새로운 센서 타워 고객들은 500달러의 크레딧을 얻을 수 있습니다.Sensor Tower은 모바일 앱 시장 조사를 돕는 회사!PitchBook자본을 더 빨리 확보하고 다음 투자자를 6개월 이상 무료로 액세스 할 수 있도록 모바일 앱의 차세대 투자자를 찾을 수 있는 서비스PitchBook은 M&A 및 시장조사 등 데이터 회사Apteligent 3,600달러 지원 (17.03.12일 기준) 한화 4,159,800원애플리케이션 문제를 해결하고 사용자 환경을 개선하여 모바일 사업자가 3,600달러를 지불할 수 있도록 지원합니다.12. 마케팅 (심지어...페북 광고비 꽁짜임..!!)FACEBOOK (6개월) 2,500달러 지원 (17.03.12일 기준) 한화 2,888,750원귀하의 모바일 앱이나 Messenger(메신저)를 홍보하기 위해 새롭고 현존하는 광고에 대한$2,500의 페이스북 광고 크레딧을 지원합니다.DocSend (6개월)마케팅, 비즈니스 개발 및 실시간 문서 분석을 위해 최대 10명의 직원을 대상으로 한 마케팅 강화를 위해 최대 10명의 직원을 활용합니다.DocSend는 영업 및 마케팅 팀이보다 효율적으로 업무를 수행 할 수 있도록 지원하는 컨텐츠 관리 및 추적 솔루션입니다MailChimp (6개월)사용자는 마케팅 e-메일, 자동화된 메시지, 5000여건의 e-메일 서비스를 이용하여 e-메일을 홍보하는 캠페인에 참여하십시오.Twilio (12개월)  5,000달러 지원 (17.03.12일 기준) 한화 5,777,750원음성 및 비디오, 메시징 및 인증 API를 비롯한 다양한 서비스에 대한 5,000달러의 크레딧을 제공합니다.13. 결제Stripe (12개월) 50,000달러 지원 (17.03.12일 기준) 한화 57,777,500원귀하의 사용자에게 원활한 지불 경험을 제공하고 수익$50,000의 무료 프로세싱을 무료로 제공하십시오.Stripe는 온라인 비즈니스 결제 서비스14. 프로젝트 관리TransparentBusiness (12개월)3개의 무료 라이센스를 사용하여 원격 직원을 관리하고, 80%할인된 가격으로 80%의 추가 라이센스를 제공하십시오.TransparentBusiness는 프로젝트 관리 서비스!15. 시제품제작Proto.io여러사람들이 모여 함께 동시다발적으로 프로젝트를 성공적으로 만들 수 있습니다. (모바일 앱 기획 및 제작에 큰 도움이 된다.)16. 설문조사도구SurveyMonkey (12개월)사용자가 보유하고 있는 골드 계정을 이용하여 귀하의 사용자에게 알려 주는 정보를 수집합니다.SurveyMonkey는 글로벌 설문조사 제공 회사17. 유용성테스트User Testing (12개월)사용자의 직관적인 사용 편의성과 원격 사용 편의성 테스트를 통해 사용자의 통찰력을 높이고 모바일 앱을 사용할 수 있습니다.18. 와이어프레이밍Balsamiq (12개월)사용자 인터페이스를 쉽고 빠르게 사용할 수 있고 사용자 인터페이스 mockups를 쉽게 스케치할 수 있는 자유롭고 신속한 모바일 앱을 사용하여 모바일 앱을 디자인합니다.Balsamiq는 디자이너, 기획, 마케터, 개발자 등 모두에게 도움되는 서비스입니다.끝입니다..!! 페이스북에서 이만큼~! 도와주고 있습니다!!물론 오누이도 4번정도 떨어지고 붙었습니다!모두들 리워드 크레딧 받으셨으면 좋겠습니다!#오누이 #꿀팁 #경험공유 #조언 #페이스북 #FBstart
조회수 799

세상을 혼란케하는 브랜딩앙마 TOP 5

그들은 놀라고, 무서움에 사로잡혀서, 유령을 보고 있는 줄로 생각하였다.브랜딩전문가께서는 그들에게 말씀하셨다.어찌하여 너희는 당황하느냐? 어찌하여 마음에 의심을 품느냐?내 로고와 내 슬로건을 보아라. 바로 나다. 나를 만져 보아라.사짜의 브랜딩은 살과 뼈가 없지만, 너희가 보다시피, 나는 있느니라.글을 시작하며전 사짜들이 싫습니다. 그들은 브랜딩귀신을 소환하여 현세를 어지럽게 하고 돈을 갉아먹는 데다가 조직을 피로하게 만듭니다. 사람들에게 희망고문과 절망을 동시에 심어주면서 묘하게 자신들의 주머니는 채워지는 구조를 지니고 있죠. 오늘 알아볼 것은 그들이 소환하는 브랜딩귀신들의 등급과 소환방식에 대한 것입니다.졸라 조심해야함5위 / 디자인앙마이들은 주로 디자인회사라는 탈을 쓰고 있는 이계의 앙마들입니다. 이들의 우편엔 포토샵과 좌편엔 일러스트가 있는데, 그들의 발밑에는 PPT라는 것이 있어서 그것을 타고 다닙니다. 또한 이들의 몸 주위엔 각종 지구사진, 큐브사진(아래참조), 그라데이션, 물결무늬가 빗발치며 보는 사람의 눈을 현혹시킵니다.큐브제로가 생각남이들은 인간계에서 주로 '실장님' 이라는 호칭을 자주 쓰고 있는데, 미팅을 통해서 현혹시킨 뒤 결과물로 데미지를 줍니다. 브랜딩계에선 하급앙마에 속합니다. 왜냐면 조금만 정신을 차리거나 두 눈이 온전히 존재한다면 이것을 쉽게 물리칠 수 있기 때문입니다. 그러나 대부분 순수한 눈을 지녔거나, 신에게서 "디자인감각의 서"를 받지 못했다면 크게 당할 수 있습니다.보통 공격력은 200~400만원 선이며, 공격지속력이 높아서 그들이 만든 그라데이션과 Abstract(물결치는 선형 그라데이션에 미래적인 슝~거리는 것들) Background 로 가득찬 회사소개서나 브로슈어를 1,000부나 간직하며 계속 봐야합니다.방어법 : 포트폴리오에 무슨 무슨 회사를 했다라고 클라이언트사명을 강조하는 곳이면 일단 경계합니다. 포트폴리오에 그라데이션이나 물결무늬가 있다면 조심해야 합니다. 어둠의 기운이 가득합니다.4위 : 연구소앙마일단 무슨 연구소를 운영한다거나 회사이름이 무슨 연구소거나 연구소 이름앞에 '한국' 이 붙어있거나, 뭔가 로고가 파란색 폰트거나, 밑에 한자가 함께 적혀있다거나 연구소 공동저서가 있다거나 ..여튼 뭔가 듣보잡인데 연구소연구소 거리면 회피각입니다.주로 조심해야할 접두어한국~연구소우리~연구소한얼~연구소모두~연구소별거없이 그냥 브랜딩무슨협회마스터 어쩌고연구소 앙마들은 주로 서초구나 강남구에 존재하고 있습니다. 그리고 무슨 협회나 연구소 페북 페이지를 운영하고 있는데 하얀바탕에 빨간글씨, 파란글씨 일 경우가 많습니다. 이미 분위기가 딱 쌔...하지 않습니까? 이들은  무기를 주로 활용하는 데 '저서' / '연구자료' / '유명인과의 네트워크' 공격을 많이 시전합니다. 하지만 그냥 무시해도 상관없습니다. 책쓰는 건 그냥 돈만주면 다 쓸 수 있는 세상이고, 연구자료는 연구를 했단거지 그게 옳단 얘긴 아닙니다. 유명인과의 네트워크는 유명인이 신체포기각서라도 쓰지 않은 이상은 박근혜정부가 MOU맺고 다닌 그림과 크게 다르지 않으니, 사실상 공격력이 강하다고 보긴 어렵습니다. 그러나 현혹될 경우(특히 퇴직 이후에 늦게 창업하신 분이나, 중소기업이 희생양이 될 가능성이 높습니다.) 막대한 금액의 장기적인 피해를 입을 수 있는데다가, 이들은 주로 쥐도새도 모르게 흔적을 감추고 사라지는 시공간인술을 사용하기 때문에, 그 실체를 잡기가 어려워 질 수 있습니다.방어법 : 일단 연구소, 무슨 랩, 무슨 협회하면 흠칫합시다. 적어도 페북페이지를 한번 뒤져봤을 때 뭔가 퍼온 리링크만 가득하거나 자기들 페이지부터 브랜딩해야할것 같은데? 생각이 들면 거릅시다. 우리나라에 그런 곳 치고 제대로 된 곳이 있나 싶습니다. 게다가 왜 우리회사 브랜딩을 다른 동네 아저씨들이 규정해줍니까?3위 : 좆문가앙마이들은 브랜드전문가라는 오글거리는 네임을 아무렇지 않게 명함에 달고 다닐 정도로 아스트랄파워가 강력합니다. 에너지는 높은 곳에서 낮은 곳으로 흐르므로 이 에너지위상차를 통해 당신에게 심각한 멘탈어택을 선사할 수 있습니다. 물론 진짜 전문가님들이 계십니다만, 진짜 천상계 전문가님들은 자신이 전문가라고 얘기하지 않는 경우가 대다숩니다. 또는 진짜는 본인의 입이 아닌 타인의 입에서 전문가라는 평판이 나와야 하는 것이지요. 이 좆문가앙마는 굉장한 지식과, 방대한 레퍼런스, 강의력으로 상대를 압도하곤 합니다. 나름 좆문가가 되기 위해 스스로 공부를 많이 한 경우가 있으며, 실제로도 매우 똑똑하거나 개중에는 정말 잘하시는 분도 있을 수 있습니다. 그러나 이런 말을 하면 전 졸라게 욕을 먹겠지만, 브랜딩이 전문가 한 사람이 구축해서 만들어지는 시스템이라면, 그래서 전문가의 컨설팅으로 누구나 브랜딩에 성공할 수 있다면 지금 당장 저도 신한은행 봉은사역점으로 달려가 대출을 받아 그분을 모시고 싶습니다. 물론 회사나 서비스, 제품, 직원들간의 어떤 색깔이 분명한 상태라면....그것을 더욱 명확하게 구체화시키고 표현하는 것은 얼마든지 가능합니다. 그리고 그 전략과 실행에 따라 크게 결과치가 크게 바뀌는 것이 맞습니다. 그러나 솔직히 제 짧은 경력으로도 지금 우리나라의 브랜딩이란 것이 얼마나 보여주기식에 이빨까기가 팽배한 지 몸소느끼고 있는 입장에서... 그들은 무엇을 근거로 어떤 전략을 짜는 것인가?? 하는 것에 대한 의구심이 들죠. 실제로 브랜딩한단 사람들이 그 회사에는 눈꼽도 보이지않고 미팅 몇 번 한 뒤에 관련자료를 받아서 컨설팅을 해준다???? 아무리 3위에 등극한 앙마라지만, 보지도 않은 이들의 색깔과 성향을 파악하고 그것을 한 문장이나 비쥬얼로 구현해 낸다는 것은 그것..음.....그건 정말 루시퍼죠.이들에게 잘못걸리면 거액의 컨설팅비용과 시간과 희망고문에 시달리다가 아스트랄이 산산조각 나서 브랜딩과 마케팅따위에 트라우마가 생기는... 아픔을 겪기도 합니다.일단 뭔 전문가/저서/강연했다/컨설팅/100%/해봤는데/갈아엎어야한다 등등의 어휘나1. 되게 뻔한 걸 자기만 할 수 있는 것인양 나불대기(인스타 사진9장으로 스퀘어만들기)2. 누가봐도 그냥 문제점인걸 자기가 분석한 것인양 나불대기(직원들의 태만/무관심 이딴거)3. 미팅하는 자리에 자기 책이라고 가져오기4. 잘못된 점만 겁내 까길래 해결책을 얘기해보랬더니 돈문제부터 꺼내기등등 미리 좆문가를 소환할 때는 긴장을 바짝 해야합니다. 방어법 :  이 전문가는 스스로 붙이신건가요? 라고 물어보세요.2위 : 기획앙마제가 졸라 싫어하는 부류중 하나가, 뒤에서 팔짱끼고 기획만 하고 아이디어만 주는 존재들입니다. 이들은 아주 옳고 맞는 말이면서, 진리와도 같은 문구들을 설파하며 누구도 그것에 반박할 수 없게 합니다. 그리고 그 막강한 공격을 통해서 100%확률로 상대의 방어력을 무력화시키고, "니가 일을 못해서 그런거야"라는 크리티컬 데미지를 입힙니다. 자기는 존나 옳은 말을 했는데, 너가 손이 느리고 내 말을 잘 안들어서 이 모양이 이 꼴이 된거니까 난 책임이 없으니 돈받고 가겠다. 라는 심보인데, 물론 실제로 그런 경우도 있습니다. 전략짜러 오신 분이 목에 피토해가며 통촉하여 달라고 석고대죄를 했음에도 불구하고 클라이언트 저하가 너무 완고하신 나머지 전략가를 밟고 궁궐 담을 넘어 저잣거리로 향한다면 뭐 어쩔 수 없는 노릇이죠. 그렇다고 클라이언트를 아스바리걸어서 엎어치는 건 아니잖습니까.하지만, 대부분의 기획앙마들은 '그럴싸한' 전략을 가지고 옵니다. 정량목표도 세부적으로 가지고 오죠. 하지만 중요한 건 정량목표는 저도 세울 수 있습니다. 지구인과 토성인의 네트워킹파티 기획안도 쓸 수 있습니다. 그렇게 따지면 저도 명왕성 브랜딩 잘할 수 있습니다. 기획과 정량.정성목표 잘 짭니다. 항상 문제는 '실무'입니다. 그러니까 로고플레이 전략 알겠는데..실제로 로고삽입할 때 비용과 제작기한과 감리는 누가 볼 것이며, 그 플젝을 누가 담당하고 어떤식으로 업무분장할거냐고요. 기존 제품은 어떻할거고, 홍보는 어떻게? SNS는 슬라이드어떻게 만들거고, 영상제작은 어느 스튜디오 빌려서 얼마에 어떤 장비로 몇 분짜리, 어느 채널?? 커뮤니케이션 담당은 누구고, 누가 어떻게 누구와 어떤 방식으로 누구에게 보고하고 등등...항상 기획안의 1줄은 실무1시간 어치와 맞먹을 정도로 자잘한 일들을 압축시켜놓은 것들입니다. 말로 틱틱 던진다고 될 일이 아니죠. 하지만 우리의 상급클래스 기획앙마들은 그런걸 개의치 않습니다. 던져놓고 끝이죠. 브랜드 프로젝트를 맡았다는 게 어떤 의미인가요?.... 같이 현장에서 뛰고 구르면서 그곳의 색깔을 만들어내는 프로젝트 아닌가요.. 제가 틀렸을 수도 있지만, 적어도 브랜딩을 만든다라는 사람이 팔짱끼고 한 발 떨어져서 회사의 색을 구축한다는 건 정말 루시퍼라고 생각합니다. 대악마죠.  교황님 죄송해요, 너무 적절해서 그만..방어법 : 같이 오프라인행사 한 번 뛰어보면 알 수 있습니다. 오프행사가 꽤나 많고, 스토어나 현장실무를 중요시 하니까 함께 뛰면서 알아봐주셨으면 좋겠다라고 하면 으으윽...그건....하면서 손사래치는 분들이 있습니다. 개인적인 의견이겠으나, 같이 창고정리 안해보고 딩굴딩굴하지 않았으면 브랜딩은 글렀다고 생각합니다. 교과서적인 얘기는 할 수 있겠으나, 당신이 정말 원하는 '우리만의 색' 을 만들어낼 수 없다고 굳게 믿습니다.1위 : 가치앙마브랜딩계 최고클라스인 이 가치앙마는 얼핏보면 선한 것 같습니다. 그리고 실제로 자잘하게 나쁜 짓을 하지 않으므로 실제로 강림했을 땐 누구도 이 파괴력을 알지 못하죠. 하지만, 가치앙마의 무서운 점은 바로 여기에 있습니다. '누구도 대항할 수 없고, 누구도 본 적 없는 그것'누구도 대항할 수 없고, 누구도 본 적 없는 그것만을 외치며 브랜딩책에서 쏟아져나오는 '머릿말/목차'에 나오는 얘기만 쏟아내고 있는 사람입니다. 기획앙마보다 더 무서운 것은 이겁니다. 기획앙마는 본인이 움직이진 않지만 그래도 전략같은 것 정도는 줍니다. 하지만, 가치앙마는.....하아.. 당신은 대체..이분은 주로너희의 브랜딩은 썩었으며 창업당시부터 가치가 정립되지 않았다, 너희는 가치를 발견해야하고 why에 대한 질문에 해답을 찾아야한다라는 정언명령을 퍼부우시며, WHY 드립을 하기 시작합니다. 물론!!오해가 있을까봐 미리 짚고 넘어가자면... 전 사업의 목적과 정확한 목표설정이 무엇보다 중요하다고 생각하고, 가치전달이 매출보다 더 핵심이라고 생각합니다. 그런데, 보세요. 저도 이게 옳다고 생각하니 저런 말을 하면 반박할 수 없습니다. 문제는 이겁니다. 반박할 수 없어요. 하지만 why부터 찾으라는데 현실적으로 그게 쉽나요. 원래 가치를 찾는 것은 어렵다. 이 작업이 선행되지 않으면 어떤 것도 할 수 없다....하아....그럼 어쩌라고? 회사 다 멈추고 다 같이 BM다시 짤까? 고객도 직원도 싹 다시 정리해보고, 돈들여서 만든 로고 등등 이것저것 다 갈아엎어??.... 라는 불만이 나올 찰나!!! 드디어..최고의 11클래스 메테오스트라이커 내지는 스사노오 카구츠지의 검 수준의 거대한 공격을 시전하십니다.난 현실적인 사람이다!!!!아아아아아아앗!!아니다, 현실적인 것을 생각해야지. 지금 있는 것 내에서 가치를 전달할 방법을 찾으면 된다.여기서 "현실적인 가치" 드립이 나오기 시작하면 이건 뭐....누구도 반박할 수 없습니다. 본인이 본인입으로 현실적이라고 해버리는데 우리가 거기에 반박하면 우린 이상적인 모지리가 되는 거잖아요. 이건 뭐 완전 외통수가 따로없는 거예요. 가치를 전달할 방법을 알려달라고.....제발.. 그러니까....;;가치공격을 시전합니다. 범위+100에 560데미지가치를 전달할 방법을 알려달라고..... 그러니까....;;하지만 이 앙마님들은...우리를 궁금해 죽게 만든 뒤..백마탄 초인의 모습으로 홀연히 사라지곤 합니다. 우리의 돈과 컨설팅비용과 함께 말이죠..빠이..짜이찌엔강경학 선수님 죄송...털.썩방어법 : 그 정도로 Why가 중요하다고 생각하신다면, 당신은 왜 이 일을 하고 있는지 물어봅시다. 그리고 그 일과 우리는 어떤 연관이 있는지 두 손을 깍지낀 채 안경테를 잡고 물어봅니다. 이 때 고개는 왼쪽으로 5도정도 기울여서 정말 궁금하다? 라는 표정을 유지하는 것이 좋습니다.사실 브랜딩이 과연 실체가 존재하기는 하는 걸까?? 라는 생각이 듭니다. 공기는 적어도 산소와 질소와 여러 입자들로 이루어진 대기상태라는 정확한 정의와 보이진 않지만 실체가 있습니다. 하지만, 브랜딩이란 건 그 영역도 실체도, 방향성도 뭣도 개개인마다 정의조차 모두 다른 임의의 영역이예요. 뭔가 이러한 현상에 대해 이름을 붙여야 대화가 되니까, 이름을 가져다 붙인 것이지....브랜딩이 있어서 브랜딩이란 이름이 된게 아닙니다. 어쩌면 그것은 애시당초 없는 것일지도 몰라요. 그냥 인간의 구매욕에 대한 일종의 프로세스일 뿐일수도 없고, 누군가에겐 회사가 돈써야 하니까 만든 관항목일수도 있고, 모두에게 브랜딩은 다른 의미입니다.궁극적인 목표도 모두 다르죠. 의견이 분분합니다. 누군 매출이 목적이다. 근데 매출은 또 브랜딩이 아니래.  누군 가치가 목적이다, 누군 인지도가 목적이다, 영속성이다, 신뢰다 뭐다..근데 그 중에 뭔가 눈으로 보이는게 하나라도 있나요?? 브랜딩은 오히려 다른 행위들을 통해 드러나는 드러나는 수동적 현상에 가깝습니다. 드러나는 현상에 이름을 붙이고 그걸 구체화시켜서 비쥬얼화 시키고 우리색으로 사업이든 공간이든 가득 채워가는...... 어찌보면 너무도 폐쇄적인 행위죠.  그런데 그것에 굉장히 자본주의적인 "고객을 향한 것이다.."라고 개방의 속성을 붙이기 시작하면서 기존 브랜딩에 전국시대가 시작된 것이구요. 원래 애시당초 브랜드는 자본주의와 함께 발달한 것이 아닌 것이니... 속성의 모순이 생기는 것은 이해합니다만.. 지금의 '브랜딩' 이란 단어는 음...마치 신앙처럼 여겨지고 있달까요.(브랜딩의 역사와 과거의 브랜딩에 대해선 추후에 다루어 볼께요)보이지 않는 것은 항상 과장되고 왜곡됩니다. 다양해지고 코에 걸면 코걸이 귀에 걸면 귀걸이가 됩니다. 사짜들이 판치는 것도 당연한 일이죠. 물론 현업에서 정말 피땀흘려 공부하고 발로 뛰시는 분들이 정말 많습니다. 제 주변에도 정말정말 많죠. 스스로 이 책 저 책 연구하면서 고민하고 실험해보고 실패도 하면서 다양한 정의와 방법들을 찾아가는 분들의 노고를 충분히 인정합니다. 아마도 위의 앙마들의 공통점이라고 한다면....오만이 가득하고, 독단적이며, 입으로만 브랜딩을 한다는 점인것 같습니다. (똥같은 사람들 같으니. 4차산업혁명 전문가 자격증이나 따버려라..)여튼 현장에서 발로 뛰는 멋진 브랜딩 실무자, 연구자님께 존경과 경의를 표합니다. 더불어 여러 대표님들이 강력한 앙마들의 유혹으로부터 멘탈과 돈을 잘 지켜내며 현명한 회사운영을 하시길 바라며... 이 긴 글을 마칩니다.(앙마조심)
조회수 1117

행복한 창업가

창업은 어렵고 힘들고 치열하다. 통계적으로 90%의 창업이 실패하고 살아남은 10%도 성공이라 부르기에는 어려운 상황이 많다. 이렇게 어렵고 힘든 과정이 창업이다. 그럼 왜 어렵고 힘들까? 근본적으로 대부분의 창업은 기반도 없고, 돈도 없고, 사람도 없고, 또 비즈니스 모델도 검증되지 않은 경우가 대부분이다. 모든 기반을 갖춘 회사가 새로운 사업에 뛰어들어도 실패할 확률이 높은데 그렇지 않은 경우는 더더욱 확률이 떨어진다. 내 경우에도 창업을 하고 지금까지 수많은 좌절과 실패를 겪었고 언제나 생존에 대한 걱정과 그리고 풀리지 않는 문제들과 씨름을 해야 했다. 그럼 왜 이런 고생을 사서 할까? 대부분의 창업가들은 창업을 하지 않고 직장에 들어가서 많은 연봉과 복지를 누리면서 안정적인 직장생활을 할 수 있는 분들이 많다. 나 또한 그러한 직장 생활의 기회를 포기하고 이 고생과 앞날에 대한 불확실성을 감수하면서 창업가의 길을 걷고 있다. 일확천금의 꿈? 물론 이걸 노리고 창업을 하시는 분들도 있을 것 같다. 하지만 확률적으로 일확천금의 꿈을 이루는 사람이 과연 몇 명이나 있을까? 그리고 그걸 얻는 것이 인생에 있어 정말 그렇게 중요할까? 그건 꼭 창업이 아니더라도 좀 더 안정적이고 확실한 여러 가지 길이 있을 수도 있다. 부동산, 주식 등등  주위에 투자를 통해서 부를 일군 사람들을 많이 보았고 확률적으로 그게 더 확실한 길인 것 같다. 그럼 왜 창업가들은 창업을 할까? 그리고 왜 나는 창업을 해서 고생과 앞날에 대한 불확실성을 감수할까? 모든 사람들에게 적용될 수는 없겠지만 난 근본적으로 창업가들은 꿈을 이루는 과정을 즐기고 그 과정 속에서 행복을 찾는 사람들이라고 생각한다. 나의 꿈과 비전에 동참한 사람들을  하나둘씩 모아나 가고 그리고 그 사람들과 만들어가는 제품 혹은 서비스가 세상을 조금씩 바꿔나가는 과정을 보면서 희열과 행복을 느낄 수 있는 사람들이 창업가라고 생각한다. 며칠 전 2012년도 지금으로부터 약 4년 전에 투자를 받기 위해 참여했던 행사에서 사용한 패널이 사무실에서 굴러다니던 것을 발견했다. 2012년도에 패널을 쓸 때는 허상이었고 실체가 없었던 개념과 그림들이 지금은  현실화되어있다는 것을 발견했다. 난 그 사실에 큰 희열을 느끼고 행복감을 맛보았다. 그리고 지금 다시 새로운 그림을 그리고 있다. 누군가는 터무니없다라고 생각할지도 모르는 그림을 그리고 있다. 하지만 지금까지 그래 왔던 것처럼 그 그림이 몇 년 뒤에는 다시 현실이 되어있을 것이라고 믿는다. 그래서 난 행복한 창업가이다. #NEOFECT #스타트업 #스타트업창업 #창업가 #고민 #성장 #인사이트
조회수 572

중소기업을 위한 비대면 서비스 바우처 사용처 Best 4

안녕하세요 협업툴 플로우입니다.요즘 일 잘하는 중소기업에서는 빠른 성과 달성과 업무 효율을 위해 여러 서비스를 이용하는데요. 오늘은 중소기업에서 사용하면 좋은 서비스를 추천해 드릴게요. 비대면 서비스 바우처 사용처를 아직도 고민하고 계신다면, 이 글을 주목해주세요!1. 플로우협업툴 플로우 바로가기플로우는 PC와 모바일의 동기화를 통해 프로젝트 중심으로 협업 및 커뮤니케이션을 할 수 있는 올인원 플랫폼이에요. 내부 직원을 물론 협력사 파트너와도 프로젝트별로 쉽게 초대해서 협업이 가능합니다. 메신저는 물론 프로젝트 일정관리, 작업관리, 파일공유 등의 기능을 사용할 수 있고, 클라우드 방식의 월 임대형 서비스와 중견/대기업을 위한 사내 서버 설치형 서비스를 모두 제공하고 있어요. 최근에는 비대면 서비스 바우처 우수사례로 뽑혀 바우처로 플로우를 많이 이용하고 계세요.▲ 클릭 시 비대면 바우처 우수 사례집으로 연결됩니다.2. 채널톡웹채팅, 카카오톡, 네이버 톡톡 등 모든 상담 관련 서비스를 한 곳에서 관리할 수 있는 올인원 서비스에요. 전화가 아닌 채팅 기능을 통해 물리적인 공간과 시간의 제약을 받지 않고, 제품 및 서비스에 대한 상담이 가능해요. 실시간 마케팅을 실시할 수도 있어요.3. 경리나라중소기업의 번거로운 경리업무를 금융과 연동해 불필요한 업무를 획기적으로 줄여주는 서비스에요. 수기 혹은 엑셀로 증빙을 하거나 관리하던 모든 경리 업무들을 한 곳에서 자동화로 처리할 수 있는 서비스입니다. 세금계산서, 영수증, 은행/카드 거래내역 등의 모든 증빙 및 영수증을 클릭 한번으로 자동 수집 후 바로 세무사에게 전달할 수도 있고, 월/분기/년간 단위별 관리가 가능해요.4. 모두싸인아직 종이 계약서를 우편으로, 퀵으로 주고 받으시면서 계약서를 작성하시나요? 모두싸인은 번거로운 종이 계약을 대신할 수 있는 온라인 계약 서비스입니다. 비대면 시대에 계약도 이제는 온라인으로 진행할 수 있어요. 종이계약과 법적효력이 동일하다고 하니 안심하고 사용해도 될 것 같습니다. 최근에는 과학기술정보통신부에서 디지털 뉴딜 우수사례로 선정되었어요.중소기업이 알아야 할 비대면 서비스 바우처 주의사항1. 한 기업당 최대 200만원 까지비대면 서비스 바우처의 수요기업으로 선정된 기업들은 사용처를 선택할 수가 있는데요. 한 기업당 최대 200만 원까지만 결제가 가능해요. 즉 최소 2개 이상 서로 다른 공급기업의 서비스를 선택해야하죠. 최대 400만원까지 가능하니 2개 이상의 기업을 선택할 수 있어요! (서비스 이용금액의 90% 지원, 10%는 자기부담금) 예를 들어 플로우에서 200만원을 결제하고, 경리나라에서 100만원, 채널톡 100만원 결제를 하실 수 있어요.2. 선정된 날로부터 60일 이내 결제K비대면 바우처 플랫폼에서 ≪기업정보관리≫ 메뉴로 들어가면 심사결과를 확인할 수 있는데요. 승인이 되었다면 바우처 신청 탭에서 바우처를 신청하실 수 있습니다. 주의 하실 점은 선정된 날로부터 60일 이내 1회 이상 결제가 되어야 하고, 90일 이내에 전액을 사용해야 수요기업 선정이 취소되지 않아요!비대면 서비스 바우처 바로가기
조회수 1540

React 공식 튜토리얼 한글 번역

<button type="button">메뉴</button>* 오역 및 오탈자가 있을 수 있습니다. 발견하시면 댓글로 제보해주세요!** 브런치 에디터의 한계로 마크다운 적용이 되지 않아 가독성이 떨어지고 복사 기능이 지원되지 않습니다. 이왕이면 이곳에서 보시기를 권장합니다. >> 가독성 좋은 문서로 보기React 공식 튜토리얼 바로가기시작하기 전에무엇을 구현할 것인가대화형 틱택토 게임을 구현하려고 합니다.원한다면 최종 결과물을 여기에서 확인할 수 있습니다. 아직 코드가 이해되지 않거나 문법이 낯설어도 걱정하지 마세요. 튜토리얼에서 차근차근 틱택토 게임을 구현하는 방법을 배울테니까요.게임을 플레이해보세요. 이동 리스트에 있는 버튼을 클릭하여 클릭한 때로 돌아가고, 그 때로 돌아간 후 보드가 어떻게 보이는지 확인할 수 있습니다.게임에 익숙해지셨다면 탭을 닫으세요. 다음 섹션에서 간단한 템플릿을 가지고 시작할 것입니다.사전 준비HTML과 JavaScript에 익숙할 것으로 생각합니다. 하지만 HTML과 JavaScript를 사용해본 적이 없더라도 튜토리얼을 따를 수 있어야 합니다.JavaScript를 다시 봐야한다면 이 가이드를 추천합니다. 튜토리얼에서 JavaScript의 최신 버전인 ES6의 몇 가지 특징들인 화살표 함수, 클래스, let, const를 사용할 것입니다. Babel REPL을 사용하여 ES6 코드가 어떻게 컴파일되는지 확인해볼 수 있습니다.튜토리얼을 공부하는 방법튜토리얼을 공부하기 위한 두 가지 방법이 있습니다. 브라우저에서 코드를 작성하거나 컴퓨터의 로컬 개발 환경을 설치할 수 있습니다. 편한 방법을 선택하여 공부하시면 됩니다.브라우저에서 코드를 작성하기 원한다면가장 빨리 시작할 수 있습니다!새로운 탭에서 시작 코드를 여세요. 빈 틱택토 필드를 볼 수 있습니다. 튜토리얼에서는 이 코드를 수정하여 진행합니다.다음 섹션인 로컬 개발 환경 설정을 스킵할 수 있습니다. 바로 개요 섹션으로 넘어가세요.사용하던 에디터에서 코드를 작성하기 원한다면다른 방법으로 사용하는 컴퓨터에 프로젝트를 설치할 수 있습니다.이 방법은 필수가 아닌 선택 사항입니다!더 많은 준비 작업이 필요하지만 에디터의 편리함을 누리며 공부할 수 있습니다.만약 이 방법으로 공부하기를 원한다면 필요한 단계들이 있습니다.  1. 설치된 Node.js가 최신 버전인지 확인해보세요.2. 새로운 프로젝트를 생성하기 위해 설치 방법을 따르세요.$ npm install -g create-react-app$ create-react-app my-app3. 새 프로젝트의 src/ 폴더에 있는 모든 파일들을 삭제해주세요. (폴더 안의 내용만 삭제하되 폴더는 삭제하지 마세요)$ cd my-app$ rm -f src/*4. 이 CSS 코드를 src/ 폴더에 index.css 파일로 추가해주세요.5. 이 JS 코드를 src/ 폴더에 index.js 파일로 추가해주세요.6. src/ 폴더에 있는 index.js의 최상단에 아래 세 줄을 추가해주세요.import React from 'react';import ReactDOM from 'react-dom';import './index.css';이제 프로젝트 폴더에서 npm start 명령어를 실행하고 브라우저에서 http://localhost:3000 를 여세요. 빈 틱택토 필드를 볼 수 있습니다.에디터에서 문법 하이라이팅 설정을 하고 싶다면 이 문서를 따르세요.도와주세요! 막히는 부분이 있어요!막히는 부분이 생겼다면 지원하는 커뮤니티를 확인해보세요. 특히 Reactiflux chat은 빠르게 도움을 받을 수 있는 좋은 방법입니다. 어떤 커뮤니티에서도 필요한 대답을 듣지 못했다면 이슈를 제출하세요. 우리가 도와드립니다.다 끝났으면 시작해봅시다!개요React란 무엇인가요?React는 유저 인터페이스 구현을 위한 선언적이고 효율적이며 유연한 JavaScript 라이브러리입니다.React는 여러 종류의 컴포넌트들을 가지고 있지만 우리는 React.Component의 서브클래스를 사용하여 시작할 것입니다.  class ShoppingList extends React.Component {  render() {    return (            Shopping List for {this.props.name}                Instagram         WhatsApp         Oculus                );  }}// Example usage:XML과 비슷한 재밌는 태그들을 사용할 것입니다. 작성한 컴포넌트는 React에게 무엇을 랜더링하고 싶은지 알려줍니다. 그러면 React는 데이터가 변경될 때 올바른 컴포넌트들을 업데이트하고 랜더링합니다.여기에서 ShoppingList는 React 컴포넌트 클래스 혹은 React 컴포넌트 타입입니다. 하나의 컴포넌트는 props라 불리는 파라미터를 사용하고, render 메서드를 통해 표시할 뷰 계층 구조를 반환합니다.render 메서드는 랜더링하길 원하는 내용을 반환하면 React는 그 내용을 가져와 스크린에 랜더링합니다. 특히 render는 랜더링할 간단한 내용인 React 엘리먼트를 반환합니다. 대부분의 React 개발자들은 이 구조를 더 쉽게 작성할 수 있게 해주는 JSX라는 특별한 문법을 사용합니다.라 쓰면 빌드 시 React.createElement('div')로 변환됩니다. 위의 코드는 아래의 코드와 동일합니다.  return React.createElement('div', {className: 'shopping-list'},  React.createElement('h1', /* ... h1 children ... */),  React.createElement('ul', /* ... ul children ... */));전체 코드는 여기에서 볼 수 있습니다.createdElement()에 대해 더 많은 내용이 궁금하다면 API reference 에 자세한 설명이 있습니다. 튜토리얼에서는 createdElement()를 직접적으로 사용하지 않습니다. 대신 JSX를 사용할 것입니다.JSX에서는 중괄호 안에 JavaScript 문법을 사용할 수 있습니다. 각 React 엘리먼트는 변수에 저장하거나 프로그램에 여기저기에 전달할 수 있는 실제 JavaScript 객체입니다.ShoppingList 컴포넌트는 내장된 DOM 컴포넌트만 랜더링하지만  코드를 작성하여 커스텀 React 컴포넌트를 쉽게 구성할 수 있습니다. 각 컴포넌트는 캡슐화되어 독립적으로 동작할 수 있습니다. 이때문에 간단한 컴포넌트들로 복잡한 UI를 구현할 수 있습니다.시작하기시작 코드를 가지고 시작해봅시다.이 코드는 우리가 구현할 틱택토 게임의 틀을 가지고 있습니다. 필요한 스타일들을 준비해두었기 때문에 JavaScript만 신경쓰면 됩니다.세 가지 컴포넌트로 구성되어 있습니다.- Square- Board- GameSquare 컴포넌트는 하나의 <button>을 랜더링합니다. Board 컴포넌트는 9개의 사각형을 랜더링합니다. Game 컴포넌트는 나중에 우리가 채워 넣어야 할 공백이 있는 하나의 보드를 랜더링합니다. 지금 이 컴포넌트들은 아무런 동작도 하지 않습니다.props를 통해 데이터 전달하기본격적으로 시작하기 위해 Board 컴포넌트에서 Square 컴포넌트로 데이터를 전달해봅시다.Board의 renderSquare 메서드에서 Square 컴포넌트 prop에 value 값을 전달하도록 코드를 변경해주세요.  class Board extends React.Component {  renderSquare(i) {    return ;  }value 값을 보여주기 위해 Square 컴포넌트의 render 메서드 안의 코드 {/* TODO */}를 {this.props.value}로 변경해주세요.  class Square extends React.Component {  render() {    return (      <button className="square">        {this.props.value}      </button>    );  }}변경 전:변경 후: 랜더링된 결과에서는 각 사각형 안에 숫자가 위치합니다.지금까지의 코드는 이곳에서 볼 수 있습니다.대화형 컴포넌트클릭 시 "X"로 채워지는 Square 컴포넌트를 만들어봅시다. Square의 render() 함수에서 반환된 버튼 태그를 다음과 같이 변경해주세요.  class Square extends React.Component {  render() {    return (      <button className="square" onClick={() => alert('click')}>        {this.props.value}      </button>    );  }}이제 사각형을 클릭하면 브라우저에서 알럿창이 뜨는걸 확인할 수 있습니다.새로운 JavaScript 문법인 화살표 함수를 사용하였습니다. onClick prop에 함수를 전달하였습니다. onClick={alert('click')} 코드를 작성하고 버튼을 클릭하면 알럿창 대신 경고가 뜨게됩니다.React 컴포넌트는 생성자에서 this.state를 설정하여 상태를 가질 수 있습니다. 상태는 각 컴포넌트마다 가지고 있습니다. 사각형의 현재 value 값을 상태에 저장하고 클릭할 때 바뀌도록 만들어봅시다.먼저 상태를 초기화하기 위해 클래스에 생성자를 추가해주세요.  class Square extends React.Component {  constructor(props) {    super(props);    this.state = {      value: null,    };  }  render() {    return (      <button className="square" onClick={() => alert('click')}>        {this.props.value}      </button>    );  }}JavaScript 클래스에서 서브클래스의 생성자를 정의할 때 super(); 메서드를 명시적으로 호출해줘야 합니다.Square의 render 메서드에서 현재 상태의 value 값을 표시하고 클릭할 때 바뀌도록 수정해주세요.- <button> 태그 안의 this.props.value 를 this.state.value로 변경해주세요.- () => alert() 이벤트 핸들러를 () => this.setState({value: 'X'})로 변경해주세요.<button> 태그는 다음과 같습니다.  class Square extends React.Component {  constructor(props) {    super(props);    this.state = {      value: null,    };  }  render() {    return (      <button className="square" onClick={() => this.setState({value: 'X'})}>        {this.state.value}      </button>    );  }}this.setState가 호출될 때마다 컴포넌트가 업데이트되므로 업데이트된 상태가 전달되어 React가 이를 병합하고 하위 컴포넌트와 함께 다시 랜더링합니다. 컴포넌트가 랜더링될 때 this.state.value는 'X'가 되어 그리드 안에 X가 보이게 됩니다.이제 사각형을 클릭하면 그 안에 X가 표시됩니다.지금까지의 코드는 이곳에서 볼 수 있습니다.개발자 도구크롬과 파이어폭스의 React 개발자 도구 확장 프로그램은 React 컴포넌트 트리를 브라우저의 개발자 도구 안에서 검사할 수 있게 해줍니다.트리 안의 컴포넌트들의 props와 상태를 검사할 수 있습니다.설치 후 페이지에서 검사하길 원하는 컴포넌트를 오른쪽 클릭하고 "Inspect"를 클릭하여 개발자 도구를 열면 오른쪽 마지막 탭에 React 탭이 보입니다.CodePen을 사용하여 이 확장 프로그램을 동작시키고 싶다면 추가적으로 필요한 작업들이 있습니다.1. 로그인 혹은 회원가입을 하고 이메일을 인증받으세요.2. "Fork" 버튼을 클릭하세요.3. "Change View"를 클릭하고 "Debug mode"를 선택하세요.4. 새롭게 열린 탭에서 React 탭이 있는 개발자 도구를 볼 수 있습니다.상태 들어올리기이제 틱택토 게임을 위한 기본 블록들이 있습니다. 하지만 아직 각 Square 컴포넌트 안에 상태들이 캡슐화되어 있습니다. 더 원활하게 동작하는 게임을 만들기 위해 한 플레이어가 게임에서 이겼는지를 확인하고 사각형 안에 X와 O를 번갈아 표시해야 합니다. 누가 게임에서 이겼는지 확인하기 위해 Square 컴포넌트들을 쪼개지 않고 한 장소에서 9개의 사각형의 value 값을 모두 가지고 있어야 합니다.Board가 각 Square의 현재 상태가 무엇인지만 확인해야 한다고 생각할 수도 있습니다. 이 방법은 기술적으로 React에서 가능하기는 하나 코드를 이해하기 어렵고 불안정하고 리팩토링하기 힘들게 만듭니다.각 Square에 상태를 저장하는 대신에 Board 컴포넌트에 이 상태를 저장하는 것이 가장 좋은 방법입니다. 이 Board 컴포넌트는 이전에 각 사각형에 인덱스를 표시한 방법과 동일한 방법으로 무엇을 표시할지 각 Square에게 알릴 수 있습니다.여러 하위 컴포넌트로부터 데이터를 모으거나 두 개의 하위 컴포넌트들이 서로 통신하기를 원한다면 상위 컴포넌트 안으로 상태를 이동시키세요. 상위 컴포넌트는 props를 통해 하위 컴포넌트로 상태를 전달해줄 수 있습니다. 그러면 하위 컴포넌트들은 항상 하위 컴포넌트나 상위 컴포넌트와 동기할 수 있습니다.이와 같이 상태를 상위 컴포넌트로 들어올리는 것은 React 컴포넌트들을 리팩토링할 때 가장 많이 사용하는 방법입니다. 이 기회를 통해 연습해봅시다. Board에 생성자를 추가하고 9개의 사각형과 일치하는 9개의 null을 가진 배열을 포함한 상태로 초기화하세요.  class Board extends React.Component {  constructor(props) {    super(props);    this.state = {      squares: Array(9).fill(null),    };  }  renderSquare(i) {    return ;  }  render() {    const status = 'Next player: X';    return (             {status}                 {this.renderSquare(0)}         {this.renderSquare(1)}          {this.renderSquare(2)}                        {this.renderSquare(3)}          {this.renderSquare(4)}          {this.renderSquare(5)}                        {this.renderSquare(6)}          {this.renderSquare(7)}          {this.renderSquare(8)}                );  }}나중에 이것을 다음과 같이 생긴 보드로 채울 예정입니다.  [  'O', null, 'X',  'X', 'X', 'O',  'O', null, null,]현재 Board의 renderSquare 메서드는 다음과 같습니다.    renderSquare(i) {    return ;  }Square에 value prop를 전달하도록 수정하세요.    renderSquare(i) {    return ;  }지금까지의 코드는 이곳에서 볼 수 있습니다.이제 우리는 사각형이 클릭되면 발생할 변경 사항을 구현해야 합니다. Board 컴포넌트는 어떤 사각형이 채워졌는지 저장하고 있습니다. 그렇기 때문에 Square가 Board가 가지고 있는 상태로 업데이트할 방법이 필요합니다. 사각형의 컴포넌트 상태가 각자 정의되고 있기 때문에 Board가 Square의 상태를 가지고올 수 없습니다.보통의 패턴은 사각형이 클릭될 때 호출되는 함수를 Board로부터 Square에 전달하는 것입니다. Board 안의 renderSquare를 다시 변경해봅시다.    renderSquare(i) {    return (              value={this.state.squares[i]}        onClick={() => this.handleClick(i)}      />    );  }가독성을 위해 리턴 안의 요소들을 여러 줄로 나누고, 괄호를 추가하여 JavaScript가 세미콜론 없이 코드를 마무리하도록 했습니다.Board에서 Square로 value와 onClick 두 개의 props를 전달합니다. onClick Square의 rennder에 있는 this.state.value 를 this.props.value로 변경하세요.- Square의 rennder에 있는 this.state.value 를 this.props.value로 변경하세요.- Square의 rennder에 있는 this.setState() 를 this.props.onClick()로 변경하세요.- 더이상 각 Square가 상태를 가지지 않도록 Square에 정의한 constructor를 삭제하세요.모든 변경 사항을 구현한 Square 컴포넌트는 다음과 같습니다.  class Square extends React.Component {  render() {    return (      <button className="square" onClick={() => this.props.onClick()}>        {this.props.value}      </button>    );  }}이제 사각형이 클릭될 때 Board로부터 전달되는 onClick 함수를 호출합니다. 어떤 일이 일어나는지 되짚어봅시다.1. 내장된 DOM <button> 컴포넌트의 onClick prop는 React에게 클릭 이벤트 리스너를 설정하라고 알립니다.2. 버튼이 클릭될 때 React는 Square의 render() 메서드 안에 정의된 onClick 이벤트 핸들러를 호출합니다.3. 이 이벤트 핸들러는 this.props.onClick()을 호출합니다. Square의 props는 Board에서 명시한 것입니다.4. Board는 onClick={() => this.handleClick(i)}을 Square에 전달하고, 호출될 때 Board의 this.handleClick(i)가 동작합니다.5. Board에 있는 handleClick() 메서드는 아직 정의되지 않았으므로 코드는 오류가 발생합니다DOM <button> 엘리멘트의 onClick 속성이 React와는 다른 의미를 가집니다. Square의 onClick prop나 Board의 handleClick 메서드와는 다릅니다. React 애플리케이션에서는 속성에 on* 이름을 사용하고 핸들러 메서드에 handle* 을 사용하여 처리하는 것이 일반적입니다.사각형을 클릭해봅시다. handleClick을 아직 정의하지 않았으로 에러가 발생합니다. Board 클래스에handleClick 메서드를 추가해봅시다.  class Board extends React.Component {  constructor(props) {    super(props);    this.state = {      squares: Array(9).fill(null),    };  }  handleClick(i) {    const squares = this.state.squares.slice();    squares[i] = 'X';    this.setState({squares: squares});  }  renderSquare(i) {    return (              value={this.state.squares[i]}        onClick={() => this.handleClick(i)}      />    );  }  render() {    const status = 'Next player: X';    return (             {status}                 {this.renderSquare(0)}          {this.renderSquare(1)}          {this.renderSquare(2)}                        {this.renderSquare(3)}          {this.renderSquare(4)}          {this.renderSquare(5)}                        {this.renderSquare(6)}          {this.renderSquare(7)}          {this.renderSquare(8)}                );  }}지금까지의 코드는 이곳에서 볼 수 있습니다.이미 있는 배열을 수정하는 대신 squares 배열을 복사하기 위해 .slick()를 호출합니다. 왜 immutability이 중요한지 알고 싶다면 이 섹션으로 이동해주세요.이제 사각형을 클릭하여 다시 사각형을 채울 수 있어야 하지만 상태가 각 Square가 아닌 Board 컴포넌트에 저장되어 있어 게임을 계속 구현해나가야 합니다. Board의 상태가 변경될 때마다 Square 컴포넌트들은 자동으로 다시 랜더링됩니다.Square은 더 이상 각 상태를 유지하지 않습니다. 이들은 상위 Board 컴포넌트로부터 데이터를 전달받고, 클릭될 때 알립니다. 우리는 이 제어된 컴포넌트 같은 컴포넌트들을 호출합니다.왜 immutability가 중요할까전의 예제 코드에서 이미 존재하는 배열을 수정하지 않고 변경 사항을 반영하기 위해 squares 배열을 .slice()연산자를 사용하여 복사하였습니다. 이는 무엇을 의미하며 왜 이 컨셉이 중요할까요.mutation을 사용한 데이터 변경  var player = {score: 1, name: 'Jeff'};player.score = 2;// Now player is {score: 2, name: 'Jeff'}mutation을 사용하지 않은 데이터 변경  var player = {score: 1, name: 'Jeff'};var newPlayer = Object.assign({}, player, {score: 2});// Now player is unchanged, but newPlayer is {score: 2, name: 'Jeff'}// Or if you are using object spread syntax proposal, you can write:// var newPlayer = {...player, score: 2};mutation을 사용하지 않더라도(기본 데이터를 변경하여도) 결과적으로는 다를게 없습니다. 하지만 컴포넌트와 전체 애플리케이션의 성능을 향상시키는 장점이 있습니다.쉽게 Undo/Redo와 시간 여행하기immutability는 이 복잡한 기능들을 훨씬 더 쉽게 구현할 수 있게 해줍니다. 예를 들어 이 튜토리얼에서 우리는 게임의 다른 단계들 사이에 시간 여행을 구현할 것입니다. 데이터 변경을 피하면 우리가 이전 버전의 데이터를 계속 참조할 수 있게 해주고 원할 때 변경할 수 있게 해줍니다.변경 사항 트래킹하기변경되는 객체가 변경 사항이 있는지 아는 방법은 변경 사항이 객체로 만들어지기 때문에 복잡합니다. 그러면 이전 버전을 복사하기 위해 전체의 객체 트리를 현재 버전과 비교하고 각 변수와 값들을 비교해야 합니다. 이 과정은 갈수록 복잡해집니다.immutable 객체가 변경 사항이 있는지 아는 방법은 쉬워집니다. 만약 참조되고 있는 객체가 이전과 다르다면 이 객체는 변경된 것입니다. 이게 끝입니다.React에서 언제 다시 랜더링할지 결정하기React에서 immutability의 가장 큰 장점은 간단한 순수 컴포넌트들이 다시 랜더링될 때를 결정하기 쉽다는 점입니다.shouldComponentUpdate()에 대해 더 배우고 싶고 어떻게 순수 컴포넌트들을 성능 최적화 할 수 있는지 알고 싶다면 이 글을 보세요.함수 컴포넌트우리는 생성자를 지웠습니다. 사실 React는 render 메서드만으로 구성된 Square와 같은 컴포넌트 타입을 위해 함수 컴포넌트라 불리는 간단한 문법을 지원합니다. React.Component를 확장한 클래스를 정의하는 것보다 간단하게 props를 가져오고 랜더링 해야할 것을 반환하는 함수를 작성하는 것이 좋습니다.다음과 같은 함수를 사용해 Square 클래스를 변경하세요.  function Square(props) {  return (    <button className="square" onClick={props.onClick}>      {props.value}    </button>  );}여기서는 this.props를 둘 다 props로 바꿔야 합니다. 애플리케이션에 있는 여러 컴포넌트들은 함수 컴포넌트로 구현할 수 있습니다. 함수 컴포넌트는 더 쉽게 작성할 수 있고 React가 더 효율적으로 최적화할 수 있습니다.코드를 깔끔하게 만들면서 onClick={() => props.onClick()}을 onClick={props.onClick}으로 바꿨습니다. 함수를 전달하는 것은 이 코드만으로 분합니다. onClick={props.onClick()}는props.onClick을 호출하기 때문에 동작하지 않습니다.지금까지의 코드는 이곳에서 보실 수 있습니다.변화 가져오기지금 우리의 게임의 단점은 오로지 X만 플레이할 수 있다는 점입니다. 고쳐봅시다.기본적으로 첫 이동을 'X'가 되도록 설정해봅시다. Board 생성자에서 초기 상태를 수정해주세요.  class Board extends React.Component {  constructor(props) {    super(props);    this.state = {      squares: Array(9).fill(null),      xIsNext: true,    };  }이동할 때마다 xIsNext의 불린 값은 바뀌면서 상태에 저장되어야 합니다. Board의 handleClick 함수를xIsNext 값이 바뀔 수 있도록 수정해봅시다.    handleClick(i) {    const squares = this.state.squares.slice();    squares[i] = this.state.xIsNext ? 'X' : 'O';    this.setState({      squares: squares,      xIsNext: !this.state.xIsNext,    });  }이제 X와 O가 순서대로 번갈아 나타납니다. 다음에 무엇이 표시될 때 보여주기 위해 Board의 render에서 "status" 텍스트를 바꿔봅시다.    render() {    const status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');    return (      // the rest has not changed변경 사항을 적용한 Board 컴포넌트는 다음과 같습니다.  class Board extends React.Component {  constructor(props) {    super(props);    this.state = {      squares: Array(9).fill(null),      xIsNext: true,    };  }  handleClick(i) {    const squares = this.state.squares.slice();    squares[i] = this.state.xIsNext ? 'X' : 'O';    this.setState({      squares: squares,      xIsNext: !this.state.xIsNext,    });  }  renderSquare(i) {    return (              value={this.state.squares[i]}        onClick={() => this.handleClick(i)}      />    );  }  render() {    const status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');    return (             {status}                 {this.renderSquare(0)}          {this.renderSquare(1)}          {this.renderSquare(2)}                        {this.renderSquare(3)}          {this.renderSquare(4)}          {this.renderSquare(5)}                        {this.renderSquare(6)}          {this.renderSquare(7)}          {this.renderSquare(8)}                );  }}지금까지의 코드는 이곳에서 볼 수 있습니다.승자 알려주기언제 게임에서 이기는지 표시해봅시다. 파일 맨 하단에 헬퍼 함수를 추가해주세요.  function calculateWinner(squares) {  const lines = [    [0, 1, 2],    [3, 4, 5],    [6, 7, 8],    [0, 3, 6],    [1, 4, 7],    [2, 5, 8],    [0, 4, 8],    [2, 4, 6],  ];  for (let i = 0; i < lines>    const [a, b, c] = lines[i];    if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {      return squares[a];    }  }  return null;}Board의 render 함수에서 누가 게임에서 이겼는지 확인할 수 있도록 호출할 수 있습니다. 또 누군가 이겼을 떄 "Winner: [X/O]" 상태 텍스트를 표시할 수 있습니다.Board의 render에서 status를 선언을 수정해주세요.    render() {    const winner = calculateWinner(this.state.squares);    let status;    if (winner) {      status = 'Winner: ' + winner;    } else {      status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');    }    return (      // the rest has not changedBoard에서 handleClick을 일찍 반환하여 이미 누군가 이긴 게임에서 클릭하거나 이미 칠해진 사각형을 클릭하는 경우 무시하도록 변경할 수 있습니다.축하합니다! 틱택토 게임을 완성하셨습니다! 이제 React의 기초를 알았습니다. 여기서 진짜 승자는 여러분입니다.지금까지의 코드는 이곳에서 볼 수 있습니다.히스토리 저장하기보드의 이전 상태로 되돌려 이전 상태가 표시되도록 만들어봅시다. 이동이 있을때마다 새 squares 배열을 만들었습니다. 덕분에 이전 상태의 보드를 쉽게 저장할 수 있습니다.상태에 이와 같은 객체를 저장해봅시다.  history = [  {    squares: [      null, null, null,      null, null, null,      null, null, null,    ]  },  {    squares: [      null, null, null,      null, 'X', null,      null, null, null,    ]  },  // ...]우리는 이동 리스트를 표시하여 응답할 수 있는 더 수준 높은 Game 컴포넌트를 만들고 싶습니다. 그래서 Square 상태를 Board로 들어올린 것처럼 Board의 상태를 Game으로 들어올려 최 상위 레벨에서 필요한 모든 정보를 저장해봅시다.먼저 생성자를 추가해 Game의 초기 상태를 설정해주세요.  class Game extends React.Component {  constructor(props) {    super(props);    this.state = {      history: [{        squares: Array(9).fill(null),      }],      xIsNext: true,    };  }  render() {    return (                                              {/* status */}         {/* TODO */}                );  }}그 다음 Board를 수정하여 props를 거쳐 squares를 가져오고 이전에 Square에서 했던 것처럼 Game에서 지정한 onClick prop를 만들어줍시다. 각 사각형의 위치를 클릭 핸들러로 전달하여 어떤 사각형이 클릭되었는지 알 수 있습니다. 필요한 변경 사항은 다음과 같습니다.- Board의 constructor를 삭제하세요.- Board의 renderSquare에 있는 this.state.squares[i]를 this.props.sqaures[i]로 대체하세요.- Board의 renderSquare에 있는 this.handleClick(i)를 this.props.onClick(i)로 대체하세요.변경 사항을 반영한 Board 컴포넌트는 다음과 같습니다.  class Board extends React.Component {  handleClick(i) {    const squares = this.state.squares.slice();    if (calculateWinner(squares) || squares[i]) {      return;    }    squares[i] = this.state.xIsNext ? 'X' : 'O';    this.setState({      squares: squares,      xIsNext: !this.state.xIsNext,    });  }  renderSquare(i) {    return (              value={this.props.squares[i]}        onClick={() => this.props.onClick(i)}      />    );  }  render() {    const winner = calculateWinner(this.state.squares);    let status;    if (winner) {      status = 'Winner: ' + winner;    } else {      status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');    }    return (             {status}                 {this.renderSquare(0)}          {this.renderSquare(1)}          {this.renderSquare(2)}                        {this.renderSquare(3)}          {this.renderSquare(4)}          {this.renderSquare(5)}                        {this.renderSquare(6)}          {this.renderSquare(7)}          {this.renderSquare(8)}                );  }}Game의 render는 히스토리 전체를 보고 게임 상태를 계산하여 가져올 수 있어야 합니다.  render() {    const history = this.state.history;    const current = history[history.length - 1];    const winner = calculateWinner(current.squares);    let status;    if (winner) {      status = 'Winner: ' + winner;    } else {      status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');    }    return (                                  squares={current.squares}            onClick={(i) => this.handleClick(i)}          />                        {status}         {/* TODO */}                );  }Game에 상태를 랜더링하고 있기 때문에{status}를 지우고 Board의 render 함수로부터 상태를 계산하는 코드를 지울 수 있습니다.  render() {    return (                      {this.renderSquare(0)}          {this.renderSquare(1)}          {this.renderSquare(2)}                        {this.renderSquare(3)}          {this.renderSquare(4)}          {this.renderSquare(5)}                        {this.renderSquare(6)}          {this.renderSquare(7)}          {this.renderSquare(8)}                );  }그 다음 Board에서 Game으로 handleClick 메서드를 옮겨야 합니다. Board 클래스에서 잘라내기를 하고 Game 클래스로 붙여넣을 수 있습니다.Game 상태는 다르기 때문에 수정해야 할 것이 조금 있습니다. Game의 handleClick은 히스토리 항목을 연결하여 새로운 배열을 만들어 스택에 푸시해야 합니다.  handleClick(i) {    const history = this.state.history;    const current = history[history.length - 1];    const squares = current.squares.slice();    if (calculateWinner(squares) || squares[i]) {      return;    }    squares[i] = this.state.xIsNext ? 'X' : 'O';    this.setState({      history: history.concat([{        squares: squares,      }]),      xIsNext: !this.state.xIsNext,    });  }여기에서 Board는 renderSquare와 render만 필요합니다. 상태 초기화와 클릭 핸들러는 둘 다 Game에서 동작합니다.지금까지의 코드는 이곳에서 보실 수 있습니다.이동 표시하기지금까지 게임에서 진행된 이동을 표시해봅시다. 이전에 React 컴포넌트가 클래스로 JS 객체이고 그 덕에 데이터를 저장하고 전달할 수 있다고 배웠습니다. React에서 여러 아이템들을 랜더링하기 위해 React 요소의 배열을 전달했습니다. 배열을 빌드하는 가장 흔한 방법은 데이터 배열에서 map을 이용하는 것입니다. Game의 render 메서드에서 해봅시다.    render() {    const history = this.state.history;    const current = history[history.length - 1];    const winner = calculateWinner(current.squares);    const moves = history.map((step, move) => {      const desc = move ?        'Go to move #' + move :        'Go to game start';      return (                 <button onClick={() => this.jumpTo(move)}>{desc}</button>             );    });    let status;    if (winner) {      status = 'Winner: ' + winner;    } else {      status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');    }    return (                                 squares={current.squares}            onClick={(i) => this.handleClick(i)}          />                        {status}         {moves}                );  }지금까지의 코드는 이곳에서 볼 수 있습니다.히스토리의 각 단계에서 <button>이 있는 리스트 아이템을 만들었습니다. 이 리스트 아이템은 우리가 곧 구현할 클릭 핸들러를 가지고 있습니다. 코드에서 다음과 같은 경고 메시지와 함께 게임에서 만들어지는 이동 목록을 볼 수 있습니다.Warning: Each child in an array or iterator should have a unique “key” prop. Check the render method of “Game”.경고: 배열이나 이터레이터에 있는 각 자식은 유니크 "key" prop을 가져야한다. "Game"의 render 메서드를 확인해보세요.이 경고의 의미가 무엇인지 얘기해봅시다.Keys아이템 리스트를 랜더링할때 React는 항상 리스트에 있는 각 아이템에 대한 정보를 저장합니다. 만약 상태를 가진 컴포넌트를 랜더링한다면 컴포넌트가 어떻게 실행되는지와 관계없이 상태는 저장 되어야 하고 React는 네이티브 뷰의 뒤에 참고할 것을 저장한다.리스트를 업데이트할 때 React는 무엇을 바꿀지 결정해야 합니다. 리스트에 아이템들을 추가하고, 지우고, 재배열하고, 수정할 수 있습니다.이 코드가 아래의 코드로 변경된다고 상상해봅시다.  Alexa: 7 tasks leftBen: 5 tasks leftBen: 9 tasks leftClaudia: 8 tasks leftAlexa: 5 tasks left사람의 눈에는 Alexa와 Ben의 자리가 바뀌고 Claudia가 추가된 것처럼 보인다. 하지만 React는 단순한 컴퓨터 프로그램이므로 여러분의 의도를 알지 못합니다. React는 리스트의 각 요소에서 key 속성을 지정해달라고 요청합니다. 문자열은 형제로부터 각 컴포넌트들을 구분합니다. 이 경우에 alexa, ben, claudia는 구분할 수 있는 키가 됩니다. 만약 아이템들이 데이터베이스의 객체와 일치시켜야 한다면 데이터베이스 ID을 사용하세요.{user.name}: {user.taskCount} tasks leftkey는 React에서 제공되는 특별한 속성입니다(ref에서 더 확장된 기능). 엘리먼트가 만들어질때 React는 key 속성을 가져오고 반환된 엘리먼트에 직접적으로 key를 저장합니다. key가 props의 한 부분으로 보일지라도 이것은 this.props.key로 참조할 수 없습니다. React는 어떤 하위 엘리먼트가 수정될지 결정하는 동안 알아서 key를 사용합니다. 컴포넌트가 자신의 키를 알 수 있는 방법은 없습니다.리스트가 랜더링될 때 React는 새로운 버전의 각 엘리먼트를 가져오고 이전 리스트에서 매칭되는 키를 가진 것을 찾습니다. key가 세트에 추가될 때 컴포넌트는 만들어집니다. 키가 삭제될 때 컴포넌트는 소멸됩니다. 키들은 React가 각 요소를 구별할 수 있도록하여 다시 랜더링하는 것을 무시하고 상태를 유지할 수 있게 합니다. 만약 컴포넌트의 키를 바꾼다면 완전히 지운 후 새롭게 생성됩니다.동적으로 리스트를 빌드할 때마다 적당한 키를 할당할 것을 강력 추천합니다. 만약 적당한 키를 가지지 못한다면 이를 위해 데이터를 재구성하여야 할지도 모릅니다.특정한 키를 구분하지 못한다면 React는 경고를 주고 배열 인덱스를 키로 사용합니다. 이는 올바른 선택이 아닙니다. 만약 리스트에 있는 엘리먼트들을 정렬하거나 리스트에 있는 버튼을 통해 지우거나 추가하면 명시적으로 key={i}를 전달하는 방법을 사용한다면 경고를 표시하지는 않지만 동일한 문제를 발생시키므로 대부분의 경우에 추천하지 않습니다.컴포넌트의 키가 전부 다를 필요는 없지만 관련있는 형제들 사이에서는 유니크해야 합니다.시간 여행 실행하기이동 리스트를 위해 우리는 각 단계에서 유니크 ID를 가졌습니다. Game의 render 메서드에서 키는로 추가하면 경고는 표시되지 않습니다.    const moves = history.map((step, move) => {      const desc = move ?        'Go to move #' + move :        'Go to game start';      return (                 <button onClick={() => this.jumpTo(move)}>{desc}</button>             );    });지금까지의 코드는 이곳에서 보실 수 있습니다.아직 junmTo가 정의되지 않았기 때문에 이동 버튼을 클릭하면 에러가 발생합니다. 지금 표시된 단계가 무엇인지 알기 위해 Game 상태에 새로운 키를 추가해봅시다.먼저Game의 constructor에  stepNumber: 0를 추가해주세요.class Game extends React.Component {  constructor(props) {    super(props);    this.state = {      history: [{        squares: Array(9).fill(null),      }],      stepNumber: 0,      xIsNext: true,    };  }그 다음 각 상태를 업데이트하기 위해 Game의 jumpTo 메서드를 정의해봅시다. 이 메서드에서는 xIsNext를 업데이트하고, 이동의 인덱스가 짝수라면 xIsNext를 true로 설정합니다.Game 클래스에jumpTo 메서드를 추가해주세요.handleClick(i) {    // this method has not changed  }  jumpTo(step) {    this.setState({     stepNumber: step,      xIsNext: (step % 2) === 0,    });  }  render() {    // this method has not changed  }Game handleClick에 상태를 업데이트 하기위해 stempNumber:history.length를 추가하여 새로운 이동이 있을 때마다  stepNumber를 업데이트 합니다. 현재 보드의 상태를 읽을 때 handleClick이 stepNumber라고 보고 클릭하는 시간대로 상태를 되돌릴 수 있습니다.  handleClick(i) {    const history = this.state.history.slice(0, this.state.stepNumber + 1);    const current = history[history.length - 1];    const squares = current.squares.slice();    if (calculateWinner(squares) || squares[i]) {      return;    }    squares[i] = this.state.xIsNext ? 'X' : 'O';    this.setState({      history: history.concat([{        squares: squares      }]),      stepNumber: history.length,      xIsNext: !this.state.xIsNext,    });  }이제 히스토리의 각 단계를 알기 위해 Game의 render를 수정할 수 있습니다.  render() {    const history = this.state.history;    const current = history[this.state.stepNumber];    const winner = calculateWinner(current.squares);    // the rest has not changed지금까지의 코드는 이곳에서 보실 수 있습니다.이제 이동 버튼을 클릭하면 보드는 즉시 그때 표시된 게임으로 변경됩니다.마무리틱택토 게임을 플레이 해보세요.- 틱택토 게임을 플레이 해보세요.- 한 명의 플레이어가 게임에서 이길 때를 이를 알려줍니다.- 게임이 진행되는 동안 이동 기록이 저장됩니다.- 게임 보드의 에전 버전을 표시하기 위해 시간을 되돌릴 수 있습니다.잘 동작하네요! React가 어떻게 동작하는지 잘 아셨기를 바랍니다.최종 결과물은 여기에서 확인하세요.시간이 더 있거나 새로운 스킬들을 연습해보고 싶다면 해볼 수 있는 몇 가지 아이디어가 있습니다. 점점 더 어려운 순으로 배치해두었습니다.1. 움직임 리스트에서 (col, row) 형태에 각 움직임 위치를 표시하세요.2. 움직임 리스트의 선택된 아이템을 볼드처리하세요.3. 하드 코딩한 것들 대신 사각형을 두 개의 루프를 사용하여 Board를 다시 작성하세요.4. 오름차순 혹은 내림차순 뭐든지 움직임을 정렬하는 버튼을 추가해보세요.5. 누군가 이겼을 때 무엇 때문에 이겼는지 세 개의 사각형을 하이라이트하세요.튜토리얼이 진행되는 동안 우리는 엘리먼트, 컴포넌트, props, 상태를 포함한 React의 수많은 컨셉들을 다뤘습니다. 각 주제에 대한 깊은 설명을 원한다면 남은 문서를 확인하세요. 컴포넌트 정의에 대해 더 많이 배우고 싶다면 이 문서를 확인하세요.#트레바리 #개발자 #안드로이드 #앱개발 #Node.js #백엔드 #인사이트 #경험공유 #React #리액트 #리액트가이드 #한글 #번역 #문서번역
조회수 295

프로그래밍 수업의 모든 것.

안녕하세요 엘리스입니다. :)엘리스의 프로그래밍 수업은 누구에 의해서, 어떻게, 어떤 생각을 바탕으로 만들어질까요?미래를 이끌어나갈 컴퓨터 사이언스 기술과 그 근간이 되는 교육 사이에서 좋은 프로그래밍 수업을 만들기 위해 치열하게 고민하는 엘리스의 코스 매니저가 직접 이야기합니다! 마침 엘리스는 코스 매니저 채용 중에 있으니 관심이 있다면 눈여겨 봐주세요!코스 매니저가 관여한 프로덕트로 인하여 사용자가 성장을 하고 있다면 그것은 충분히 의미 있는 일.안녕하세요 저는,트라우마를 극복한 프로그래밍 수업 크리에이터.Q. 자기소개 부탁드려요.A. 엘리스의 프로그래밍 과목을 만드는 코스 매니저 이용희입니다.Q. 엘리스에서 일하게 된 이유는 무엇인가요?A. 원래는 프로그래밍에 대한 트라우마가 있었어요. 하지만 기술 창업에 대한 꿈이 있었기 때문에 프로그래밍은 극복해야 할 산이었죠. 엘리스는 가장 뛰어난 기술자들이 모여 창업한 스타트업이에요. 당연히 기술 창업을 가장 가까이에서 경험할 수 있는 매력적인 곳으로 느껴졌죠. 그리고 프로그래밍 교육을 제공한다는 것 역시 기회로 느껴졌어요. 저와 같이 프로그래밍을 미워하고 두려워하는 사람들에게 보다 쉽게 배울 수 있는 환경을 마련해주고 싶다는 기대로 일을 시작하게 되었습니다.Q. 두려운 대상을 향해 몸을 던지셨군요! 그런데 코스 매니저가 프로그래밍을 몰라도 되나요?A. 많이 알면 알수록 당연히 좋아요. 많이 알고 있을수록 시도할 수 있는 것도 많고 학생에게 전달해줄 수 있는 것은 더욱더 많기 때문에요. 하지만 최소한으로는 Class가 뭔지 알고 있으면 OK. 예를 들어서 코드를 보고 이 코드가 어떤 목적을 갖는지 알 수 있으면 직접 코딩을 하지는 못한다고 해도 괜찮아요.Q. 코스 매니징 외에도 라이브 수업 참여, 조교, 챌린지 사회자 등 많은 역할을 하셨는데 이유가 있나요?A. 좋은 수업을 만들기 위한 첫 번째 방법은 코스를 만드는 모든 과정에 참여하는 사람들의 역할을 직접 체험해 보는 것이라고 생각했어요. 학생으로서, 조교로서, 사회자나 라이브 어시스턴트로서. 이렇게 하니까 학생으로서 수업을 접할 때의 감상은 무엇인지, 조교로서 가르쳤을 때는 어떤 어려움이 있는지를 알 수 있었어요. 라이브 수업 어시스턴트로 참여했을 때는 방송하시는 선생님들의 애로사항을 알 수 있겠더라고요.코스 매니징의 정수.프로그래밍적 성장을 도움으로써 가치를 만들어 냅니다.Q. 코스 매니징의 A to Z는? 구체적인 업무 프로세스가 궁금해요.A. 크게 기획 - 모집 - 제작 - 분석의 네 단계로 이루어져 있어요. 1. 수업 기획 -  어떤 과목을 만들 것인가? 주차별로 무엇을 다룰 것인가? 흥미로운 콘텐츠는? 2. 선생님, 조교 모집 - 엘리스가 구상한 수업을 가장 잘 전달할 수 있는 선생님과 조교를 모집. 3. 수업 제작 및 운영 - 실습 문제, 강의 자료 등을 엘리스의 색깔로 제작하여 수업을 운영. 4. 데이터 분석 - 학생들의 피드백과 데이터를 다음 수업의 발전 및 교육자와의 관계 개선에 반영.Q. 업무 방식은? 어떤 메리트가 있나요?A. 처음부터 끝까지 모든 과정을 주도해나가는 방식이에요. 어떤 회사를 가도 프로덕트의 end to end 프로세스를 전부 경험하기는 어려운데 엘리스에서는 그 전 과정을 경험할 수 있어요. 저는 이러한 경험이 교육 업계나 특정 프로덕트에만 적용할 수 있는게 아니라 다른 업계에 간다고 하더라도 충분히 전환될 수 있는 좋은 경험이라고 생각해요.Q. 미래 산업의 근간이 될 교육을 직접 만든다는 중책을 맡고 계신다고 생각하는데요, 좋은 프로그래밍 수업을 만들기 위해 어떤 노력들을 하시나요?A. 그런 영향을 미칠 수 있다는 게 무서운 일인 것도 같아요. 어떤 사람들은 엘리스를 통해서 프로그래밍을 처음 접하는 것일 수도 있는데 그 경험이 불쾌했다면 앞으로 프로그래밍을 배울 생각이 전혀 들지 않을 수도 있는 거잖아요. 그래서 최대한 다양한 피드백을 받아서 수렴하려고 해요. 외적으로는 대학강의, 수많은 수업들을 참고해요. 여러 강의를 보다보면 좋은 예도 많지만 모든 수업이 재미있지는 않아요. 중간에 듣다 마는 경우도 있고요. 그럴 때마다 내가 왜 중단했고 어떤 요소를 바꾸면 엘리스에서는 학생들이 끝까지 들을 수 있을까 고민해서 반영하려고 하죠.Q. 언제 보람을 느끼나요?A. 내가 관여한 프로덕트가 누군가에게 임팩트를 만들어내고 나뿐만 아니라 프로덕트를 사용하는 사람들이 성장을 하고 있다면 그것은 충분히 가치 있는 일인 것 같아요. 저희 플랫폼에서는 대시보드를 통해서, 그리고 학생이 코드를 어떻게 짜고 있는지 보면서 그 결과를 가시적으로 확인할 수 있어요. 누군가 제가 만든 코스를 수강함으로써 실질적으로 성장하는 게 눈에 보일 때 가장 큰 보람을 느끼는 것 같아요.한 번은 한 선생님께서 학생으로부터 ‘선생님 덕분에 취업할 수 있었어요’라는 메시지를 받은 것을 엘리스와 공유해주셨는데 그때 정말 행복하더라고요. 이게 엘리스가 추구하는 거다,라는 생각을 했어요. 엘리스도 하나의 커뮤니티이고 싶거든요. 이 경우에는 학생-선생님-엘리스가 서로의 영향으로 좋은 결과를 만들어 낸 거죠. 이런 접점을 앞으로 더 많이 만들려고 생각하고 있어요.대시보드에 나타나는 학생들의 학습 현황 및 성취도.엘리스는 이런 팀.가치, 성장, 사람. 포기할 수 없는 세 가지가 있는 곳.Q. 함께 일하는 동료들은 어떤 사람들인가요? 총평을 하자면?A. 항상 내가 최고의 사람들과 함께하고 있다라는 확신이 있어요. 각자 자기 분야에서 최고의 실력을 가진 사람들과 함께 일한다는 것만으로도 큰 자극이 되죠. 프로그래밍이든 스타트업 생존 노하우든 항상 뭔가를 새롭게 배우고 성장하게끔 동기부여를 해주는 사람들이에요. 저는 트라우마가 있었을 정도로 프로그래밍을 두려워했지만 이들과 함께 일하며 작은 피드백을 하나 듣는 것만으로도 제 실력이 빠르게 성장한다는 것을 몸소 느낄 수 있었어요. Q. 엘리스의 분위기, 팀 문화는 어떤가요?A. 새로운 것에 도전하는 것을 환영하는 수평적이고 자유로운 팀. 인턴도 아이디어를 제시할 수 있어요. 이 다음이 더 중요한데, 아이디어에서 그치는 게 아니라 활발한 피드백이 오가요. 아이디어를 실행하기 어렵다고 판단하더라도 왜 그렇고 어떻게 발전시킬 수 있는지 이야기하죠. 실행하게 되었을 때는 아이디어를 제시한 사람에게 일에 대한 권한이 전적으로 주어지고요. 저도 처음엔 파트타임 인턴이었지만, 이런 팀문화 덕분에 계속해서 업무 범위를 확장하고 제 역량을 키울 수 있었어요.코스 매니저 채용.Generalist & Infinite LearnerQ. 현재 코스 매니저를 구인하고 있는데요. 코스 매니저에 적합한 성향이 있나요?A. 두 단어가 떠오르네요. Generalist, 그리고 Infinite Learner. 깊게 한 분야를 아는 사람보다는 얕고 넓게 아는 사람이 더 적합하다고 생각해요. 다르게 말하면 새로운 것을 시도하는 것을 좋아하고 새로운 것을 접할 때 포용력이 높은 사람이요. 두 번째로는 배움에 재미를 느끼는 사람. 엘리스는 교육 스타트업이고 코스 매니저는 직접 교육의 경험을 만드는 사람이니 스스로가 배움에서 행복을 느끼는 사람이라면 훨씬 더 재미있게 일할 수 있겠죠. 한 가지 덧붙이면, 데이터 분석을 배우고 싶은 분께 엘리스는 최고의 장소입니다.Q. 코스 매니저로서 갖추고 있으면 좋은 역량이나 자질이 있다면?A. 소통 능력과 균형 감각. 코스 매니저는 수업을 만드는 모든 단계에서 다양한 이해당사자들과 일하게 돼요. 이들과 원활하게 소통하고 의견을 공유하는 게 중요하죠. 그리고 다양한 사람들 사이에서 최고의 균형을 찾아내는 것도 중요해요. 예를 들어서 선생님의 경우 개발만 해왔고 교육이라는 것을 접해본 적이 없는 분들이 대부분이고, 학생은 프로그래밍을 처음 접하면 그 수업이 좋은 건지 아닌지 평가하기 어려워요. 때문에 코스 매니저가 이 둘 사이에 다리를 놓는 중재자의 역할을 하기 위해서는 다양한 시각에서 볼 수 있는 균형 감각이 필요하다고 생각해요.
조회수 734

아마존의 성공 법칙 6가지

안녕하세요, 대한민국 사업자들의 해외 전자상거래 (아마존) 진출을 도와주는 컨설팅 회사이자 업무대행사 컨택틱의 이이삭 대표입니다.오늘 여러분들께 말씀드리고자 하는 이야기의 주제는 많은 분들이 흥미를 가질만한 주제인, ‘아마존 성공 법칙’에 대한 것입니다. 사실 이 주제는 굉장히 많은 아마존 전문가들과 아마존 판매자들이 굉장히 오랜 기간 동안 연구한 주제인 만큼 의견이 충돌할 수 밖에 없는 주제인데요, 저 또한 한 명의 아마존 판매자로서, 그리고 여러 아마존 판매자들을 도와준 컨설턴트의 입장으로서, 저만의 노하우가 있기 때문에 제가 아는 아마존 성공 법칙에 대해서 겸손한 마음으로 여러분들께 도움이 되고자 저만의 아마존 성공 노하우를 공유해드리고자 합니다. 그럼 바로 본론으로 들어가보도록 하겠습니다.아마존 성공 제 1법칙 - 올바른 시장 조사컨택틱에서 생각하는 아마존 성공 제 1법칙은 ‘올바른 시장 조사’입니다. 시장 조사라고 했을 때 많은 분들이 다소 맥이 빠질 수가 있는데요, 어찌 보면 너무 당연한 얘기일 수도 있고, 또 누구나 할 수 있는 게 시장 조사라고 생각할 수 있습니다. 하지만 시장 조사를 제대로 하는 것만큼이나 복잡하고 어려운 일도 없고, 또한 그만큼 중요한 일도 없다고 저는 자신 있게 얘기할 수 있습니다. 실제로 컨택틱은 올바른 시장 조사론을 세우기 위해 2016년 1년을 투자한 만큼 시장 조사에 대한 중요성을 크게 두고 있습니다. 왜 이렇게 시장 조사에 집착을 하고 그 중요성을 강조하냐면, 컨택틱에서 개발한 시장 조사 기법을 통해 알 수 있는 게 바로 특정 상품 또는 상품군의 ‘성공률’과 ‘보상률’과 ‘피해율’ 이기 때문입니다. 한 마디로, ‘시장 조사에 따라 아마존 성공이 좌우된다’라고 할 만큼 아무리 강조해도 부족할 따름입니다. 하지만 이번 영상(포스트)에서 말하고자 하는 것은 시장 조사가 아니라, ‘아마존 성공 법칙’의 큰 틀에 대한 것이라, 시장 조사에 대한 구체적인 설명은 하지 않겠습니다만, 여러분이 아마존 시장 조사를 한다고 하더라도 딱 두 가지 특성에 대해서만큼은 반드시 유념 하시길 당부하고 싶습니다. 첫 번째 시장 조사의 특성은 바로 ‘정확성’입니다. 다른 말로 표현하자면, 주관적인 의견은 절대적으로 배제하고, 오직 숫자로만 이야기하는 ‘factual data’ 기반의 시장 조사 자료를 취합할 수 있어야한다는 것입니다. 시장 조사의 목적이 아마존 성공률 보상률 그리고 피해율 같이 핵심적인 정보의 제공에 있기 때문에 절대로 주관적인 의견이나 생각이 첨가 되어선 안되고 오직 객관적인 데이터로 시장 조사 자료가 구비 되어야 합니다. 두 번째 시장 조사의 특성은 바로 ‘연관성’입니다. 아무리 사실적이고 정확한 시장의 데이터를 마련했어도, 이 자료를 결국 ‘내 상품의 아마존 흥행’과 연관 지을 수 있는 전문적인 안목이 없다면, 그 자료는 결국 아마존 판매자로서 아무 의미가 없는 것이나 마찬가지입니다. 시장 조사에 있어서 Factual data를 준비하는 게 1단계라면, 그 데이터를 분석하는 게 2단계입니다.아마존 성공 제 2법칙 - 내 상품의 키워드 인덱싱 여부다음으로 컨택틱에서 생각하는 아마존 성공 제 2법칙은 ‘내 상품의 키워드 인덱싱 여부’입니다. 인덱싱이란, 내 상품이 아마존 검색창에 특정 키워드를 검색했을 때의 조회 여부를 말하는 것입니다. 내 상품을 등록한다고 해서 내 상품과 연관성 있는 모든 키워드 검색 결과에 대해 내 상품이 무조건 조회 되리란 법이 없습니다. 결정적으로, 아마존 시스템이 해당 키워드와 내 상품을 연관 지을 수 있게 ‘최적화 해서 상품을 등록’해야 하는 것입니다. 시장 조사를 통해 완벽한 상품을 찾았다거나 혹은 이미 제조 되어 있는 내 상품이 아마존에서 흥행할 거란 확신이 생겼다고 하더라도, 결국 내 상품이 핵심 키워드들에 대해서 검색 결과 내에서 조회 되고 있지 않다면, 적어도 전자상거래 시장에서 만큼은 실무 부분의 첫 단추를 잘못 끼웠다고 봐야 합니다. 이것을 해결하는 방법이 바로 컨택틱에서 제공하는 ‘리스팅 최적화 작업,’ 다른 말로 ‘고급 상품등록’ 작업이며, 내 상품과 연관이 있을만한 그 어떤 키워드에 대해서라도 내 상품이 검색 결과에 조회되게끔 만드는 일입니다.아마존 성공 제 3법칙 - 내 상품의 검색결과 내의 상위노출이제 내 상품이 핵심적인 연관 키워드에 대해서 검색결과에 조회되고 있다면, 다음으로 해결해야하는 것은, 아마존 성공 제 3법칙, ‘내 상품의 검색결과 내의 상위노출’입니다. 내 상품이 특정 키워드에 대해서 인덱싱 되고 있다고 해서 무조건 검색결과 중에 1페이지에 노출되는 게 아닙니다. 그리고 아마존 소비자들의 70%가 아마존 검색 결과 1페이지에서 구매 결정을 내립니다. 그렇다면 어떻게 해야 내 상품이 핵심 키워드 검색 결과에서 1페이지를 기록할 수 있을까요? 이론은 간단합니다. 예를 들어 내가 판매하는 상품이 ‘선스크린’이고, ‘facial sunscreen’이라는 키워드에 대해서 내 상품이 인덱싱 되고 있다면, 많은 고객들이 아마존 검색창에 facial sunscreen 이라고 검색한 뒤에 내 상품을 어떻게든 찾아서 구매를 하면 할수록 내 상품은 예를 들어 저 뒤의 792페이지에서 390페이지로, 390페이지에서 20페이지로, 20페이지에서 2페이지로, 그리고 결국 1페이지로 올라오게 되는 것입니다. Facial sunscreen이라는 키워드 검색결과 내에서 내 상품이 1위를 하기 위해서는 현재 해당 검색결과에서 1위를 기록하고 있는 제품보다 내 제품이 하루의 판매량이 많고 그 판매량을 오랫동안 유지하면 되는 것입니다. 어찌 보면 매우 간단한 이론입니다. 하지만 이걸 현실적으로 실현시키는 게 어렵기 때문에 아무나 못하는 것입니다. 컨택틱에서는 이런 상위 노출 작업을 도와드리고 있기 때문에 이 부분에 대한 도움이 필요하신 분들은 별도로 연락 주시기 바랍니다.아마존 성공 제 4법칙 - 클릭 전환다음으로 컨택틱에서 생각하는 아마존 성공 제 4법칙은 ‘클릭 전환’입니다. 내 상품이 상위에 노출되어 많은 잠재적 고객들의 눈에 띄고 있는데, 결국 고객들이 내 리스팅에 클릭을 안하면 그것도 난감합니다. 고객들이 클릭하게 만드는 방법은 ‘매력적인 메인 이미지’와 ‘합리적인 가격’ 그리고 어느 정도 신뢰를 줄 정도의 ‘후기 개수와 상품 평점’입니다.아마존 성공 제 5법칙 - 구매 전환그렇게 해서 고객이 내 리스팅을 클릭하고 상품을 보게 되었다면 다음으로 고려해야할 성공 법칙은 5번째 요소인 ‘구매 전환’입니다. 클릭을 하게 만들었다면 이제는 구매로 전환되도록 해야합니다. 구매 전환에 영향을 주는 요소는 대표적으로, ‘메인 이미지 외의 부가이미지’ 즉 실사용 예시나 상품의 특장점을 부각한 부가이미지들이며, 상품을 매력적으로 잘 묘사한 ‘강조포인트,’ 그리고 마지막으로 고객들의 망설임을 확신으로 바꿀 수 있는 구체적인 ‘상품설명’ 등입니다. 그 외에도 구매 결정에 영향을 끼치는 요소들이 있지만 대표적으로 이러한 것들이 있다는 것을 인지하시고 전략적으로 개선하시면 매출에 큰 도움이 되실겁니다.아마존 성공 제 6법칙 - 리타겟팅구매까지 잘 이루어지도록 설정하셨다면 이젠 아마존 성공 마지막 법칙에 도달하게 되는데요, 컨택틱에서 생각하는 아마존 성공 마지막 제 6법칙은 바로 ‘리타겟팅’이라는 개념입니다. 리타겟팅이란, 종류가 몇 가지 있는데, 구매를 하는 고객이 구매할 당시에 하나라도 더 사도록 추가결제유도도 리타겟팅 방법 중에 하나이며, 예전에 구매를 한 이력이 있는 고객에게 뉴스레터 또는 아마존 메시지 시스템을 통해 재구매 유도 또는 내 다른 상품을 구매하도록 유도하는 것도 리타겟팅 방법 중에 하나입니다. 내 상품을 한 번이라도 구매를 하고 만족을 한 고객이라면, 재방문할 확률이 훨씬 높기 때문에 비싼 CPC 광고 유입이나 상위 노출 작업을 하지 않더라도 저렴하고 쉬운 방법으로 매출을 증폭할 수 있는 방법이 바로 리타겟팅 방법입니다.이렇게 해서 컨택틱의 아마존 성공 법칙 6가지를 살펴보았는데요, 도움이 되셨나요? 혹시 여러분중에 아마존 판매에 대한 도움이 필요하신 분들은 꼭 저희 컨택틱에게 연락주세요. 컨택틱은 대한민국 셀러들이 아마존에 성공적으로 진출할 수 있도록 다양한 분야에 걸쳐 적극적으로 도와드리고 있습니다.
조회수 498

엔젤투자매칭펀드 알아보기

엔젤투자매칭펀드 알아보기 앞선 포스팅을 통해 일정 요건을 갖추어 공인된 엔젤투자자가 무엇인지 확인해보았습니다. 까다로운 요건을 충족하였으니 이를 통해 받을 수 있는 혜택에 대해서도 알아보아야겠죠? 소개해드릴 가장 주요한 지원사업은 바로 엔젤투자매칭펀드입니다.엔젤투자매칭펀드란, ①창업초기 기업에 ②일정요건을 갖춘 엔젤투자자와 ③매칭의 방법으로 신주를 엔젤투자 금액에 비례하여 ④1~2.5배 내에서 매칭투자하는 펀드입니다. 쉽게 말해 엔젤투자자가 1억을 투자하면 엔젤매칭펀드에서 1억을 매칭해서 함께 투자해주는 것이라고 보면 됩니다. 각 요건에 대하여 조금 더 자세히 살펴보겠습니다. 1) 먼저 투자 대상기업의 요건은 창업 초기기업(단, 창업 제외 업종이 아닐 것)이면서 기업가치가 70억원 이하이어야 합니다. 이외에 재창업기업이나 크라우드펀딩 성공 업체도 해당될 수 있는데요, 상황별 요건에 대해 아래 표를 통해 확인할 수 있습니다. [엔젤투자매칭펀드 대상 기업]  2) 일정요건을 갖춘 엔젤투자자는 이전에 살펴본 개인형 엔젤투자자인 적격엔젤투자자, 전문엔젤투자자 및 엔젤클럽과 개인투자조합이 해당됩니다. 개인형 외에도 액셀러레이터, 신기술창업전문회사와 같은 법인형 엔젤투자자도 해당이 되니 참고로 알아두면 좋겠습니다. [엔젤투자자 구분]  3) 신청 요건이 갖추어지면 엔젤투자매칭펀드에서 투자가 이루어지는데 이때 투자의 형태는 엔젤투자자의 투자 조건과 매칭하는 방법으로 진행됩니다.가. 신주투자(보통주, 상환권 혹은 전환권이 부여된 우선주)나. 엔젤투자자의 투자 조건과 동일한 투자 조건 및 방식다. 엔젤투자자와 동일한 기업가치를 적용.  4) 매칭 비율은 기본적으로 엔젤투자 금액의 최대 1배수 이내로 이루어지지만, 지방소재기업 (2배수), 재창업기업 (2배수) 등 경우에 따라 별도의 매칭비율 적용이 가능하니 신청 시 투자자와 피투자기업의 상황을 잘 고려하여 신청하는 것이 중요하겠지요.  엔젤투자매칭펀드, 그 이점은? 이렇게 꼼꼼하게 준비한 후 엔젤투자매칭펀드의 매칭을 받았다고 가정해봅시다. 기업 입장에서는 1억만 투자 받을 수 있을 줄 알았는데 추가적으로 1억을 더 투자받을 수 있으니 부족한 자금 상황을 해소시켜줄 단비같은 혜택이라고 생각할 수 있겠지요. 그러나 투자자는 어떨까요? 투자한 기업에게 이득이 되는 일이라면 물론 투자자인 나에게도 좋은 일이겠지만, 곰곰이 생각해보니 열심히 서류 준비해서 신청한 것에 비하여 직접적으로 나에게 돌아오는 이득이 없는 것 같다는 생각이 듭니다. 하지만 실망하기엔 이릅니다. 엔젤투자매칭펀드가 가져다 주는 진정한 이점이 아직 남아있습니다. 바로 엔젤투자매칭펀드 지분에 대한 콜옵션 행사 권리입니다. 콜옵션이 무엇이길래 이렇게 강조를 하는 것인지 조금 더 자세히 알아보겠습니다. 콜옵션이란, 쉽게 말해서 “정해진 조건으로 살 수 있는 (Call) 옵션 (Option)”을 말합니다. 상황에 따라 사거나 사지않을 옵션 중에 선택을 할 수 있으니 권리라 할 수 있겠지요. 그럼 공짜로 주는 것도 아니고 내 돈을 주고 사야하는데 무슨 혜택이냐고 반문할 수 있겠습니다. 하지만 ‘사야하는 의무’가 아니라 ‘살 수 있는 권리’ 라는 것, 그것도 ‘정해진 조건’으로 살 수 있다는 것에 그 의미가 있는데요. 간단히 예를 들어볼까요.  A라는 기업의 기업가치가 10억일 때 2억을 투자하고 엔젤투자매칭펀드를 신청하여 2억이 매칭되었다고 가정해보겠습니다. 1년 후 기업의 가치가 20억으로 2배 오르게 되면 내가 직접 투자한 2억과 엔젤투자매칭펀드를 통해 매칭된 2억은 각각 4억으로 가치가 함께 상승하게 되겠지요. 이때 엔젤투자매칭펀드를 통해 매칭된 금액 중 50%(*정해진 한도)에 대하여 콜옵션을 행사할 수 있습니다. 매칭금액이 2억에서 4억으로 올랐으니 그의 50%인 2억에 대하여 2억을 주고 사와야하느냐? 그렇지 않습니다. 매칭펀드에서 부여한 콜옵션은 “투자원금(및 투자원금의 5%를 가산한 금액)으로 되사올 수 있다”는 행사 조건을 가지고 있습니다. 즉, (이자율 부분을 제외하고) 투자원금 2억의 50%인 1억을 내면 현재 4억으로 가치가 오른 매칭펀드 지분의 50%인 2억원의 주식을 사올 수 있다는 것이지요. 더욱 간단히 이야기하자면 2억원어치의 주식을 1억만 주고 사올 수 있다는 말씀! 행사하는 즉시 해당 주식에 대한 수익률이 100%가 되는 것이지요. [기업가치가 10억에서 20억으로 상승할 경우 투자 지분의 가치 변화] * 이때 콜옵션의 행사 한도는 적격엔젤투자자의 경우 매칭펀드 소유 주식의 50% 이내, 전문엔젤투자자의 경우 매칭펀드 소유 주식의 70% 이내로 정해져 있습니다. 기업 가치가 하락한다면?만약 기업의 가치가 5억으로 하락하게되면 해당 콜옵션을 행사하지 않으면 됩니다. 앞서 말한 것처럼 살 수 있는 권리란 사지 않을 수 있는 권리가 되기도 하는 것이니까요.  엔젤투자매칭펀드 한도 및 관리 이렇게 매칭펀드를 통해 투자에 대한 추가적인 이익을 도모할 수 있지만 매칭받을 수 있는 기업과 투자자별로 각각 한도가 정해져 있습니다.  [엔젤투자매칭펀드 한도]  또한 매칭펀드는 지원사업이면서도 그 성격은 실질적인 투자와 같기 때문에 매칭을 통한 투자금액에 대한 사후관리도 지속적으로 이루어지게 됩니다. [엔젤투자매칭펀드 사후관리] 이러한 엔젤투자매칭펀드와 관련한 자세한 메뉴얼을 엔젤투자지원센터에서 제공하고 있으니 엔젤투자지원센터의 엔젤투자매칭펀드 메뉴를 참조하시기 바랍니다.  마치며 살펴본 것처럼 엔젤투자자에 대한 제도적인 관리와 그에 상응하는 지원사업을 통해 안정적이고 효율적인 엔젤투자를 장려하고자 노력하고 있습니다. 엔젤투자매칭펀드는 투자자에게 일정 요건을 공인 하여 전문성과 신뢰도를 부여하고 또 추가적인 수입을 도모할 수 있는 기회를 제공함과 동시에, 피투자기업에게는 규모있는 엔젤투자를 통한 자금 수혈이 원활하게 이루어질 수 있는 여건을 마련해주는 제도라는 것을 알아보았습니다. 관련 요건의 충족이나 서류의 구비가 다소 복잡하게 느껴질 수 있지만 관련 메뉴얼과 기관의 지원이 언제든 준비되어 있으니 두마리 토끼를 모두 잡을 수 있도록 꼭 잊지말고 신청해보는 것이 어떨까요?  
조회수 1286

이커머스 풀필먼트 시작, 품고 물류 운영실장 재영님_품고 입고팀에 대하여

   이커머스 풀필먼트 기업, 품고의 물류프로세스 설계자. 고재영님.   1.  안녕하세요. 먼저 자기 소개 부탁드리겠습니다. 품고에서 물류운영실 부실장을 맡고 있는 고재영입니다. 두손컴퍼니에서 일한지는 약 2년정도 되었습니다.  CS업무,  물류기획 업무를 담당하였고, 입고팀장을 거쳐 현재는 물류 부실장을 맡고 있습니다. 연계약 물류 서비스인 품고와 크라우드 펀딩 등 단기 물류 전문 배송 서비스인 두윙의 물류를 총괄하고 있습니다.    2.  재영님이 속해 있는 물류 운영실이 하는 일과 그 안에서 재영님의 역할은 무엇인가요? 물류운영실은 두손컴퍼니와 계약되어 있는 고객사들의 물류 전반 모두를 관리하는 업무를 담당하고 있습니다. 저는 출고팀, 입고팀, CS팀으로 구성되어 있는 물류운영실의 다양한 물류 모듈들을 입고에서 출고까지 문제없이 진행될 수 있도록 일의 우선순위를 조율하고 사내 전략에 맞추어 물류 전략을 수립 운영하는 역할을 하고 있습니다.     3.  두손컴퍼니에 입사하신 동기는 무엇인가요? 입사전 감명 깊게 접했던 이야기 중에 사회적 기업이 사회에 미칠 수 있는 영향력에 대해 이야기를 들은 적이 있었습니다.    모두가 ‘일의 본질적인 가치’를 지키며 일할 수 있는 기업을 만드는 것을 소셜 미션으로 가지고 있는 ‘두손컴퍼니’에 대해 알게 되었고, 두손컴퍼니의 가치에 공감이 되어 이 기업에 기여해보고 싶어서 지원하게 되었습니다.    4.  운영실장으로 일하시기 전 입고팀에 근무하면서 가장 만족스러웠던 경험은 어떤 것일까요?  출고 작업을 더 효율적으로 하기 위해서는 보관 재고와 진열 재고를 분리해서 관리해야 합니다. 그래야 재고의 위치를 정확히 파악해서 출고 시간을 단축할 수 있고, 적정재고량을 통해 보관작업도 효율화 할수 있어요.  이렇게 ‘보관재고’와 ‘진열재고’를 나누어 관리하는 방식을 처음 제안했었고, 지금은 모든 재고를 이렇게 나누어서 관리하고 있어요. 두손컴퍼니도 스타트업이기 때문에 스스로 기획하고 직접 수행해볼 수 있는 일들이 많은 것이 장점인 것 같아요. 실제로, 저의 의견을 회사의 프로세스로 발전시켜보았던 경험들을 통해 스스로 성장할 수 있는 기회들을 많이 얻을 수 있었습니다.    * 두손컴퍼니에서는 제품을 크게 진열재고와 보관재고로 나누어서 관리하며, 진열 재고는 피킹에 유리한 진열랙 등에 보관되며, 보관재고는 파레트화 되어 파레트랙 등에 보관 됩니다.     5.  품고 입고팀에 근무하면서 가장 어려운 점은 어떤 것일까요?  입고팀에서 공간과 인력을 관리한다고 하더라도, 실제로 예측할 수 없는 순간이 올 수 있습니다. 사실 그 순간에는 제품을 함께 들고 내리며 수량을 체크하는 업무들이 생기게 됩니다.     해당 업무가 많아 지는 경우, 육체적인 부담이 가중되기도 하고, 기존의 관리 업무가 그대로 있기 때문에 업무량이 많이 지는 순간도 있어 가끔은 힘들 수 있습니다:)    6.  품고의 입고팀은 어떤 역할을 하나요? 입고팀은 일종의 ‘지원부대’와 같은 역할을 하고 있습니다. 출고가 최고의 퍼포먼스를 발휘하기 위해서 그에 선행되어야 하는 모든 업무를 진행하고 있습니다. 예를 들어, 당일 출고율 100%같은 목표를 함께 지원하고 있습니다.     보다 상세하게는 출고 가능한 재고 확보를 우선으로 하는 업무이며, 로케이션 지정 데이터를 기반으로 내일의 출고량을 예측하고 이에 따라 출고에 문제가 없도록, 입고 시간, 작업에 들어갈 인력 등을 계획하고 분배하는 일을 하고있어요. 기본적으로 물류센터 공간을 효율적으로 활용하고 출고 일정에 따라 로케이션 등을 관리하는 역할을 하고 있습니다.    또한, 입고팀의 한 모듈 중 하나인 임가공팀은 점점 패키징이 중요해지고 있는 고객사의 니즈를 채워주고 있는 멤버들이에요.  고객사가 원하는 제품의 완성도를 가질 수 있도록 임가공을 미리 해두어야 하고 이 또한 입고팀의 역할입니다.       7.  입고팀 업무 경험이 지금의 물류 운영실의 업무와 어떤 연관성이 있을까요? 입고팀으로 일하면 회사 전체의 프로세스를 볼 수 있습니다. 회사의 물류 프로세스를 전반적으로 볼 수 있기 때문에, 이것을 개선할 수 있는 아이디어를 낼 수 있고 회사의 물류를 처음부터 개선해나갈 수 있습니다.  ” 입고팀은 미드필더와 같은 역할을 하고 있습니다. 출고와 운영사이에 관여하기도 하고, 제품을 제일 먼저 맞이하기도 합니다. 또한 사내 물류 시스템 및 프로세스에 대한 이해와 현장과 실물에 대한 이해가 가장 균형 있는 팀이기도 합니다.  때문에 시스템과 실물에 대한 이해가 가장 높으며, 이를 통해 내부 프로세스나 시스템을 개선할 기회를 많이 발견하게 됩니다.”   물류를 총괄하는 입장에서, 입고팀장으로 있으면서 겪었던 현장의 어려운 점들을 고려할 수 있었고, 또한 현장에 대한 이해가 높아 좀 더 효과적으로 업무를 기획할 수 있어서 좋은 것 같습니다.     8.  현재, 그리고 앞으로 함께하게 될 품고의 매니저분들과 함께 하고 싶은 일은  무엇일까요? 품고의 프로세스에 딱 맞는 시스템을 지속적으로 개발하여, 물류 업무를 최적화하고 물류 관리자들이 더욱 좋은 퍼포먼스를 낼 수 있도록 만들고 싶어요. 또한 시스템 뿐만 아니라 이번에 물류컨설팅 및 트럭지원 등을 제공하는 ‘품고 컨시어지 서비스’를 함께 운영하고 고객사와 두손컴퍼니 모두에게 매우 중요한 물류 서비스 중 하나로 자리잡을 수 있도록 만들고 싶습니다.  * ‘품고 컨시어지 서비스’는 두손컴퍼니에서 새로 런칭한 서비스로, 계약 이후 물류 이관에 관한 어려움을 겪는 계약 예정 고객사를 대상으로, 현장에 방문하여 컨설팅을 수행하고 제품 이전을 ‘품고’가 직접 지원하는 서비스 입니다.   처음부터 다 아는 사람도 좋지만, 배움에 대한 열정이 있는 사람이 좋은 것 같아요.  배우고자 하는 마음이 있고 성장해가는 물류업계에서 발전해보고 싶다면 두손컴퍼니와 잘 맞을 것 같아요. 입고 직무가 아니더라도 물류업무에 대해서 관심을 가지고 있는 부분을 더 공부해 볼 수 있도록 지원해주고 싶어요.
조회수 1352

벨류커미티 (Value Committee) 를 소개합니다!

안녕하세요. 비투링크의 소식을 전하는 미나 입니다 :)오늘은 야심차게 준비한 "[비.사.세] 비투링커가 사는 세상" 코너를 소개하고자 합니다!비투링크 내부에서는 어떤 사람들이 모여, 어떤 가치를 가지고 일하는지.또 어떤 재미있는 사내 문화가 있는지 등등비투링커들의 일거수 일투족을 쏙쏙 집어 공유해드립니다 ^_^그 첫번째 주인공으로, 비투링크 벨류커미티 (Value Committee) 1기를 소개합니다 :)여기서 벨류커미티는 뭐지? 하실 분들을 위해▼▼ ! 간단한 소개 드려요오! ▼▼회사 조직 규모가 커짐에 따라 많은 팀과의 커뮤니케이션을 필요로 하고,그에 따른 각종 이슈들이 발생합니다. 저희 비투링크는 이를 해결하기 위해,비투링커 모두가 함께 우리만의 문화를 만들어 나가기 위해 '벨류커미티' 프로젝트를 시작했습니다.비투링크의 주인은 비투링커!벨류커미티는, 현재의 조직문화 관련하여 비투링크답지 않은 모습을 발견하고, 창의적이고 급진적인 해결방법을 통해 비투링크다운 모습으로 복원하는 역할을 합니다!비투링크 벨류커미티 (Value Committee) 1기 멤버들 ♥지난 해 9월, 직원들의 자발적인 참여로 시작된 벨류커미티 1기 멤버 선정!전 직원의 80%가 자발적으로 참여했고, 각자 어떤 비전을 가지고 있는지포부를 밝히는 선거운동까지 진행했습니다.그렇게 5명의 임원이 선발 되었습니다 :-)매주 수요일 7시 30분, 비투링크만의 문화를 만들기 위해 고민하는 벨류커미티 멤버들!어느 수요일 저녁... 벨류커미티 회의실에 제가 잠시 침입했습니다 ㅋㅋ벨류커미티 멤버 CS 님: "첫 회의를 진행하면서, 정말 많은 아이디어가 쏟아져 나왔어요.그 과정에서 진짜 우리가 되고 싶은게 무엇인지에 대한 고민을 가장 많이 했습니다.문제해결에 가장 중요한 것은 이상향을 그리는 것이라고 생각했거든요."그리고 가장 중요한 다섯가지를 생각해봤습니다.그렇게 탄생한 비투링커라면 매일 고민해야 하는 5가지 행동 (Code of Conduct) !!!▼▼ 비투링커들의 5가지 행동강령 (Code of Conduct) 란? ▼▼우리는 다음 5가지 사항을 비투링커의 최우선과제로 삼고, 매일 조금씩 발전하고 있습니다 :)매주 금요일, 지난 일주일동안 아래 5가지 행동에 대해 고민하고 사례를 공유합니다!(1) 크고 담대한 꿈을 갖는다.(2) 주도적인 태도로 집요하게 집착한다.(3) 나와 내 팀이 아닌 모든 비투링커의 성공을 위한 의사결정을 한다.(4) 실수는 실수를 통해서 그 이상을 배울 수 있는 경우에만 허용된다.(5) 함께 일하고 싶은 역량을 가진 동료가 된다.비투링크 강남 오피스에 들어가면 한 눈에 볼 수 있다죠!비투링크 사무실에 들어서면 !!5가지 Code of Conduct @ 비투링크오피스를 쭉 돌아다니다보면, 비투링커들의 성장스토리를 공유하는 게시판이 있는데요!각자 비투링커로써 고민했던 위 다섯가지 행동강령에 대한 스토리를 공유합니다.짜잔 ~* ~*비투링크 성장노트를 공유하는 게시판! :)꼭 업무에 관한 내용이 아니어도 좋아요 ^_^내용은 꼭 업무에 관한 내용이 아니어도 좋답니다!오른쪽 이미지 처럼, 업무 중 감정이 상했지만, 함께 일하고싶은 역량을 가진 동료가 되기위해같이 점심을 먹으면서 풀기로 했다는 귀여운 내용도 좋습니다 :)누구라고 밝힐 순 없지만...."함께 일하고싶은 역량을 가진 동료가 되기 위해오늘 아재개그를 해서 옆자리 팀원을 즐겁게 해줬다." 라는 이야기도 들었..ㅋㅋㅋ내용보다는, 위 행동강령에 대해 매일 고민해보는 시간을 가지는게더 중요하다고 생각해요 :)그런 의미에서 비투링커들 짝짝짝 수고수고 멋쪄부러 !!벨류커미티 프로젝트는 계속 됩니다!TO BE CONTINUED....또 어떤 이벤트가 있는지는 다음 포스팅에 공유할게요! :)#비투링크 #사내문화 #기업문화 #조직문화 #팀소개 #기업소개 #경험공유

기업문화 엿볼 때, 더팀스

로그인

/