jQuery 소스 1.11.0 버전의 소스는 약 10,000 라인입니다.

한 줄 한 줄 살펴 보기보다는 전체적인 맥락을 살펴 봤습니다.


다음과 같이 시작합니다.

(function (g, f) {}(window, Function));


CommonJS의 모듈을 따르는 부분이 나옵니다. 이 가운데 체크하는 것이 있는데, jQuery의 용도를 명확히 얘기합니다.

"jQuery requires a window with a document"

                if (!w.document) {
                    throw new Error("jQuery requires a window with a document");
                }

Function 부분은 jQuery의 본체입니다.

기억에 의하면 4부분 정도가 생각납니다.

1. Selector(Sizzle 이용)

2. Event

3. Tween

4. ajax


이클립스의 JS Outline은 다음과 같습니다.



http://api.jquery.com


  1. Ajax
  2. Attributes
  3. Callbacks Object
  4. Core
  5. CSS
  6. Data
  7. Deferred Object
  8. Deprecated
  9. Dimensions
  10. Effects
  11. Events
  12. Forms
  13. Internals
  14. Manipulation
  15. Miscellaneous
  16. Offset
  17. Properties
  18. Removed
  19. Selectors
  20. Traversing
  21. Utilities
  22. Version



## 소스

http://code.jquery.com/jquery-1.11.0.js


http://jsbeautifier.org 에서 정리


## 전체 구조

(function(g, f){console.log(g + f)}(3, 4));
7


## functions and prototypes



### init

    // Give the init function the jQuery prototype for later instantiation

    init.prototype = jQuery.fn;

### Tween.prototype.init

    Tween.prototype.init.prototype = Tween.prototype;


### Sizzle



### setFilters



### jQuery.fn.init



### jQuery.Event



### Tween






자바스크립트 위클리를 통해서 http://youmightnotneedjquery.com 사이트를 알게 되었습니다. jQuery가 전부 필요없다는 의미가 아니라 라이브러리를 개발할 때 jQuery 의존성을 가질 것인지 아닌지 고려해보라는 의미로 만들어진 사이트입니다. IE8+ 브라우저에서는 jQuery를 쓰지 않고 순수 자바스크립트 만으로도 많은 일을 할 수 있다는 의미로 코드 비교를 해줍니다.


국내에서 IE8이라는 숫자는 매우 높습니다. 이 블로그 통계를 보니 국내에서는 시간이 많이 필요할 것 같다는 생각이 듭니다. 전체 브라우저 통계중 1위는 크롬입니다. 2위인 IE의 통계를 들어가 본 화면입니다. IE7이 아직 49.6%입니다.


IE11이 16%라는 숫자라는 것은 의외였습니다. 추이를 살펴보면 의미있는 정보가 나올 것 같습니다.


http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/


하이라이트

1. 클래스 변경 시 성능향상

2. 세세하게 모듈화된 jQuery 커스텀 빌드

3. 시작 오버헤드 낮춤

4. npm 통해서 배포 https://npmjs.org/package/jquery/

  npm install jquery 로 설치 가능

  npm install jquery@1.11

5. bower 통해서 배포

  bower install jquery 로 설치 가능

6. 기본 배포시 map 호출 제거



image from: http://teerapuch.wordpress.com/2011/09/13/intro-jquery-วิธีเริ่มต้นกับ-jquery/


어제 방송을 재밌게 했습니다.

녹화방송 일주일간 공개됩니다. 혹시 JavaScript 개발에 관심이 있다면 도움이 될 것입니다. 개발에 사용한 브라우저는 크롬브라우저입니다.


http://afbbs.afreeca.com:8080/app/read_ucc_bbs.cgi?szBjId=kenuheo&nStationNo=12409927&nTitleNo=5784764&szSkin=


제 방송국 주소는 http://afreeca.com/kenuheo 입니다.

즐겨찾기 하시면 매일 밤 자정에 시작되는 방송 알림을 앱을 통해서 받으실 수 있습니다.



정확히 얘기하면 JSDT jQuery 플러그인입니다. 마켓에서 jquery로 검색하면 됩니다.


JSDT jQuery가 보입니다. 아래쪽에 nodeclipse도 보이는군요.


플러그인을 설치하고 난 뒤 이클립스를 다시 실행합니다. 프로젝트의 JavaScript Resources 항목을 선택하고 Properties 메뉴를 클릭합니다.



Include Path의 Libraries탭에서 Add JavaScript Library... 버튼을 클릭합니다.


jQuery Library 항목을 선택해서 추가합니다. (JDK 1.5 이하로 이클립스를 실행하면 나타나지 않습니다.)



jQuery의 버전을 지정할 수 있습니다.



추가된 jQuery라이브러리가 보입니다.



이제 자바스크립트 편집시에 Content Assist(Ctrl+space) 기능을 통해서 jQuery 함수가 나타나는 것을 볼 수 있습니다. $.ajax는 안 나타나는 단점도 보입니다만, 그래도 jQuery 개발이 많다면 유용할 것으로 보입니다.


IntelliJ에서는 이런 작업이 필요없고 jQuery 자동완성 기능이 기본적으로 된다고 합니다. 역시 유료


related:

http://stackoverflow.com/questions/11731884/jquery-autocompletion-with-eclipse-juno-java-ee


아주 쉬운 퀴즈 10문제(주관식 2 포함) 입니다.


goo.gl/cwEVYJ


정답은 등록하신 이메일로 보내드립니다.

배치처리 (Batch Layer)  


지속적으로 제기된 일괄(배치) 기능에 대한 요구를 지원하기 위해 실행환경, 개발환경, 운영환경 으로 이루어진 일괄(배치) 프레임워크가 추가되었습니다.  





표준프레임워크 배치 실행환경은 3개 레이어(Core, Support, Execution Layer)로 구성되며, 일괄 (배치) 처리를 위한 기반 환경을 제공합니다.  



모바일 화면처리 (Mobile Presentation Layer)  


모바일 화면처리는 모바일 웹 애플리케이션을 위한 자바스크립트 프레임워크인 jQueryMobile을 포함하고 있습니다. 




모바일 디바이스 API (Mobile Device API Layer)  


모바일 디바이스 API는 아이폰, 안드로이드 앱으로 모바일 웹 애플리케이션을 패키징하고, 가속도계, 위치정보, 주소록 같은 디바이스의 기능을 자바스크립트로 제어하도록 지원합니다.





디바이스 API는 가장 많이 사용되는 폰갭(phonegap)을 포함하고 있습니다.



+ Recent posts