본문 바로가기

Javascript

(9)
훌륭한 자바스크립트 개발자가 되는 법 원문 : How to Becom a Great Javascript Developer Read Books 웹 기술의 전문가가 되려면 책을 읽어라. 웹은 혼란스러운 미디어이다. 자바 스크립트 바이블인 JavaScript : The Good Parts 를 읽기 시작해라. JavaScript: The Definitive Guide도 필수이고 참고서로서 가지고 있어야 할 것이다. JQuery 만든 존 레식의 Secrets of the Javscript Ninja도 뛰어나다. 온라인에서 무료 공개되는 좋은 책을 찾다는다면 JavaScript Allonge, You Don't Know JS, Eloquent Javascript를 봐라. 책은 아니지만 모질라 재단의 JavaScript Guide도 좋다. Learn, ..
[javascript] 숫자 천단위 콤마 찍기 // 숫자 타입에서 쓸 수 있도록 format() 함수 추가 Number.prototype.format = function(){ if(this==0) return 0; var reg = /(^[+-]?\d+)(\d{3})/; var n = (this + ''); while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2'); return n; }; // 문자열 타입에서 쓸 수 있도록 format() 함수 추가 String.prototype.format = function(){ var num = parseFloat(this); if( isNaN(num) ) return "0"; return num.format(); }; // 숫자 타입 test var num = 1..
[Javascript] Date.format 사용하기 Date.prototype.format = function(f) { if (!this.valueOf()) return " "; var weekName = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]; var d = this; return f.replace(/(yyyy|yy|MM|dd|E|hh|mm|ss|a\/p)/gi, function($1) { switch ($1) { case "yyyy": return d.getFullYear(); case "yy": return (d.getFullYear() % 1000).zf(2); case "MM": return (d.getMonth() + 1).zf(2); case "dd": return d.getDate().zf(2); cas..
[Phantomjs] Phantomjs를 이용해서 웹페이지 캡쳐하기 (3) 다음은 원하는 URL에 따라 웹페이지를 캡쳐하는 방식을 도전해볼 것이다. 이전에 작성했던 loadPage.js의 파일에 Argument를 추가해서 node에서 원하는 URL을 loadPage.js로 넘겨서 이미지파일을 받아낼것이다. 먼저 loadPage.js를 아래와 같이 수정하자 var page = require('webpage').create(); var system = require('system'); if ( system.args.length == 1){ console.log('Usage : loadPage.js '); phantom.exit(); } address = system.args[1]; page.open(address, function (status){ if (status != 'suc..
[Phantomjs] Phantomjs를 이용해서 웹페이지 캡쳐하기 (2) Node.js에서 Phantomjs를 사용하는 방법은 그렇게 어려운작업은 아니다. 이미 Node.js의 ThirdParty Module 중에 Phantomjs가 있고 그 모듈을 child_process를 이용해 실행시킬것이다. ( Phantomjs의 홈페이지에서 다운받은 exe파일이 필요없다는 소리이다.) 먼저 child_process 모듈과 phantomjs 모듈을 설치하자. npm install child_process npm install phantomjs 그다음 node로 실행시킬 javascript 파일을 아래와 같이 작성해보자 var childProcess = require('child_process'); var phantomjs = require('phantomjs'); var binPath..
[Phantomjs] Phantomjs를 이용해서 웹페이지 캡쳐하기 (1) Phantomjs 설치! http://phantomjs.org/ 에서 다운로드를 받자 다운로드후 압축을 풀어보면 위 처럼 폴더구조를 가지고 있다. 여지가 examples폴더안에 들어있는 수많은 javascript 파일은 그저 예제이고 Phantomjs 홈페이지의 EXAMPLE 메뉴를 들어가서 각 예제들의 설명을 볼수 있다. 중요한건 bin폴더에 덩그러니 들어있는 phatomjs.exe 파일이다. 이 실행파일을 나는 나의 특정 Workspace의 폴더에 Phatomjs라는 폴더를 만들어 그곳에 덩그러니 두었다. 이제 위 해당 경로의 터미널을 열어서 위 실행파일을 실행해주면 시작된다. 자 이제 phantomjs를 사용할 준비가 끝났다. phantomjs가 설치된 같은 경로에 javascript파일을 하나 만..
[Javascript] Object Prototype 프로토타입 이해하기 자바 스크립트의 프로토타입 상속 이라는 확장과 객체의 재사용을 가능하게 해주며 class 기반으로 인스턴스를 생성하지 않는 자바스크립트에서 객체지향적인 개발배념을 가질수 있게 해주는 Prototype 에 대한 내용이다. 하지만 일반적인 자바스크립트에 대한 정공파가 아니면 제대로 이해하고 있지 않거나 이해 하기 힘든 부분이기도 하다. 그이유는 Prototype object 와 Prototype Link 를 제대로 구분해서 인지하고 있지 못하고 있기 때문이다. * Prototype 기반 프로그래밍 이해하기 프로토 타입 기반 프로그래밍 이란 객체의 원형인 프로토 타입을 이용하여 새로운 객체를 만들어 내는 프로그래밍 기법이다. 이렇게 만들어진 객체 역시 자기자신의 프로토타입을 갖는다. 이 새로운 객체의 원형을 ..
[Javascript] instanceof 와 typeof 기본적으로 자바스크립트의 형비교 메소드는 instanceof 이다. 리턴형은 boolean 이며 다음과 같이 사용한다. if( obj instanceof String ){ ...... } 자료형을 비교하는 다른 방법이 있는데 바로 typeof 메소드를 사용하는 것이다. typeof 매소드는 자료형을 string으로 반환하며 다음과 같이 사용한다. [ typeof ] 설명 식의 데이터 형식을 나타내는 문자열로 반환한다. 구문 typeof ( expression ) * expression 인수는 형식 정보를 찾는 식 참고 typeof 연산자는 형식 정보를 문자열로 반환한다. typeof는 "Number" , "String" , "Boolean", "Object", "Function" , "undefined"..