스토리 홈

인터뷰

피드

뉴스

조회수 2240

모니터링 기업 와탭의 시작

2012년 2월 개발자 3명이 모여서 회사를 만들었습니다. 와탭랩스를 만들기 전 회사인 "DesignPlusD" 입니다. 모바일 개발을 하고 싶었던 우리는 무작정 회사를 나와서 법인을 만들고 사업을 시작했습니다. 사무실은 홍대 코워킹 스페이스에서 시작했고 각자의 퇴직금으로 자본금을 마련했습니다. 그 시절 우리는 개발에 대해서는 정말 끝없는 자신감을 가지고 있었습니다. 누구보다도 빠르게 만들고, 누구보다도 높은 퀄리티를 제공할 수 있었기에 금방 인정받고 성공할 거라 생각했지만 이렇게 만들었던 회사는 지금 존재하지 않습니다. 그 이유는 사업이 아닌 개발을 하고 싶어 만든 회사였다는 것이였습니다. 정확하게는 모바일 개발이 하고 싶어 만든 회사였습니다.DesignPlusD의 메모앱 (MemoZy)우리는 여러가지 앱들을 만들었는데 그중 젤 인기있는 앱은 메모앱이였습니다. 독특한 UX를 가진 개성있는 앱이였던지라 국내에서 많은 상을 받았습니다. 한국에서 유료앱으로 1주일간 전체 분야 1위에 올라가기도 했었습니다. 하지만 돈은 벌지 못했죠. 이미 저희보다 먼저 시작한 훌륭한 노트앱들도 상황은 좋지 않았습니다. 2013년이 지나면서 모바일로 돈을 번다는 것은 정말 힘든 일이 되어가고 있었습니다. 그리고 저는 이런 고민을 하게 됩니다."우리도 돈 벌수 있는 사업을 구상해보자"우리가 정한 비지니스 아이템의 선정 조건은 다음과 같았습니다.기술기반 서비스. - 서비스를 만드는 과정에서 나온 기술 만으로도 돈을 벌 수 있는 서비스.B2B 서비스. - 있으면 좋은 서비스가 아니라 꼭 필요한 서비스.오랜 기간 변하지 않을 서비스. - 10년이 지나도 여전히 가치를 가질 수 있어야 함.그렇게 아이템 구상에 들어갑니다. 성공 할수밖에 없는 아이템을 찾고 또 찾기 시작합니다. 많은 아이템들을 구상해보고 논의해 보았지만 만족스로운 아이템이 나오지 않았습니다. 그러던 중 소개로 만난 회사와의 미팅에서 정말 우연히 IT 서비스 모니터링에 대한 이야기를 나누게 됩니다. 기존에 있는 모니터링 서비스들은 NOC라는 거대한 공간에서의 모니터링 이였지만 모바일이 지원된다면 한정된 공간에서의 모니터링이 아닌 언제 어디서나 모니터링이 가능해 지는데, 아직 모바일을 지원하는 모니터링이 없다는 것이였습니다.미국 AT&T NOC 공간이런 모니터링은 우리가 정한 아이템 선정 조건에 딱 맞는 아이템이였습니다. 기술 기반의 서비스이면서 B2B서비스 였습니다. B2B는 B2C에 비해 고객의 니즈를 파악하기 좋은 분야입니다. 그리고 모니터링은 IT 서비스가 존재하는 한 없어지지 않을 아이템이죠. 10년 후에도 여전히 모니터링 서비스는 존재할 것입니다. 그리고 2014년까지도 모바일이 지원되는 모니터링 서비스가 없었습니다. 그래서 우리는 모바일을 통해 언제 어디서든 서버를 모니터링 할수 있는 서비스를 만들기로 결정합니다.모니터링 서비스 시작하려고 하는데, 어떻게 생각하세요?그렇게 아이템을 선정했지만 신중을 기하기 위해 주변에 아이템에 대한 의견을 물어보고 의견을 공유하기 시작했습니다. 이렇게 자신의 아이디어를 공유하는 것은 매우 중요했습니다. 이렇게 의견을 공유하는 과정에서 많은 분들이 새로운 아이템에 대해 긍정적인 피드백을 주셨습니다. 뿐만 아니라 아이템만 정했을 뿐인데도 투자를 제의해 주시기도 했고, 사업을 같이 하자는 제의도 받게 되었습니다. 그리고 그 덕분에 좋은 분들과 함께 할 수 있었고, 현재 와탭랩스는 국내에서 만대 이상의 서버를 모니터링 하는 IT 서비스 모니터링 전문 기업으로 성장하고 있습니다.#와탭랩스 #와탭 #스타트업 #성공기 #실패기 #아이템 #아이디어 #아이디에이션 #창업초기
조회수 1754

스타트업이 돈을 구하는 방법 (3)

지난 글에서 지분을 투자자에게 나누어 주고 돈을 구하는 '투자'라는 방법에 대해서  이야기했다. 이번에는 소위 '공짜 돈'이라고 불리는 영어로는 'Grant'이고 흔히 정부 지원금이라고 불리는 방법에 대해서  이야기해보고자 한다.정부 지원금은 크게 두 가지로 나눌 수 있다. 첫 번째는 정부 과제라고 불리는 정부 R&D 사업이고, 두 번째는 정부 지원 사업이다. 말 그대로 정부 R&D 사업은 정부가 기업의 R&D에 돈을 지원해주는 사업이고 그 외 나머지 정부지원 사업은 R&D 이외에 다양한 목적으로 돈을 지원해준다. 그중에서 금액도 크고 다양한 사업이 많은 정부 R&D 사업에 대해서 먼저  이야기해보겠다.정부 R&D 사업은 다시 크게 두 가지로 나눈다. RFP 즉 정부에서 개발할 내용을 만들어 놓고 공고를 내서 과제를 수행할 주체를 찾는 지정 공모형과 RFP 없이 R&D를 수행할 주체가 제안한 내용으로 심사를 받는 자유공모형으로 나눈다. R&D 과제의 규모는 대부분 RFP가 있는 지정공모 과제가 자유공모 과제보다 큰 편이다. 자유 공모 과제가 연간 5억 원이 넘는 과제가 없는 반명에 지정 공모 과제는 연간 예산이 100억이 넘는 과제도 있다. 정부 R&D 사업에 목숨을 걸고 뛰어드는 중소기업들이 너무 많기 때문에 스타트업이 큰 규모의 과제를 노리는 것은 확률 낮은 싸움을 하는 거라고 생각한다. 물론 방법은 큰 규모의 과제를 주체가 아닌 참여 기업 형태로 곁다리고 끼어 들어가는 방법도 있지만, 이것도 고도의 정치력이 필요한 영역이기 때문에 쉽지 않은 일이다.스타트업이 정부 R&D 사업을 하는 것에 대해서는 호불호가 극명히 갈린다. 정부 R&D 사업은 수많은 문서 작업, 복잡한 회계 증빙, 그리고 복잡한 수행 절차로 인해서 인력이 부족한 스타트업에게는 본연의 업무를 방해할 수 있다. '공짜'이지만 '공짜'가 아닌 그런 돈이다. 하지만 역시 본연의 비즈니스로 수익을 내지 못하고 있고 투자도 받지 못하고 있는 상황에서는 생명을 연장할 수 있는 방법 중 하나이다. 실제로도 많은 스타트업들이 이렇게 생명 연장을 하고 있다. 특히 지정공모 과제의 경우는 스타트업이 제안한 내용이 아닌 정부에서 정해진 내용으로 R&D를 수행하는 것이기 때문에 시장의 현실과는 대부분 동떨어져 있는 내용이 많다. 스타트업 사업의 특성상 시장에서 Feedback을 받아가면서 지속적으로 사업 모델을 바꾸어 나가야 하는데 지정 공모 과제는 1년 전에 만들어진 RFP로 시작을 해서 시장의 Feedback과는 상관없는 심사위원들의 Feedback을 받아가면서 과제를 수행해야 하는 프로세스를 가지고 있기 때문에 시장의 상황과 동떨어질 가능성이 높다. 그렇기 때문에 개인적으로 정부 과제를 수행하려 하는 스타트업들은 지정공모 보다는 자유공모 형식의 R&D 과제에 자신들이 원래 하려고 했던 사업을 제안해서 수행하는 것이 나은 선택이라고 생각한다.정부 R&D 사업 외에도 다양한 정부 기관과 지자체에서 요즘은 많은 지원 사업을 하고 있다. 마케팅, 홍보, 금형, 채용 지원 등 다양한 지원 사업이 있다. 금액이 크지 않지만 스타트업 입장에서는 비용을 아낄 수 있는 좋은 방법이 될 수 있다. 하지만 이것도 '공짜'이지만 '공짜'가 아닌 것이, 이런 지원 사업 뒤에는 꼭 많은 문서 작업이 뒤를 따른다. 이런 문서 작업을 전담할 수 있는 전문 인력을 확보하지 않는다면 스타트업 본연의 업무에 지장을 초래할 가능성이 있기 때문에 신중할 필요가 있다. 물론 익숙해지면 정부 지원사업 지원도 생산성이 높아진다.  정부 지원금은 '마약'과도 같다고 한다. 잘쓰면 스타트업이 어려운 파도를 헤쳐나가는데 느끼는 고통을 경감시켜줄 수 있는 좋은 '마약'이 되지만 과용하면 '마약'이 끊어진 이후를 감당하지 못하는 약골로 만들 수 있다. 결국 스타트업 대표의 판단일 것이다.다음편에서는 마지막 방법인 '대출'에 대해서 이야기하고 마무리를 하려고 한다.#NEOFECT #스타트업 #스타트업창업 #창업자 #투자유치 #정부지원금 #정부자금 #자금유치 #꿀팁 #인사이트
조회수 823

창업하다 직장인이 되며 느낀것들

 안녕하세요, 너무나 오랜만이네요 (이 사람 글 언제 쓰나.... 기다리셨던 분들에게 심심한 사과의 말씀을...)직상생활을 시작하는 바람에, 새로운 환경과 생활에 적응하느라 상당히 많은 시간이 걸렸네요 죄송합니다. 오늘은 타이틀 그대로, 첫 사회생활을 "창업"으로 시작하시는 분들에게 꼭 드리고 싶은 이야기를 해보려고 합니다.(왜냐면 저가 딱 그짝이거든요...ㅎ) 여러분들은 왜 창업을 하려고 하세요?내가 가진 아이디어가 지금 놓치기엔 너무나 좋은 아이디어라서? 딱딱하고 정형화된 회사가 싫어서? 내가 좋아하는 사람들과 하고 싶은 것들을 하고 싶어서? 정 아니라면 대기업 가고 싶은데 취직이 안돼서? 다양한 이유가 많을 것 같아요, 위에 있는 몇 가지 부분들이 저도 창업을 하게 된 이유였기도 하구요. 그러나 제가 창업을 할 수 있었던 가장 큰 이유는,"아무것도 몰랐기 때문에."라는 것도 엄청 큰 부분을 차지했던 것 같아요. 내가 사회생활이라는 것을 안 해봤으니까 그냥 무작정 시작할 수 있는 용기를 얻었던 거고요. 즐거울 것 같으니까, 재밌을 거 같으니까. (또 그렇게 좋아서 시작한 스타트업, 더 좋게 할 수 있으시도록 이렇게 제가 글을 적고 있는 것도 있죠!:) ) 그러나 본론으로 돌아와서, 지금은 다시 스타트업으로 돌아오긴 했지만, 한 달 반 동안 회사에 출근하며 제가 창업을 하면서 볼 수 없었고, 느낄 수 없었던 것들을 너무나도 많이 볼 수 있었고, "이 한 달 반의 경험이 이전에 나에게 이뤄졌으면 어땟을까..."라는 생각이 들 정도로 많은 것들을 배울 수 있었고, 이러한 부분들을 하나하나 주제별로 나누어서 알려드리고 싶네요.1. 경험이 중요해?라고 시작했지만 경험이 중요하더라고요.... 많은 분들이 스타트업을 "내 생각한걸 만들 수만 있다면 분명 대박 날 거야."라는 큰 포부로 창업을 결정하고, 주변에 많은 분들과 함께 제작을 실행할 수 있는 추진력을 가지고 진짜 서비스를 만들어 냈다! 까지만 가더라도 저는 큰 박수를 보내드리고 싶습니다 거기까지 도달한 것만으로도 정말 너무나 많은 생각과 고민을 지나오셨다는 걸 알거든요. 저는 처음부터 제가 어떤 "세상을 바꿀 엄청난 것을 만들겠다!!!"라는 큰 포부 보다는, 그냥 "내가 좋아하는 거를 만들어 보고 싶다"라는 정말 소소한 생각에서 시작한 거였고, 그렇게 나아가다 보니 하고 싶은걸 하게 된 경우거든요.... 그런데 정말 이게 다가 아니라는 게, "창업"을 한다는 것 자체가 "궁극적으로 수익을 낼 수 있는 사업을 만드는 것"인데, 그러한 수익사업에 대하여 경험해 보지 못한 다양한 사항들 때문에 간과되어 낮게 판단되는 부분들이 있다면, 그만큼 리스크를 가지고 갈 수밖에 없다는 생각을 문득 많이 하는 것 같아요. 전에 어떤 분이 스타트업 창업 콘퍼런스에서, "대학생활 끝나고 바로 창업하는 건 죽으러 가는 거나 마찬가지다."라는 이야기를 한 적이 있는데, 처음 그 이야기를 들었을 때는 "아직도 저런 나쁜 소리를 하시는 분들이 계시는구나...." 싶었는데,  경혐을 해보니. "해봤다는 것" 자체가 100% 성공을 좌우하는 것은 절대 아니지만 50% 이내의 영역은 좌우할 수 있다.라는 것이 제가 요즘 스타트업에서 일하면서 많은 분들을 보며 들게 된 생각입니다.2. 넓은 생각을 가지는 게 우선이지만, 넓은 생각만 가진다고 되는 게 아니다. "당신의 도전을 응원합니다." 같은 소리나 "창업자 정신" 같은 소리가 아닌, 내 서비스에 대해 어떻게 풀어나갈 것인지 상황을 파악하고, 적절히 도전해 나갈 수 있도록 분석하는 것은 경영자가 반드시 가져야 하는 덕목이란 것은 굉장히 중요하고, 이건 경험도 중요하지만, 경험으로 커버할 수 없는 본디 개개인이 가지고 있는 기본적인 Mind Set의 영역이라고 더 생각이 듭니다. 그러나 창업자가 이걸 잘하니깐, 다른 것들에 대해선 조금 소홀해도 될까요?여러분이 창업을 하기로 결정한다는 것은 서비스를 경영하기 위해선 하고 싶은 일들이 아닌, 해야 할 일들을 해야 하는 때가 훨씬 많아질 겁니다. 그리고 다른 영역들을 잘 하는 사람들과 일 하려면 그분들과 충분히 방향에서 타협해야 하는 방향도 생기고, 그러한 과정에서 서로서로를 이해시켜야 할 때가 생겨요. 근데 그럴 때마다 그냥 "나는 이런 생각을 가지고 있으니깐 그냥 따라와."라는 것은 절대 팀원들을 납득시킬 수 없습니다. 그만큼 더 열심히 공부하고 더 많이 알아야 한다는 것이 제 생각입니다. 단적으로 이야기한다면, 프로젝트의 총괄로서, 어떤 서비스를 어떻게 구축하고 싶다에 대한 생각만 있고 그 서비스가 어떻게 구현될지, 구축하기 위해선 어떤 방식으로 제작하는 것이 좋을지, 어떻게 업무를 관리해야 할지에 대해 명쾌하게 설명할 수 없다면, 창업은 가능하지만, 서비스를 끝까지 이뤄낼 수 있을지는 큰 의문이 드네요...3. 실력 있는 사람들을 만나는 게 다가 아닌, 내 로직이 있는 사람이 돼야 한다. 말 그대로입니다. "나 누구랑 밥 먹으면서 이런 이야기를 들었는데, 정말 좋더라."는 그냥 말에 불과합니다. 그것에 대하여 조금 더 정제할 줄 알아야 하고, 그에 대한 자신의 철학을 담아서 서비스에, 또는 서비스를 제작하는 과정에서 implant 하고 자신의 결과에 책임을 질 줄 알아야 한다고 생각해요. 그런데 그런 일들이 경험이 기반이 되어야 할 수 있는 게 많아서 또 경험 이야기를 안 할 수가 없어지네요... 스타트업이 자유로운 구조속에서 보다 빠른 의사결정을 통해 성장하는 구조라고 한다면, 그러한 성장을 이끌기 위해선, 어떤 다른 사람들의 조언을 듣고 "이거 좋겠다."라는 생각으로 일처리를 하게 되다 보면은 의사소통에서 벽이 생길 가능성이 굉장히 큽니다. 내 주관, 내 가치관을 가지고 시행하지 않는 것들은 자신의 마음속에서도 반신반의가 지속적으로 일어나기 때문에 다른 사람들을 설득할 수 있는 당위는  당연히 떨어지게 되고, 그때는 당연히 커뮤니케이션에서 큰 문제가 생기죠. 그런데 처음부터 일을 시작해 보지 않은 상태에서 그런 식의 일처리를 한다는 것이 많이 힘든 거 같다는 생각이  조금 많이 들었어요. 위에서 제가 지속적으로 말씀드리는 "경험"이라는 것의 힘이나, 경력자들의 조언, 기술적인 것들에 대한 지속적인 공부 같은 이야기들은 제가 처음 스타트업을 시작할 때는 별로 공감할 수 없었던 말들이었습니다.(정말로....) 근데 제가 이렇게 말을 할 줄은 4년 전에는 정말로 몰랐네요...ㅎㅎ 2012년의 저는 그냥 말 그대로 우물 한 개구리였어요. "그냥 내 방식대로 프로덕트를 만들기 위해서 그렇게 관리하면 되는 거고, 그냥 그렇게 보이는 데로 내가 생각하는 데로 한다면 뭐 기술적인 것들을 정리하는 것, 디테일한 것들을 챙기는 법 들은 서비스가 잘 되면 다 알아서 흘러갈 수 있는 거지..."라는 생각을 많이 했고, 그렇게 내렸던 결정들이 지금은 후회로 남네요. 근데 지금 와서 생각해보니 "그때 지금만큼 알고 생각할 수 있었다면...."이라는 안타까운 생각도 좀 들고, 조금 더 구조적으로 갖춰진 곳에서 일을 하다 보니, 그전에 보지 못했던 것들을 많이 볼 수 있어서 그냥 이 말들 해드리고 싶었어요. 그리고 나름 "창업"이란걸 해보고 스타트업이나 업무에 대한 자신감을 가지고 들어와서 일을 하다 보니, 그만큼 제가 사회생활에 대하여 몰랐던 것들도 너무 많고, 또 "내가 밥값 줄만큼 일을 잘 하는 건가..."라는 마음에 의구심이 덜어서 이런 글을 적게 되나 봅니다. 그래도 이제 군인 물 많이 빠져서 "요" 자도 많이 쓰고 많이 글이 부드러워진 것 같아 한결 좋네요.ㅎㅎ  하고 싶은 일을 말리고 싶은 마음은 추호도 없습니다! 지금이라도 도전하고 싶다면 초년생이든, 산전수전 다 겪은 분이든 언제든 하고 싶은걸 할 수 있다는 것이 얼마나 신나는 일인데요!:) 그러나 스타트업을 시작하려면 많은 준비, 혼자서 할 수 있는 "이 정도면 충분해!"하는 준비 말고, 조그만 회사에서 인턴이라도 회사생활을 한 번만이라도 경험해 보면 바로 창업을 시작하는 것보다, 정말 많은걸 볼 수 있는 시야가 생길 거 같다는 말을 하고 싶었습니다. :) 오늘도 읽어주셔서 감사합니다! 다음에는 더 재밌고 유익한 글로 찾아뵐게요!#코인원 #블록체인 #기술기업 #암호화폐 #스타트업인사이트
조회수 1836

Circle CI에서 rbenv를 이용해서 Ruby 2.2와 CocoaPods 0.39 버전 사용하기

최근 Circle CI에서 Ruby 버전을 2.3으로, CocoaPods 버전을 1.0으로 업그레이드함에 따라 발생하는 빌드 문제를 rbenv를 이용해서 해결한 경험을 공유합니다. 최종적으로 완성된 Gemfile과 circle.yml 파일은 마지막 섹션에서 확인하실 수 있습니다.1. CocoaPods 1.0지난 2015년 12월에 CocoaPods 1.0.0 베타 버전이 처음 공개되었습니다. CocoaPods이 1.0 버전으로 업그레이드되면서 굉장히 많은 변화가 있었는데요. 가장 큰 변화는 DSL입니다. 추상 타겟Abstract Target과 타겟 상속Target Inheritance이 새롭게 소개되면서, 0.39 버전까지 자주 사용되던 link_with 및 :exclusive => true와 같은 구문이 제거되었습니다.이에 따라 기존에 사용하던 Podfile이 CocoaPods 1.0 버전과는 호환되지 않는 문제가 발생했습니다. 이를 해결하기 위한 가장 좋은 방법은 새로운 DSL을 사용하여 Podfile을 다시 작성하는 것이지만, 꽤 많은 서드파티 라이브러리를 사용하는 StyleShare의 경우 새로운 DSL을 적용하여 빌드하면 각종 문제로 인해 빌드가 정상적으로 이루어지지 않았습니다. 4년동안 유지되고 있는 프로젝트이다보니, 레거시 Objective-C 코드와 라이브러리, 그리고 새로운 Swift 코드와 라이브러리가 혼용되어 사용되는 것도 원인 중 하나일 것입니다.따라서 StyleShare에서는 CocoaPods 0.39 버전을 사용하기로 결정을 했습니다. 하지만 최근 Circle CI에서 CocoaPods 버전을 공식적으로 1.0 버전으로 업그레이드하면서 빌드가 깨지기 시작했습니다. Circle CI 환경에서 CocoaPods 0.39 버전을 사용하려면 어떻게 해야 할까요?▲ ㅠㅠ2. Bundler를 이용해서 Gem 관리하기Bundler는 Ruby로 작성된 라이브러리들의 버전을 관리해주는 강력한 도구입니다. CocoaPods에서 Podfile에 의존성을 기재하듯, Bundler에서는 Gemfile에 의존성을 기재합니다.source 'https://rubygems.org' gem 'cocoapods', '~> 0.39' $ gem install bundler 명령어를 사용하면 Gemfile에 기재된 의존성 라이브러리들을 설치해줍니다. 이렇게 설치된 CocoaPods을 사용할 때에는 $ pod COMMAND 대신 $ bundle exec pod COMMAND 명령어를 사용해야 합니다.$ gem install bundler $ bundle install --path vendor/bundle $ bundle exec pod --version 0.39.0 3. Ruby 2.3과 CocoaPods 0.39Bundler를 사용해서 CocoaPods 0.39 버전을 사용하기만 하면 모든 문제가 해결될 줄 알았습니다. 하지만 더 큰 삽질이 남아있었는데요. 바로 Ruby 2.3 버전이 CocoaPods 0.39 버전과 호환되지 않는 것이었습니다.$ bundle exec pod install Updating local specs repositories Analyzing dependencies 신나게 $ bundle exec pod install 명령어를 실행하니, 의존성을 분석하는 듯 싶다가 갑자기 에러를 주르륵 뱉습니다. 에러 로그의 #### Error 항목을 보면 에러 메시지가 나와있습니다.NoMethodError - undefined method `to_ary’ for #이 에러 메시지로 CocoaPods GitHub 저장소의 이슈를 검색해보면 꽤나 많은 이슈가 올라와 있습니다. 이 이슈들을 보면, 모두 Ruby 버전이 2.3이라는 공통점이 있습니다. Ruby 버전을 2.2로 내렸더니 문제가 해결됐다는 댓글들도 굉장히 많고요. Circle CI의 Ruby 버전을 2.2로 낮추면 문제가 해결될 것 같습니다.Circle CI 문서 내용에 따라 circle.yml에 Ruby 버전을 기재해봅시다.machine: ruby: version: 2.2.5 그러나 Circle CI의 OS X 컨테이너에서는 Ruby 버전 변경을 지원하지 않는다고 합니다.▲ ㅠㅠ (2)4. rbenv를 이용해서 Ruby 2.2 사용하기그러다가 알게된 것이 바로 rbenv입니다. rbenv를 사용하면 여러개의 Ruby 버전을 깔끔하게 관리할 수 있게 됩니다. rbenv는 Homebrew를 사용해서 쉽게 설치할 수 있습니다.$ brew install rbenv rbenv는 ~/.rbenv 디렉토리에 안에 여러 Ruby 버전을 설치하고 관리합니다. rbenv를 설치한 뒤 가장 먼저 할 일은 환경변수 $PATH를 설정해주는 것입니다. $PATH에는 $HOME/.rbenv/shims와 $HOME/.rbenv/bin 경로가 포함되어있어야 합니다.4.1 환경변수 설정하기Circle CI에서는 환경변수를 설정하는 편리한 인터페이스를 제공합니다. 하지만, Circle CI에서 실행되는 각 명령어는 별도의 쉘에서 실행됩니다. 그말인 즉슨, 각 명령어가 실행되기 직전에 새로운 쉘이 실행되고, $PATH 환경변수를 덮어쓰는 .bash_profile이 실행된 후 명령어가 실행된다는 뜻인데요. 이렇게 될 경우 $PATH 환경변수의 가장 우선순위는 항상 /usr/local/bin이 가지게 됩니다. 그리고 같은 이유로 $ export FOO=bar와 같은 명령어도 사용할 수 없게 됩니다.1고민을 하다가 생각해낸 방법은 바로 .bash_profile의 내용을 변경(!)하는 것입니다. 그렇게 되면 우리가 원하는 $PATH를 항상 우선순위로 둘 수 있게 됩니다. 아래와 같이 환경변수를 설정하는 명령어를 .bash_profile의 가장 아랫줄에 삽입하도록 설정했습니다.machine: pre: - echo "export PATH=\$HOME/.rbenv/shims:\$HOME/.rbenv/bin:\$PATH" >> .bash_profile - echo "export RBENV_SHELL=bash" >> .bash_profile 4.2 rbenv에 Ruby 2.2 설치하기그 다음으로 할 일은 원하는 Ruby 2.2 버전을 설치하는 것입니다. $ rbenv install -l을 사용해서 설치 가능한 모든 Ruby 버전을 조회할 수 있고, $ rbenv install 2.2.5 명령어를 사용해서 2.2.5 버전을 설치할 수 있습니다.$ rbenv install -l Available versions: 1.8.5-p113 1.8.5-p114 1.8.5-p115 1.8.5-p231 ... $ rbenv install 2.2.5 이렇게 설치된 버전은 두 가지 방법으로 사용될 수 있습니다. 한 가지 방법은 시스템 전체에서 사용하는 것이고, 다른 한 가지 방법은 프로젝트 단위로 사용하는 방법입니다. 시스템 전체에서 사용하려면 $ rbenv global 2.2.5 명령어를, 프로젝트 단위로 사용하려면 $ rbenv local 2.2.5명령어를 사용합니다.global 명령어를 사용해서 Ruby 버전을 선택하면 ~/.rbenv/version 파일에 선택된 버전이 기록됩니다.$ rbenv global 2.2.5 $ cat ~/.rbenv/version 2.2.5 local 명령어를 사용하면 현재 디렉토리의 .ruby-version 파일에 선택된 버전이 기록됩니다.$ rbenv local 2.2.5 $ cat .ruby-version 2.2.5 local 명령어로 선택된 Ruby 버전은 global 명령어로 선택된 Ruby 버전보다 우선순위가 높습니다. $ rbenv version 명령어를 사용하면 현재 선택된 버전을 확인할 수 있습니다.$ rbenv version 2.2.5 (set by /project/path/.ruby-version) Circle CI에서는 편의를 위해 global 명령어를 사용해서 Ruby 버전을 선택하도록 했습니다.dependencies: pre: - brew update - brew install rbenv - rbenv install 2.2.5 - rbenv global 2.2.5 4.3 Bundler 다시 설치하기rbenv를 사용해서 새로운 Ruby 버전을 설치했기 때문에, Circle CI 시스템에서 제공하는 Gem도 다시 설치해야 합니다. 우리는 Bundler로 Gem 의존성을 관리하기로 했으므로, Bundler만 재설치합니다.$ gem install bundler --no-ri --no-rdoc $ rbenv rehash $ gem install 명령어를 실행한 후에는 $ rbenv rehash 명령어를 실행해서 executable 경로들을 재설정해주어야 합니다.4.4 ~/.rbenv 경로 캐싱하기rbenv를 사용해서 Ruby를 설치하는 과정이 굉장히 오래 걸립니다. 이 경우, Circle CI에서 제공하는 캐싱 기능을 사용해서 이 과정을 한 번만 하고 건너뛸수 있게 됩니다.dependencies: cache_directories: - ~/.rbenv 위와 같이 circle.yml를 설정해주면 컨테이너 실행시 ~/.rbenv 디렉토리가 캐시로부터 설정됩니다. 캐싱된 디렉토리를 사용하는 경우 Ruby 버전이 미리 설치되어있기 때문에 $ rbenv install시에 --skip-existing 옵션을 추가해주어서 캐싱된 버전을 재설치하지 않도록 합니다.5. 마치며최종적으로 완성된 Gemfile과 circle.yml 파일은 다음과 같습니다.Gemfilesource 'https://rubygems.org' gem 'cocoapods', '~> 0.39' circle.ymlmachine: pre: - echo "export PATH=\$HOME/.rbenv/shims:\$HOME/.rbenv/bin:\$PATH" >> .bash_profile - echo "export RBENV_SHELL=bash" >> .bash_profile xcode: version: 7.3 dependencies: cache_directories: - ~/.rbenv pre: - brew update - brew install rbenv - rbenv install 2.2.5 --skip-existing - rbenv global 2.2.5 - gem install bundler --no-ri --no-rdoc - rbenv rehash - bundle install --path vendor/bundle override: - bundle exec pod --version - bundle exec pod install https://circleci.com/docs/environment-variables/#custom ↩#스타일쉐어 #개발 #개발자 #개발팀 #후기 #일지 #인사이트
조회수 909

챌린저스 서비스를 시작하다

앞선 글에서 밝힌 것처럼 나는 꽤나 일찍부터 인생에 대한 고민이 있었다.맹랑한 꼬마 입에서나 나올법한 심오한 질문들이 내 마음속에는 꽤나 오래 자리하고 있었다.그것은 인생을 어디에 사용할 것인가, 왜 태어나서, 왜 일을 하고, 왜 살아야하는지, 나는 무엇을 잘하고, 어디로 가야하는지 따위의 질문들이었다. 하지만 이런 큰 질문들에 답을 내놓기는 쉽지 않다. 모든걸 해볼 수도 없고, 제한된 조건에서 답을 찾아야 하기 때문이다. 결국은 정답 찾는 것을 포기하고, 조금 더 스스로의 방향성을 정해보고자 질문을 바꿔봤다.내가 살았기 때문에, 세상이 조금이라도 나아질 수 있다면, 어떤 방향으로 나아지면 좋을까나는 '사람들이 자신이 원하는 인생을 살았으면 좋겠다' 는 어렴풋한 그림을 답으로 적어봤다. 그래서 (주)화이트큐브를 창업했다. whitecube 는 3면의 하얀색 벽을 말한다. 즉, 갤러리다. 갤러리는 작가가 명작을 만들도록 지원하고, 작가의 작품을 돋보이게 한다. 화이트큐브는 사람들이 자신의 인생을 명작으로 만들 수 있게 지원하고, 그 인생을 돋보이게 만들자는 취지에서 붙인 이름이다.  ⓒwhite cube bermondsey, London화이트큐브를 창업할 수 있었던 건 나와 함께 해준 3명의 동료 덕분이다. 혼자였다면 창업하지 못 했을 것 같다. 우리 4명은 Being&Doing(이하 BD) 이라는 자기계발 커뮤니티를 주말 사이드프로젝트로 7년간 운영해왔다. BD 에는 각자만의 목표를 가진 사람들이 모여들었다. 대기업을 다니면서 MC 를 꿈꾸는 사람도 있었고, 대학원 졸업후 전공을 바꿔 또다시 해외유학을 떠나려는 사람도 있었다. 각자의 분야에서 탄탄한 길을 걷고 있었지만 마음 속으로는 자신이 원하는 길로 방향을 바꾸고자 하는 사람들이 많았다. 한편으로는 지금의 생활에 만족하는 사람들도 있었다. 그들은 현재의 생활에서 작게나마 개선할 수 있는 것들을 마음속 목표로 생각하고 있었다. 크든 작든 모두 저마다의 목표가 있었다.'어떻게 하면 목표를 더 잘 달성할 수 있을까' 하는 문제와 7년을 싸웠다. 500명 넘는 회원들은 각자가 생각하는 4천여개의 목표들을 이루기 위해 노력했고, 나는 어떤 환경에서 사람들이 목표를 더 잘 달성할 수 있는지 고민했다. 목표 달성은 사실 확률싸움의 문제였다. 이렇게 하면 무조건 달성할 수 있는 비법은 없었다. 다만 목표에 가까워질 수 있는 확률을 높이는 방법은 있었다.목표달성 노하우인생은 당연히 쉽게 변하지 않는다.자기계발 커뮤니티를 운영하면서도 내내 아쉬움이 있었다. 어떻게 하면 좀 더 사람들이 원하는 인생을 살 수 있게 도울 수 있을까. 행동을 바꾸는건 너무나 어려운 일이다. 목표를 확실히 정하기, 사람들 앞에서 공표하기, 남들에게 알리기, SMART 하게 설계하기, 같은 목표를 가진 사람들끼리 묶어보기 등 자기계발과 목표달성 관련한 노하우들을 입혀봤다. 작은 개선들이 모여 예전보다 높은 목표달성률을 보였지만 여전히 아쉬웠다. 사람들이 변하기 어렵다는 점이.우리는 돈이라는 카드를 건드려봤다. 이름하여 '목표 예치금, 골 디파짓' BD 내 일부 사람들끼리 돈을 걸고 목표달성을 하기로 했다. 목표를 달성하면 예치금을 돌려받고, 달성에 실패하면 이월이 되는 구조였다. 이번에는 진짜 해보겠다는 절박함에 참가한 친구도 있었고, 재미로 돈을 낸 사람들도 있었다. 하지만 결과는 드라마틱했다. 친구는 2개월 동안 8kg 감량에 성공했다. 나는 평생 처음으로 규칙적으로 달리기 시작했다. 매번 이력서를 쓰겠다고 지키지 못할 약속을 하던 한 회원은 드디어 이력서를 써냈다. 돈을 건다는 행위는 여러 의미를 가지고 있다. 그 돈을 잃기 싫고, 내가 돈을 잃은 사람이 되기도 싫은 감정이 든다. 무엇보다 돈을 걸 만큼 내가 그 목표를 중요하게 생각한다는 의미다. 의지는 충동적인 감정이다. 다이어트를 결심했지만 밤에 치킨을 보면 다이어트는 자연히 내일로 밀리는 그런 감정이 의지다. 하지만 돈을 걸면 이야기는 달라진다. 돈을 거는 행위는 나에게 끊임없이 목표의 중요성을 상기시킨다. 돈에는 결국 목표를 더 중요하게 만드는 힘이 있다. 챌린저스 - 확실한 목표달성, 꾸준한 습관형성챌린저스 - 돈을 걸고 목표를 달성한다우리팀이 가진 노하우를 담아 챌린저스 라는 앱을 만들게 되었다. 챌린저스는 잘짜여진 프로그램으로 참가하는 사람의 목표달성률을 높이고 꾸준한 습관을 만들어주는 서비스다. 그리고 오랫동안 우리 팀이 가져왔던 생각을 담아 '사람들이 더 나은 자신을 위해 도전할 수 있는 최고의 환경을 제공하겠다' 라는 비전을 담았다. 지난 11월 19일 우리는 공식적으로 첫 챌린지를 오픈했다. 2주간의 첫 챌린지가 끝난 12월 2일, 우리는 참가자의 90%가 본인이 원했던 목표를 달성한 것을 확인했다. (평균적인 목표달성율은 9% 수준이다) 사람들의 성공률을 진짜 개선시켰다. 헬스장 끊어놓고 안 가던 사람들이 가게 되고, 깜빡하던 영양제도 챙겨먹게 되고, 책도 읽게 되고, 진짜로 사람들이 일상을 개선하기 시작했다."너무너무 매력적인 서비스임♥♥""오 진짜 하게 되네요""앱의 목적에 정말 공감이 많이 되었고 좋았어요""피드를 통해 인증을 실시간으로 확인할 수 있어서 재밌고 믿을 수 있어요""진짜 재밌어요! 진짜 재밌고 도움이 되서 잘 쓰고있어요~~~"그간 목표달성은 재미없고, 달성하기 어렵고, 효과가 보이지 않아 지루한 개념이었다. 챌린저스라는 서비스로 '목표달성' 에 대한 이미지 자체가 바뀌는 것은 쉽지 않을 것이다. 하지만 '재미없는 목표달성' 을 '재밌는 도전' 으로 느끼게 할 여러가지 준비가 되어있다. 성취감, 상금, 함께함 등의 여러 요소를 통해서 도전을 즐겁게하는 장치를 마련해놓았다.이제 게임 캐릭터 키우지 말고, 본인을 키우세요앱을 통해 많은 사람들이 더 나은 자신이 되는 기쁨을 누렸으면 좋겠다. 사람들과 즐겁게 일상을 변화시키기를. "즐거울 거예요, 인생이 변할 거예요, 목표도 달성하게 되고 상금도 받게 될꺼예요"챌린저스가 당신에게 최고의 환경을 선물할 수 있게 해주세요.챌린저스 - 확실한 목표달성, 꾸준한 습관형성 앱www.chlngers.com
조회수 5434

[디자인] 웹 디자이너의 끝내주는 자소서 쓰기

안녕하세요. 프리모아입니다. 예전에 소프트웨어 개발자들을 위한 죽여주는 이력서 쓰기라는 컨텐츠로 글을 썼었는데요. 그 때 답글로 '웹디자이너를 위한 이력서 쓰는 방법' 도 알려주라는 말이 있었습니다. 그래서 오늘은 웹 디자이너를 포함한 디자이너 종사자 분들을 위한 이력관리와 자기소개서를 쓰는법을 알려드리고자 글을 씁니다. 웹 디자이너 신입은 왜 초봉이 낮을까요? 전문 기술직인 반면에 웹디자이너 신입 초봉이 2,000도 못 받는 곳이 수두룩 할 정도로 웹디자이너 시장은 임금기준이 낮습니다. 그 이유 중의 하나가 웹디자이너 학원으로 인한 시장 포화상태 때문입니다. 웹디자인 학원에서는 전공과 무관하게 3개월 속성으로 가르치고 웹디자이너 지망생을 찍어내다 시피 하다보니 매년 웹디자이너 지원자가 넘쳐나게 됩니다.요점은 시장 '회귀성' 입니다. 나를 대체 할 수 없는 웹디자이너로 포장을 하는 것이 첫 번째 입니다. 그리고 회귀성을 만들기 위해서는 관점을 바꿔야 합니다.웹 디자이너의 실무능력은 디자인이 아닐 수도 있습니다. 물론 웹디자이너의 가장 핵심적인 실무 스킬은 디자인 시안을 뽑는 능력과 디자인툴을 얼마나 완숙도 있게 다루느냐 입니다. 하지만 대부분 포토샵, 일러스트레이터, 에프터이펙트와 같은 툴을 어느 정도 다루고, 이력서에는 중, 상급이라고 쓰지 하급 이라고 쓰는 사람은 없습니다. 그러면 회사 입장에서는 지원자들을 평가할때 이러한 디자인 툴로 인한 기술적인 차이는 사실 큰 차이가 안난다고 볼 수 있습니다.때문에 관점을 바꿔서 디자인에 기획적인 부분을 넣어야 합니다. 기획서를 쓰라는게 아니라 디자인 과정에 기획적인 의도와 역량이 들어간다는 걸 보여줘야 하는 것이지요. 웹사이트의 그래픽적 요소에 대한 이유와 의도, 의도자의 컨셉을 어떻게 해석하였는지 등을 보여주는게 채용 담당자에게는 매력적으로 보일 수가 있지요.디자인 툴이 아닌 다른 활용 도구들과 벤치마킹 사이트를 보여줘야 합니다. 포토샵이나 일러스트레이터 같은 디자인 툴 외에 인포그래픽 툴 또는 사이트를 활용해 포트폴리오를 만들고 이를 어필하는 것도 좋습니다. 예를 들어 Piktochart 같은 경우도 자기소개서를 PPT로 만들 때 시각적인 퀄리티를 높여주는 요소가 됩니다. 또한 웹디자이너 실무자들이 벤치마킹을 위해 많이 사용하는 Behance, Awwwards와 같은 디자이너 포트폴리오 사이트를 최대한 활용하는게 좋습니다. 위 사이트에 작업물 또는 포트폴리오를 올리고 링크를 걸어두면 궂이 얘기를 안해도 해당사이트를 활용하는걸 보여줄 수 있고, 디자이너의 트렌드를 읽는 감각적인 눈을 은연 중에 어필할 수 있지요. 웹디자이너에게 중요한 것은 포트폴리오 > 활용 툴 능력 > 경력 의 중요도 순입니다. 디자인 계통의 특성상 경력이 높다고 디자인을 잘하는 것은 아닙니다. 색채나 레이아웃 등 감각적으로 타고난 사람들이 어쩔때는 경력자들보다 뛰어나기도 합니다. 때문에 경력자들은 경력을 무작정 어필하는 것보다 시각적으로 내가 어떤 유형과 분위기의 디자인을 구사하는 웹디자이너 인지를 보여줄 필요가 있습니다.쉽게 얘기하면 공기업과 프로젝트를 많이 해본 웹 디자이너와 벤처나 스타트업의 프로젝트를 많이 해본 웹 디자이너 각각 웹 디자인 분위기가 다르다고 느껴집니다. 때문에 포트폴리오를 제작할 때 컨셉별로 또는 작업물 분류 카테고리를 적용하여 구성을 하고 지원하는 회사의 성향에 맞춰 카테고리를 재구성해 지원 하는 것도 전략이라고 볼 수 있습니다. 어젯 철야작업을 하였더니 글쓰다 체력이 방전되었습니다. 때문에 경력직 웹디자이너를 위한 끝내주는 자소서는 3탄으로 찾아뵙겠습니다. 털썩..#프리모아 #자소서 #디자이너 #디자인팀 #인사이트 #경험공유 #꿀팁
조회수 1129

[아마존 FBA] 04. 관세 납부 편

인사말안녕하세요 대한민국 셀러들의 성공적인 아마존 진출을 도와주는 컨설팅 회사이자 대행사인 컨택틱의 이이삭 대표입니다. 저번 포스팅 "관세"편의 연장선이자 오늘은 관세는 얼마나 발생하고, 누가 납부하나에 관한 내용을 다루도록 하겠습니다. 특히 관세를 누가 납부하냐는 부분은 인보이스 작성 시에도 필요하기 때문에 많은 분들이 궁금해하시는데요. 오늘의 포스팅을 통해서 그간 궁금해하시던 내용이 해결되시기를 바랍니다. QUESTION 4. 관세는 얼마나 발생하나요?목록통관 기준을 벗어난 Invoice Value가 $800 이상인 화물에 대한 관세는 얼마나 발생하나요ANSWER 4. 제품에 따라 다릅니다. 관세율을 결정짓는 것은 HS Code입니다.관세청, 트레이드네비, 등등의 사이트를 통해 '수입국가' 기준으로 내 상품의 HS Code를 조회하면 관세율을 알 수 있습니다. HS Code는 Harmonized System Code의 약자로, 전 세계에 존재하는 그 어떤 제품이라고 하더라도, 전 세계적으로 통용할 수 있는, 한마디로 표현하자면, ‘상품의 분류를 나타내는 “분류 번호”’입니다. 내가 보내는 화물의 제품들의 HS Code의 관세율 * Invoice Value = 관세 납부액입니다.QUESTION 5. 관세가 발생한다면 누가 납부하나요?저는 한국에서 아마존 FBA 창고 주소로 바로 화물을 보내려고 합니다. 관세가 발생하면 누가 납부하나요?ANSWER 5. 운송사에게 화물을 접수할 때 무역조건을 어떻게 정했는지에 따라 관세 납부 주체는 발송인이 될 수도 있고 수취인이 될 수도 있습니다.당연한 얘기지만, 아마존은 여러분들의 화물에 대해 관세를 납부해줄 의무가 없습니다. 따라서 EMS 같은 서비스를 이용해서 화물을 보내게 되면 무역조건이 DDU밖에 안되기 때문에 (수취인이 관세를 납부하는 조건) 화물 총액이 $800이 넘어가는 화물에 대해서는 반드시 해외 특송을 사용하고 무역조건을 DDP로 설정하시길 권장합니다 (발송인이 관세를 납부하는 조건). 저도 지금까지 수백수천 회 해외로 물건을 보내고 FBA 입고를 해봤지만, 화물 총액이 $800이 넘어도 관세가 발생하지 않은 경우도 많았습니다. 하지만 이 글의 목적은 '정석'을 알려드리는 것이기 때문에 안전함을 추구하는 여러분이라면 위험을 감수하지 마시고 정석의 방법으로 위처럼 진행하시길 바랍니다.마치며컨택틱에서 가장 많은 문의 중 하나인 "관세"부분에 대한 여러분의 궁금증이 해결되었기를 바랍니다. 또한, 이와 관련하여 도움이 필요하신 분들은 언제든지 컨택틱을 찾아주시기 바랍니다.그럼 오늘도 즐거운 글로벌 셀링 되세요!컨택틱  서울특별시 강남구 강남대로 62길 11, 8층 (역삼동, 유타워)  대표 전화: 02-538-3939  해외 부서: 070-7771-1727  영업 부서: 070-7771-1728  이메일: support@kontactic.com  유튜브: https://www.youtube.com/channel/UC8OxbQGAnMqWGpGj5weLcZA 홈페이지: https://www.kontactic.com
조회수 4995

AWS Instance Scheduler Bot 적용기

이 포스팅은 총 2부로 이어지며 현재는 2부입니다.1부 : AWS 비용 얼마까지 줄여봤니?2부 : AWS Instance Scheduler Bot 적용기1부에서 AWS 비용을 절감하기 위한 Instance Scheduler에 대한 소개를 하였습니다. 2부에서는 Instance Scheduler의 설정을 손쉽게 변경하기 위한 Bot을 적용한 사례에 대해서 소개합니다.Bot의 필요성Instance Scheduler의 설정을 변경하기 위해서는 정보를 담고 있는 Dynamo DB 의 데이터를 변경해야 합니다. AWS Console을 이용하여 직접 수정할 수도 있지만 여전히 불편하고 느립니다. 더군다나 이를 이용하는 사용자가 DB Table의 구조와 AWS Console 사용법을 알고 있어야 하고 비 개발자라면 더 쉽지 않은 문제입니다. 하지만 Bot을 이용하면 사용자는 어려운 DB Query나 구조를 알아야 할 필요도 없고 손쉽게 채팅 메시지를 통해 Bot에게 질의하고 처리 결과를 응답받을 수 있습니다.Outgoing WebhookJANDI에서는 Incoming Webhook과 반대되는 개념으로 Outgoing Webhook을 제공합니다. 특정 키워드로 시작하는 메시지가 있을 경우 내용을 설정된 URL Endpoint에 POST로 Webhook을 보내줍니다. Webhook을 수신한 곳에서는 일련의 처리 후 메시지 데이터 형식을 맞춰 응답하게 되면 채팅창에 메시지를 표시하게 됩니다. 이를 통해 다른 외부 시스템과 연동할 수 있습니다.POST Data예를 들어 날씨 키워드로 Outgoing Webhook을 생성했다면 /날씨 메시지가 시작될 때 다음과 같은 데이터가 Webhook으로 발송됩니다.{ "token": "YE1ronbbuoZkq7h3J5KMI4Tn", "teamName": "Toss Lab, Inc.", "roomName": "토스랩 코리아", "writerName": "Gloria", "text": "/날씨 서울", "keyword": "날씨", "createdAt": "2017-07-19T14:49:11.266Z" } token을 이용하여 요청의 유효성 체크를 할 수 있고 text를 적절히 파싱 하여 요청에 부합하는 처리를 할 수 있습니다.ResponsePOST Data를 적절히 처리 후 결과를 채팅창에 응답 메시지를 표시하고 싶다면 아래와 같은 JSON Data를 Response body에 넣어주면 됩니다.{ "body" : "서울의 현재 날씨", "connectColor" : "#FAC11B", "connectInfo" : [{ "title" : "온도", "description" : "최고:28.00, 최저:24.00, 현재: 24.30" }, { "title": "날씨", "description": "흐리고 비" }] } 이를 이용하여 Instance Scheduler에도 적용해봤습니다.Schedule BotSchedule Bot은 Instance Scheduler의 Lambda 함수에 함께 포함되어 작동하며 스케쥴 조회 / 예외 설정, 서버 강제 시작/중지, 서버 상태 조회 등의 기능을 수행합니다.API Gateway와 Lambda 함수를 연결하여 Endpoint URL을 생성하고 Outgoing Webhook URL로 설정하여 Webhook으로 Lambda 함수가 실행될 수 있도록 하였습니다. Lambda 함수는 Cloudwatch를 통해서 실행되면 Scheduler가 작동되고 API Gateway를 통해 실행되면 Schedule Bot이 작동됩니다.Schedule Bot 명령어Schedule Bot은 다음과 같은 명령어를 수행합니다./서버 help : 도움말 /서버 [스케쥴명] status : 현재 서버 상태 조회 /서버 [스케쥴명] info : 오늘의 스케쥴 조회 /서버 [스케쥴명] info [YYYY-MM-DD] : 특정일 스케쥴 조회 /서버 [스케쥴명] exception info : 오늘의 스케쥴 예외 조회 /서버 [스케쥴명] exception info [YYYY-MM-DD] : 특정일 스케쥴 예외 조회 /서버 [스케쥴명] exception set [YYYY-MM-DD] [start|stop] [h:m] : 예외 설정 /서버 [스케쥴명] exception del [YYYY-MM-DD] [start|stop] : 예외 삭제 /서버 [스케쥴명] force_start : 서버 강제 실행 /서버 [스케쥴명] force_stop : 서버 강제 중지 Schedule Bot 작동 화면Schedule Bot은 서버병이라는 컨셉으로 인격화(?)에 힘썼습니다.스케쥴 정보 조회서버 상태 조회서버 강제 시작/중지명령어 오류마무리AWS 기반의 서비스를 운영하는 스타트업이라면 더욱더 현실적으로 부딪히는 비용 문제에 대해서 저희가 고민한 내용과 솔루션에 대해서 공유하였습니다.아직 적용기간이 길지 않아 절감비용에 대해 수치적인 데이터를 언급하기는 힘들지만 많은 금액이 절감될 거라 예상하고 있습니다.저희와 같은 고민을 하고 있다면 Instance Scheduler를 적극 권장합니다.#토스랩 #잔디 #JANDI #개발 #개발자 #AWS #도입후기 #일지 #인사이트 #경험공유
조회수 1147

MySQL에서 RDS(Aurora) 로 이관하기

안녕하세요. 스티비팀 서버 개발자 이학진 입니다. 저희는 최근 서비스에서 사용 중이던 MySQL DB를 RDS로 이관하는 작업을 진행하였습니다. 무엇 때문에 이관을 결정하게 되었는지와 어떻게 이관을 진행하였는지에 대해 글을 써보도록 하겠습니다.배경stibee.com은 작년 11월에 정식 오픈한 새내기 이메일 마케팅 서비스 입니다. 사실 오픈 초기부터 얼마전까지만 해도 AWS EC2의 m4.large 인스턴스 하나로 운영되던 서비스였습니다.(사실 웹+API 서버 1대, 메일발송서버 1대)그리고 이 싱글 인스턴스에 무려 6개의 서버, mysql 1개, kafka 1개, redis 1개가 돌고 있었습니다. 그럼에도 불구하고 cpu사용률은 20%를 넘지 않았습니다.하지만 최근 사용자도 점점 늘어났고, 네이버에서 메일 수신정책을 변경하면서 메일발송서버에 대한 요청이 급증했습니다.스티비에서 네이버로 대량메일을 발송했을 때 해당 메일의 본문 링크를 자동검사하는 것을 발견했는데요, 따라서 네이버로부터 비정상적으로 많은 요청이 들어오고 있었습니다. (어떤 기준으로 이런 검사를 하는 것인지 정확한 정책은 아직 모릅니다. 담당자분 이 글을 보신다면 연락주세요. 친하게 지냈으면 합니다#슬로워크 #스티비 #개발 #서버개발 #개발환경 #MySQL #인사이트
조회수 1136

내가 생각하는 2020년의 소비자기술

4년동안 인터넷에 모든 것을 바치면서 많은 것을 배워왔다.4년 전에는 상상도 못했던 챗봇, 비트코인, 인공지능, VR 등이 학문의 수준을 넘어 실제 상용화되려는 조짐이 보이는 것 같기도 하다. 많은 스타트업과 기업들이 이 새로운 변화에 대응하기 위해 선행투자를 이어가고 있는데, 나는 개인적으로 이러한 변화가 실제 소비될 수 있는 기술이 되기 까지는 일정 부분의 시간이 필요하다고 생각한다.2020년에 우리가 어떤 세상을 맞을 것이냐에 대해서 누군가 묻는다면, 나는 지금과는 완전히 차원이 다른 영역의 세상이 도래할 것이라 생각하진 않는다. 기술혁신은 매우 진보적으로 빠르게 이뤄지는데 반해 실제 소비자에게 적용되는 영역은 매우 보수적이고 느리게 적용되기 때문이다.실제로, 인간의 생활을 극단적으로 바꾼 퍼스널 컴퓨터(PC)나 모바일 컴퓨팅(스마트폰)은 우리가 예측 가능한 수준에서 매우 느리게 이뤄져왔다. PC를 상용화 시킨 것은 우리가 늘 쓰던 장부를 디지털화한 Visicalc(액셀의 원형)의 역할이 가장 컸다고 생각하고, 스마트폰은 우리가 늘 쓰던 '인터넷 브라우저'를 모바일에서 사용할 수 있다는 단순한 가치가 가장 컸다고 생각한다. 2010년 이후, 급속도로 수많은 모바일 기반의 소프트웨어와 서비스들이 등장했지만, 2017년 지금도 오프라인에서 우리가 하던 일에 이동성(Mobility)을 부여하는 서비스들이 아직도 등장하고 있다. 7년이다. 모바일 컴퓨팅이 완전히 자리잡기 까지 걸린 기간이 6-7년이라고 본다면, 3년뒤 미래가 극단적으로 바뀔 것이라는 미래학자들과 일부 진보적인 기술자들의 예언은 실현 불가능할 가능성이 크다.모바일 컴퓨팅 환경은 어느정도 자리를 잡았기 때문에 이제 사람들은 스마트폰에 다운로드할 소프트웨어를 적극적으로 찾지도, 저장하지도 않는다. 애플, 구글 모두 스마트폰 어플리케이션에 대한 고객의 채택(Adoption)은 극단적으로 떨어지고 있다.퍼스널컴퓨터(PC)가 만들어진 이후, 수많은 소프트웨어들이 탄생했지만, 결국 PC를 가장 많이 점유한 소프트웨어는 업무용 소프트웨어(오피스), 무료 메신저, 게임이다. 이게 기존 PC가 제공할 수 있는 가장 높은 가치였다고 본다. 이후 만들어진 소프트웨어들은 사용자들에게 과잉된 가치를 제공했기 때문에 큰 인기를 끌지 못하였다 보고, 그 이후 나온 것이 모바일 컴퓨팅 환경의 스마트폰이다.스마트폰 또한 수많은 소프트웨어들이 탄생했지만 결국 모바일을 가장 많이 점유한 소프트웨어는 메모, 무료메신저, 소셜네트워크, 카메라, 게임, 생활밀착형 O2O 서비스다. 그리고 여기서 더이상의 혁신이 일어나기는 힘들어 보인다.  '혁신의 딜레마'에도 나오듯, 지금부터 탄생하는 데스크톱 소프트웨어, 모바일 기반 소프트웨어들은 사람들에게 과잉된 가치를 제공해주고 있다. 이럴 때, 기술혁신과 시장혁신이 가능해지는 타이밍이라고 하는데, 극적으로 동의한다.그렇다면 이 혁신은 인공지능, VR 등 새로운 기술에서 탄생할까? 내 생각에는 기술혁신을 주도하는 것은 결국 하드웨어에 있다고 본다. 아무리 스타트업이 날고 긴다고 하여도 애플과 마이크로소프트가 만들어내는 기술적 흐름에 반하지 못했다. 지금의 세계적인 서비스들 대부분이 애플과 마이크로소프트가 만들어놓은 거대한 세상안에 구축한 작은 일부에 볼과하다. 이러한 이유로 나는 3년 뒤 기술의 미래를 보려면 애플과 마이크로소프트의 하드웨어 생산 계획을 살펴보는 것이 중요하다고 생각한다. 애플과 마이크로소프트가 동시에 밀고 있고, 미래 컴퓨팅 환경을 선도하겠다며 경쟁적으로 생산하고 있는 제품군이 무엇일까?이러한 부분에 대해 특히 우리 IT직군의 사람들이 생각하지 않는 이유는 그들이 제시하는 미래 컴퓨팅이라는 것이 나름 따분하기 때문이다. 우리는 인공지능이나 VR, 챗봇과 같은 뭔가 혁신적인 미래를 토대로 우리가 비즈니스를 만들어 나가길 바란다. 그러나, 그들이 보고 있고 계속해서 제시하고 있는 미래는 간단하다.바로 '터치형 디바이스'다. 터치형 패널의 가격이 급속도로 떨어지면서 애플과 마이크로소프트 모두 터치가 가능한 컴퓨팅 환경에 많은 돈을 쏟아붓고 있다. 애플은 아이패드 프로를 필두로 새로운 컴퓨팅 환경을 열려고 하고 있는데, 마이크로소프트는 이에 더 나아가 데스크톱 OS 환경을 터치로 이용할 수 있는 '서피스'시리즈로 시장을 점유하려 하고 있다. ASUS와 같은 선도적인 업체들 또한 마이크로소프트 OS 기반의 터치가 가능한 노트북을 출시하고 있으며, 마이크로소프트는 27인치 대형 터치 디바이스인 '서피스 스튜디오'를 출시하기도 했다.사실, 스마트폰이 터치가 된다고 하여 드라마틱하게 변화가 이뤄지지는 않았다. 스마트폰이 가진 화면크기의 제약 때문에 유저인터페이스 자체에 큰 제약이 있었기 때문이다. 그러나, 태블릿 크기 이상의 디바이스에서 터치가 가능해질 경우 양상이 완전히 달라진다.이 곳에 큰 기회가 있는 이유는 아직 12인치 이상 대형 디바이스에서 터치가 가능할 때, 최적화된 소프트웨어들이 많이 있지 않기 때문이다. 앞서 말했듯, 스마트폰 사용자의 신규앱에 대한 Adoption은 매우 낮지만 아이패드 사용자의 신규앱 Adoption은 높다. 아직 개척되지 않은 컴퓨팅 환경에 대한 시장이 존재하는 셈이다.나는 인공지능이나 VR과 같은 영역은 아직 학문적인 수준, 기업의 미래를 위한 선행투자 정도의 수준에서 수 년의 시간이 더 필요할 것으로 생각하고 있다. 기업에서 인공지능이나 VR과 같은 화두를 계속해서 던지고 스타트업들을 끌어들이고, 데이터를 끌어들이는 이유는 이 기간을 단축하기 위함이라고 본다. 결국, 아직은 소비자 레벨에서는 활용될 수 없는 영역이다.앞서 내가 말한대로 PC를 가장 많이 점유한 소프트웨어는 업무용 소프트웨어(오피스), 무료 메신저, 게임이었다. 그럼, PC에 터치형 패널이 들어가면 양상이 어떻게 바뀔까? 이메일을 보내는데 풀 터치 디바이스가 무슨 소용이란 말인가? 메신저 사용하는데 서피스 스튜디오와 같은 27인치 대형 터치디스플레이가 무슨 소용이 있을까? 리그오브레전드와 같은 게임에서 터치가 된다고 달라질 게 있을까?MS와 애플은 컴퓨팅 기술에 미묘한 변화를 불어넣었고, 그것이 터치형 UI/UX다. 아직 터치형 디바이스가 우리 삶을 압도하지 못하고 있는 이유는 PC 초기의 Visicalc 나 스마트폰 초기의 모바일 웹 브라우저와 같은 킬러 소프트웨어가 존재하지 않기 때문이다. 우리가 간과하고 있는 미묘한 컴퓨팅 환경의 변화에 생각보다 큰 혁신 기회가 있을 것이라 생각한다.뭔가 사업계획을 말할 때도 인공지능이나 머신러닝, 데이터마이닝, VR, 블록체인 등을 언급하면 매우 혁신적이고 선도적인 미래를 선도한다고 생각하는 데 반해, 이런 터치형 디바이스가 새로운 컴퓨팅의 미래라고 규정하는 것은 다소 따분하게 생각하는 경우가 많다. 그러나 소비자 기술은 이제까지의 역사를 봤을 때 매우 보수적으로 변화했기 때문에 앞으로 그 기조가 극적으로 바뀔 것이라 보지는 않는다. 우리가 기술업계에 있기 때문에 미묘한 변화를 매우 둔감하게 받아들이는 경향이 있는데, 때로는 아주 작은 것이 세상에 큰 영향을 미치기도 한다. 우리는 이런 미묘한 변화에 예민한 촉을 갖고 접근해야 한다. '마우스'라는 작은 디바이스가 우리의 세상을 어떻게 바꾸었는 지를 보면 알 수 있다. 컴퓨터 전면에 달린 카메라 하나가 우리의 업무환경을 어떻게 바꿨는지, 스마트폰 후면에 달린 카메라 하나가 세상을 어떻게 바꿨는 지 말이다. 모두가 앨런머스크고 손정의일 필요는 없겠다. 
조회수 987

Spotify와 RECORD의 공통 행보는?

둘의 공통점은 뭘까과유불급, 무엇이든 지나치면 좋지 않습니다아무리 몸집이 큰 공룡이라도, 피를 많이 흘리면 쓰러지고 말죠. 피만 흘리면 다행이지만, 제때 치료하지 않으면 이곳저곳 곪을 수도 있습니다. Spotify는이 사실을 분명하게 인지해야할 것 같습니다.전세계 1위 음악 스트리밍 업체인 Spotify가 2016년 한 소송에 휘말려 약 334억 원을 지불한 적이 있다는 것 아시나요?Spotify의 3천 만 달러 합의금 지불바로 저작권료 미지급 건 때문인데요. 빌보드에 따르면, 전미음악출판협회(NMPA)가 저작권료를 못 받은 유통사와 창작자들 대신 진행한 소송에 대한 합의금입니다.한화로 약 334억 원에 달하는 지출입니다. 아무리 Spotify가 세계 최대 음악 스트리밍 업체라고 하지만, 2016년 Spotify가 약 6억 달러(6300억 원)에 달하는 적자를 기록한 것을 감안하면 상당한 출혈입니다. 물론 애초에 지급했어야 할 비용이지만요. (출처: 스포티파이 재무보고서, 2016)총 340억 원중 약 270억 원은 저작권 미지급료이며 다른 70억 원은 과징금입니다. 향후 3개월 동안 지급 신청을 하는 유통사에게 해당하는 미지급료만큼 지불되며, 남은 액수는 시장 점유율에 따라 유통사에게 지급된다고 합니다. (실제 저작권자는 유통사에서 지급받는 구조입니다.)“음악 저작 데이터관리의 부실이 가장 큰 원인”무엇보다 이 사단이 난 이유로 스포티파이는 “어떤 작곡가가 어떤 노래에 대한 소유권을 주장하는지 충분한 데이터를 파악하지 못 해 로열티 지급에 어려움을 겪어왔다”고 밝혔습니다.전세계 1위 업체가 데이터 관리에 어려움을 겪을 정도이니, 전세계 음악 산업에서 데이터가 관리되고 있는 실태가 심각하다는 것을 쉽게 알 수 있습니다.위 소송에서 Spotify와 NMPA의 합의문에 따르면 Spotify는 앞으로 사용되는 음악에 대해 미지급되는 저작권료가 없도록 최선을 다할 것을 약속했다고 합니다. 그 결과로 1년 뒤, Spotify는 블록체인 스타트업을 인수하게 됩니다.“스포티파이, 음악 저작권 문제를 해결하기 위해 블록체인 스타트업 ‘미디어체인’을 인수하다” (출처: 테크크런치, 2017)그렇게 1년, 아직 미디어체인랩스 인수의 성과가 뚜렷이 발표된 것은 없습니다. 반대로 Spotify가 얽힌 저작권 소송은 그 규모가 더 커졌습니다. 올 1월 Spotify를 상대로 한화 약 2조 원의 저작권료 소송이 제기된 것인데요. 소송이유는 Spotify가 특정 음악을 이용함에 있어 제대로 저작권 체결을 하지 않았다는 겁니다. 7100만 명의 유료 이용자와 1600만 명의 월간활동사용자에도 불구하고 2017년에도 $4500만 달러의 적자를 기록한 Spotify가 이번 소송에선 어떤 결론을 맞이할지 음악 산업의 귀추가 주목되고 있습니다.그렇다면 한국은 어떨까요?“음원 권리 정보가 없어 잠자는 저작권료만 170억 원”국내 4대 음원 유통사2017년 국정감사에서 국내 4대 음원 유통사가 2014년~2016년까지 음악 창작자와 실연자한테 지급하지 않은 저작권료와 저작인접권료가 174억 원으로 집계되었다고 합니다. (출처: 4대 음원 유통사 미지급 저작권료 최근 3년간 174억, 뉴스1)특히 국내 음원시장 60%를 점유하고 있는 멜론에서 누적된 미지급금만 97억 원에 달합니다. 멜론은 국내 음원시장을 독점하다 시피한 공룡 업체입니다. 때문에, 가장 앞서서 저작권 관련협회와도 긴밀히 협업을 하고 있음에도, 위와 같은 문제가 발생한다는 것은 위 미지급 저작권료 문제가 단순히 멜론의 문제가 아니라, 국내 음악 산업 전반의 문제임을 시사합니다.저희가 RECORD 2.0모델에서 해결하고자 하는 문제도 바로 이 ‘데이터’입니다.“블록체인을 이용한 강철 음악 데이터베이스 구축!”RECORD 1.0 = 음악 오픈 마켓RECORD 2.0 = 음악 데이터 블록체인RECORD 2.0 모델2015년부터 운영되어 온 RECORD 1.0에서는 누구나 음악을 올리고, 듣고, 팔 수 있었다면, 2019년 출시될RECORD 2.0에서는 음악 콘텐츠에 대해 정확한 정보를 확인 할 수 있습니다. 블록체인에 기반하기에 탈중앙화됨은 물론(특정인-기관에 의해 왜곡될 수 없음을 뜻함) 투명하게 정보가 유지될 수 있습니다. 바로 이 점이 RECORD와 Spotify의 공통 행보입니다. 앞으로 음악 시장이 커질수록 음악 권리 정보 관리가 점점 중요해짐을 아는 것이죠.이 프로젝트를 주도하는 RECORD Foundation의 신해용 대표는 “국내 음악 산업에서4년 간 종사하다 보니 음악 산업에서 데이터 관리가 매우 소홀히 되고 있음을 느꼈다. 블록체인의 가장 큰 효용가치는 데이터 관리에 있다. 현재 개발 중인 RECORD 2.0이 가져올 변화가 무척 기대된다.”라고 했습니다.RECORD2.0은 음악 산업의 모든 이해관계자들-창작자, 제작자, 유통사, 스트리밍 플랫폼, 청취자, 저작권협회 등 모두에게 도움이 되는 날을 꿈꿉니다. 가장 좋은 것은 공룡이든 개구리든 애초에 피를 흘리지 않는 일이기 때문입니다.음악 데이터와 블록체인의 만남,권리정보를 명확히 기록해줄 음악 데이터 블록체인 레코드 2.0이 기대되는 이유입니다.자세한 내용과 로드맵은 8월 중에 공개됩니다!그럼 지금까지 RECORD팀이었습니다!레코드 파운데이션은 지난 3년 간 운영해온 음악 산업 노하우를 기반으로 음악 관련 데이터를 보호하는 블록체인을 개발하는 프로젝트입니다.레코드의 최신 소식을 만나보세요.RCD가 코인레일에 상장됩니다.[상반기 결산] 레코드 파운데이션 로드맵 달성율코인베네(CoinBene) 사용법-레코드 첫 상장소!레코드 파운데이션 공식 홈페이지 및 페이스북, 트위터, 스팀잇, 링크드인에서 레코드파운데이션의 최신 소식을 확인하세요.#레코드팜 #레코드파운데이션 #블록체인 #RCD #코인상장
조회수 694

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

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

기업문화 엿볼 때, 더팀스

로그인

/