前提 会社(Quipper)で今からこういう風にしたい、と宣言した社内ドキュメントを公開する。 枯れてるわけではない。 coffeescript Backbone Backbone.stickit (データバインディング) Chapling.js(は、オマケなのでどうでもいいがサンプルコードはこう) backbone.stickitは安心と信頼のNYT製。(実質Backbone作ってるDocumentCloudと一緒のところ?) backbone.stickit 目的 データバインディングを全面的に使って再描画を最小限にし、コードの見通しをよくしたい。 モデルの役割を明示的にし、MVVMを導入する。 理想的なAPI 擬似コード # ビューモデルの定義 class TopicViewModel extends Model defaults: title: '' # たぶんここでパラメータ名(
coffee script のバージョンを上げたらテストがこけるようになりました。問題となったのは下記のようなコード。これは 1.4 では動きますが 1.5 だとコンパイルエラーになります。 func 'arg' hoge: 'fuga' 関数に渡す引数が複数で、かつ改行後にオブジェクトを渡している場合、改行前にカンマが必須になりました。下記のようにすると動きます。 func 'arg', hoge: 'fuga' 参考 Change in argument handling with 1.5 breaks code that worked in 1.4 · Issue #2715 · jashkenas/coffee-script
http://r7kamura.github.com/mmd.js/docs/parser.html https://github.com/r7kamura/mmd.js/blob/master/coffee/mmd/parser.coffee CoffeeScriptで開発しているmmd.js にドキュメントを書こうと思って色々ツールを探した結果、Doccoが良かった。 書くコストが低く、ある程度フォーマットが統一され、 エディタとブラウザでそれぞれに適したフォーマットで読める、というものを探していた。 他にはJSDoc、YUIDoc等を見た。 Doccoは新しく覚えることが少ない点が良かった。 HTML形式で出力してくれる奴は、github-pagesとも相性が良い。 コードリーディングの時に過程を残しておく用途にも良いかもしれない。 $ npm install -g docco $
module.exports = (grunt) -> grunt.loadNpmTasks 'grunt-contrib' grunt.loadNpmTasks 'grunt-simple-mocha' grunt.initConfig connect: server: options: port: 8888 base: '.' watch: coffee: files: "src/**/*.coffee", tasks: ["coffee"] coffee_with_test: files: ["src/**/*.coffee", 'test/**/*_test.coffee'], tasks: ["coffee:compile", 'simplemocha'] coffee: compile: files: 'dist/all.js': [ "src/**/*.coffee" ] s
Installation Install the gem and run middleman init my_project to create a new Middleman site from the command line. See full install instructions Customize Your Site Check out the directory cd my_project. Middleman works right out of the box. Start reading the docs to find out what each directory is doing and how to customize your site. See advanced customizations Build and Deploy Running one com
Get started and then find a generator for your webapp. Generators are available for Angular, Backbone, React, Polymer and over 5600+ other projects. One-line install using npm: npm install -g yo What's Yeoman?Yeoman helps you to kickstart new projects, prescribing best practices and tools to help you stay productive. To do so, we provide a generator ecosystem. A generator is basically a plugin tha
アセットパイプラインなどで使えるとして話題の Sprockets gem 、自分向けまとめ。確認しないで書いているところもあります。 アセットパイプラインを支える技術 – sprockets Sprockets: Rack-based asset packaging Web assets 、具体的には主に CSS と JavaScript の圧縮/依存性の解決/各種ソースからの変換をサポートするための Rubygem 。 asset とは資産、財産の意。 執筆時点現在のバージョンは 2.0.3 。なお、 rack-sprockets gem は、 sprockets( 具体的には、 require 'sprockets' map '/assets' do environment = Sprockets::Environment.new environment.append_path 'ap
2ヶ月ぐらい前にHackersNewsで見かけて、触ってみたらやたらかっこよかったので紹介。 LiveScript http://gkz.github.com/LiveScript/ LiveScriptはCoffeeScriptがさらに拡張された、JavaScriptにコンパイルされる系言語。 JavaScriptが最初に名付けられた名前「livescript」に立ち返って、関数型の特色が色濃い言語のようです。 OOPと関数型のマルチパラダイムという点でScalaなどに近いのかもしれません。型が弱いScalaで、見た目はHaskell。 インストール npm install -g livescriptより関数型っぽくしたい人のための prelude-lsと一緒に使うのが推奨されているそうです npm install prelude-ls追加されるメソッドについては以下を参照 prelud
About Doppio is a project to get Java running in the browser without any plug-ins. Right now it comprises a fairly complete VM and an implementation of the javap bytecode disassembler. (Doppio is also the Italian word for 'double', and is another name for a double espresso.) Doppio started out as the mid-term project for a Graduate Systems Seminar. It has since taken on a life of its own, and is c
Jasmine Headless WebKit Run your Jasmine specs at sonic boom speed! Jasmine is great. I love it. But running Jasmine when you need to test code that will run in a browser environment can be problematic and slow: The Jasmine gem's server makes getting up and testing very fast, but F5-ing your browser for each test run is distracting. Jasmine CI uses Selenium, which speeds up the process a bit, but
まず、自分は受託制作がメインの会社(PixelGrid)に務めていて、一応、JavaScriptやる会社ですと謳っているのもあって、JavaScriptでUIを組む仕事が結構多い。自分は、マークアップ出身なJavaScriptプログラマーみたいな感じになってる。最近よくあるのが、いままでFlashで作っていたものをJSでーとかだったり、WebアプリをAjaxベースでーとか、そういうのとかをメインにやったりしてる。 そのような状況で、複雑なUIを組むためには、設計方法に悩む。jQueryは素晴らしいけども、入り組んだUIを設計するための手段は提供してくれない。そんな状況で、自分はjQuery UIのベースになっているwidgetというフレームワークを使ってイベントのやりくりをしていたけれども、これはあくまでjQueryプラグインをOOPで書けるようにしたようにしたもので、そこまで豊富な機能が
情報感度が高く体面を気にするIT企業の皆さんは、今日はさっさと帰れと言われてるので、やることなくなったエンジニア達がcho45さんの釣り針に釣られてハッスルしているのだと思われます。弊社も朝からudzuraあたりがハッスルしてるのをみてました。 暇なので大喜利に参加。というか、他の方が言及していない、なぜcoffee-scriptの良い面、について書きたいと思っています。 -> のエイリアスが、関数オブジェクトの意識を変えた > の関数定義はJS本来の関数型言語への意識を呼び覚ましました。そもそも今までが関数型もどきの言語ポテンシャルだったくせに関数オブジェクトが文字数的な問題で使いにくかったのです。 テンプレートエンジンのCoffeekupでは、高階関数の入れ子によってDOMを表現するなんてこともやってます。 doctype 5 html -> head -> meta charset:
I have some coffeescript like the following: class foo: @bar = 'bob loblaw' processRows: -> $("#my-table>tr").each -> id = $(this).attr("id") @processRow id processRow: (id) -> console.log @bar + id So my problem is: I need this to reference the .each context inside the loop to get at id, but I also would like this to reference the class instance inside foo.processRow()---which it does not current
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く