원격근무의 필수조건, AWS에 OpenVPN 구축기

17 Nov, 2018 - 5 minutes
근무중인 세븐핀테크는 설립 때부터 리모트 근무에 높은 가치를 두고 실천해오고 있다. 각 멤버는 인천 송도, 천안, 제주에서 근무하고 있다. 세븐핀테크는 주식 고수의 실시간 계좌를 열람하고 거래 알림을 받는 모바일 앱 월스트릿파이터를 개발, 운영하고 있다. 집이나 도서관, 카페 등 본인이 편한 곳에서 근무하기 때문에 모든 사내 리소스는 물리적인 공간에 두지 않으며 클라우드(주로 AWS)에서 운영된다. 그러나 보안 […]

sami-parser 와 개발자의 매너

4 Jun, 2016 - 3 minutes
한국에서는 자막으로 주로 SMI 파일을 사용한다. 이 포맷은 MS 가 만들었고 한국에서는 자주 쓰이지만 전세계적으로 봤을 때는 많이 쓰이지 않는다. 대신 SRT 파일이 많이 사용된다. 그래서 외산 플레이어들이나 디바이스들은 잘 지원하지 않는다. 윈도우 계열에서 손을 뗀지가 벌써 10여년이라, 영상을 즐길 때 SMI 파일들은 항상 스트레스였다. 그래서 만든 프로젝트가 Sami-paser 였다. 일단, SMI 파일들을 제대로 파싱할 […]

슬쩍 떠보는 npm 과 package.json

21 Jul, 2015 - 6 minutes
GruntJS 와 같이 Node.js 로 만들어진 유틸리티들은 npm 을 통해 설치하고 사용하는 것이 쉽고 편리하다. 하지만 Node.js 를 깊이 공부해보려는 목적이 아니라면 굳이 npm 에 대해 깊이 알 필요는 없다. 그런 사람들과 입문자들을 위해 npm 을 통한 패키지의 설치/제거방법과 package.json 에 대해 간단히 알아보려고 한다. npm 는 Node Package Manager 의 약자이다. 보통 npm 은 […]

Google Spreadsheet 로 쉽고 빠른 Backoffice 구축

12 Jul, 2015 - 6 minutes
Google IO Extended Seoul 에 다녀왔다. 나는 C 홀에 있었는데 라이트닝 토크 세션이 있고 그 자리에서 발표신청을 해도 된다길래 즉석해서 “스타트업 개발자의 수고를 줄여주는 GoogleSpreadsheet” 라는 주제로 자료를 만들어 발표했다. 5분은 짧은 시간이었지만 개괄적으로 이야기하기에는 충분한 시간이었다. 세션 후에 적극적으로 질문 해주시는 분들을 보고 나에게만 고민스러웠던 주제가 아니구나 하는 생각을 하게 됐다. 발표자료를 공유하고 더 […]

구형 맥북프로, 연속성 기능 활성화 성공

OSX Yosemite(v10.10) 이 되면서 혁신적이었다고 평가받는 것은 바로 연속성 기능 이다. 이 기능은 맥과 iOS 를 오가며 실행하던 애플리케이션을 끊김없이 실행할 수 있는 기능이다. 현재 가지고 있는 맥북은 Macbook Pro 15” 2011 Early CTO 버전이다. 물론 이미 노쇠했지만 개인적인 사정으로 은퇴하지 못하고 꾸준히 부품을 교체하며 버티고 있다. 하지만 현재 가지고 있는 모델이 연속성 기능이 제대로 […]

중첩된.오브젝트.프로퍼티.가져오기.성공적 = getobject 

TypeError: Cannot read property ‘..’ of undefined 는 매우 흔히 발생하고 오랫동안 개발자를 괴롭혀온 에러다. 이 에러는 오브젝트의 프로퍼티에 접근하려 하는데 그 오브젝트가 undefined 인 경우 발생한다. 즉, 아래 같은 상황이다. > var opt = {}; undefined > opt.a.b.c.d TypeError: Cannot read property ‘b’ of undefined … > 특히 API 연동처럼 외부에서 생성된 오브젝트를 가져와 […]

스타트업, 제품 시장 궁합과 고객찾기 – 사내 그로스 해킹 세미나

재직하고 있는 KStyleTrip 에서 그로스 해킹(Growth Hacking) 관련 세미나를 했다. 그로스 해킹에 대해 위키피디아에서는 이렇게 정의한다. 그로스해킹이란 기술기반 스타트업에서 개발된 마케팅 기법으로 (기존의 것과 다른) 창의적인 방법, 분석적인 사고, 소셜 지표 등을 통해 제품을 노출하고 판매하는 것이다. (Growth hacking is a marketing technique developed by technology startups which uses creativity, analytical thinking, and social metrics […]

Google Chrome 에서 Grunt 사용하기

KStyleTrip 에서는 프론트엔드 영역에서 디자이너와 개발자가 협업하고 있다. 나는 사실 HTML CSS 를 어느 수준으로 다루기는 하지만 퍼블리셔는 아니어서 픽셀 단위의 디테일을 구현하는데는 어려움이 있다. 디자이너는 디자이너 대로 원하는 만큼의 디테일을 구현하기 어려워하는 내 모습을 보기 안타까워 했다. 그래서 현실적인 수준에서 협업을 시작했다. 개발자가 디자인을 보고 큰 덩이에 대해 마크업과 CSS 처리를 하면 디자이너가 원하는 […]

OS X, Case Sensitive 볼륨을 Case Insensitive 볼륨으로 변경하기

최근 들어온 정보에 따르면 El Capitan 에서는 HFS+ 의 Case Sensitive 볼륨을 만들 수 없게 되었다고 합니다. 자세한 사항은 정식버전 출시 후 업데이트 하겠습니다. OS X 디스크 볼륨은 파일의 대소문자를 구분하지 않는(Case Insensitive) 것이 기본값이다. 하지만 주 업무가 리눅스 서버에 설치되는 프로그램들을 만들다보니 가끔 파일 이름에서의 실수가 발생하는 경우가 있었다. 예를들어 파일이름은 foo.json 인데 프로그램에선 […]

Git Merging 과 Rebase 의 상황별 사용법

Git 을 사용하기 시작한지가 벌써 3년이다. 한번은 문상환님하고 Git 의 Merge branch 커밋에 대해 이야기를 한 적이 있다. 대화가 진행될 수록 Rebase 와 Merge 를 머리로만 알고 있을 뿐, 제대로 이해하지 못하단 걸 알게됐다. 일종의 산파법이랄까. Git 에서 코드를 합치는 방법에 대해 탕수육의 뿌먹파와 찍먹파처럼 Rebase 파와 Merging 파가 있다. 나는 Merging 파였다. Rebase 에 […]