2016년 3월 29일 화요일

Grunt - The JavaScript Task Runner

Grunt는 무엇?
  • Javascript를 사용한 Task Runner
  • 반복적인 작업을 스크립트를 통해서 수행하는 자동화 도구
  • 여러 가지 JS 및 CSS 파일을 합치고 최소화, 배포 폴더로 복사하는 과정들을 스크립트를 작성하여 자동화 시킴
  • Grunt와 Grunt 플러그인들은 npm(Node.js Package Manager)을 통해 설치되고 관리
Grunt의 장점
  • Javascript/Node.js 기반의 빌드 툴. Javascript 및 Node.js는 활발하게 유지 보수되며 성장하고 있서 안정성 및 전망에서 많은 기대를 할 수 있음.
  • Javascript 어플리케이션에서 사용되는 다양한 기능들(jshint, minify, uglify, less)을 안정적인 플러그인으로 제공
  • 작성 및 유지보수가 쉬운 빌드 스크립트를 제공
  • 커뮤니티가 크고 활발
설치
  1. nodejs 설치 ( https://nodejs.org/ )
  2. nodejs관련 환경변수 추가
    • PATH -> "nodejs설치 경로"추가 ( C:\Program Files\nodejs\ )
    • NODE_PATH -> "prefix 값 + \node_modules" 추가 ( C:\Users\...\AppData\Roaming\npm\node_modules )
  3. Grunt설치 ( > npm install -g grunt-cli 실행 )

패키징 전 준비해야 할 파일
  • Gruntfile.js : 설정을 위해 사용되거나 Task들을 정의하고 Grunt플러그인들을 읽어들임
  • package.json : 필요한 Grunt플러그인들을 정의하여 "npm install"시 읽어들여 설치함
참고
  • http://xinics.tistory.com/99

2016년 3월 11일 금요일

메모리 캐시 ( Memcached, Redis )

1. Memcached


분산 메모리 캐싱 시스템.
DB에 저장된 데이터를 메모리에 적재하여 응답속도를 높여 동적 웹 어플리케이션의 성능을 높이기 위한 용도로 사용하기도 함.
데이터를 작은 단위의 key-value형태로 저장.

맴캐시드를 사용하지 않았을 때는 분리되어 있는 메모리에 대해 각 서버에 할당된 캐시 크기만큼만 사용하기에 효율적이지 않음.
맴캐시드를 사용하면, 결합되어 각 서버는 전체 캐시 크기만큼 사용할 수 있음. 즉, 메모리 운용이 효율적이라는 것임.






2. Redis

in-memory data structure store.
데이터베이스, 캐시, 메시지 브로커로 사용할 수 있음.
key-value형태로 저장.
string, hasheds, lists, sets, sorted sets과 같은 데이터 구조를 지원.
Global Cache 방식


* Global Cache방식은 네트워크 트래픽이 발생하기 때문에 Java Heap 영역에서 조회되는 Local Cache가 성능이 낫지만 WAS 인스턴스가 증가하게 되는 경우, Cache에 저장되는 테이터 크기가 커지기 때문에 Redis방식 유리


3. 참고
http://blog.naver.com/windfalcon1/220400294140
http://ojava.tistory.com/70