タグ

ブックマーク / rochefort.hatenablog.com (28)

  • rubyの配列展開について - rochefort's blog

    gold対策(基礎力確認問題2)。 通常の配列展開 はこんな感じ。 p で警告はでますが出力はされます。 a = [0, 1, 2] p a p *a # !> `*' interpreted as argument prefix # >> 0 # >> 1 # >> 2 *付き変数に突っ込む 実コードでは、あんまりやらないとは思いますが 試験でもこれっぽいのが出て間違えてしまった気がします。 x, *y = *[0, 1, 2] p x # => 0 p y # => [1, 2] x, *y = [0, 1, 2] p x # => 0 p y # => [1, 2] ここで右辺の*はなくても一緒。 どうでもいいですが、ここら辺は重箱の隅というか引っかけという感があります。 変数と配列の要素数が異なる場合 x, y = [0, 1, 2] p x # => 0 p y # => 1 a

    rubyの配列展開について - rochefort's blog
    suginoy
    suginoy 2014/02/13
  • Rails 4.1 の新機能 - rochefort's blog

    ※1/15 ActionMailerPreviewについて追記 Rails4.1の新機能Action Mailer Previewsとは - rochefort's blog What's new in Rails 4.1 - Coherence Blog 公式blogに掲載されてたので見てみました。結構面白い機能が搭載されてそうです。 ご興味のある方は是非原文をご覧ください。 Overview Active Record Enums ARでstausとか何とか区分みたいなのをattributeとして用意するときに enum使いたいという要望はよくあるかと思います。 最近だとDBにenumの機能が実装されていることがありますが、 通常アプリケーション側で実装し、DBは数値か文字列かを突っ込むというをよくやります。 そんな場合Rails側は、Hashを使ったり、固定値(大文字定義の変数)で定

    Rails 4.1 の新機能 - rochefort's blog
    suginoy
    suginoy 2014/01/12
    "似たようなenumを複数使用する場合は要注意です" 無駄にプリフィックス付けちゃう気がするなー。enum status: [:bug_status_unverified, :bug_status_confirmed, ] みたいな。
  • RailsでAjaxでの更新時にはrender_to_stringが便利 - rochefort's blog

    AjaxのPOST使ってcreateした場合、DOMの操作が面倒じゃないですか。 自分でDOM作って追加するのって。 なんかいい方法ないかなぁと調べてみたら こちらで紹介されている、render_to_string を使えばpartialで切り出した分を responseに返せます。 これは捗りますね。 フルAjaxで動くRailsアプリを作ってみたよ。 | Ginpen.com 使い方 view ajax時に欲しい箇所をpartialで呼び出すように修正。 <%= render partial: 'shared/group', collection: @groups %> controller #一部省略 if request.xhr? html = render_to_string partial: 'shared/group', collection: [@group] {html:

    RailsでAjaxでの更新時にはrender_to_stringが便利 - rochefort's blog
  • Rails 4 in 30' - rochefort's blog

    そろそろRails4もリリースされるんで Santiago Pastorino先輩(@spastorino)のRubyConfArgentinaでのスライドを読みました。 Rails 4 in 30' Rails3系と4系のソースが載せてあって分かりやすいです。 いろいろ良くはなっているようですが、とんでもなく大きな変化ではないように見えます。 個人的には、streamingは実験的で面白い印象です。 主な機能。 STRONG PARAMETERS MASS ASIGNMENT対策。 # rails 3.2 raises ActiveModel::MassAssignmentSecurity::Error # rails 4.0 railses ActiveMode::ForbiddenAttributesError# rails 3.2 attr_accessibleで定義 attr_a

    Rails 4 in 30' - rochefort's blog
    suginoy
    suginoy 2013/08/21
    「Santiago Pastorino先輩のRubyConfArgentinaでのスライドを読みました。」
  • 続・1時間でツイッターサービスを作ろうにテストを書いてみた - rochefort's blog

    「偉大なるHelloWorld」をつぶやいている一覧を抽出する 機能追加をしてみます。 rochefort's twitter_helloworld at master - GitHub 1時間でツイッターサービスを作ろうにテストを書いてみた2 - うんたらかんたら日記 1時間でツイッターサービスを作ろうにテストを書いてみた - うんたらかんたら日記 下調べ twitter-authは基はget/postのようなので http://search.twitter.com を使った場合どういう値が返るかconsoleで確認してみます。 a = me.twitter.get('http://search.twitter.com/search.json?q=ruby') >> pp a {"max_id"=>26835747788, "results"=> [{"created_at"=>"Sa

    続・1時間でツイッターサービスを作ろうにテストを書いてみた - rochefort's blog
  • unicornでダウンタイムなしに再起動する - rochefort's blog

    ダウンタイム無しってすごい。 でも、そんな実行環境は今のところ必要ないので monitの監視程度まで試したら、passengerに移行するやもしれません。 USR2時に旧プロセスを停止する 設定 ruby/1.9.1/gems/unicorn-4.1.1/examples/unicorn.conf.rb や unicorn.conf.rb にサンプルがありますが before_forkというcallbackが使えて、下記のように旧プロセスに対してシグナルを発行することが可能です。 old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU Process.kill(sig, F

    unicornでダウンタイムなしに再起動する - rochefort's blog
  • factory girlを使ってみようと思う - rochefort's blog

    以前から試してみたかったfactory girl。 こないだ試した twitter-auth at master のテストで使われていたので、これを機にinstallしてみた。 (他にもfakewebやらremarkable_railsなど、いろいろ気になるのが使われてる。) 名前もなんかいいよね。girlって付くと。 thoughtbot's factory_girl at master - GitHub 参考 has_many throughでの例が非常に分かりやくて参考になります。 has_manyなフィクスチャを書くのに疲れたらFactory Girlがオススメ! - func09 バージョン readmeよく見たらいろいろバージョンがあるらしい。 現時点では下記のよう。 (あと、いろいろforkされててfactory_boyっつーのもあるらしい。気になる) factorygirl

    factory girlを使ってみようと思う - rochefort's blog
    suginoy
    suginoy 2012/07/03
    「関連を書くのが便利 これ肝だと思うんだけど、readmeに詳細が無い。」
  • Rails: Rails 3.2 RC1 - rochefort's blog

    Riding Rails: Rails 3.2 RC1: Faster dev mode & routing, explain queries, tagged logger, store rails4の話もありますが、まずは順番に。 細かいの見ていくと、いろいろ変わってます。 Faster dev mode & routing 開発モードが早くなるみたい。 paneq/active_reload - GitHub ってやつにinspireされたらしい。 ちょろっと覗いてみると、リクエストの度にクラスをreloadしなおしているのを 変更があったときだけreloadするというものらしい。 これは、いい修正ですね。 (ソース見たけど、ぱっと理解できなかった。この辺分かるようになりたいわ。) routingも早くなるらしい。特に100以上のリンクがある場合、顕著だとか。 rails/journe

    Rails: Rails 3.2 RC1 - rochefort's blog