以前書いた記事の反省を元にMarionetteに移行した。 思った以上に快適! 大規模になったらMarionette.js使えとか書いているのは嘘で、普通にBackbone使うときは、初めから使うべき。 Backboneで一番恐ろしいのは、各現場/各開発者毎に異なるオレオレ実装。オレオレ実装作るコストに加え、使う人の思わぬバグや学習コストやスイッチングコスト等諸々考えると、特別な理由がない限りMarionetteみたいな既存のframework使うべき。 あんど。データバインディングを提供してくれる、stickitと一緒に使うと、より一層効果的。 めっちゃ、ソースコードの量が減って、ソースの意図が明快になった。悩みも少ない。工数も勿論減る。 ここから、幾つか思った事を、サッカー見ながらお酒飲みながら、ダラダラ書く。※ちなみに、日本vsオランダ戦見てる。 railsアプリでのjs周辺の作りの
MarionetteJS (Backbone.Marionette) v1.0.2 Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. Distributed under MIT license http://marionettejs.com /*! * Includes BabySitter * https://github.com/marionettejs/backbone.babysitter/ * * Includes Wreqr * https://github.com/marionettejs/backbone.wreqr/ */
Yugui著「初めてのRuby」の9章に、Rubyの黒魔術の一つとしてeval族と称されるメソッド群が紹介されている。 初めてのRuby 危険らしい。素人が安易に手を出すべきではなさそうだ。でも魅力的らしい。 暗黒の世界に引かれていく自分がいる… 勉学のために覗くだけならいいだろうし、危険であればその正しい理解がより重要になるだろう。自分が学んで理解したことをここに整理してみよう。 eval族と呼ばれるものには、instance_evalメソッド、class_evalメソッド(またはmodule_eval)、および組み込み関数evalがある。 instance_eval Ruby空間における操作対象はオブジェクトである。オブジェクトは外からのメッセージを受け取ると、その中の対応するメソッドを起動して、そこに書かれている手続きを実行する。 メソッドは他のオブジェクトを引数として取ることができ
GWでまとまった時間をとれているので、『パーフェクト Ruby』を久々に読み直しています。Rubyを深く勉強したいと思った時に、それに答えてくれるすばらしい本だとあらためて思いました! この記事は「Part2言語仕様、Part3メタプログラミング」を読んでいる中で忘れたくない部分を備忘録メモしただけの記事です。 (05-10 17:30) メタプログラミング再勉強 catch :triple_loop do loop do puts 'one' loop do puts 'two' loop do puts 'three' throw :triple_loop end end end end #=> one two three と出力して終了
普段仕事をしていると、自分のやっている案件や会社内でのプロジェクトのことはわかりますが、「Railsの他社での設計方法」みたいなことを知る機会って中々ないですよね。そんな時にオススメしたいのがRails勉強会@東京です。月1回(?)の開催で前回が88回目だったので、Rails 1.xxのころから、7年近く継続している勉強会だそうです。 この勉強会のスタイルは、参加者の興味があるテーマを集めて人気のあるテーマにしたがってフリーディスカッションやハンズオンを行うというものです。参加者が主体的に発言できたり、実際の現場でどんなカタチで開発しているかがラフに聞けてしまいます^^ 今回は10/19(土)の勉強会の中で、僕が参加したJavaScript Frameworkの議論を参考にさせていただきつつ、周辺の資料をまとめてみました! (2013/11/13) アシアルさんのブログのAngularJS
検索で使えるgemのransackですが、超便利っすね。 最近、自力で実装していたやつをransackで置き換えていってるのですが、随分コードが綺麗になりました。 ただ、情報が微妙に少ないというか、ググればあるんだけれど、本家のサイトには少ない感じがします。 今回はソートを複数の項目でやりたいと思っていたのですが、なかなか見当たらなかったのでメモです。 class ArticlesController < ApplicationController def index @articles = search respond_to do |format| format.html format.json { render json: @articles} end end private def search params[:q] ||= {} params[:q][:s] = %w(author
Rails アプリで、検索機能を追加するのに便利な gem の ransack。 結構複雑な検索条件が可能です。 また、Kaminari なんかと組み合わせてもスムーズに仕様出来るので便利です。 デフォルトで、検索パラメータが指定されない時は、デフォルトのorderを指定するよう、 以下のように書いてました。 def index @q = Shop.search(params[:q]) if params[:q].nil? @shops = @q.result. order('shops.id desc'). page(params[:page]).per(params[:per]) else @shops = @q.result. page(params[:page]).per(params[:per]) end end しかし、これだと、joinした複合テーブルを order の条件に
RubyにはGemと呼ばれるサードパーティのライブラリが豊富に存在します。 Gemは大変便利なもので、こういう機能ほしいなと思った際に The Ruby Toolbox や RubyGems.org や Google で検索すると大抵誰かがその機能を持ったGemを作っていたりします。 gemを利用するのも、RubyGems.orgに登録されているものならば と入力することで利用可能となります。 Gemはだれでも簡単に開発でき、審査無しですぐに公開できるため、日々大量のGemたちがRubyGems.orgに登録されています。反面、長年保守されていないGemや品質の低いGemも大量にRubyGems.orgに登録されているのが現状です。 同じ機能を持ったGemも大量に登録されていたりして、どのライブラリを利用してよいのか迷う事も多々あります。 今回は弊社プロジェクトで実際に利用している、便利な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く