이 문서의 이용시 주의사항(Attention for this document)

이 페이지는 Prototype 공식 홈페이지의 "Prototype Tips and Tutorials" 문서를 한국어로 번역한 문서입니다. 번역 오류정보 및 기타 제안사항은 제안 및 문의사항 페이지를 통해 보내주시기 바랍니다. 이 문서는 원저작자의 공유 조건인 Creative Commons 저작자표시-동일조건변경허락 3.0 Unported에 따라 이용하실 수 있습니다.

본문(Content)

스터디 코너에 온 것을 환영한다!

이 코너는 Prototype을 이해하고, 특정 상황에서 사용할 수 있는 스킬을 습득하는 데 도움이 되는 대화식 문서를 포함하고 있다.

이것은 대부분 읽을거리와 튜토리얼로 구성되지만, 속성 예제를 원한다면 블로그를 살펴보는 것도 도움이 될 것이다. 이 코너는 수시로 업데이트될 수 있으니 주의하기 바란다.

레퍼런스 문서를 찾고 있다면 API 문서로 이동하라!

Ajax 입문(Introduction to Ajax)

Prototype 프레임워크는 매우 쉽고 재미있으며 게다가 (크로스 브라우징 면에서) 신뢰할만한 방식으로 Ajax를 처리하도록 도와준다. 이 모듈은 간단한 요청 이외의 경우에서는 서버에서 반환되는 자바스크립트를 세련된 방식으로 처리하고 협력 클래스(helper classes)를 준비해 주기도 한다.

Prototype으로 DOM을 확장하는 법(How Prototype extends the DOM)

Prototype 프레임워크의 가장 큰 기능은 DOM의 확장이다. Prototype이 $() 함수를 통해 되돌려주는 엘레멘트(element)에는 많은 편리한 기능(method)가 추가된다. 예를 들면, 아이디가 'comments'인 엘레멘트를 가져와 클래스명을 추가하고 (가려진 상태였다면) 보이도록 전환하기 위해서는 $('comments').addClassName('active').show() 라고 기술하면 된다. 자바스크립트 고유의 기능에서는 'comments' 엘레멘트에 그러한 메소드는 포함되지 않는다. 그렇다면 어떻게 이것이 가능한 것일까? 이 문서는 Prototype에서 발견할 수 있는 몇 가지 창의적인 기능(hacks)에 대해 소개한다.

JSON 입문(Introduction to JSON)

JSON는 경량의 데이터 교환을 위한 포맷이다(JSON을 처음 접한다면, JSON 웹사이트에서 보다 많은 정보를 얻을 수 있다). JSON은 특히 웹 전반에 걸쳐 API에 의해 사용되고 있으며 Ajax 요청에서 사용되는 XML의 대안으로서 급부상 중이다. Prototype은 최종적으로 1.5.1 버전에서 JSON 인코딩과 구문분석에 대한 지원을 도입했다.

클래스 정의와 상속(Defining classes and inheritance)

Prototype 프레임워크는 초기 버전에서 Class.create() 메소드를 통해 클래스 생성에 대한 기본적 지원을 시작했다. 이 방식을 정의짓는 클래스의 유일한 기능은 생성자로 하여금 자동적으로 initialize를 호출하는 메소드를 호출하도록 하는 것이었다. 이제 Prototype 1.6.0Class 모듈을 통해 상속을 지원하게 되었는데, 이는 마지막 버전 이후 몇 단계 진보한 것이다. 따라서 코드에 지금까지보다 쉽게 더 강력한 클래스를 구현할 수 있게 되었다.

기여하기(Contribute)

버그를 발견한 것 같은가? 이 프레임워크에 굉장히 잘 맞을 듯한 멋진 코드를 가지고 있는가? 아니면 몇몇 중요 메소드(또는 특정 모듈 전체까지도)가 더 유연하고, 보다 강력하며 빠르게 동작할 수 있도록 최적화하는 법을 알고 있는가? 그렇다면 Prototype에 기여함으로서 자신의 자바스크립트 권법(JavaScript-fu)을 증명해보라.

다음 중 한 분야(또는 모두!)에 대한 기여를 환영한다.

  • 버그 리포트
  • 특정 기능이 어떤 경우에 오작동하는지를 증명해주는 실패 테스트(failing test)
  • 코드 패치
  • 요청과 패치의 증대
  • 적정한 적용범주를 확보하지 못했다고 생각되는 코드를 위한 추가 테스트
  • API 문서화에 대한 기여
  • 아이디어와 메일링 리스트, IRC 채널에서 주고받는 그외의 흥미로운 토론

최신 버전으로 업그레이드하기(Upgrading to the latest stable release)

자신의 낡은 코드를 Prototype 최신 안정본으로 업그레이드하는 것을 미뤄두고 있었다면 이제 그런 변명은 통하지 않는다. Prototype 1.6 이후로 API의 변경이나 폐기(deprecations)에 대해 알려주는 기능을 하는 업데이트 도우미가 제공되고 있다.