QUnit으로 브라우저, 노드 통합 유닛테스트 환경 구축하기

작업하는 몇몇 소스가 브라우저에서도 사용이 되고, 노드(혹은 io.js도 가능할 듯.)에서도 사용이 됩니다. 통합된 환경에서 어떻게 하면 유닛테스트를 할 수 있을까 고민을 해보았습니다. 그러던 중 QUnit이라는 도구가 눈에 띄었습니다. qunitjs.com 간단히 얘기하자면 jQuery팀에서 사용하는 테스트 도구입니다. 기존에 하는 유닛테스트와 가장 유사한...

Git가지고 놀기(3) - 파일 영원히 지우기.

회사에서 사용중인 패키지에 composer를 기반으로 작성된 패키지가 있는데 초반에 실수로 vendor디렉토리를 commit을 해버려서 쓸대없이 용량이 커져버렸습니다. (여기서 vendor는 npm에서 node_modules, bower에서는 bower_modules 등으로 매칭해서 볼 수 있을 겁니다.) 즉, 올려도 되지 않아도 되는 파일들을 몽창 올리고 오랜 시간동안 유지를 해왔던...

Docker 시작하기.

NHN D2 Fest에서도 들었고, 주변에서도 이야기만 많이 들은 Docker. 대략적인 개념은 알고있고 여튼 서버 관리하기가 편해진다는 말에 시작해보기로 했습니다. 굳이 이 블로그 글에서 이것저것 이야기 하는 것보다 더 자세히 잘나와있는 사이트를 하나 소개합니다. “가장 빨리 만나는 Docker”라는 책이 시중에 나와있습니다....

Ubuntu를 업그레이드 해보자

모든 블로그 정보를 Github으로 이주하고 나니 기존에 블로그를 돌리던 서버가 놀게 되었습니다. 뭐 겸사겸사 이번 기회에 리눅스 공부용으로 제대로 가지고 놀아보려고 합니다. 일단 기존 설치되어있는 버전의 리눅스는 12.04였는데 매번 서버에 접속할때마다 새로운 Ubuntu로 업데이트 하라고 경고가 떴었던 것이 기억났습니다. 새...

Ghost에서 Jekyll로 이사하기(2) - Code Highlighter 설치

이전 Ghost 블로그에서는 그냥 Google Prettify를 사용해서 쉽게 해결했었습니다. 그런데 Jekyll에서는, 그리고 Github에서 호스팅하는 환경에서는 이부분의 제약이 좀 있었습니다. Jekyll에서 사용하는 마크다운 툴은 크게 두가지입니다. redcarpet과 kramdown이었습니다. 사실 코드를 블로그에 작성하지 않으면 크게 문제는 없습니다만.. 코드를 작성해야해서 Code Syntax Highlighter는...

Ghost에서 Jekyll로 이사하기(1) - 글 가져오기

블로그 글을 몇차례나 날리고 블로그 포스팅을 버전관리를 해야겠다고 생각을 했었습니다. 그러던 중 Jekyll이라는 블로그 툴을 발견하였습니다. “이것이 바로 개발자 블로깅 도구구나!” 라는 확신에 일단 이전 블로그 글들을 하나씩 이전을 하게 되었습니다. 근데 옮겨야 하는 글이 대충 80개 정도 였습니다. 일일이...

Zeros in PHP

해당 포스팅은 과거 2013년 11월 28일에 작성된 포스팅에 부가 설명을 첨부한 포스팅입니다. 작성할 당시 Zeros in Javascript를 보고난 후 PHP에서는 어떻게 작동할지 궁금해서 작성했었습니다. 다양한 값의 비교 PHP 코드를 짜다가 null과 0, 그리고 공백문자 empty(), isset() 등등을 자유자재로 쓰기 위해...

Composer classmap을 이용한 성능향상

요즘 ModerPHP User Group (이하 PUG)에서 Composer 완전정복이라는 주제로 스터디를 진행하는게 있습니다. 각자 자기가 공부한 내용을 발표하던 중 눈에 띄는 옵션이 있었습니다. 바로 --optimize-autoloader (-o)라는 옵션입니다. 설명을 보면 Convert PSR-0/4 autoloading to classmap to get a faster autoloader. This is...

JS 꼴랑이거(1) - Submit 이벤트 완전히 막기!

오늘 갑자기 프로그램을 처리하다가 재밌는 아이디어가 떠올라서 바로 급하게 적어봅니다. 이미 누군가는 사용하고 있을수도 있고, 어디선가 기본으로 사용할 수도 있는 작~~~은 팁입니다. (소심) 보통 jQuery를 통해서 form의 submit이벤트를 바인드해서 사용하고 마지막에 이벤트 발생을 막기 위해서 return false;를 많이 사용할 것입니다....

HTML 파일 기본 구조

웹사이트에서 View를 작업할 때 매번 복사 붙여넣기하는 기본 양식이 있습니다. <html></html> 바로 이 녀석말입니다. 스켈레톤이라고 하면 맞는 표현일까요? :) 매 프로젝트마다 붙여넣기 할 때마다 매번 고민하는 문제입니다. 성능이 지장이 가지는 않는지, 옛날 브라우저에서 이상하게 동작을 하지는 않는지 말입니다. 과연 어떻게...