'JavaScript'에 해당되는 글 2건

  1. 2017.08.20 한빛미디어 / 러닝자바스크립트 (learning javascript)
  2. 2013.10.07 grunt


개인적으로는 스칼라나 하스켈 못지 않게 어려운 (그리고 생각과는 많이 다른) 언어가 자바스크립트인 것 같다. 그 난해함에 추가되는 문제는 생태계가 가장 빠르게 변화하는 언어라 단순히 언어 스펙을 공부하는 것만으로는 충분하지 못하다는 것이다. 이 책은 이러한 문제를 조금은 해결 할 수 있는 책이 아닌가 생각이 된다.

프로그래밍을 전혀 모르는 사람에게는 의미 없는 책이지만, ES3 부터 자바스크립트를 사용한 개발자나, 다시 한번 ES6 수준에서 알고 있는 지식을 정리하려는 사람들에게 추천할 만한 내용을 가지고 있다.

예를 들면 "30"* 3 = 90 이 나온다던가 let a = [1,2,3,] 처럼 마지막 콤마를 허용한다는 것 같은 것... 
arrow function 에서 this나 arguments가 펑션과 좀 다른다는 것은 제대로 정리가 안된다면 매번 헷갈려 하는 이슈 들이다. (물론 "30"*3 처럼 난해한 표현식을 추천하는 것은 아니다)


책을 쭈욱 읽어가면서  이 책의 장점을 정리해 보았다.

1. 30페이지 정도 나뉜 챕터들은 주제가 명확히 분리되어 있고, 그 안에서는 원리/이론 - 기초 - 심화로 이어진다. 처음부터 읽어가지 않아도 필요한 부분만 참고할 수 있다.

2. 중간중간 NOTE 도 도움이 되고, 챕터별 마지막 요약은 한 번 리마인드 할 수 있는 기회를 줬다.

3. 책의 내용뿐 아니라 번역 역시 책의 퀄리티를 결정하는 중요한 요소인데 (개인적으로는 ) 만족스러웠고, 단어 옆에 원래 영어단어가 충분히 표현되어 있어서 헷갈림이 없었다.   


본문 중 일부분


하지만  책의 본래 목적이기도 하지만 타겟 독자층이 애매하지 않나 생각이 들었고,  책 내용적으로는 ES6 부분은 별도 표시를 해 줬더라면 좋지 않았을 까 해본다.  

6개월전 Vue.js를 운영툴에 적용한 이후, Java와 Kotlin, Scala로만 프로젝트를 진행하고 있었는데, 이 책을 한번 읽음으로서 다시 한번 자바스크립트를 복습 할 수 있는 좋은 기회가 되었다. 

신고

grunt

app/webapp 2013.10.07 10:03 posted by dev.bistro

angularjs 를 시작하다 보니, 기존에 server-side에서와는 많이 다른 tool들이 보인다. 하나씩 정리가 필요한거 같아서, 필요할 때마다 작성하는 걸로.


yeoman은 yo, bower, grunt 로 이루어져있다. 이 중에서 grunt 는  ant, gradle 의 포지션을 가지고 있는 'task runner'이다. 쉽게 빌드 툴이라고 생각하자. (추가적으로 템플릿 제공등을 한다)


#1. 설치 : 맥에서 설치에 큰 어려움은 없다.    npm을 이용해 global로 설치를 하자.

참고 : http://gruntjs.com/getting-started


#2. 프로젝트 생성
maven : pom.xml 이나 gradle 의 build.gradle 처럼 grunt 는 Gruntfile.js를 근간으로 하고 있다. 하지만 얘를 바로 만들기는 어려우니 템플릿을 한번 이용해 보는걸로 시작하자.

참고 : http://gruntjs.com/project-scaffolding

grunt-init는 기본 프로젝트의 뼈대를 쉽게 만들어 주는 템플릿 cli이다.  역시 npm을 설치하고 grunt-init --help을 쳐보면 vailable templates 이 하나도 없다고 한다. 위의 참고 링크를 조금만 내려보면 기본 템플릿의 종류가 설치 방법을 확인 할 수 있다.

참고 :  http://gruntjs.com/project-scaffolding#installing-templates

방법은  github를 ~/.grunt-init으로 clone하는 방법으로 이루어진다.  해서 commonjs, jquery 를 clone해온다.
이후 grunt-init을 보면 사용가능한 템플릿 리스트에 표시가 된다.


프로젝트 폴더를 하나 생성하고 grunt-init commons를 이용하여 생성해본다.


몇가지 물음에 대답하면 해당 데이터를 기반으로 몇몇 파일을 만들어 주며 common-js 템플릿의 기본 뼈대 ( https://github.com/gruntjs/grunt-init-commonjs-sample/tree/generated ) 를 기반으로 프로젝트 구조를 생성해주는 것~

이렇게 생성되는 파일 리스트 중에는 '.gitignore / .jshintrc' 처럼 부가적인 파일도 있지만 제일 중요한건 Gruntfile.js 이다. 이 안에는 task들이 정의되어 있는데

"grunt --help"를 입력하면


실행 가능한 task list가나오고 그냥 "grunt"를 입력하면 default 인 
grunt.registerTask('default', ['jshint', 'qunit', 'clean', 'concat', 'uglify']); 가 실행이 된다.
(이 내용은 Gruntfile.js 제일 하단에서 발견 할 수 있을 것이다)



혹시나 grunt를 실행했는데 

Fatal error: Unable to find local grunt.

이딴식으로 나오면 " npm install " 을 한번 실행해주자.

grunt 0.4 부터 contrib 의존 node_module들이 프로젝트 하위로 들어가는거 같은데... 없어서 그렇다. 실제로 npm install을 실행해보면     node_modules이 생성되고 안에 머머가 생기는걸 확인 할 수 있다


신고

'app > webapp' 카테고리의 다른 글

grunt  (0) 2013.10.07


티스토리 툴바