스토리 홈

인터뷰

피드

뉴스

조회수 900

SNS의 댓글유형을 유심히 관찰해보았어요.

사실 제 글에는 그런 종류의 댓글이 별로 없긴 한데, SNS를 가끔 보다보면 묘하게 다양한 종류의 댓글들을 발견할 수 있었어요. 페북뿐 아니라 브런치의 댓글도 꽤나 다양한 양상을 보이더라구요. 브런치는 한결 공감과 응원의 스탠스가 더 지배적이긴 하지만요. 그래서 오늘은 재미로 보는 댓글정리를 해볼까 해요. 콘텐츠를 만드시는 분들이라면 댓글 등의 반응에 굉장히 예민할 수 없더라구요.댓글은 크게 5가지 유형의 공격형 캐릭과, 5가지 유형의 방어형 캐릭이 있습니다. 공격형은 주로 직접적인 표현과 의견 개진으로 상대방에게 어떠한 반응을 불러일으키는 스타일입니다. 직접적으로 먼저 댓글을 쓰는 경우가 많죠. 자신의 의견과 틀리거나 너무 공감하거나 또는 그냥 원래 아무말이나 하는 타입이랄까요.공격형캐릭은 이렇게 나뉩니다.1. 아무말 공격형요새 힘들다는 글에 "그런데 여기 서울숲 아닌가요?" 댓글을 다는 식이죠. 의식의 흐름이 어떻게 흘러가는 지 모르겠지만 두뇌의 활발한 자유를 부여한 타입입니다.2. 변태주로 메시지공격으로 정확성을 높여요. 친해져도 될까요? 내지는 갑자기 손을 흔든다거나, 연락처를 갑자기 물어보기도 하죠. 결혼했냐? 를 물어보기도 해요. 제발 그러지 말아요.3. 꼬투리테이커 & 불편러그런데 그건 잘못된 거 아닌가요?, 그게 잘못인가요?, 그거 먹는다고 죽나?, 그렇게 예민하면 어떻게 삽니까 등.. 물론 불편해서 의견개진을 할 순 있는데, 편의점 알바가 '봉투 드릴까요?' 라고 말할 때 '아니 그럼 맨 손으로 들고가욧?!' 이라고 대꾸하는 느낌입니다.(좋은 말로 해도 될 걸) 주로 의문문 형태를 추구합니다.4. 모든 게 슬픈 타입저도 그런 적이ㅠㅠ, 담에 봬요ㅠㅠㅠㅠ, 힘내세요ㅠㅠㅠ, 건강이 중요합니다ㅠㅠㅠㅠㅠ 등...항상 울어벌임5. 찬미와 찬양을 즐겨하는 타입아침에 피어난 샛별의 이슬처럼 아름다우십니다. 오늘도 맑은 하늘같은 청량한 하루가 되세요. 언제나 그 미모가 변치 않으십니다. 우리들의 인연에 감사드립니다. 등.. 이 분들의 형용사 수식능력은 정말 화려함의 극치에요. 약간 신라시대의 건축양식을 보는 듯한 느낌이에요. 직접적인 공격이라고 하긴 어렵지만, 받는 사람에게 부담을 줄 수 있죠. 특히 저런 댓글엔 모란이나 이슬, 인연 글귀/사진이 많이 달려요.약간 이런 느낌방어형 캐릭방어형 캐릭은 주로 위 공격형 댓글의 대댓글 형식으로 많이 진행되며, 공격에 대한 방어 또는 카운터어택의 형식을 많이 띠고 있습니다. 방어도 힐링형과 진동형으로 나뉘어요.힐링형은 ㅋㅋㅋ와 ㅠㅠ 등 소극적 감정표현을 통해 상대와 공감/소통하려고 하는 타입이고 진동형은 상대방의 공격에 대해 리액션/역공/튕겨내기/맞장구 등 다양한 커뮤니케이션을 통해 상대의 공격패턴을 역이용하는 경우입니다. 방어형 캐릭도 5가지가 있습니다.1. 모든 것을 거.부.한.다. 대표적인 진동형캐릭이라고 할 수 있어요.예)브로콜리 싫다는 글을 썼어요댓글: 저도 싫어해요ㅠㅠ(슬픔러 등장)방어: 저는 가끔먹긴해요(반박)댓글: 그래도 건강에 좋은건데 드세요(시어머니 등장)방어: 싫은걸 억지로 먹긴..(반박)댓글: 나중엔 드시게 될거예요(예언자 등장)방어: 그렇진 않을 것 같아요^^;;(반박)댓글: 으 브로콜리 너무 싫어!!(공감러 등장)방어: 저는 막 그정도는 아니구요(반박)어쩌라는 거야..2. 무응답대댓글도, 좋아요도 엄지도 하지 않아요. 그냥 바라볼 뿐. 마블유니버스의 왓쳐같은 타입이죠. 힐링형에 속하는 듯 하지만 실상은 진동형에 가까워요. 사실 공격형 댓글은 대부분 그 리액션이 존재할 때 빛을 발하는데, 아무 대댓글이 없으면 공격자 입장에선 보이지 않는 초조함에 시달리곤 해요. 내가 뭘 잘못쓴건가? 기분이 나쁘셨나? 오해한걸까? 등등..3. ㅋㅋㅋ/ㅠㅠ타입사실 이 ㅋㅋㅋ는 무표정으로 치고 있어요. 별 할 말 없거나 그닥 그렇게 아무 얘기나 할 사이는 아닌 경우, 피상적인 사이버친구 등등이랄까요.. 현웃이 터지면 ㅋ를 정확히 치기 어려워요. 대부분 ㄲ,ㄱ이 섞이기 마련이죠. ㅋㅋㅋ가 10개 이상이거나 '아 씨밬' / '미친' 등이 붙기도 하구요.. ㅠㅠ도 마찬가지. 힐링형에 속하는 방어타입이에요.4. 말없이 표정으로 승부하는 타입댓글없이 좋아요, 슬퍼요, 화나요, 멋져요만 눌러 감정을 표현해요. 힐링형이죠. 브런치에선 라이킷만 누르고 가는 타입이에요. 대부분은 웃겨요나 멋져요를 사용하거나 엄지를 주는 경우가 많아요.5. 우리 언제봐요 타입대부분의 댓글에 우리 언제봐요 시전해요. 진동형에 속하며 오프라인에서 직접 인연이 닿은 경우나 또는 그냥 한 번 보고싶은 경우, 궁금한 경우, 상대방이 흑심이 있을 경우, 그냥 변태인 경우 등등이 있어요. 50%의 확률로 진짜 친한 사이던가, 아니면 상대입장에서 왜 자꾸 보자그럴까...아젠다도 없으면서.. 라는 생각을 불러일으켜요. 기타댓글 타입1. 격려형고생한다, 멋지다, 여윽시!, 항상 멋지십니다!2. 드립퍼짤과 개드립이 난무함. 진지파괴자. 저같은 타입이에요.3. 속마음 말하는 유형좋아요!(너무했나?) 이런 식으로 괄호를 즐겨써요. 덕후체와 비슷한 것 같아요. 4. 변태Quiero sex un beso! 등등 외국어 댓글이나 하앍.. 등등을 적더라구요. 여름철 휴가사진에 주로 달려요.5. 모놀로그하아..가고싶다 / 일만 아니면.ㅠㅠ / 아쉽네요.. / 예전엔 그런거 했었는데... / 연차쓰고싶다... 등등 혼잣말을 즐겨쓰십니다.6. 뜬금포브로콜리 싫어요란 글에 "근데 예전에 고등어도 싫다고 하지 않으셨어요?"  대댓글 : 네?를 유발시키죠.7. 안분지족흐르는 강물처럼 다 지나는 일 아니겠습니까, 마음을 편하게 가지시고 힘내세요. 등등.. 현자의 모습을 보여주시는 분들도 있어요.8. 크리스챤주님의 인도하심으로 곧 좋은 일이 있을거예요! 그분의 뜻을 기다리쟈구요!9. 점점점과 아재체맞아여... 완죤 좋더라구여!, 으떻하지..하아 힘들다.... 등등 보통 점점점은 반드시 3개 정도를 쓰십니다.10. 모란꽃과 인연짤친구수락에 감사드립니다, 좋은 인연 만들어나가요!(+모란꽃)11. 겸손한데 뭔가.. 제가 알기론 그거 아니예요!!! 물론 제가 틀릴수도 있지만요... 유형이에요. 뭔가 기분이 나쁜데..안나쁘기도 하고 겸손한 것 같은데 아닌 것 같기도 해서...반응하기 참 애매한 타입이죠.12. 단호한 타입네? / 아닌데요? / 절 아시나요? 등 주로 3,6번의 공격의 방어타입으로 사용13. 지나가는 행인형하아... / 대표님 왜이러세요.. 등등 그냥 스치는 바람같은 말들을 남기고 가시는데 가끔 댓글 뒤에 (지나가던 행인) 등을 붙이기도 해요. 14. 감사합니다.모든 댓글에 '엄지/멋져요'를 눌러주고 감사합니다^^/~/.../! 등을 붙여요..사실 딱히 뭐라 할 말이 없어서 그냥 쓰는 경우도 종종 있어요.-보너스 : 메시지타입페북 메시지는 크게 좋지 않은 메시지와 실질적 메시지로 나뉘어요. 실질적 메시지는 주로 내가 요청한 어떤 이슈에 대한 응답이나 신청 등의 유형이 주를 이루거나, 사업관련된 미팅제안인데 개인적으로 얘기해야 할 경우, 또는 친분이 있는 상태이지만 연락처까지 주고받진 않은 경우 카카오톡으로 넘어가기 위한 중간 브릿지 정도로 활용된다. 바이프로스트 같은 역할이에요.. 하지만 페북으로 의뢰를 툭 던지면 기분이 나빠요. 약간 SNS에도 예의와 무게감이란 게 알게 모르게 있는데, 페북은 가장 하찮은 무게감을 지니고 있는 느낌이에요.간혹 친구수락에 감사드립니다, 어디서 보고 친구신청했습니다 수락감사드립니다. 등등의 인사메시지가 오기도 해요. 이것은 꽤나 정중하고 감사한 일이라고 할 수 있죠. 물론 답변은 대부분 '네^^감사합니다..' 등으로 갈음하곤 해요.근데 나머지는 대부분 변태사람들이 주를 이루는데, 뭐랄까 일단 손흔들기. 뭐임? 또는 아름다우십니다, 한번 만나봬도 될까요? 나 다짜고짜 '연락처 좀 알려주실 수 있으세요?' / 저 어디에 누군데 도와드릴 수 있을 것 같습니다(니가 뭘) / 가까운 데 계시는군요. 차라도 한 잔 하시죠 등등의 친한 척 지리는 한따까리 음모성 메시지가 참으로 많았어요..특히 여자대표님이나 좀 이름알려진 스타트업/대기업출신 등의 여성페친님들에겐 이게 극도로 심한 듯 해요.. 프사를 간만에 잘나온 인생셀카로 바꿔놓으면 메시지는 하루에 30건이 넘어가기도 한다더라구요. 그래서 견디다 못한 분들은 해남고구마 10kg에 34,000원 판매 프사로 바꿔놓기도 하고 그래요. 세상엔 수많은 다양한 인류가 살고 있고, 참으로 이 생명의 다양성에 다시 한 번 무릎을 탁 치게 됩니다. 좋은 댓글문화를 만들어 나갑시다.(급교훈)
조회수 819

Our First Gaming Memories

You’ve made it to our first blog post! Thank you.We are excited to introduce you to our team by showcasing some of our first video game memories that made us the passionate gamers we are today.We come from so many different countries and backgrounds, each influencing the types of games we got to know and love.Even though joysticks are a distant memory of the past, the SEGA logo or Pacman’s distinct “Waka Waka” are still nostalgic sounds for many of us. Whether we were bonding with friends and family or learning a new skill, video games have influenced each of us in a variety of ways.What was your first gaming memory? Share in the comments below! Battle City Battle City for NES remade as a flash game. Source: Emulator “The first videogame I have ever played is Battle City for the NES. I remember playing it with my older brother and it was one of the few videogames I could beat him at (hurray). Actually, I played it so much that I still distinctly remember the sound of the tank bullets against iron walls! I also loved it because it had a construction mode, in which you could create your own battlefields: I always made ones with only water and green cover, so that I could easily sneak behind my brother and win!”- Beatrice, Italian Translator.Super Mario Bros 2 Characters in Super Mario 2 have the ability to throw objects. Source: Wikipedia “My mom trained horses when I was young; my afternoons and weekends were spent with animals in stables and pastures. A family with a boy my age lived in a house attached to the stable we most often visited, and one day he invited me in to play with his NES. He showed me Super Mario Bros. 2, and within a few minutes I was so eager to play I almost begged for it to be my turn. That summer I ran a lemonade stand in my neighborhood so I could buy my own system.” - Alexis, PM Team Lead.Tetris An original version of Tetris. Source: Flickr “Back when I was 10 years old, I remember playing Tetris and I was completely addicted to the game. I would play nonstop for hours. Then came Prince of Persia and Dune, which I could never finish. It was so complicated and had so many enigmas that we just never got to the end. Of course there was no way to look it up online so you’d have to buy PC magazines, which we never had enough money for!” - Marie, CEO.World Cup 90 Similar to soccer, World Cup 90 featured fun moves like the "super shot". Source: Wikipedia “Being the youngest of 3 siblings (one brother who was a games nerd and actually bought video game magazines in the early 90s), I came across videogames so early in life that I can’t remember the very first moment I played. Most certainly, I was playing NES with them. We had a cartridge for the Nintendo with 3 games on it: Super Mario Bros, Tetris and World Cup 90. As the only multiplayer game, we played WC 90 excessively. It was great fun shooting balls intentionally at the opponents to knock them out and to do "Super Shots" that teared through their entire defense and the net of the goal, too... Great fun. Plus, there were small pictures for every national team that reflected their home country. This taught me about the world (Netherlands = windmills and tulips) and that people’s eyes pop out when you body check them hard.” - Christoph, Coordinator/German Translator.Tomb Raider A more updated Lara Croft from Tomb Raider 2013. Source: Flickr “The first video games I ever played were floppy disc games such as Spacewar! or Prince of Persia. However, the best gaming memory I have from my childhood is when my grandfather got me a PlayStation and a bunch of games for my birthday, including Tomb Raider. It was the first game that I played that was a bit scary but it was so much fun I didn't leave my room for days!” – Irene, Business Developer.The Legend of Zelda The 1998 Legend of Zelda title screen. Source: Wikipedia “I remember exploring a weird little world and finding lots of hidden stuff everywhere. Bombing walls, burning bushes, finding hidden people and treasure. Also running away from bats!” - Wolfgang, PM/Localization Engineer.Mortal Kombat Reptile and Kitana fight it out. Source: Flickr “The first video game I ever played (as opposed to just watching my older brother play) was Mortal Kombat - with my brother, unsurprisingly. I had the time of my life flunking "Test Your Might" strength checks, beating him as the only female character by repeatedly swiping his legs until he figured out that he really did need to block, and losing miserably on all other characters. The one and only fatality we collectively achieved was performed by me mashing random buttons. We never did figure out what exactly I pressed.” - Sandra, Linguistic Editor.Pink Panther The Pink Panther finds himself in London. Source: Old Games “Playing the point and click Pink Panther games on PC, especially The Pink Panther: Passport to Peril where the Pink Panther goes to China, England, Bhutan etc. The game was quite intricate with mysteries to solve and fun facts about each country. Still a fan of the Pink Panther to this day.” - Camilla, Regional Director, Asia.Super Mario Land 2 Original version of the SD card. Source: Flickr “The first videogame I remember playing was a mini 4WD racing game for GameBoy, the title of which I can't recall. Not the most intuitive game for a 6-year-old, I hated it at first! Then I got Super Mario Land 2 and it was love at first sight. Cool levels, funny music, fun and challenging. The first of many Mario (or Wario) themed games I've played so far!” - Francesco, Coordinator/Italian Translator.Vegi Vegi game has a similar look to the popular game Snake. Source: UV List “The first video game I played was called "Vegi" and it would run on MS-DOS when I was about 6 or 7 years old. It was some kind of hybrid of "Snake" and a good puzzle game. Looking back, it was super simple but it got me absolutely excited whenever I completed a level without biting myself.” - Katrin, Senior Coordinator, German Translator. 
조회수 1283

비트윈의 멀티티어 아키텍처를 위한 프레젠터 이야기

블로그 첫 글에서 비트윈의 시스템 아키텍처에 대해 다룬 적이 있습니다. 시스템 구성의 미래에 대한 계획으로 멀티티어 아키텍처에 대해 언급했었는데, 이는 프로토콜을 단순화시키고 배포 자동화를 가능하게 하기 위해서 클라이언트와 비즈니스 로직을 담당하는 서버 사이에 일종의 게이트웨이를 두는 것이었습니다. 그 외에도 여러 가지 필요성이 생겨 해당 역할을 담당하는 프레젠터라는 것을 만들게 되었고 비트윈의 채팅 시스템에 적용하게 되었습니다. 만드는 과정 중에 여러 기술적인 문제들이 있었고 이를 해결하기 위한 노력을 하였습니다. 이 글에서는 비트윈 시스템에서의 프레젠터에 대해 이야기 하고자 합니다.프레젠터¶프레젠터는 일종의 게이트웨이 입니다. 기존의 시스템에서는 클라이언트들이 ELB를 통해 채팅 서버에 직접 TCP 연결을 하였습니다. 하지만 비트윈 PC버전과 자체 푸시 서버를 만들면서 ELB로는 해결할 수 없는 부족한 점들이 생겼고, ELB의 부족한 점을 채워줄 수 있는 시스템이 필요하게 되었습니다. ELB를 대체하는 역할 외에도 다른 여러 필요했던 기능들을 제공하는 프레젠터를 만들기로 하였습니다.프레젠터는 ELB의 역할을 할 뿐만 아니라 여러 다른 기능들도 제공합니다.프레젠터의 기능¶패킷을 적절한 샤드로 중계¶비트윈에서는 커플 단위로 샤딩하여 같은 커플의 채팅 요청에 대해서는 같은 채팅 서버에서 처리하고 있습니다. Consistent Hash를 통해 커플을 여러 채팅 서버로 샤딩하고 ZooKeeper를 이용하여 이 정보를 여러 채팅 서버 간 공유합니다. 프레젠터 또한 ZooKeeper와 연결을 하여 어떤 채팅 서버가 어떤 커플을 담당하는지에 대한 정보를 알고 있도록 설계되어 있습니다. 따라서 프레젠터는 첫 연결 시 보내는 인증 패킷을 보고 해당 채팅 연결에서 오는 요청들을 어떤 채팅 서버로 보내야 할지 판단할 수 있습니다. 어떤 채팅 서버로 보낼지 판단하는 과정은 처음 한 번만 일어나며, 이후 패킷부터는 자동으로 해당 채팅 서버로 중계합니다.프레젠터의 이런 기능 덕분에 클라이언트는 더 이상 어떤 채팅 서버로 붙어야 하는지 알아내는 과정 없이 아무 프레젠터와 연결만 맺으면 채팅을 할 수 있게 되었습니다. 기존에는 클라이언트들이 여러 채팅 서버 중 어떤 서버에 붙어야 하는지 확인하는 작업을 한 후에 할당된 채팅 서버로 연결 맺어야 했습니다. 그래서 클라이언트가 채팅 서버와 연결을 맺기 위해 다소 복잡한 과정을 거쳐야 했지만, 이제는 클라이언트가 프레젠터의 주소로 연결 요청만 하면 DNS Round Robin 통해 아무 프레젠터와 연결하는 방식으로 프로토콜을 단순화할 수 있었습니다. 덕분에 새로운 채팅 서버를 띄울 때마다 ELB를 Warm-Up 시켜야 했던 기존 시스템의 문제가 없어졌습니다. 그래서 비트윈 개발팀의 오랜 염원이었던 채팅 서버 오토스케일의 가능성도 열렸습니다.많은 수의 연결을 안정적으로 유지¶PC버전과 푸시 서버를 만들면서 기존의 채팅 연결과 다르게 많은 수의 연결이 장시간 동안 유지 되는 경우를 처리할 수 있어야 했습니다. 기존에는 TCP 릴레이를 하도록 설정된 ELB가 연결들을 받아주었습니다. 한 머신당 6만 개 정도의 Outbound TCP 연결을 맺을 수 있는데, ELB도 트래픽에 따라 여러 대의 머신에서 돌아가는 일종의 프로그램이므로 이 제한에 걸린다고 생각할 수 있습니다. 따라서 많은 수의 연결을 맺어놓고 있어야 하는 경우 ELB에 문제가 생길 수 있다고 판단했습니다. (과거 ELB가 연결 개수가 많아지는 경우 스케일아웃이 안되는 버그 때문에 문제가 된 적이 있기도 했습니다) 또한 클라이어트 연결당 내부 연결도 하나씩 생겨야 하면 클라이언트가 연결을 끊거나 맺을 때마다 서버 내부 연결도 매번 끊거나 연결해야 하는 오버헤드가 발생합니다.이를 해결하기 위해 프레젠터에서는 TCP 연결을 Multiplexing하는 프로토콜을 구현하여 적은 수의 내부 연결로 많은 수의 클라이언트 연결을 처리할 수 있도록 하였습니다. 서버 내부에서는 고정된 개수의 몇 개의 연결만 맺어 놓고 이 연결들만으로 수많은 클라이언트 연결을 처리할 수 있습니다. 이처럼 TCP Multiplexing을 하는 것은 Finagle과 같은 다른 RPC 프로젝트에서도 지원하는 기능입니다.TCP Multiplexing 프로토콜을 통해 많은 수의 클라이언트 연결을 소수의 서버 내부 연결로 처리합니다.또한, 프레젠터는 많은 수의 SSL 연결을 처리해야 하므로 암복호화 로직을 실행하는데 퍼포먼스가 매우 중요하게 됩니다. 채팅 서버 한 대를 제거하거나 하는 경우 많은 연결이 한꺼번에 끊어지고 연이어 한꺼번에 연결을 시도하게 되는 경우가 있을 수 있는데, 이 때 대량의 SSL Handshaking을 하게 됩니다. 기존 서버들로 대량의 SSL Handshaking을 빠른 시간안에 처리하기 위해서는 높은 퍼포먼스가 필요합니다. Java로 작성된 프로그램만으로 이런 퍼포먼스 요구사항을 달성하기 어려우므로, 클라이언트와의 연결을 담당하는 부분은 OpenSSL, libevent를 이용한 C++로 코드로 작성하였습니다. 인증 패킷을 파싱하거나 패킷들을 릴레이 하는 등의 로직을 담당하는 부분은 Alfred라는 Netty를 이용하여 만든 인하우스 RPC 라이브러리를 이용해 작성되었습니다. 연결을 담당하는 부분은 TCP 연결을 유지하는 역할과 들어온 패킷들을 Netty로 작성된 모듈로 릴레이 하는 역할만 담당하므로 매우 간단한 형태의 프로그램입니다. 짧은 시간 안에 어럽지 않게 구현할 수 있었습니다.클라이언트의 연결을 받아주는 역할을 하는 부분은 C++, 실제 로직이 필요한 부분은 Java로 작성하였습니다.여러 네트워크 최적화 기술의 지원¶ELB에는 여러 네트워크 최적화 기술들을 아직 제공하지 않는 경우가 있습니다. 대표적으로 HTTP/2 혹은 SPDY, QUIC, TCP Fast Open 등이 있습니다. 특히 모바일 환경에서는 SSL Handshaking 등 부가적인 RTT로 인한 지연을 무시할 수 없으므로 이런 기술들을 이용한 초기 연결 시간 최적화는 서비스 퀄리티에 중요한 부분 중 하나입니다. ELB는 AWS에서 관리하는 서비스이므로 AWS에서 이런 기능들을 ELB에 적용하기 전에는 이용할 수 없지만, 프레젠터는 직접 운영하는 서버이므로 필요한 기능을 바로바로 적용하여 서비스 품질을 높일 수 있습니다. ELB에서 이미 제공하는 최적화 기술인 SSL Session Ticket이나 다른 몇몇 기술은 이미 적용되어 있고 아직 적용하지 않은 기술들도 필요에 따라 차차 적용할 예정입니다.프레젠터의 구현¶C++ 연결 유지 모듈¶프레젠터는 퍼포먼스를 위해 C++로 작성되었습니다. 이는 Pure Java를 이용한 암복호화는 프레젠터에서 원하는 정도의 퍼포먼스를 낼 수 없기 때문입니다. 처음에는 OpenSSL과 libevent를 이용해 작성된 코드를 JNI를 통해 Netty 인터페이스에 붙인 event4j라는 인하우스 라이브러리를 이용하려고 했으나, 코드가 복잡하고 유지보수가 어렵다는 점 때문에 포기하였습니다. 그 후에는 netty-tcnative를 이용해보고자 했으나 테스트 결과 연결당 메모리 사용량이 큰 문제가 있었고, 이를 수정하기에는 시간이 오래 걸릴 것 같아 포기하였습니다. 결국, 페이스북에서 오픈소스로 공개한 C++ 라이브러리인 folly를 활용하여 프레젠터를 작성하게 되었습니다. folly의 네트워크 API들이 OpenSSL과 libevent를 이용해 구현되어 있습니다.릴레이 로직¶프레젠터는 첫 인증 패킷을 파싱하여 릴레이할 채팅 서버를 판단하며, 이후의 패킷부터는 실제 패킷을 까보지 않고 단순 릴레이 하도록 설계하였습니다. 처음의 Netty 파이프라인에는 Alfred 프로토콜을 처리할 수 있는 핸들러들이 설정되어 있어 인증 패킷을 파싱 할 수 있으며 인증 패킷에 있는 정보를 바탕으로 어떤 채팅 서버로 패킷을 릴레이 할지 결정합니다. 그 이후 파이프라인에 있던 핸들러를 모두 제거 한 후, 읽은 byte 스트림을 Multiplexing Protocol 프레임으로 감싸서 그대로 릴레이 하는 매우 간단한 로직을 담당하는 핸들러 하나를 추가합니다. 덕분에 로직 부분의 구현도 매우 간단해질 수 있었으며, 채팅 서버에 API가 추가되거나 변경되어도 프레젠터는 업데이트할 필요가 없다는 운영상 이점도 있었습니다.Multiplexing Protocol¶프레젠터의 Multiplexing Protocol은 Thrift를 이용하여 직접 정의 하였으며, 비트윈 개발팀 내부적으로 사용 중인 RPC 라이브러리인 Alfred에 이 프로토콜을 구현하였습니다. Thrift를 통해 C++과 Java로 컴파일된 소스코드를 각각 프레젠터의 연결 처리 부분과 로직 처리 부분에서 이용하여 통신합니다. 프레젠터에서는 Multiplexing된 TCP 연결들을 Stream이라고 명명하였으며 이는 SPDY나 HTTP/2에서의 호칭 방법과 유사합니다. SPDY나 HTTP/2도 일종의 Multiplexing 기능을 제공하고 있으며, 프레젠터의 Multiplexing Protocol도 SPDY 프레임을 많이 참고하여 작성되었습니다.수 많은 클라이언트와의 TCP연결을 Stream으로 만들어 하나의 내부 TCP연결을 통해 처리합니다.Alfred에서는 Multiplexing 된 TCP 연결을 Netty의 Channel 인터페이스로 추상화하였습니다. Netty에서 TCP 연결 하나는 Channel 하나로 만들어지는데, 실제 Stream도 Channel 인터페이스로 데이터를 읽거나 쓸 수 있도록 하였습니다. 이 추상화 덕분에 비트윈 비즈니스 로직을 담당하는 코드에서는 Stream으로 Multiplexing 된 TCP 연결을 마치 기존의 TCP 연결과 똑같이 Channel을 이용해 사용할 수 있었습니다. 그래서 실제 비즈니스 로직 코드는 전혀 건드리지 않고 프레젠터를 쉽게 붙일 수 있었습니다.로드 밸런싱¶클라이언트는 Route53에서 제공하는 DNS Round Robin 기능을 이용하여 아무 프레젠터에 연결하여 채팅 요청을 날리게 됩니다. 하지만 무조건 동등하게 Round Robin 하게 되면 새로 켜지거나 하여 연결을 거의 맺지 않고 놀고 있는 프레젠터가 있는데도 연결을 많이 맺고 있는 기존 프레젠터에에 연결이 할당되는 문제가 생길 수 있습니다. 충분한 시간이 흐르면 결국에는 연결 개수는 동등하게 되겠지만, 처음부터 놀고 있는 프레젠터에 새로운 연결을 가중치를 주어 할당하면 로드를 분산되는 데 큰 도움이 될 것입니다. 그래서 Route53의 Weighted Routing Policy 기능을 이용하기로 하였습니다. 현재 연결 개수와 CPU 사용량 등을 종합적으로 고려하여 Weight를 결정하고 이를 주기적으로 Route53의 레코드에 업데이트합니다. 이런 방법으로 현재 로드가 많이 걸리는 서버로는 적은 수의 새로운 연결을 맺게 하고 자원이 많이 남는 프레젠터로 더 많은 새로운 연결이 맺어지도록 하고 있습니다.스케일 인/아웃¶AWS에서는 트래픽에 따라 서버 개수를 늘리기도 하고 줄이기도 하는 AutoScaling 이라는 기능이 있습니다. 프레젠터가 스케일 아웃될때에는 프레젠터가 스스로 Route53에 레코드를 추가하는 식으로 새로운 연결을 맺도록 할 수 있습니다. 하지만 스케일 인으로 프레젠터가 제거될 때에는 Route53에서 레코드를 삭제하더라도 함부로 프레젠터 서버를 종료시킬 수 없습니다. 종종 클라이언트의 DNS 캐싱 로직에 문제가 있어, Route53에서 레코드를 삭제되었는데도 불구하고 이를 업데이트하지 못해 기존 프레젠터로 연결을 시도하는 경우가 있을 수 있기 때문입니다. 따라서 프레젠터 클러스터가 스케일 인 될 때에는 기존의 모든 연결이 끊어지고 충분한 시간 동안 새로운 연결이 생기지 않은 경우에만 서버를 종료시켜야 합니다. AutoScaling Group의 LifeCycleHook을 이용하여 위와 같은 조건을 만족 시켰을 때에만 프레젠터 서버를 완전히 종료시키도록 하였습니다.못다 한 이야기¶프레젠터라는 이름이 이상하다고 생각하시는 분들이 있을 것으로 생각합니다. 멀티티어 아키텍처를 이야기할 때 프레젠테이션 티어, 어플리케이션 티어, 데이터베이스 티어로 구분하곤 하는데 이 프레젠테이션 티어에서 나온 이름입니다. 지금은 실제 프레젠터가 하는 역할과 프레젠테이션 티어가 보통 맡게 되는 역할에는 많은 차이가 있지만, 어쩌다 보니 이름은 그대로 가져가게 되었습니다.프레젠터에서 AutoScaling을 하기 위해 LifeCycleHook을 이용합니다. 이때 프레젠터를 위해 LifeCycleHook 이벤트를 처리하는 프로그램을 직접 짠 것이 아니라 비트윈 개발팀이 내부적으로 만든 Kharon이라는 프로그램을 이용하였습니다. Kharon은 인스턴스가 시작되거나 종료될 때 실행할 스크립트를 작성하고 인스턴스의 특정 위치에 놓는 것만으로 LifeCycleHook을 쉽게 이용할 수 있게 하는 프로그램입니다. Kharon 덕분에 비트윈 내 다양한 시스템에서 별다른 추가 개발 없이 LifeCycleHook을 쉽게 활용하고 있습니다. 후에 Kharon에 대해 자세히 다뤄보도록 하겠습니다.정리¶비트윈 개발팀에서는 오랫동안 유지되는 수많은 채팅 서버 연결들을 처리하고 클라이언트와 서버 간 프로토콜을 단순화시키는 등 여러 이점을 얻고자 ELB의 역할을 대신하는 프레젠터를 만들었습니다. 프레젠터를 만드는 과정에서 여러 기술적 문제가 있었습니다. 이를 해결하기 위해 C++로 연결 유지 모듈을 따로 작성하였고 Multiplexing Protocol을 따로 정의하였으며 그 외 여러 가지 기술적인 결정들을 하였습니다. 이런 과정에서 시행착오들이 있었지만 이를 발판 삼아 더 좋은 기술적 결정을 내리기 위해 고민하여 결국 기존 시스템에 쉽게 적용할 수 있고 쉽게 동작하는 프레젠터를 만들어 이용하고 있습니다.저희는 언제나 타다 및 비트윈 서비스를 함께 만들며 기술적인 문제를 함께 풀어나갈 능력있는 개발자를 모시고 있습니다. 언제든 부담없이 jobs@vcnc.co.kr로 이메일을 주시기 바랍니다!
조회수 2088

ZOYIFUL TALK (1) 사무실이 마음에 들어 왔다가 개발에 재미 들렸죠

유저 반응을 볼 때가 즐겁다는 프론트엔드 엔지니어 인턴 Mino조이에서 소프트웨어 엔지니어 인턴으로 살아간다는 것이 어떤지 궁금해 하시는 분들이 많아 4개월차 소프트웨어 엔지니어 인턴 미노(본명 천민호)를 Zoyiful Talk 첫 번째 주자로 모셨습니다.ZOYI: 미노 안녕하세요! 인턴으로 조인하신지 벌써 4개월이 지나셨다면서요. 우선 간단한 소개부터 해주세요. 회사에서 무슨 일을 하고 있나요?MINO: 안녕하세요, 채널(Channel)이라는 조이 신규 서비스를 개발하고 있는 엔지니어 미노입니다. 채널은 소비자와 커머스 기업을 연결해주는 소통 창구 같은 서비스인데요, 저는 그 중에 웹 프론트엔드를 개발하고 있습니다.ZOYI: 프론트엔드가 뭔가요? 좀 더 설명해 주세요.MINO: 프론트엔드는 흔히 ‘웹 개발자’라 하는데요, 웹이나 앱에서 서비스 이용자가 경험하는 부분을 개발합니다. 이용자에게 더 좋은 시각적 효과를 주고, 더 편리한 경험을 제공하기 위해 기술을 이용하죠. 이를 구현하기 위해 자바스크립트라는 언어를 사용하고, react.js를 프레임워크로 사용하고 있습니다.ZOYI: 원래부터 프론트 개발을 많이 하셨었나요?MINO: 프론트엔드는 HTML 작성할 수 있는 정도? 아니면 레일즈로 간단한 홈페이지 게시판 만드는 정도였어요. 자바스크립트는 조이에서 처음 배워봤고요.사실 개발 시작한 것 자체가 작년 9–10월이니 이제 반 년 좀 넘었네요. 코딩은 2년 전부터 시작했었는데 거의 알고리즘 공부가 위주였고 최근에야 제대로 개발을 한 것 같아요ZOYI: 조이에는 어떻게 조인하게 되신 거예요?MINO: 대학 개발 동아리 회장을 할 당시 대회 후원사가 필요해서 레드(CEO)한테 컨택한 적이 있거든요. 후원을 받고 나서 레드의 권유로 회사에 한 번 놀러왔는데, 사무실이 생각보다 좋더라고요. (웃음)스타트업 하면 좁은 공간에 다닥다닥 붙어있는 모습을 생각했었는데… 깔끔한 공간이 인상깊었어요.높은 천장과 통유리 채광을 자랑하는 조이 사무실에 반했다고 합니다.ZOYI: ㅎㅎㅎ 직접 일해보니 어때요? 실제로도 깨끗하던가요?MINO: 레드의 책상이 좀 더럽긴 하지만…은 농담이고요, 실제로 일해보니 더 좋은 것 같아요. 책상도 넓고… 제가 이렇게 하얀 느낌을 좋아하거든요.ZOYI: 조이에서의 4개월을 지내보니 어때요?MINO: 음… 4개월 지나고 나니, 이제야 내가 뭘 모르고 뭐가 부족한지를 알 수 있게 된 것 같아요. 잘한다고 말하긴 아직 부끄럽지만, 적어도 구글링으로 뭘 찾아야 할지는 알 수 있게 됐어요.ZOYI: 안해본 것들을 했잖아요, 주로 어떻게 습득을 했어요?MINO: 사람마다 좀 다를 수 있는데 저는 그냥 시간 날때마다 조이 오픈소스 프로젝트들을 하나하나 열어보면서 이게 어떻게 동작하나를 봤어요. 그래도 모르면 물어보면서 Follow up 받고… 동료들한테 부담없이 물어볼 수 있어서 좋았어요. 촉진제같은 역할을 해 준 것 같아요.한 번은, 전혀 새로운 분야이고 처음 접해보는 언어를 다루는 거라 익숙치 못해 하루종일 구글링을 한 적이 있어요. 그런데도 오늘 커밋 했냐, 뭐했냐 이런 얘기가 없고… 당신의 성장을 그냥 지켜보겠다는 태도인 거예요. 처음엔 익숙하지가 않았는데, 그런 분위기 덕분에 결과적으로 리서치를 잘 하고 일을 성공적으로 마무리 할 수 있었어요.ZOYI: 동료들과 교류가 많은 편인가요?저는 프론트엔드를 하다보니 주로 개발팀 멤버들과 많은 시간을 보내는데요, 업무 외적으로도 되게 재미있어서 친하게 지낼 수 도 있고 그래요. 꾸준히 소통하려 하는 게 느껴져요. 나를 막연히 6개월 후 나가는 인턴이 아니라, 함께 성장해 가는 동료로 생각하고 있구나. 하는 기분이 들죠.ZOYI: 푸스볼 중독이라는데?MINO: 푸스볼도 ZOYI에서 처음 배웠는데, 이건 정말, 최고의 레져인 것 같습니다 (목소리 톤 올라감). 가격 대비 효율이 최고예요. 하루 한 번 이상 꼭 하고 있습니다.10분만 해도 맥박이 빨라진다는 엄연한 스포츠, 푸스볼ZOYI: 본인의 푸스볼 랭킹은?MINO: 글쎄요, 디케이(하드웨어 디자이너)보단 잘하지 않을까요? ㅎㅎZOYI: 인턴 끝나면 생각나겠어요, 그러고 보니 인턴도 이제 두 달 남았네요. 돌아가면 하고싶은 일이 있나요?MINO: 아직 고민중이예요. 사실 조이 들어오기 전에는 프론트, 웹 개발자는 정말 안하겠다고 생각했었는데 지금은 이게 재미있다는 생각이 들어요.초반에 누가 “잘 하게 되면 점점 재미있어 질거다”라고 말해준 적이 있는데, 그 말이 공감이 돼요. 점점 배워가면서 지금은 어느정도 의도한 대로 구현이 되니까…이젠 재미있는 거예요. 새로운 분야를 알게 된 느낌? 그래서 앞으로 프론트엔드 개발자로 일해도 좋고, 뭐든 최대한 많은 경험을 하고 많은 지식을 습득해 보고 싶어요.ZOYI: 좋은 계기가 되었네요, 인턴 생활은 만족스러워요?MINO: 네, 생각하던 것 이상으로 좋았어요. 주도적으로 일을 해 나갈 수 있다는 점과, 하나하나 해 나갈 때마다 내가 성장하고 있는 느낌이 좋아요. 사실 처음 입사할 땐 단순히 반복작업만 할 줄 알았거든요. ZOYI엔 뭔가 ‘네 꿈을 펼쳐봐라~’하는 태도가 있는데, 저는 거기에 잘 맞았던 것 같아요.ZOYI: 그렇다면 향후 ZOYI 지원을 고민하시는 분께 어떤 조언 한마디 해주시겠어요?MINO: 주변에 많은 친구들이 ‘난 안될거야’라고 생각하고 지원조차 안하는 경우가 많은데, 저는 일단 지원해 보라고 말해주고 싶어요. 저도 지원할 당시 굉장히 걱정을 했었거든요. 나는 알고리즘 공부밖에 못해봤고, 서버도 용어 하나도 모르는데 내가 잘 할 수 있을까?하는 생각.막상 회사에 들어오고 난 지금은 생각이 많이 달라졌어요. 인턴에게 중요한 자질은 완벽함보다 가능성인 것 같아요. 그 가능성이란 게 대단한 스펙이 아니라, 기초를 탄탄히 가지고 있는 거예요. 그리고 나면 회사에 와서 충분히 성장할 수 있어요.그 좋은 사례가 션(CTO)인 것 같아요. 함께 일하면서 CTO가 되어가는 모습을 곁에서 보는 게 참 좋았어요. 내부에서 우리가 성장해 더 큰 역할을 맡을 수 있는 조직이란 게 참 좋아요.ZOYI: 조언 감사합니다. 남은 기간 ZOYI에서 기대하는 점이 있다면?MINO: 이번 주부터 시작될 개발팀 위클리 세션이 기대돼요. 각자가 알고 있는 기술을 다른 멤버들과 공유하는 시간인데요, 조이가 워낙 다양한 기술을 다루다 보니 제가 담당하지 않는 분야에 대해서는 잘 모르는 게 많거든요. 같이 일하는 사람들은 어떤 분야에 대해 일하고 있는지 기술적으로 알아보고 싶어요.ZOYI: 좋은 시도네요. 마지막으로 글 읽으시는 분들께 한마디 하시겠어요?MINO: ZOYI는 잘하는 사람들이 와서 더 잘하게 되는 곳이 아니라 가능성 있는 사람들이 와서 잘하게 되는 곳이라고 생각해요. 누구에게나 열려 있으니 편히 찾아와 주셨으면 좋겠어요 ^^#조이코퍼레이션 #개발팀 #개발자 #개발환경 #업무환경 #팀원인터뷰 #팀원소개 #팀원자랑
조회수 1501

일본 스타트업 적응기#6  「어려움」

글 업데이트를 안 한지도 꽤 지난 것 같다. 물론 바쁜 일정을 보낸 탓도 있지만,  사실 나의 '작가의 서랍' 속에는 이미 몇 개의 글이 완성되어 있다.그럼에도 글을 올리지 못한 이유,'적응의 어려운 측면을 적은 글도 올리고 싶었기 때문에'물론 새로운 환경과 문화 속에서 행복한 시간과 성장을 경험하고 있지만, 세상에 오직 좋은 면만 있는 것은 없다고 믿는 사람으로 자칫 칭찬만이 만연한 글들은 진정성이 떨어지지는 않을까 혼자 소심한 고민에 빠져있었다.골(GOAL)로 가는데 장애물이 없으면 섭하지..진정한 적응기라면 어려움도 있어야지!! 그래서 그동안에 경험을 쓸어 담아 어려움이면, 어려움이라 할 수 있는 것들을 모아보았다.1. 메일의 첨부파일은 10M 이하로 보내는 것이 예의라고!- 일본인들의 철저한 비즈니스 매너우리 회사는 임원을 포함한 대부분이 20대이지만,  모두 분야 최고의 회사에서 사회 경험을 한 멤버들이 모여 구성되어있다. 회사 내에서는 목적을 함께하고 있는 동료 관계로 농담과 웃음이 만연하지만, 외부에 손님과 함께 있는 모습을 보면 단단하고 유려한 모습에 또 다른 사람을 보는 것 같아 매력 있다.일본은 정말 세세한 것 하나하나에 신경을 쓰는 나라이다. 일적으로 느꼈던 부분은 한국의 파트너 사에게 회사 소개자료를 전송할 때인데, 나는 혹여나 이미지 품질 저하를 가져올까 원본 파일을 그대로 PDF로 변환, 발송을 하였다. 그리곤 따끔하게 한소리를 들었더라지..이유인 즉 첨부파일은 10M를 넘기지 않게 보내는 것이 예의라고....받는 사람의 시간을 절약해주고, 이동 중인 상황이더라도 무리 없이 첨부파일을 확인할 수 있도록 파일의 용량을 축소해서 보내주는 것이 기본이라 한다.이런 센스쟁이! 첨부파일 용량이 10M가 안된다니 ~~한국이 최고의 인터넷 인프라를 갖춘 나라여서 일까, 한 번도 생각해본 적 없는 부분인데, 이렇게도 생각할 수 있겠구나 (내심 신선한 충격이었다.)일본에서 주고받는 메일 내용을 보면 무척이나 짧다. (어쩌면 정이 없다 느껴질 정도로..)그만큼 일본의 비즈니스 상황에서는 짧고 간결한 것을 가장 중시 여기며, 이는 상대방의 시간을 아껴준다는 것에서 비롯된다고 한다.아울러 사소한 대화라도 직급에 관계없이 관련된 모든 사람들을 CC에 넣어야 하는 것도 다르다.한국은 높은 직급이면"이런 사소한 것들은 참조에  넣지 마!" 라면 일본에서는 직급은 곧 책임."책임자인 나를 빼고 대화하는 것은 안되지!"인 식이다.책임=권한(직급)이라 여기는 문화를 여기서도 다시금 확인할 수 있다.2. 내입으로 나온 말(목표)은 꼭 지켜야 한다.한국에 있는 많은 친구들이 부러워하는 Fuller의 문화 10시부터 3시까지는 [업무 집중 시간]이후는 퇴근을 하던, 온천을 가던, 잠을 자던 누가 뭐하고 하는 사람이 없다.하지만 여기에도 지켜야 하는 전제는 있다.'자신이 목표한 것은 꼭 지켜야 한다.'는 것이다.회사에는 크게 3개의 직급 - 임원, 팀 리더 그리고 사원들이 있는데 매주 월요일, 자신 혹은 팀의 진행상황과 주간 목표를 논의하고 이때 설정한 목표는 반드시 지켜야 한다.이 문화에 적응하기 위해서는 '자신'과 '회사'를 철저하게 잘 알고 있어야 한다.자신의 능력을 과신하여 목표치를 높게 설정하는 것도 힘든 상황이 되지만, 목표치를 낮게 잡고, 회사 내에서 그만한 가치를 만들어내지 못하는 것 또한 문제가 아닐 수 없다.그러므로 적절한 중심을 잃지 않으면서,다른 구성원들과 함께 발맞춰 앞으로 나가는 것이에 익숙한 사람이 아니라면 이 역시 어려움으로 다가올 수 있다.3. 그리고 언어'일본어를 못하는, 일본 스타트업 멤버'라는 필명에서도 알 수 있듯, 난 회사에 오기 전에 전혀  일본어를 알지 못하였다.그만큼 일본화가 안되었기 때문에 한국인 마인드로 무장, 회사가 App Ape 한국 서비스를 준비하는 과정에서 한국시장과 일본 회사의 중간자 역할을 수행해낼 수 있으리라 하지만서도, 부족한 부분을 잘 알고 있기에 스스로 미안하고 작아지는 경우가 있다.고객과 회사 사이에, 가치제공과 이익추구 사이에, 선배와 후배 사이에 직장생활에서 가장 중요한 것인 이런 '사이'의 역할을 다 하는 것은 아닐까물론 회사에서는 세심한 위치 선정으로 옆자리에 유창한 영어실력을 갖춘 스튜어디스 출신에 동료가 자리하고 있어 업무상 소통에는 이렇다 할 문제는 없지만, 발표 형식으로 쏟아지는 정보들에는 손 틈새로 흘려버리는 모레알처럼 정확한 내용들을 잡아내지 못하는 경우가 많다.끊임없이 쏟아지는 정보에 나 혼자 격리되어 있다 생각할 때면, 사뭇 외로워지는 경우가 있다.한국에서 일하는 외국인 근로자들도 한국어를 할 줄 알아야 한다고 생각하는 사람으로, 이 잣대를 스스로에게도 적용, 이런 부분은 더욱 노력해나가야 할 부분이라고 생각한다.위에 작성한 해외에서 일을 시작하면 느끼는 어려움 중 주요한 것은 새로운 것을 받아들이는 것이라기보다는,내게 익숙한 것들을 익숙하지 않은 것으로 바꾸는 것이 보다 큰 비중을 차지하는 것 같다.새롭게 배우는 것보다, 몸에 배어있는 것을 바꾸는 것이 더 어렵다는 말이 이런 뜻이겠지.가슴속에 품고 살아가는 말 중에 "상선약수"즉 '최고의 선(좋음)은 물과 같다'는 말이 있다.'· 물은 자신의 모양을 고집하지 않아 어떤 형태의 병이라도 그 속을 가득 채워나갈 수 있는 것처럼,· 서로 다른 알갱이를 고루 섞어 하나의 가치를  만들어 낼 수 있는 것처럼.· 약하고 부드럽지만 강할 때는 바위돌도 부술 수 있는 강한 결속을 가진 것처럼· 투명하게 비춰 내 안에 쌓인 것을 숨김없이 보여주는 것처럼· 그러면서도 겸손하게 항상 낮은 위치를 향해 흘러가는 것처럼부드러움과 강직함을 겸한 사람으로 발전하는데 지금 주어진 시간은 큰 자산이 되리라 믿는다.굳어있지 않고 끊임없이 변화하게 되는 것 낯선 땅에서 보내는 또 다른 즐거움이 아닐까.https://www.facebook.com/korea.Jb.KIM#Fuller #일본 #스타트업 #해외취업 #스타트업합류 #일상 #인사이트 #고민
조회수 2259

3번의 엑싯, 연쇄창업가 버즈빌 이관우 대표 창업기

출처 : 플래텀낙성벤처밸리 페스티벌 행사에서 짧은 강연을 정리.[전문]이토프, 포스트윙 창업 후 네이버 매각, 데일리픽 창업 후 티켓몬스터에 매각 총 5번의 창업과 3번의 엑싯을 경험한 연쇄 창업가초등학교 6학년때 2천만원정도 끌어모았다. 특허도 내고 금형도 했다. 인기가 되게 좋았다. 일본 바이어가 라이센스 2억을 주겠다고 했다. (일본 특허가 있었음) 아버지가 공부 안한다고 딴짓한다고 프리 라이센스 선언. 그래서 돈을 벌지는 못했다.무엇이 창업에서 가장 중요할까?서울대 경영대 지원한 것도 창업때문이였다. 경영대 왔다니 벤처과정 이런게 없었다. 디자인 경영이라는 수업에 발표를 하게 됬는데 전자렌지에 햇반 같은 걸 넣으면 코드를 읽고 자동으로 조리해주는 같은 아이디어였다. 교수님이 3,000만원 엔젤투자하겠다고 그러면서 창업 시작했다. 랩실에 찾아가 박사 막 꼬득여서 영입했다. 이제 대기업들을 세일즈해야되는데 우리에게 기술적으로 요구하는 것들이 닭과 달걀 같은 상황이였다. 그래서 굉장히 사업하는게 힘들었다.우리 기술을 고민해보니 코드를 인식하는 기술이 있더라. QR코드를 문자로 보내면 MMS로 보내야해서 200원 정도 드는데 우리 기술은 유니코드를 이용해서 SMS로 보낼 수 있어서 8원에 보낼 수 있었다. 그래서 네이버가 인수했다. 창업을 하면서 느꼈던 건 스타트업의 성공방정식은 인내력. 버티고, 버티고, 버티고였던 것 같다. 빨리 시장에 런칭해보고 숫자보고 개선하고.. 어릴때부터 나는 되게 린스타트업하게 발명하고 그랬던 것 같다. MVS (minimum viable sales) 의 중요성을 공유해드리고 싶다. 이는 내가 만들어낸 개념이다. (웃음) 데일리픽 창업할 때 (경쟁사 : 티몬, 우리 앱이 없었음) 일단 영업하려고 가게 들어갔다. 계약서 내봐라라고 해서 사인해주시더라. 다음날 근데 계약이 철회됬다. 그래서 일주일동안 아무말 안하고 커플 있는 파스타집에서 카페라떼 시켰다. 그렇게 계약을 다시 했다. 세금계산서를 한번 끊어보는거 이 한바퀴를 돌려보는게 중요한 것 같다.잠금화면 할 때 여자친구가 어떤 발표를 하는 자리에 bmw 사장이 왔었다. 내가 그 연락처를 전달받아 아무런 일면식 없는데 따로 연락해서 bmw 여기서 광고 정도 해야되지 않곘냐라고 제안했다. 100만 되면 다시 오라고 해서 우리 100만 찍고 실제로 bmw 광고했다. 참고로 그때도 처음에 우린 앱이 없었다.세번째 창업 포스트윙. 불법적인 저작권 위반한 사례들 모니터링해서 법무부로 보내는거였다. 개발자 둘이랑 해서 월 억대에 매출이 났고 잘됬다. 근데 점점 저작권에 그런게 밝아지면서 매출이 줄더라. 전 세계 모바일 첫 화면을 악하기 위한 여정을 시작했다. 언어적인 장벽도 덜하고 이미지로 소구할 수 있기 때문에 괜찮을 것 같았다. 이 과정에서 사업 아이템을 자꾸 더 크게 보려고 많이 노력했던 것 같다. 스타트업 성공의 크기는 시장의 크기와 꿈의 크기에 비례하는 것 같다. 세퀘이아 유명한 VC는 이렇게 얘기한다고 하더라."그래 니말 다 믿어줄게 근데 그게 2조 정도 되는거야?"어릴때 엄마가 다리미로 옷을 막 태워먹더라. 이걸 어떻게 해결할 수 있을까? 오뚜기처럼 우뚝서는 그런 식으로 만드는 아이디어를 냈었다. 3일만에 철문점 가서 다리미 mvp 만들었다. 근데 그게 이미 일본이나 독일에 다 있었다. 스피드가 진짜 중요한 것 같다. 내가 생각하고 있는 건 15명쯤 생각하고 있고 이들 중 5명정도는 창업을 생각, 그리고 이들 중 3명이 실행하는 것 같다. 그래서 내가 생각한 아이디어를 누가 훔칠까봐 그런 걱정은 별로 안해도 될 것 같다. 빨리 실행하는게 중요하다.데일리픽 만들었을때 두달 간격으로 경쟁사들이 오픈했다. 두달 뒤 티몬 오픈했고 그 두달 뒤 쿠팡이 오픈했고 또 그 두달 뒤 위메프가 오픈했다. 빨리하는게 중요하다. 데일리픽은 90억에 티몬에 매각했다.허니 스크린은 남자 5명이 합숙하며 시작했다. 2시간 자면서 했다. 근데 그때 또 캐쉬슬라이드 나왔다. 지금은 결이 다르지만 그때는 경쟁사였다. 그때 생각했다. 정말 빨리 나오구나.. 사업 모델 고안할 때 어떻게 엣지있게 만들면 다른 회사가 우리 회사를 사주지? 이렇게 고민해보는 것도 좋은 것도 같다. 우리 회사만의 독점적인 헤자, 성 뭘까? 2조 이상 되는 모델인가? 세퀘이가 투자 방식 중 구글/ 페이스북의 로드맵 중에 직접 하지 않으면서 그 로드맵에 필요한 스타트업 1등에 투자한다고 하더라. 회사를 사줄 인맥 네트워크들을 스캔하며 엑싯 전략까지. 개인적인 나의 비전 - vision alignment - 한국 태생의 아이디어를 글로벌 플랫폼으로의 도약창업하면서 중요한 4가지가 있는 것 같다.1. 얼마나 큰 비전을 잘 세울 것인가2. 사람.. 얼마나 나보다 더 뛰어난 인재를 모을 것인가. 3. 소통이 중요함. 2번 좋은 사람들을 모아두면 개성이 강해서 이걸 팀역량으로 연결시키는게 어렵다. 두달에 한번 우리는 대표 포함에서 젓가락 뽑아서 좌석을 랜덤하게 뽑는다. 개발자의 언어 다르고 디자이너의 언어 다르고 이렇게 자리 배치를 하다보면 서로를 좀 더 잘 이해하게 되는게 아닐까 생각한다. 4. 이런게 잘 지켜지면 스포츠 팀의 원팀이 된다. 우리만의 향기가 생기는데 문화가 중요한 것 같다. 사업을 열심히 하는 것도 중요하고 운도 되게 중요하다. 버즈빌 조인한 한명 한명 사람들에게 창업가 육성하듯 그런 마피아 만들고 싶다. 페이팔 마피아처럼. 진흙탕 인큐베이팅이라고 얘기한다. 진흙탕에서 같이 구르면서 함께 창업가로 동료들과 성장하고 싶다. 회사에 있다가 본인이 창업하겠다고 하면 엔젤 투자하거나 이런 걸 장려하는 것도 노력하고 있다. 불나방으로 하다보면 영웅은 한명쯤 나오지 않을까 정리하면 끈기/mvp, msp/꿈의 크기 크게/스피드 / 엑싯전략/ 이런 것 같다. 어린 나이에 창업을 하게 되면 말랑말랑 할 때 할 수 있으니 이 시기도 중요한 거 같고 근데 뭔가 학업을 버리면서 진짜 집중력있게 사업을 키울 수 있는가? 그런게 중요한 것 같다. 데일리픽, 미국에 그루폰 벤치마킹한거다. 처음에 창업하면 벤치마킹 하는 것도 좋은 것 같다. 사업을 시작하고 망할때는 어떤 포인트로 망했는지 복기하는게 중요한데 그게 팀일 수도 있고 펀드레이징이 될 수도 있고 아이템이 될 수도 있다. 카피캣으로 시작하면 일단 아이템 때문에 망하는 경우는 잘 없는 것 같다. 잘되는걸 벤치마킹 했기 때문에. 원래 데일리픽 론칭하자마자 3개월 뒤쯤 그루폰에서 인수하자고 연락왔다. 그때 영문도 안되어있고 한글로만 되어있었는데 로켓인터넷 CEO 올리버 삼베르가 우리 사무실로 전화왔다. 그때 여직원이 있었는데 보이스 피싱인 줄 알고 바로 끊어버렸다. 공항 뜨기전에 우리 꼭 한번 보고 싶다고 해서 만났다. 택시를 타고 인천공항가서 데일리픽 띄어놓고 우리 팀에 대해서 설명하고 막 그렇게 발표를 했다. 그리고 우리가  "우리는 너네가 플랫폼 스케일링 하는 거랑 우리랑 지향하는 철학이 다르다. 우리는 고객 만족을 위한게 중요하다." 그런 식으로 얘기했더니 그 분이 나한테 이렇게 말한게 처음이야 이러면서 바로 공항 취소하고 택시타고 우리 사무실로 갔다. 그루폰이 인수하겠다 딜이 되면서 티몬이나 다른데랑 비딩이 붙은거다.성장하는 작은 기업의 핵심 참모가 되는 것도 많이 배울 수 있는 것 같다. 그런 포지션에서 대표가 운영하는 사업을 보면서 빠르게 경험을 축적, 간접 경험을 해볼 수 있는 것 같다.팀은 학교에서부터 만나는게 중요한 것 같다. 학교에 가서 창업에 대해서 많이 배운 건 없지만 기술경영 동아리 하면서 성공한 창업 선배들 많이 만났고 팀빌딩도 했었다.더 나은 사람을 채용하기 위해 그냥 계속 관계 유지하면서 타이밍이 됬을 때 공격적으로 제안하는 것 같다. 예전미국에 15명 개발자 다 데려가서 미국 시장 뚫을려고 애썼다. 근데 창업가가 20대때 가서 미국에서 하는거랑 40대 개발자 데려가서 하는거랑은 정말 다른 것 같다. 20대랑, 40대의 주변 환경은 다르기 때문이다. 40대는 가정이 있으니.. 그때 한국 지표가 막 꺽이고 회사가 망할 뻔했는데 그때 고민했던게 비전과 미션, 핵심 가치 잘 셋팅하는거였다. 그거 기반한 인재상을 셋팅하고 그 인재상에 맞는 질문지부터 어떻게 액션해야되는지 컬쳐북이라는걸 만들었다. 모든 복지 프로그램, 인터뷰 프로그램 만들었고 인터뷰 되게 빡빡하게 보는 24시간 과제도 우린 주는게 있다. 여러 회사들 중에서 우리 회사의 과제를 하루밤 정도 밤새지 않으면 우리랑 맞지 않는다는 거를 보려고 하는거다.되게 좋은 분 3년정도 따라다녔었다. 막판에는 갑자기 찾아가서 1층 내일 우리 로켓 뜬다. 투자 클로징 됬고 오늘 밤 알려주셔야된다. 나이 드신 분들의 대부분 의사결정권은 형수님한테 있는데 부부동반으로 식사도 하기도 했다. 나는 개인적으로 정부 지원 받지마라. 창업아이템에 더 집중하는게 좋지 않나.. 차라리 투자 피칭해서 자금 가져오는게 좋다고 본다.우리의 성과 시스템이나 측정은 OKR 참조 많이 했다. 스톡은 초기 사람들에게 많이 주려고 하는 편이고 스톡풀이 정해져 있기 때문에 (10%) 뒤로 갈수록 스톡 주는게 제한이 걸려 우리는 투자 받을때 아예 스톡 풀을 넓히는 것을 제안을 했다. 우린 공장이 있거나 뭐 건물이 있거나 그런게 아니라 사람이 전부니깐.PPL. 페오펫에서는 위대한 미친 개발자, 위대한 미친 마케터, 위대한 미친 운영분들을 모시고 있습니다. 커피 한잔 하실 분은 연락주세요.■ 페오펫은 강아지 등록 카테고리에서 압도적인 1등 펫테크 스타트업입니다. ■기업소개보러가기 > https://www.rocketpunch.com/companies/peopet페오펫은 반려동물계의 네이버를 만들 것입니다.펫 모바일 포털 AI 플랫폼을 만드는 것이 궁극적인 목표입니다. 이 궁극적인 목표를 위해 현재 강아지 등록 사업을 통해 데이터를 모으고 있고 다음 단계로는 커뮤니티 사업 진출, 추후 포털 플랫폼으로 진화하는 것이 로드맵입니다. 반려인들이 검색을 통해 나에게 맞는 정보를 찾고, 추천받고, 커머스 결제까지 원스톱 경험을 통해 미친 감동을 주고자 합니다. 페오펫은 탁월한 고객 중심의 서비스를 만들고 플랫폼을 넘어 펫 산업의 "뇌"가 되고자 합니다.■페오펫 문화■http://bit.ly/2Wpl0Cq 핵심문화편http://bit.ly/2Y3yQL1 소통문화편http://bit.ly/2Y8kgSn 복지문화편http://bit.ly/2IZOX8R 그로스리뷰문화편http://bit.ly/2Y5dfll 합의문화편이 글을 보고 공감했다면 [구독하기]를 눌러주세요. 새 글이 올라올 때 먼저 알려드릴게요.이 글을 누군가에게도 보여주고 싶은 감정을 느꼈다면 [공유하기]를 눌러주세요. 함께 나누면 더 기쁘니깐요.이 글을 보고 연결되고 싶다는 생각이 들었다면 [댓글]을 달아주세요. 저와 그리고 누군가와 연결될꺼예요.지금 바로 감정을 행동으로 옮겨주세요. 당신의 참여는 세상을 더 아름답게 움직일꺼예요.*페오펫 강아지 출생신고 서비스이제 정식으로 당당하게 내 아이를 간편하게 출생신고 하세요.페오펫 블로그페오펫 페이스북 페이지페오펫 인스타그램최현일의 링크드인최현일의 페이스북최현일의 블로그최현일의 페이지email : one.choi@peopet.co.krkakao : guitop    
조회수 1183

부모님말보다 내 안의 가슴뛰는 소리에 집중해야한다.

[자서전1#]간혹 또래 친구들, 동생들, 주변 사람들을 보면 과연 본인 스스로 자신의 인생을 정의하고 있는지 부모님이 시키는 로봇처럼 인생을 살아가는지 헷갈릴 때가 많다. 그 선택의 요소가 직업일 때도 있고 사소한 의사결정일 수도 있고 결혼일 때도 있고.그러한 것들을 가만히 보고 있자면 자신의 선택에 대해 용기가 없는 것을 부모님 둘러대는 것도 있는 것 같다. 나 또한 한국 사회에서 한국의 전형적인 부모님의 잔소리에서 벗어날 수 없다. 굉장히 안정지향적인 얘기들과 돈 중심적인 얘기와 단기 성과 지향적으로 얘기를 한다. 그런 점들을 보면 답답할 수 밖에 없다. 솔직히 한심하게 생각하는 경우도 많다. 부모로서 지금 이 상황에서 본인 스스로 생각이라는 것은 좀 하고 말하는건가..? 이런 생각이 들 때도 있고.. 근데 어쩔 수 없는 부분도 있는 것 같다. 살아가는 목적(목표) 자체가 달랐기 때문이라고 생각한다. 부모님들 세대는 상대적으로 먹고 살기 위해 일을 했고(꿈과 목표를 가졌고) 우리는 다소 꿈이라는 것을 이루기 위해 목적 의식을 가지고 일을 하는 젊은이들이 많아졌기 때문이다. 우리에게 필요한 것은 기성 세대의 지혜와 경험이라는 아름다운 언어로 포장된 것이 앞으로의 우리 선택의 마냥 옳은 근거가 될 것이다라는 논리로 받아들일 것이 아니라 그 속에서도 무엇이 잡음이고 무엇이 잡음이 아닌 양질의 피드백이 되는지 구별할 줄 아는 스스로의 힘을 가지고 있어야 한다. 이때 '힘'이란 스스로의 사고력이며 스스로의 힘으로 생각할 줄 아는 상상력이다.인생은 자기 스스로 목적 의식을 만들고 더 큰 것을 꿈꿔나가며 비현실적인 환경을 설계하고 거기에 끊임없이 스스로 적응시키면서 그렇게 불편한 상태에 자꾸 적응할 수 있도록 자아 동기부여시키며 이런 일련의 과정들을 통해 더 큰 우주의 세계로 한걸음씩 나아간다. 우리의 인생은 우리 스스로 정의하고 증명해야된다. 의미와 메세지는 내가 만드는 것이고 내가 만들어야되는 세상과 하고 싶은 이야기를 할 수 있는, 단 한번만 주어지는 시간이 바로 인생이다. 내 가슴을 정말 뜨겁게 만들고 아침에 일어났을 때 설레게하고 두근거리게 하는 그것이 무엇인가.돈돈돈 거리며 단기 성과 지향적이며 안정 지향적인 얘기를 하기에는 이미 시대가 많이 바뀌었다.우리의 꿈을 짓밟는 그 누군가가 있다면 왜 그것을 불가능하다고 말하는지 다시 역으로 강하게 물어볼 것이다. 왜 불가능한지 증거를 대보라고. 그들은 우리의 꿈을 담을만큼 그릇이 크지 않다. 그 이유뿐이니 자기의 길을 묵묵히 해낼때까지 걸어나가는 것이 정도의 길이다.장담한다.열정적으로 꿈꾸고 꾸준하게 행동하며 성공할 때까지 포기하지 않는 놈이 결국 증명한다.#페오펫 #peopet #열정 #스타트업 #운영 #창업가 #마인드셋 #인사이트 #신념
조회수 1336

초보 창업가의 교훈

퇴사학교를 창업한지 1년이 넘었다. 3명에서 시작하여 어느새 2배가 넘는 동료들과 함께하고 있다. 삼성을 다닐 때는 100명~200명 짜리 조직에서 부서 막내 역할을 주로 했다. 당시에는 곁눈질로 훑어보던 부장님과 상무님의 입장이 잘 이해가 안 되었는데, 이제는 조금은 알 것도 같다. 리더란 정말 외로운 자리라는 것을. 그런 의미로 창업 후 1년, 아직은 초보 사업가이자 대표로서 그동안 나름대로 배운 점들을 나누고자 한다.첫째, 워크숍을 간다고 꼭 팀워크가 좋아지진 않는다. 지난 봄, 큰 맘을 먹고 창업 후 처음 제주도 워크숍을 다녀왔다. 보통 금토일 주말을 끼고 자비 부담이 있는 워크숍과는 달리, 무려 월화수라는 평일에 전액 회사 비용 부담이었다. 나는 경치 좋은 곳으로 워크숍을 다녀오면 사기도 진작되고 조직 문화도 좋아질 줄 알았다. 그러나 그것도 결국 일은 일이었다. 물론 나름대로 의미있는 시간이었지만, 결국 깨달았다. 조직문화는 한 두 번의 워크숍이나 회식으로 금방 좋아지는 게 아니라는 것을. 단발성 이벤트로 사기를 진작시키려는 것은 게으른 리더의 임시방편일 뿐.꾸준히 일상에서의 문화를 만들려는 노력이 더 중요하다.(그래도 가끔 날 좋은 날 좋은 곳에서 캐주얼한 금요일 브런치 회식 정도는 필요하다)둘째, 회사는 대표의 것이지 팀원의 것이 아니다. 많은 리더들이 착각한다. 왜 직원들이 주인 의식을 갖고 일하지 않느냐고. 그것은 당연하다. 그 직원이 회사를 창업하거나 지분을 소유한 게 아닌 이상. 주인 권리가 없는데 주인처럼 마음을 가지라고 말할 순 없다. 다만 그 사람의 성장과 책임을 위해자신이 맡은 '프로젝트'의 주인이 될 수 있도록 환경을 만들어 줘야 한다.셋째, 자율과 책임은 쌍둥이 형제이다. 많은 조직들의 병폐가 자율 없이 책임만 강요하거나 책임 없이 자율만 누리려는 것이다. 리더가 책임을 강요하려면 반드시 그에 따른 자유도 보장해야 하며, 직원 역시 자유를 누리기 위해 책임을 다하려는 문화가 형성되는 것이 가장 기본이라고 생각한다. (퇴사학교 같은 경우에는 선책임 후자율을 강조한다. 먼저 회사의 전체 비전과 방향성을 공유하고 이에 대해 개인의 비전과 성장 로드맵을 같이 그린다. 그리고 매 월간, 주간회의 때마다 각자 R&R에 기반하여 목표를 수립하고 이에 따라 약속된 납기/아웃풋을 정의하는 것을 책임의 과정이라고 본다. 물론 이렇게 매일 체계적으로 책임을 달성하고 관리하는 것이 결코 쉬운 일은 아니다. 하지만 최소한의 체계와 기준을 잡아 놓고 계속해서 지키려고 노력을 하고 있다. 다들 열심히. 대신에 그것에 대한 자율과 권한, 보상을 주는 것 역시 리더의 절대적인 책임이다.)넷째, 누군가 시켜야 하는 것이 가장 좋지 않다. 대표는 시키는 존재가 아니라, 팀원의 내적 동기를 끄집어 내주는 사람이다. 업무를 지시하거나 검사하지 말고, 개인과 회사의 비전이 겹칠 수 있도록 조정해 주는 역할을 해야 한다. (그럼에도 불구하고, 어쩔 수 없이 우리는 매 순간을 자가발전기처럼 스스로 일할 수는 없다. 그래서 리더가 '쪼아' 주는 역할로 총대를 매야 하지만, 끊임없이 자가발전할 수 있는 내적 동기를 불러일으키는 것 역시 리더의 책임이라고 해야겠다. 어렵다.)다섯째, 대표가 가장 많은 시간을 써야 하는 것은 채용과 코칭이다. 좋은 인재를 찾는 것을 업무의 1순위로 삼아야 한다. 또한 기존 인재들을 케어하고 피드백 주는 시간을 아까워하는 조직은 롱런이 힘든 것 같다. (6월 한달 중 절반 이상을 채용에만 할애한 것 같다. 그만큼 가장 중요하고 의미있는 일이라고 생각한다.또한 바쁜 업무에 치여서 우선순위가 자꾸 낮아지는데, 사실 매주 개인 코칭도 더 많이 하려고 노력해야 한다.)여섯째,조직문화가 잘 구축되면 관리비용이 줄어든다.많은 조직이 커질수록 인사관리 체계 를 구축하려고 한다. 그러나 관리 통제에 집중할수록 더 복잡한 구성원들의 관리 비용만 증대된다. 눈에 보이지 않는 그 회사만의 조직문화를 정의하고 공유하며, 거기에 맞는 사람들을 찾는 것이 관리비용을 줄이는 왕도이다.(최근의 채용 과정을 겪으면서 퇴사학교 역시 조직문화를 명문화하고 공유하려고 노력중이다. 사람이 한 명 늘어나는 것 조차도, 조직문화가 없다면 비용이 너무 커지는 것 같다.)일곱째, 야근을 안할수록 잘된다고 믿어야 한다. 필자 역시 창업 초기이다 보니 업무량이 매우 많다. 하지만 한 가지 원칙은 분명히 갈수록 야근을 줄이고 업무효율을 높이는 방향으로 가야 성장할 수 있다는 점이다. 고효율 고부가가치 방향으로 사업을 끌고가기 위해서는 여유와 휴식 시간을 더 많이 확보해야 한다. (이건 솔직히 아직 완전히 달성하고 있지 못하다. 아니 사실 거의 각자 집에서 밀린 일들을 하는 것 같다. 갓난 아기일 때는 손이 많이 가기 때문에 24시간 붙어서 보살펴야 하지만, 아이가 걷고 자라고 스스로 먹고 쌀 줄 알게 되면 이제 손이 줄어들겠지.. 그렇게 믿고 있다. 얼렁 회사를 키워서 스스로 돌아가게 만들자. ㅠ ㅠ)여덞째, 리더에게 가장 중요한 덕목은 '합리성'이라고 생각한다. 리더는 기본적으로 매 순간 실시간 의사결정을 하고 모든 상황을 판단해야 하는 존재이다. 사업에 정답은 없겠지만 적어도 합리성이라는 잣대가 있어야 팀원의 신뢰도 얻고 숱한 변수들을 헤쳐 나갈 수 있는 것 같다. (내가 스스로 합리적이라고 생각한다면, 아직도 나는 합리적이지 않은 것 같다. 합리적이라고 생각하는 것 역시 아직은 오만인 것 같다..)그런 의미에서 필자가 좋아하는 말은 '모든 건 리더 탓'이다. 예전에 상무님과 사장님을 보며, 또 나라의 리더들을 보며 모든 건 리더 탓이라고 말했었는데, 이제 와서 내가 대표라고 그 말이 바뀔 수는 없다. 리더는 모든 권한과 정보, 책임을 쥐고 있는 존재이다. 그런 리더가 남 탓을 한다면 그것보다 바보같은 일은 없다.http://www.hankookilbo.com/v/f825f431ee0744a38a98effaebd088ba최근 한국일보 칼럼에 쓴 내용입니다.위에는 이렇게 썼지만, 사실 리더란 자리가 많이 외롭습니다. 팔로워의 자리 역시 많은 고충이 있는 것을 알기에 리더의 외로움은 2순위로 생각하고 있습니다.그래도 가끔은 리더도 찡찡거리고 싶을 때가 있겠지요. 그런 의미로 조만간 <초보 창업가들을 위한 찡찡이의 날>을 한 번 만들어 볼까 합니다.#퇴사학교 #고민 #성장 #초기창업 #창업자 #스타트업 #스타트업창업
조회수 1536

피키캐스트의 자타공인 패셔니스타, 핏터팬 루이

안녕하세요, 매력 넘치는 옐로피플을 발굴해 소개하는 Y의 옐플 인터뷰, 그 19번째 이야기! 이번 주인공은 바로 오늘로 피키캐스트 입사 2주년을 맞은 ‘핏터팬’, 루이입니다:) 꼬꼬마 인턴시절 겪었던 이불킥 흑역사부터 잊을 수 없는 라이브 방송사고까지! 루이의 솔직 담백한 이야기, 지금 시작합니다:)안녕하세요! 옐블 독자들을 위해 간략한 자기소개 부탁 드립니다:)안녕하세요, 여러분! 저는 핏터팬 계정을 운영하고 있는 ‘루이’라고 합니다! 요즘에는 v커머스셀에서 라이브 콘텐츠를 담당하고 있어요:) V커머스셀이라! 정확히 어떤 일을 하는 건가요?V커머스는, 2017년 소비트렌드중 하나인 신조어인데요, Video와 Commerce를 결합한 것이라고 보시면 됩니다. 홈쇼핑과 비슷하긴 한데, 홈쇼핑에 비해 짧게 제작이 되고 TV가 아닌 SNS채널을 통해 유통된다는 점이 다르죠. 저는 V커머스셀에서 라이브커머스 콘텐츠 기획과 제작을 담당하고 있습니다. 피키와는 어떻게 인연이 닿게 되었나요? 제가 오늘로 딱!! 2주년이 됩니다:) 제작년 7월 20일에 썸머인턴으로 입사 했으니까요. 입사하고 나서 알게 된 거지만 당시 경쟁력이 360대 1로 엄청났더라고요. 피키캐스트가 다들 꿈의 직장이라고 하잖아요. 저도 졸업 후 즐겁고 재미있게 일할 수 있는 직장을 찾다가 뭔가에 홀린 듯 피키캐스트 썸머인턴으로 지원하게 됐습니다:) 와! 2주년 축하드려요!! 사실 이게 2주년 기념 인터뷰입니다(몰랐음)입사 후에는 어땠나요? 정말 꿈의 직장인가요? 사실 이상과 현실이 정확히 일치할 수는 없죠. 여기도 성과를 내야하는 직장이니까요. 그래도 정말 직원들끼리 친구처럼 친하게 지내고 있어서 회사 오는게 즐거울 때가 더 많아요. 또 개방적이고 수평적인 구조이다 보니 아이디어가 더 쉽게 나오고 의견 어필할 때도 눈치보지 않죠. 이런 환경에서 2년을 일하다 보니, 저희들끼리는 농담으로 그 어떤 회사로 이직을 하더라도 이런 분위기를 다시 만나기는 쉽지 않을 거라 얘기해요.피키캐스트 입사 이후 가장 기억에 남는 에피소드는 무엇인가요? 정말 잊지못할 흑역사가 있죠… 갓 입사했을 때 피키 전체 임직원들이 일주일에 한번씩 모이는 ‘피키홀’이 있었어요. 신입은 첫 피키홀에서 장기자랑을 해야한다고 하길래, 정말 열심히 준비해서 혼신을 다해 백여명 앞에서 춤을 췄어요. 알고 보니 그게 몰카였더라고요…(주륵)ㅋㅋㅋㅋㅋ그럼 당하신거네요? 동기들도 함께 당한건가요? 아뇨… 썸머인턴 동기가 뷰신, 알리, 저 이렇게 세명인데, 저 혼자만 당했어요. 아직도 그때를 생각하면 자다가도 이불킥을 한답니다.이불킥 흑역사ㅋㅋ라이브 방송을 진행하다 보면 재미있는 일들이 많이 일어날 것 같아요! 정말 많은 일들이 일어나죠… 그냥 영상 콘텐츠면 컷과 편집이 가능한데, 라이브는 순간순간이 그대로 방송으로 나가게 되잖아요. 실수를 하면 바로 방송사고로 이어지는 거죠. 방송사고도 나름의 재미일 것 같아요! 어떤 방송이 기억에 남으세요?  얼마전에 춘리와 달심이 나와서 최근 핫한 피젯스피너를 판매한 적이 있습니다. 동네형답게 휘몰아 치면서 꿀잼 방송을 이어갔는데요, 그 피젯스피너가 ‘국산’임을 강조했죠. 근데 알고 보니 그 제품이 ‘메이드인 차이나’였던 거예요. 진짜 그때는 등줄기에 식은땀이 다 나더라고요ㅠㅠ 결국 춘리와 달심이 몽둥이로 엉덩이 한대 씩 맞고 ‘대핔플 사과’를 하며 마무리했어요. 당시에는 아찔했지만 지금 돌이켜보면 나름 재미있는 추억인 것 같아요. 가끔 라이브 콘텐츠에 직접 출연도 하시던데, 주위 반응은 어떤가요? 저는 보통 커머스 라이브 콘텐츠에 나가서 자잘한 도움을 드리고 있어요:) 세수를 해야 하면 대야에 물을 받아 주고, 제모크림 판매를 위해 실험대상이 되어 주기도 합니다. 제가 너무 당한다고(?) 생각하셔서 그런지 많이들 안쓰러워 하시더라고요. 저… 저는 괜찮습니다, 여러분(ㅠㅠ) 특별한 취미가 있나요? 라이브콘텐츠를 담당하기 전에 ‘핏터팬’이라는 패션 관련 계정을 운영했습니다. 그만큼 패션에 대한 관심이 많아요. 지난 3월에는 뷰신을 제가 직접 스타일링해서 서울 패션 위크에 참여해서 콘텐츠로도 만들었어요. 정말 많은 사람들의 관심을 받았고 취재진들이 사진도 많이 찍어주셔서 뿌듯했어요:)루이의 금손을 거친 뷰신의 패션이날 패션위크에 참여한 또 다른 에디터가 있다고 들었어요ㅋㅋㅋ달심도 함께 갔죠. 핔플들이 말하는 대로 입고 패션위크에 가겠다는 이벤트 무리수를 던졌는데…  정말 달심 외엔 그 누구도 소화할 수 없는 미션이었습니다. 설명은 생략하고 사진으로 보시죠. 안본 눈 삽니다달심이라서 가능했던 미션!피키와 함께 하며 좋은 점은 무엇인가요? 우선 편하게 아이디어를 낼 수 있는 회사입니다. 콘텐츠를 만들어 내는 업이다 보니 ‘새로운 것, 재미있는 것’을 만들어야 한다는 부담감을 가지고 있는데, 거기에 다른 제약이 들어온다면 정말 힘들 것 같아요. 피키캐스트는 누구의 눈치도 보지 않고 제 의견을 자유롭게 얘기할 수 있어서 정말 좋습니다! 또 돌+I들이 모여 있다 보니 생각없이 던진 아이디어도 재미있는 콘텐츠로 탄생하기도 해요.지금까지 만들었던 콘텐츠 중 가장 기억에 남는 콘텐츠가 있다면? 꼬꼬마 인턴시절에 앤 해서웨이가 나온 ‘인턴’이라는 영화가 개봉했어요. 영화팀에서 ‘인턴’ 영화 홍보를 저희 인턴 세명이 진행했으면 좋겠다는 의견을 주셔서 저희 셋이 홍보 콘텐츠에 출연하게 됐죠. 무려 워너브라더스 코리아를 방문하고 오기도 했어요. 이때만 해도 에디터들이 얼굴을 공개 하지 않던 시절이라, 영상 보시면 얼굴은 다 편집되어 있어요ㅋㅋㅋ 당시 피키 베이비들이 콘텐츠가 특별한 이유가 있나요? 이게 피키캐스트의 첫!! 광고 콘텐츠예요. 그래서 더 저에게 의미가 있는 것 같아요. 또 인턴십이 거의 끝날 무렵 제의가 들어왔는데 정말 타이밍도 잘 맞았었던 것 같아요:)벌써 2017년 상반기가 지나갔어요! 올해 안에 이루고 싶은 것이 있나요? 아마 전국 직장인들의 고민거리일 텐데요, 피키에서 2년 동안 컴퓨터 앞에만 앉아 있다 보니 살이 입사 전에 비해 5~6kg이나 쪘어요ㅠㅠ 앞으로 남은 6개월동안 열심히 다이어트를 해서 입사 전 모습으로 돌아가려 합니다! 피키 여러분 저 살 좀 빼게 도와주세요ㅠㅠ!마지막으로 앞으로 어떤 일을 해보고 싶으세요? 원래 패션 쪽이 제 분야였는데, 지금은 집중해야 할 방향이 살짝 달라져서 라이브를 맡고 있습니다. 우선은 라이브를 안정화 시킨 후에 다시 패션 쪽 콘텐츠를 만들어 보고 싶어요. 피키캐스트에 패션 콘텐츠를 꾸준히 내보내는 것이 제 목표입니다! 그러기 위해 앞으로도 꾸준히 노력하는 루이 되겠습니다:) 피키 사랑합니다!
조회수 1776

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

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

PHP Codeigniter 환경에서 VUE 사용해보기

Overview이번에는 PHP Codeigniter 기반의 서비스에 VUE를 적용시키려고 고민했던 것들을 나누려고 합니다. VUE JS는 가상 DOM을 활용하여 실시간으로 반응 컴포넌트를 제작할 수 있는 프레임워크입니다. 또한, VUE-ROUTER 및 VUEX라는 컴페니언 라이브러리를 통해 url 라우팅 및 전역상태를 관리하기에도 탁월하죠. VUE와 다른 프레임워크와의 비교 부분은 여기를 참고해주세요. 브랜디의 관리자 서비스는 PHP Codeigniter 프레임워크로 제작되었습니다. 하지만 관리자 서비스의 규모가 점점 커지고 기능이 다양해지면서 “자주 사용하는 기능을 묶어 컴포넌트화하자!”라는 숙제가 남아 있었죠. 요즘 잠깐의 여유가 생겨 이때다 싶었습니다. 관리자 서비스에 VUE를 도입하기 위한 시도를 시작했는데요. 얼마 지나지 않아 문제점에 봉착했습니다. 바로 IE9.0…. 개발자의 숙적 IE가 또 한 번 발목을 잡았습니다. 임포트가 되지 않아….VUE를 좀 더 편리하게 사용하려면 JS의 모듈화가 필요했지만, ES2015에서는 import 혹은 require 구문을 지원하지 않아 불편하고, arrow 함수 또한 사용할 수 없습니다. 게다가 VUE의 JAX 탬플릿 구문을 사용할 수도 없었죠!! 뭔가 배보다 배꼽이 더 커질 것 같은 조짐이 보였습니다.결국 Webpack의 도움 없이 VUE를 적용하려던 시도는 여러 가지 난관을 만났고, Codeigniter 프로젝트 내부에서 Webpack을 사용하는 방법을 연구하기 시작했습니다. Webpack은 모듈 번들러입니다. Webpack의 메인 페이지를 방문하면 아래 네 개의 슬로건이 빙글빙글 돕니다.Bundle your scriptsBundle your imagesBundle your stylesBundle your assets아래의 이미지는 Webpack이 무엇을 하는 녀석인지 잘 설명해줍니다.Webpack은 실제로 번들러라고 광고하는것 처럼 Only Webpack 빌드만으로는 소스 파일들을 모아줍니다. 만약 webpack-dev-server로 실행하면 websocket을 통해 소스가 변경됐을 때 실시간으로 화면을 갱신해주는 개발 툴 제공 정도의 역할 밖에 없습니다. (…충분히 훌륭하잖아?)대부분의 기능은 엄청난 확장성을 가진 webpack의 설정으로 모듈로서 작동할 수 있죠. 예를 들면 Babel은 우리의 발목을 잡았던 IE를 위해 ES6로 작성된 js 문법을 IE에서 사용할 수 있는 ES5문법으로 너무나 쉽게 트랜스컴파일할 수 있습니다.하지만… 관리자 서비스는 위에서 언급했듯이 Codeigniter 기반입니다. 따라서 완벽히 VUE와 API서버를 분리하려면 로그인, 메뉴구성, 헤더, 푸터 등 PHP 기반으로 제작된 모든 기능들과 인증 등 기존 방식을 전부 새로 만들어야만 VUE를 온전히 사용할 수 있습니다.문제점들을 모두 해결하고 넘어가기엔 여유가 부족하기 때문에 조금씩 적용하자고 생각했습니다. 덕분에 webpack-dev-server의 실시간 소스 반영 기능을 포기해야만 했죠.(눈물) 우리의 서버는 node기반이 아닌 apache-php 기반이었기 때문입니다.자, 그럼 Codeigniter 프로잭트 하위에 웹팩을 포함시켜 Hello World까지 가는 짧은(?)여정을 시작해봅시다.Hello world로 가는 여정Node, npm 설치맥에서도 유사한 명령어로 제작할 수 있도록 CMD 위주로 진행하겠습니다. 먼저, 여기를 클릭해 Node를 설치합시다. 8.11.3 LTS버전으로 진행했습니다.맥에서는 Homebrew를 통해 간편하게~brew install node 설치 확인npm 잘 설치되었네요.web pack 폴더 생성 및 이동mkdir webpack cd webpack nom init으로 초기화npm init webpack, vue, babel 설치npm install -D webpack webpack-cli webpack-dev-server npm install -D vue-loader vue-template-compiler npm install -D babel-core babel-loader babel-preset-es2015 여기서 VUE는 설치하지 않습니다! 왜냐하면 VUE.js는 로딩만 하면 되고 필요하지 않습니다! (읭?) VUE는 Codeigniter view에서도 사용해야 하기 때문에 해당 view에서 import 해줍니다. 따라서 VUE 컴포넌트가 들어가는 시점에는 이미 전역에 vue.js 가 있습니다. 따라서 굳이 각 모듈마다 VUE를 import 했다가 webpack 설정에서 다시 vue.js를 제외할 필요는 없습니다.VUE와 template 태그를 로딩할 수 있는 로더도 설치하고, 트랜스컴파일을 위한 바벨, IE9를 지원하기 위한 es2015프리셋도 함께 설치합니다.webpack 빌드명령어 package.json의 script부분에 추가"scripts": { "build": "webpack --mode production", "build-dev": "webpack --mode development",   } 이제 VUE를 빌드할 명령어를 작성합니다. 위처럼 두 가지 명령어를 제작해두면, 추후 env를 통해 webpack.config.js를 분기시켜 원하는 환경으로 빌드할 수 있습니다. 또한 production 모드로 빌드할 땐 자동으로 옵티마이저 - uglify 내장 플러그인이 적용되어 익숙한 min.js형태로 빌드되며 development를 빌드할 땐 사람이 알아볼 수 있는 형태로 빌드되고, debugger 코드 또한 살아있습니다.weboack.config.js 작성const { VueLoaderPlugin } = require('vue-loader'); module.exports = {   entry: {     HelloWorld: './src/main.js'   },    module: {     rules: [       {         test: /\.vue$/,         loader: 'vue-loader',       },       {         test: /\.js$/,         loader: 'babel-loader',       }     ]   },    resolve: {     alias: {       'vue$':'vue/dist/vue.esm.js'     }   },    plugins: [     new VueLoaderPlugin()   ]  } webpack.config.js 가 없다면 생성한 후 위와 같이 작성합니다..babelrc 작성{     "presets": ["es2015"] } 테스트용 파일 작성1)main.js 작성import HelloWorld from './HelloWorld.vue' Vue.component('hello-world', HelloWorld); 2)HelloWorld.vue 작성 [removed] export default {   name: 'app',   data: () => {     return {       word1: 'Hello',       word2: 'World'     }   }  } [removed] 테스트 빌드npm run build-dev 빌드를 할 땐 기본적으로 ‘/dist/’ 하위에 소스코드가 떨어집니다. 자, 여기까지 진행하셨다면 폴더 구조는 다음과 같을 것입니다.지금까지 진행한 파일 모습입니다.뷰 컴포넌트가 잘 제작되고 등록되는지 확인하려면 기본 빌드 폴더인 dist 폴더에 Test.html을 작성해 브라우저로 열어봅시다.확인용 html 파일 작성<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>VUE Test</title>     <!-- VUE 플러그인 -->     [removed][removed] </head> <body>                     [removed][removed]     [removed]         new Vue({             el: '#vue'         })     [removed] </body> </html> 잘 나옵니다.정상적으로 VUE가 적용된 것을 확인합니다.코드이그나이터 설치이제 코드이그나이터 프로젝트 내부에서 VUE 컴포넌트를 출력해보기 위해 코드이그나이터 프로젝트를 생성합시다. 먼저 Codeigniter와 XAMPP를 다운로드 받습니다.Codeigniter 받으러 가기XAMPP 받으러 가기프로젝트 폴더 하위에 Codeigniter 프로젝트용 폴더를 생성합니다.mkdir codeigniter-with-vue-webpack cd codeigniter-with-vue-webpack 다운받은 Codeigniter를 해당 폴더에 압축 해제하면 Codeigniter 설치가 끝납니다.XAMPP 설치 및 DocumentRoot 변경XAMPP를 설치하고 DocumentRoot를 테스트 프로젝트 폴더로 설정한 뒤 아파치를 실행합니다.Codeigniter 프로젝트가 생성되었고, 서버 실행이 완료되었습니다. webpack 폴더를 Codeigniter 프로젝트 하위로 이동node-modules는 너무 크기 때문에 기본 파일만 복사하고, npm install로 설치합니다.Codeigniter에서 VUE를 사용하기 위한 webpack dist설정기존의 프로젝트에서 스크립트를 모아두는 폴더 하위로 빌드 결과 파일을 보내기 위하여 webpack 빌드 시 dist 폴더가 아닌 /application/scripts/vue/hello_world 하위로 빌드 결과 파일이 생성되도록 설정합니다.// 기존 module.exports = {   entry: {     HelloWorld: './src/main.js'   },    //... 생략 } // 변경후 module.exports = {   entry: {     '../../application/scripts/vue/hello_world/HelloWorld.js': './src/main.js'   },    //... 생략 } Codeigniter의 load->view 기능을 활용하여 파일 작성1)header.php// application/views/common/header.php <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>VUE Test</title>     <!-- VUE 플러그인 -->     [removed][removed] </head> 2)실제 view// application/views/vue/hello_world/vueTestPage.php <?php $this->load->view( 'common/header' ); ?> <body>                 [removed] [removed]     [removed]         new Vue({             el: '#vue'         })     [removed] </body> <?php $this->load->view( 'common/footer' ); ?> 3)footer.php// application/views/common/footer.php </html> 실제 프로젝트 구성과 유사하게 header, body, footer로 나누어 파일을 작성해봅니다. 실제로는 더 복잡하지만 이 정도만 나누겠습니다.Codeigniter 테스트용 컨트롤러 작성// application/controllers/Vue.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');   class Vue extends CI_Controller {      public function index()     {         $this->load->view('vue/vueTestPage');     }  } 정말 심플(?)한 테스트용 파일 작성이 모두 끝났습니다! 이제 잘 작동하는지 확인해볼까요?코드이그나이터에서 helloworld 출력짜잔이번엔 문제의 IE에서 확인해봅시다.IE9.0 환경에서 확인IE에서도 무사히 출력되는군요. 이제 코드이그나이터 환경의 프로젝트에서도 IE까지 지원하며 무사히 VUE를 사용할 수 있게 되었습니다! (시간이 없어서 가상머신에 IE9가 설치된 윈도우7까지 테스트하진 못했습니다!) 모든 작업이 완료한 후, 파일 폴더 구조는 아래와 같습니다.붉은 네모 부분이 실제로 제작하거나 수정한 파일들입니다.Conclusion여기까지가 Codeigniter 프래임워크 환경에서 webpack + vue를 사용하기 위한 웹팩의 설정 과정 및 테스트 결과였습니다. php 서버를 사용해야 하기 때문에 webpack-dev-server의 핫리로드 기능을 사용하지 못하는 건 매우 안타까운 일입니다. 하지만 짧은 시간에 신기술을 도입하면서도 수많은 리스크를 회피할 수 있다는 건 나쁘지 않은 선택이라 생각합니다.위의 웹팩설정을 조금만 활용한다면 다른 프레임워크 프로젝트에서도 무리없이 VUE를 사용할 수 있을 겁니다! 비슷한 고민을 하셨던 개발자님들… 집에 가기 전 말고 오전에 Webpack을 설치해보세요. 안 그러면 저처럼 집에 못갈 수도 있으니까요!참고.gitignore 작성, index.php 제거 등은 내용에 포함하지 않았으며, 아래의 링크로 자세히 알 수 있음.Codeigniter index.php 없애기글강원우 과장 | R&D 개발2팀kangww@brandi.co.kr브랜디, 오직 예쁜 옷만 #브랜디 #개발자 #개발팀 #인사이트 #경험공유 #PHP
조회수 2161

KBS 신입사원 입사후기 - [이은주] 이유 있는 자신감(예능, 드라마 PD 편)

‘일단 된다고 믿어라. 그리고 되게 하는 방법을 찾아 실행하라’ 서류, 필기, 최종에서 몇 번씩 탈락한 후 헛헛한 마음으로 찾은 서점. 겉으로는 짐짓 괜찮은 척하면서 속으로는 어린아이같이 펑펑 울고 있을 때, 눈물 쏙 들어가도록 제 뒤통수를 가격한 글귀였습니다. 지금 생각해보면 저는, 저를 위하는 따뜻한 배려의 말과 위로의 말보다는 ‘아직 준비가 덜 된 거다.’ 라든가 ‘울지 말고 앞으로 어떻게 할지 먼저 생각하라.’라는 냉정한 평가와 따끔한 충고의 말로부터 다시 시작하는 힘을 얻었던 것 같습니다. 그럼에도 저는, 지금 PD를 꿈꾸는 다른 사람들에게 감히 이렇게 말할 수가 없습니다. 각 전형을 준비할 때마다 항상 다른 사람들로부터 배우는 입장이었기에, 제가 그들보다 더 뛰어나서 합격한 것이 아니라는 점을 잘 알고 있기 때문입니다. 그래도 제 글을 읽어주는 사람들에게 조금이나마 도움이 되면 좋겠다는 생각으로, 제가 찾은 ‘되게 하는 방법’을 조심스레 전해보고자 합니다. 제게 ‘되게 하는’ 공통된 방법은 사람을 찾는 것이었습니다. 솔직하게 쓰면 된다는 말만 믿고 패기 넘치게 써낸 자소서가 우수수 떨어지는 대참사를 겪고 난 후, 서류전형을 항상 통과하는 사람들을 먼저 찾았습니다. 잘 쓰인 자소서 대여섯 개를 꼼꼼하게 읽고 나니 저절로 좋은 자소서가 어떤 것인지 감을 잡을 수 있었습니다. 그렇게 수십 번 수정해 나가면서, 말은 쉬워도 쓰기는 어렵다는 ‘지원동기와 경험이 녹아 있는 자소서’를 얼추 완성해낼 수 있었습니다. 아무 경험 없이 준비하게 된 필기 전형과 처음 주어진 면접 전형에서도 제게 큰 도움이 된 건 사람들이었습니다. 남들에게 보여주기 부끄러운 글이지만 스터디원들에게, 가족들에게, 친구들에게, 현업 PD분들에게 보여드리고 사람들의 의견을 물었습니다. 기획안 아이디어가 떠오르지 않아서 머리가 지끈지끈할 때는 사람들을 만나 요즘 무엇에 관심이 있는지 열심히 들었고, 같이 웃고 떠드는 중에 번뜩 생각이 떠오르면 그때그때 메모해두었습니다. 언젠가 술자리에서 막역한 친구들에게 기획안을 들려주고 팩트폭력의 신랄한 피드백을 받았을 때도, 서운한 마음을 뒤로하고 피드백 하나하나를 소중히 적어 둔 기억이 납니다. 초행길을 떠나는 초짜 언시생이었지만, 먼저 길을 떠나본 경험이 있는 사람들을 찾아 도움을 받으며 최종 면접의 기회를 얻었습니다. ‘나라면 이런 거 물어볼 것 같아’라는 친구들의 도움과, ‘너라는 사람과 현재 방송국의 고민에 대해 생각해 봐’라고 조언해 주신 현업 PD님들, ‘저 면접 볼 때는 이런 걸 물어봤었어요’라며 도와준 스터디원들. 그 모든 질문을 모아서 저만의 생각을 정리했습니다. 모든 방면에서 깊게 생각해보니, 면접장에서 예상하지 못했던 질문을 받아도 솔직하고 자연스럽게 제 생각을 전할 수 있었습니다. 이제야 왜 일분일초가 소중한 연말 시상식 수상소감에서 고마운 사람들을 읊느라 대부분의 시간을 쓰는지 알 것 같습니다. 심장이 터질 것 같은 두근거림에 온종일 볼이 빨갛게 상기되어있었던 최종 발표일의 그 날, 저도 고마운 사람들에게 감사 메시지를 보내며 긴 저녁 시간을 보냈으니까요.아무것도 몰랐던 제가 KBS에 입사할 수 있게 되었던 것은, 처음의 근거 없는 자신감을, 저만의 방법을 찾아 행동하면서 이유 있는 자신감으로 조금씩 만들어 왔기 때문이 아닐까 생각합니다. 제게는 그 열쇠가 사람들이었던 것처럼, 누군가에게는 책이, 누군가에게는 현장에서의 경험이, 누군가에게는 깊게 생각해보는 혼자만의 시간이 그 열쇠일 수 있습니다. 그 방법이 무엇이든, 나만의 방법을 찾아 실행해 나가세요. 이유 있는 자신감과 열정을 가진 여러분을 KBS는 분명히 알아줄 것입니다.#한국방송공사 #KBS #KBS신입공채 #KBS채용 #신입사원후기

기업문화 엿볼 때, 더팀스

로그인

/