Tech/JavaScript2015.06.05 18:07

기존에 Xinics에서는 HTML5 Javascript 어플리케이션 배포를 위해 빌드 시 Ant 스크립트를 사용해 왔었습니다. Ant 스크립트로 Javascript 빌드를 할 때의 여러 가지 한계와 불편한 점으로 인해 대안을 조사하였습니다. 그 일환으로 Grunt에 대해 조사한 내용을 공유합니다.

1. Grunt란? 

Grunt는 Javascript를 사용한 Task Runner입니다. 즉 반복적인 작업을 스크립트를 통해서 한 번에 수행하게 해주는 자동화 도구입니다. Javascript 앱 빌드의 경우에는 여러 가지 JS 및 CSS 파일을 하나로 합치고 minify 하며 또 어떤 파일은 배포 폴더로 복사하고 하는 과정들을 스크립트를 작성하여 한 줄의 명령어를 통해 자동화시킬 수 있습니다. Makefile, Ant 등의 Javascript 버전이라고 볼 수 있습니다. Grunt와 Grunt 플러그인들은 npm(Node.js Package Manager)을 통해 설치되고 관리됩니다. 즉 Node.js 모듈입니다. 자세한 내용은 공식 웹사이트에서 확인하실 수 있습니다.


2. Grunt의 장점

1. Javascript/Node.js 기반의 빌드 툴이다.

Javascript 및 Node.js는 활발하게 유지 보수되며 성장하고 있는 언어 및 플랫폼입니다. 따라서 안정성 및 전망에서 많은 기대를 할 수 있습니다. 


2. Javascript 어플리케이션에서 사용되는 다양한 기능들을 안정적인 플러그인으로 제공한다.

jshint, minify, uglify, less 등 Javascript 어플리케이션에서 주로 사용되는 대부분 기능을 플러그인으로 제공하고 있습니다. 또한, Ant보다 안정적입니다. 플러그인의 안정성과 관련하여 Xinics에서 Ant를 사용하는 동안은 몇 가지 문제점이 있었습니다. Ant 스크립트에서 Javascript minify를 위해 사용하는 Yui Compressor 최신 버전( 2.4.8 )은 Window 환경에서 PATH 문제로 인해 기본 동작을 하지 않는 이슈가 있었습니다.또한 Ant 스크립트에서 jshint를 지원하는 라이브러리 ant-jshint 는 더이상 진행되고 있지 않습니다(!)


3. 작성 및 유지보수가 쉬운 빌드 스크립트를 제공한다.

간단하고 직관적인 설정 및 빌드 스크립트를 제공합니다. 또한, Javascript 언어 기반으로 되어 있기에 만약 플러그인이 지원하지 않는 기능에 대해서는 직접 소스코드를 통해서 구현할 수 있다는 유연성도 가지고 있습니다. Ant 등의 다른 빌드 툴에 비해 어느 정도 간결한지는 아래 나타나 있습니다.


출처 : Whe We Use Node.js and Grunt to Build Javascript

4. 커뮤니티가 크고 활발하다.

Grunt 외에도 Node.js 기반으로 빌드하는 방식은 Gulp를 사용하는 방식과 npm 스크립트를 사용하는 방식이 있습니다. 앞서 거론한 장점들은 이 방식들도 가지고 있습니다. 그래서 Grunt, Gulp, npm 스크립트 중 어떤 것이 좋은지에 대해 다양한 의견이 있습니다. 자세한 내용은 아래 포스트들에서 살펴보실 수 있습니다.

The Battle of Build Scripts: Gulp vs Grunt
Why We should stop using Grunt & Gulp

그러나 Grunt가 확실히 장점을 가지는 부분은 가장 커뮤니티가 넓고 활발하다는 점입니다. 다양한 플러그인들이 개발되었고 많은 사용자층이 있으며 유지보수 및 업데이트가 잘 진행되고 있습니다. 또한, jQuery, Wordpress, Twitter 등 유명 라이브러리 및 플랫폼에서 빌드를 위해 Grunt를 사용한다는 것 또한 신뢰를 주는 부분입니다.

P.S 한국어 페이스북 커뮤니티도 있습니다! https://www.facebook.com/groups/gruntjs.kr/


신고

'Tech > JavaScript' 카테고리의 다른 글

Javascript Task Runner : Grunt 의 개요 및 장점  (0) 2015.06.05
Posted by 비둘기야
Xinics 이야기2015.04.17 15:13
최근 자이닉스에서 개발부 신입사원 모집을 했습니다.
자이닉스는 작은 회사이기도 하고 개인을 대상으로 하는 비즈니스를 하지 않아서 아직은 자이닉스라는 회사에 대해서 모르시는 분들이 많다고 생각됩니다. 그래서 그런지 이력서가 산더미처럼 접수되지는 않았지만 덕분에 이력서 하나하나를 꼼꼼히 읽어 볼 수 있는 기회가 생겼습니다.

짧은 문서 하나만으로 그 사람을 온전히 판단하는 것은 불가능 할테지만 '이 분과 같이 일하면 좋겠다.' 라는 생각을 불러일으킬 수 있는 이력서를 기대하고 읽었습니다. 하지만 이력서를 읽으면서 전체적으로 느낀 감상은 '아쉽다' 였습니다.

제가 이번에 이력서를 검토하면서 느낀것을 간단히 풀어보자면

1. 오타는 없애자


오타와 맞춤법 때문에 도저히 읽기 힘든 이력서는 없었지만 그래도 읽다가 눈에 확 띄는 오타가 나오면 신경쓰이는 것은 사실입니다. 자신을 표현하는 이력서에 대한 기본적인 성의라는 측면에서 오타는 없었으면 좋겠습니다.


2. 스토리가 포함된 자기 소개서


'열정적, 성실함, 집중력, 사교성, 책임감, 인내심'
이력서를 보내주신 많은 분들이 비슷한 단어를 통해서 자신을 표현합니다.
분명히 회사에서 같이 일하기에 저런 성격을 가진 사람이 더 선호되겠지요. 

하지만 비슷비슷한 단어들 중에서도 저런 성격을 표현할 때 자신이 경험했던 일을 통해 이야기 하듯이 풀어내는 소개서가 인상에 많이 남았습니다. 이력서를 보는 사람에게 내가 이런 사람이라는 것을 알리는 방식으로써 스토리텔링이 도움이 되지 않을까 생각합니다.


3. 무엇을 하고 싶습니까? 이 회사는 자신이 하고 싶은 일을 할 수 있는 회사입니까?


이 회사에 이력서를 내기 전에 자신이 하고 싶은 일을 지원한 회사에서 할 수 있는지, 혹은 자신이 꿈꾸는 것을 이 회사에서 이룰 수 있는지에 대한 고민을 했으면 좋겠습니다.

이력서를 낸 지원자를 채용하는 것은 회사지만, 자신이 앞으로 다닐 회사를 선택하는 것은 스스로의 몫이라고 생각합니다. 그런 선택을 위해서는 지원하기 전에 회사에 대해서 조금이라도 시간을 내서 알아보는 것이 좋지 않을까요? 

물론 회사에서도 자신의 목표가 뚜렷하고 그 목표가 회사의 비전과 비슷한 사람에게 더욱 매력을 느낄테지요.


4. 교육이 100% 실력을 보장하지는 않습니다.


IT 회사에서 개발자 신입사원을 모집하다보니, 입사 지원 전에 교육 기관에서 IT 교육을 받으신 분들이 많았습니다.
하지만 교육 기관에서 습득한 지식이 100% 지원한 회사에 연결된다는 보장은 없습니다. 심지어 지금 회사에서 다루고 있는 분야와 전혀 무관한 분야의 교육을 받으신 분들도 계셨습니다.

신입사원들이 교육 과정에서 배웠길 기대하는 것은 실무에 바로 투여하기 위한 기술이 아니라, 회사에 맞는 새로운 지식을 쌓아나갈 때에 필요한 기초입니다.

예를 들면 교육 과정에서 프로젝트를 진행할 때 팀 단위로 업무를 했을 때 겪었던 문제점과 그 문제점을 해결하기 위한 노력, 프로젝트 내에서 만들어낸 코드의 품질을 높이기 위해서 고민했던 시간같은 것들이 있겠네요.




회사에서는 뭐든 다 할 수 있는 슈퍼맨 같은 신입 개발자를 기대하지는 않습니다.
함께 일하게 되었을 때 커뮤니케이션에 장벽이 없고 회사 업무를 통해 성장할 수 있는 가능성을 가진 사람을 기대합니다. 그리고 무엇보다도 개인의 꿈을 회사에서 같이 키워나갈 수 있는 사람과 함께 일하고 싶습니다.


저작자 표시 비영리 변경 금지
신고
Posted by 자이닉스 일이