John Resig씨가 Johnson에 대해 알려주셨습니다. Ruby로 JavaScript를 래핑한 것입니다.

여러분이 코드를 입력할 수 있는 JavaScript 인터프리터를 제공하는 것 같습니다. 간단한 예제가 있습니다.
RUBY:
    require "johnson"
 
    Johnson.evaluate("4 + 4") # => 8
    Johnson.evaluate("4 + foo", :foo => 4) # => 8
John씨는 Perl에서와 같이 파일 이름을 저장하는 전역 변수인 __FILE__ 을 제공하는 코드를 보여주셨습니다:
[code:js]
(function(){
  this.__defineGetter__("__FILE__", function() {
    return (new Error).stack.split("\n")[2].split("@")[1].split(":").slice(0,-1).join(":");
  });
})();

물론, John Lam씨에 따르면 우리에겐 Silverlight가 준 ARAX가 있습니다. Darryl Taft 씨는 이를 보도했었고, Dion씨는 재빨리 그에게 JRuby가 브라우저에서 사용할 수 있는 Ruby를 주었다고 얘기해주었습니다. 최근의 Java 플러그인이 JNLP를 지원하고 여러분이 원한다면 JRuby는 여러분을 위한 JNLP 배포판을 빌드합니다. Silverlight는 브라우저 Ruby의 또다른 방향입니다.

Ben씨가 Silverlight 버전에 대해서 다음과 같이 말했습니다:
이것이 Ruby에서 클라이언트측 브라우저 스크립팅을 호스팅하기 위해 Silverlight를 사용한 것이었다면, 확실히 어필할 수 있었겠지만, 항상 문제는 Silverlight가 Microsoft의 기술이라는 것입니다.

Windows/Office가 Microsoft의 재정을 지배한만큼, 이러한 크로스플랫폼에 대한 Microsoft 의 노력은 방울뱀을 마주쳐, 해치지 않겠다는 약속을 받고 구해준 소년같습니다. 방울뱀은 바로 소년을 물죠. 소년이 항의하면 뱀은 얘기합니다: "내가 이럴 거라는 거 나를 구해줬을 때부터 알았잖아". Silverlight가 가진 능력에는 아무런 문제도 없습니다. 제가 생각하기엔 우리 중 대부분은 다른 OS 벤더를 지원하려는 Microsoft의 선의에 의존적인 포용 구조를 간단하게 꿈꿀 수 없는 것 같습니다.
from Johnson: Wrapping JavaScript in a loving Ruby embrace, and ARAX
Posted by 행복한고니 트랙백 0 : 댓글 0

댓글을 달아 주세요

우리 모두는 input[type=text] 과 같이 쓰고 싶어하지만 브라우저에서 지원을 제대로 못합니다.
그것이 James Cogian 씨가 classy_inputs이라는 이름의 작은 플러그인을 만들게 된 이유입니다:

아, 제가 얼마나 input 태그를 싫어했던지요(YUI도 그들을 싫어합니다만, 그 얘기는 나중에 하겠습니다). 타입이 다르면 다른 태그 이름을 사용했어야 하는데, 그렇지 못하니까 CSS로 input 태그를 다루는 것이 완전히 힘들어졌습니다. 그래서, 저는 Rails 템플릿을 작성할 때 모든 form 엘리먼트에 a :class 옵션을 추가하는 짜증나는 방법을 사용하는 것으로 해결하곤 했습니다. 잠깐 돌아가자면, 저는 이 작업을 자동으로 하기 위해 Rails를 패치하려고 해봤습니다. 하지만 몇몇 곳에 클래스를 적용할수록 테스트는 저를 좌절하게 했습니다.

그래서, 이런 반복작업을 없애기 위한 플러그인을 만들었습니다:

script/plugin install
http://svn.jcoglan.com/classyinputs/trunk/classy_inputs

설치가 되면, Rails view method를 사용해 작성된 모든 input 태그는 자신의 type 속성에 알맞은 클래스 이름을 가지게 됩니다. Dion씨도 아마 다른 방식으로 Rails를 패치할 것 같다고는 하는데, 장담할 수는 없다고 합니다.

from classy_inputs: Rails plugin to add autoclass names on Ajaxian
TAG CSS, ruby
Posted by 행복한고니 트랙백 0 : 댓글 0

댓글을 달아 주세요

Oliver Steele 씨가 JCON 이라는 이름의 JavaScript를 확인할 수 있는 gem(Ruby 언어의 모듈)을 만들었습니다. JSON 값이 ECMAScript 4 규칙에 맞는지를 확인합니다(예. { x:int, y:string }( 3, "foo" ) ).
[code:ruby]
type = JCON::parse "[string, int]"
type.contains?([‘a’, 1])     # => true
type.contains?([‘a’, ‘b’]) # => false
type.contains?([‘a’, 1, 2]) # => true
// via RSpec
[1, ‘xyzzy’].should conform_to_js(‘[int, string]’)
[1, 2, ‘xyzzy’].should_not conform_to_js(‘[int, string]’) # 2 isn’t a string
{:x => 1}.should conform_to_js(‘{x: int}’)
// with JavaScript Fu
# this will succeed if e.g. response contains a script tag that includes
# fn("id", {x:1, y:2}, true)
response.should call_js(‘fn’) do |args|
args[0].should conform_to_js(‘string’)
args[1].should conform_to_js(‘{x:int, y:int}’)
args[2].should conform_to_js(‘boolean’)
# or:
args.should conform_to_js(‘[string, {x:int, y:int}, boolean]’)
end

또 다른 JSON 소식입니다. 새로운 ECMAScript 표준에서는 다음 단어들이 더 이상 예약어가 아니라고 합니다.
abstract boolean byte char double final float implements int interface
long native package private protected public short static synchronized
throws transient volatile
그리고 Douglas Crockford 씨가 저 단어들을 예약한 브라우저가 없으므로 jsLint 에서도 예약을 해제하겠다라고 밝혔습니다.

from Conform your JSON to ECMAScript4 with JCON
Posted by 행복한고니 트랙백 0 : 댓글 0

댓글을 달아 주세요