본문 바로가기

javascript

(5)
[콜백] System.Action<T>로 함수인자 구현하기 (AsyncWorker) Node.js 때문에 자바스크립트 프로그램을 하고 났더니, 비동기 함수에 익숙해졌다. 혹시 비동기함수에 대해 이해가 안된단다면, 아래의 코드를 실행을 해보면 이해가 빠르겠다.function foo() { console.log('before'); setTimeout(function() { console.log('Something doing'); }, 1000); console.log('after'); } foo(); 실행결과는 아래와 같다. 'Something doing'이 'after'가 찍히고 난 후에 찍힘을 알 수 있다. 사실 초첨은 코드의 굵은 글씨로 표시된 부분이다. C에서는 함수포인터라고 하고, 자바스크립트에서는 함수도 객체이기 때문에 자유자재로 인자로 넘기는 것이 자유롭니다. C#에서는 어떻게..
[JavaScript] 시각화(visualization) 라이브러리(그래픽, 차트 등) 요즘 데이터 시각화에 관해 관심이 많다.웹 쪽에서는 자바 스크립트를 가지고 차트를 그리는 라이브러리가 많이 있는 것으로 알고 있다. 이름 사이트 라이센스 특징 1 Highcharts JS http://www.highcharts.com/ 비상용전제 하에 Free (링크) 다양,고품질,다양한레퍼런스, 상용 2 Flotr http://www.flotcharts.org/ MIT License (링크) 3 Flotr2 http://humblesoftware.com/flotr2/ MIT License (링크) 4 gRaphaël http://g.raphaeljs.com/ MIT License (링크) SVG 5 Protovis http://mbostock.github.io/protovis/ BSD License d..
[JavaScript] 부동소수점의 오류 예 컴퓨터의 부동소수점의 정밀도 문제는 오래전 부터 알려진 사실이다. 자바스크립트에서도 그 예를 쉽게 찾을 수 있는데, 기록을 해놓지 않으면 예를 들 때 바로 생각해 내지 못하는 경우가 있어서 기록을 해둔다. 예)> 0.1 + 0.2;0.30000000000000004 이런 것은 결합법칙에서 문제가 된다. (A + B ) + C = A + (B + C)> (0.1 + 0.2) + 0.3;0.6000000000000001> 0.1 + (0.2 + 0.3);0.6> 돈과 관련된 경우에는 정밀도는 민감한 사항이기 때문에 실수가 아닌 정수형으로 계산을 하라고 한다.최소 단위를 일의 단위로 이용을 한다면 문제가 없다.> (1 + 2) + 3;6> 1 + (2 + 3);6> ((1 + 2) + 3)/10;0.6> (1..
[JavaScript] null 값과 비교할 때는 반드시 비교 연산자로 === 또는 !==를 사용 Maintainable JavaScriptp.129 null 비교 금지null 값과 비교할 때는 반드시 비교 연산자로 === 또는 !==를 사용해야 한다. 실제 잘못 사용 예) 문자열이 IP 패턴을 하고 있는지 확인하는 함수function isIPAddress(ip) { var ipFormat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; return (ip.match(ipFormat)!=null);} 수정 예function isIPAddress(ip) { ..
[JavaScript] RIA::자바스크립트 프레임워크 자바스크립트 테스트 캔버스 : http://jsbin.com/ jQuery를 공부하던중에 몇 가지 정리를 해본다. jQuery 공식사이트(1.8.2): http://jquery.com/ jQuery UI(1.9.0) : http://jqueryui.com/ - jQuery Online Movie Tutorial by John Resig - eclipse plug-in : Aptana Studio 3 - http://download.aptana.com/studio3/plugin/install => http://j07051.tistory.com/entry/Eclipse-Jquery-플러그인-설치 => jQuery, 기본 셀렉터 (TAEYO.NET) jQuery 플러그인들 차트관련: jQuery Plugins..