하면 된다!!!

JavaScript 단위 테스트를 위한 QUnit

프로그래밍/Javascript

JavaScript  단위 테스팅 프레임워크 QUnit


개발시 많이 사용하시는 jQuery, jQuery UI 개발을 한 팀에서 개발한 테스트 프레임워크 입니다.

자세한 설명은 아래의 페이지를 보시면 됩니다. 사용이 복잡치는 않네요.


http://www.sitepoint.com/getting-started-qunit/




SheetJS - Javascript로 XLSX 파일을 읽고 쓰고 변환하고~

프로그래밍/Javascript

jsPDF에 이어서 XLSX 파일을 읽고 쓸 수 있는 자바스크립트 라이브러리에 대한 소개입니다.

Office Open XML 스펙을 이용해서 순수 자바스크립트를 이용해서 구현한 라이브러리라고 하네요.


아래 Github에서 확인할 수 있습니다.


https://github.com/SheetJS/js-xlsx


엑셀 파일을 json 형태로도 바로 변환해줄 수도 있고 개발자들에게는 재밌는 라이브러리 인듯합니다.


Javascript를 이용해서 PDF 생성하기

프로그래밍/Javascript

Javascript를 이용해서 PDF를 만들어내는 라이브러리가 있네요.

MIT 라이센스이며 지원하는 브라우저는 IE6+*, Firefox 3+, Chrome, Safari 3+, Opera 입니다.


https://github.com/MrRio/jsPDF




트래커라는 단어 효과 - 웹 개발자분들 의견 좀 주세요.

프로그래밍/Javascript

프로젝트 중에 jQuery를 이용하고 있습니다.


머 평범하게 아래와 같은 형태로 ajax를 이용해서 서버와 통신을 하지요.


$.ajax({
	type: 'POST',
	url: "abc.jsp",
	data: $("#regFrm").serialize(), 
	success : function(data) {
		var res = data;
		//do_something_success();
	},
	error : function(res, status, err) {
		//do_something_error();
	}
});


그런데 오늘 생소한 현상을 발견했습니다.


아래의 형태로 불려지는 form에 특정 단어가 들어가게 되면 저 함수가 서버와 통신하지 못하고 error를 발생시킵니다.

IE, FF, Chrome 모두 마찬가지입니다.


serialize 에서 문제가 발생하거나 아니면 다른 문제일까 고민을 하면서 글을 작성하는데 이 티스토리에서 글을 작성할때도 해당 문자열이 포함되면 맛이 가더군요.


해당 단어는 영어로 트래커 (track er <- 글이 등록이 안되기 때문에 띄어쓰기를 해봤습니다) 라는 단어입니다.


저만 이러는 것인지요? 사무실에서 다른 분의 PC에서도 같은 현상이 발견되었는데... 도저히 이해가 안가네요.


무림의 고수님들의 조언 부탁드립니다. ㅠㅠ



Nodejs 소개 동영상

프로그래밍/Javascript

NodeJS 홈페이지 : http://nodejs.org/

소개 동영상...


node.js 갠찮다...

프로그래밍/Javascript
몇년전에 다루었던 리얼타임 메시징 관련 솔루션들이 있었는데...
유사하지만 다른 형태의 솔루션들이 나오고 있다. 역시... 시장에서는 너무 빨리 나오면 대박이 나거나 쪽박을 찬다.



JavaScript Operator의 ===, !== 연산자

프로그래밍/Javascript
===, !== 라는 연산자를 자주 봤었는데... 사용을 않하다 보니 모르고 살았다.
검색을 해보니... 아래와 같은 결과가...

일반적으로 javascript에서 == 을 하게 되면 값을 비교한다. 데이터 타입이 String, Int, Long 관계없이... 값만 같으면 true를 리턴했지만... === 3개짜리는 데이터 타입과 값이 같은 경우에 true를 리턴한다.
!== 는 당연히 반대겠죠~

=== This is the strict equal operator and only returns a Boolean true if both the operands are equal and of the same type. These next examples return true:
a === 2
b === 4


!== This is the strict not equal operator and only returns a value of true if both the operands are not equal and/or not of the same type. The following examples return a Boolean true:
a !== b
a !== "2"
4 !== '4'


Cross Domain Ajax Call 방법... (no Proxy)

프로그래밍/Javascript
Cross Domain Ajax Call 때문에 골머리를 썩은 적이 있었다.

Proxy를 거치면 프로세스상 네트워크를 한번 더 타기 때문에... 좋은 방안은 아니다. 그렇지만 방법을 몰라서 계속 난 이렇게 사용해왔다. (바보... ㅠㅠ)

좋은 방안들이 잇는데 그 중에 한개가 아래와 같은 방법이다.

http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html

다른 방법들도 소개를 하고 있는 글이 있는데 참고하시길...

http://snook.ca/archives/javascript/cross_domain_aj/


APE (Ajax Push Engine)

프로그래밍/Javascript
APE라는 오픈 소스 프로젝트가 있다. Ajax Push Engine 을 줄여서 APE라고 이름지었다.

웹 브라우저에서 자바스크립트를 이용하여 사용자 PC에 별도의 설치 없이 푸시 기능을 구현해내는 플랫폼이다. 서버 플랫폼이 별도로 있어서 다운받아서 테스트 해볼 수가 있도록 해두었다.

샘플로는 채팅기능이 주로 부각되어있다.




이런 솔루션으로 예전에 KnowNow 라는 제품도 있었는데... 회사가 망했다고 하는데 아직 있는지 모르겠다. 검색해보니 없어졌군 훔~


JavaScript Library들의 처리 속도 벤치마크

프로그래밍/Javascript

재미있는 자료가 있어서 올려봅니다.

요즘은 자바스크립트 라이브러리의 전성시대죠. 스크립트하면서 라이브러리 하나 안써보신 분들 거의 안계실껍니다.
요즘 회사별로 별도의 라이브러리를 가진 곳들도 있고...
하지만 그 퍼포먼스에 대해서는 어찌 보장을 하고 있을지 모르겠네요.

브라우저마다 브라우저 버전마다 라이브러리마다 퍼포먼스의 차이는 분명 존재하더군요.

아래 기사 참고하시구요.

테스트 시간을 비교해보면... IE8과 파폭 3 사이에서 속도 차이가 허벌 나더군요.
4배이상 차이나는데 원 놀랍더군요.
IE8은 언제쯤 스크립트 엔진이 남들 따라 오려나요~ 에효~


비교 라이브러리들 : jQuery 1.2.6, Dojo 1.2.3, jQuery 1.3.2, Prototype 1.6.0.3, MooTools 1.2.1, plugd-a (Dojo), Dojo 1.3.0