タグ

ブックマーク / blog.udzura.jp (33)

  • cancan でモテカワ♥愛され権限管理 « blog.udzura.jp

    cancan gem (!= CanCam) は、ウェブアプリケーションの「認可」をつかさどるライブラリ。 おもしろWEBサービス開発日記のrailsメモ – 2009-12-15 Rails3.0 で Devise と CanCan を動かす rails cancanを試してみた Rails3でログイン認証(最終回) ロールはcancan 重要なのは、「認証」ではなく「認可」のみを受け持っているということで、要するに権限管理だけを「関心事」として持つライブラリであるということ。したがって、認証側は、 devise でも、 warden + omniauth でも、 Railscast のように authlogic でも、自力実装でも大丈夫だということ。キレイ目でもカジュアルダウンしたときにもコーデに使える万能アイテムのようなものですかね。 認証と認可の違い 当ブログにしては珍しく Rai

    mitukiii
    mitukiii 2013/06/17
  • WEB+DB PRESS vol.74 に RubyGems について書きました。 « blog.udzura.jp

    ということで、連載一年目の締めとなる記事は RubyGems でした。一度誌で取り上げたテーマですが、今流行のバッジの貼り方など、より今どきな感じの作り方を紹介しているつもりです。 WEB+DB PRESS Vol.74 著者/訳者:井上 誠一郎 奥野 幹也 田中 慎司 西嶋 悠貴 伊藤 直也 登尾 徳誠 天野 祐介 後藤 秀宣 ヒノケン 近藤 宇智朗 近藤 嘉雪 渡邊 恵太 堤 智代 中島 聡 A-Listers はまちや2 川添 貴生 出版社:技術評論社( 2013-04-24 ) 大型 ( 184 ページ ) 今回の号から伊藤直也さんと言う有名なエンジニアの方の連載が始まっており、第一回はRubyMotionに関する記事を掲載されています。特集以外の連載記事にRubyに関する話題が二つ載っていると言うわけです。ウェブアプリケーションや開発におけるRubyの存在感がこう、じわじわ

    mitukiii
    mitukiii 2013/04/23
  • WEB+DB PRESS vol.73 に Ruby 2.0 について書きました。 « blog.udzura.jp

    一部の方への見誌等はすでに届いているものと思いますが、標題の通り、連載の記事としてRuby 2.0について書きました。 WEB+DB PRESS Vol.73 著者/訳者:設樂 洋爾 白土 慧 大和田 純 松田 明 後藤 大輔 ひろせ まさあき 小林 篤 近藤 宇智朗 まかまか般若波羅蜜 Mr. O 奥野 幹也 佐藤 鉄平 後藤 秀宣 mala 中島 聡 堤 智代 森田 創 A-Listers はまちや2 出版社:技術評論社( 2013-02-23 ) 大型 ( 192 ページ ) まつもとさんも取り上げていた、 キーワード引数 Enumerator::Lazy Module#prepend Refinement の4点を中心に取り上げています。サンプルコードはなるべくオリジナルを目指して頑張りました(特にprependのやつは編集さんに褒めてもらえた)。若干の「移行の手引き」的な内

    mitukiii
    mitukiii 2013/02/22
  • shibuya.rb(仮名)、第一回簡易報告+ ActiveSupport の便利 tips « blog.udzura.jp

    11月25日、有志にておこなった、渋谷近辺の Rubyist とそうでもない Rubyist による勉強会。今回は、 ActiveSupport のソースを読んでみた。 会場は最近「株式会社 VOYAGE GROUP に行ってきた!」で話題にもなった VOYAGE GROUP さん提供でした。 見たファイルとそのメモ 公式 github repo から落としてきた。下記、抜けがあるかもしれません。 “lib/active_support” “lib/active_support/inflector/methods” 読めば分かる “lib/active_support/dependencies/autoload” autoload の第二引数を省略可能になる “lib/active_support/lazy_load_hooks” #on_load “lib/active_support/

    mitukiii
    mitukiii 2013/01/31
  • レビューに便利な git alias 作った « blog.udzura.jp

    git run-features-jhw HEAD~5 #=> spec diff between HEAD~5..HEAD # spec/models/hoge.rb # spec/controllers/fuga_controller.rb # ..... git alias tips ! pwd とかってやると、どこで実行してもリポジトリのルートで実行したことになってるのが分かる(サブディレクトリごとにプロジェクトを作ってる場合に注意) !head=${1:-HEAD~} sh -c ... みたいにやんないと上手に $1 が渡んない(内部で $head は問題なく参照できる)。zshだから? zsh はリダイレクト先を複数指定できて、ruby -pne \"STDERR.puts \\$_\" | は cat 2>&1 | で済んで凄い。参考 git diff --name-onl

    mitukiii
    mitukiii 2012/07/21
  • みんなも、ルビ〜の面白記法を見つけよう! « blog.udzura.jp

    This entry was posted on 2012年6月20日, 4:33 PM and is filed under Ruby. You can follow any responses to this entry through RSS 2.0. You can leave a response, or trackback from your own site.

    mitukiii
    mitukiii 2012/06/20
  • WEB+DB PRESS で連載します « blog.udzura.jp

    WEB+DB PRESS Vol.69 著者/訳者:大塚 弘記 渡辺 修司 堤 智代 森田 創 中島 聡 A-Listers はまちや2 川添 貴生 井上 誠一郎 近藤 宇智朗 ヒノケン 後藤 秀宣 佐藤 鉄平 mala 奥野 幹也 伊藤 智章 出版社:技術評論社( 2012-06-23 ) 大型 ( 192 ページ ) WEB+DB PRESS Vol.69 に Ruby に関する連載をします。一回目は、 Padrino と言うウェブアプリケーションフレームワークについての記事となります。 査読に当たって、 @tyabe さんと @ainame さんからそれぞれ素晴らしい指摘をいただきました。ありがとうございました。記事に間違いがあればぼくのミスで、分かりやすかったり読みやすくなった箇所があればそれは査読者の皆さんのおかげです(これは今後の連載でも同じですけどね……)。 連載なので次

    mitukiii
    mitukiii 2012/06/13
  • Gemnasium が地味に便利そう « blog.udzura.jp

    Gemnasium Gemnasium keeps you up to date on the gems that matter to you. あなたが github 上に Rubygems やその他プロジェクトのリポジトリを持っていたとして、その Gemfile や gemspec を読み込んで、依存関係を把握し、記述がまずい等で最新の Rubygems にキャッチアップできないようなら教えてくれるサービス。 こんな感じ。 要するに、 bundler はすでに 1.1.rc7 が出ていて、遠からず 1.1 がリリースされるだろうから、よってこの ~> 1.0.0 という記述のままではじきに最新のものが使えなくなるよ、ということ(黄信号)、さらに、 rspec はとっくに 2.8.0 が出ているので、いまの ~> 2.3.0 という記述では最新のものが入らないよ(赤信号!)、などの情報が

    mitukiii
    mitukiii 2012/05/20
    Rubyist の皆さんに便利情報
  • RSpec のメタ情報が知りたい « blog.udzura.jp

    RSpec の DSL には、 example と言うメソッドがあり、そこを経由して現在実行中の example の情報を得ることができる。 def add(*args) args.inject(:+) end describe "add" do before do p example.class #=> RSpec::Core::Example end subject { add(*args) } context "when 1 + 1" do let(:args) { [1, 1] } it { should == 2 } end end 具体的には、 example は RSpec::Core::Example のインスタンスらしい。 Class: RSpec::Core::Example 以下のような属性、メソッドがある: #exception 実行中の example で最初に起

    mitukiii
    mitukiii 2012/05/06
    便利情報だ
  • Shinjuku.ex #02 でした « blog.udzura.jp

    elixir-lang.org 地味に第二回を開催しました。第一回については、 @mizchi(敬称略)のブログ記事 に詳しいです。 今回は、最新の Elixir についての素晴らしい記事を書いていらっしゃる id:k-1 さんなどに参加していただき、おもに Common Lisp やその他マニア言語の話題をみんなでしました。会場提供は 株式会社 Aiming さんでした。というか結局某 A 社から 4 人も参加(8人中)だったので、 Elixir 光の軍団が結成される日も近そうです。エリクサーをアンデッド系や闇属性のモンスターに投げると一発で倒せそうですが、効果や如何。 個人的な知見メモ Erlang は OTP(Opem Telecom Platform) とセットでリリースされる R15B01 とかはOTPのバージョンでもある。ちなみに Erlang の実行ファイルやドキュメントにも

  • 退職のご挨拶 « blog.udzura.jp

    このたび、株式会社富士山マガジンサービス(fujisan.co.jp)を退社いたしますのでご報告します。2月3日(日)が最終出社となります。 Fujisan.co.jp では、大変に貴重な経験をたくさん積むことができ、1年と11ヶ月の短さとは思えないぐらい成長ができたと思います。特にエンジニアの皆様においては、ぼくは割とめちゃくちゃな人間だったと思うのですが、見捨てることなく多くのことを教えていただきました。感謝してもし切れません。 多くの方に迷惑を掛けたように思いますし、「良い“ものづくり”」のサイクルを思ったとおりに実現できなかった面があったと思っています。が、ひとえに自分の未熟さに依るもので、今後の課題としたいと思っています。 もう少しだけ違ったことをしたいと思い、より冷たい海に出ていこうと思います。 で、来週からさっそく新しい環境に入ります。そちらについても追ってご報告いたします

  • rack-block という Rack Middleware をリリースしました « blog.udzura.jp

    ついさっきリリースしました。検索ボットなどのアクセス避けに使えたりします。 udzura / rack-block on Github rack-block by udzura 使い方はREADME.md、もしくはspecを。あとでちゃんとドキュメントすると思います。 内部は(まだ)いろいろ凄いので、あんま突っ込まないでください…… では、メリークリスマス!!

  • Ruby Advent Calendar 2011 / 2日目 – almost-sinatra.rb の深淵を覗く « blog.udzura.jp

    初めましての方は初めまして。近藤うちお(@udzura)です。 Sinatra ベースのフレームワークである Padrino framework の日語サイトを管理したりしています。 Ruby Advent Calendar jp: 2011 2日目である今日は、 Sinatra 主要コミッタである rkh が、わずか 8 行で実装した Sinatra クローン、「almost-sinatra.rb」を読み解いたりして、2日目にして一気に読者を置いてけぼりにしたいと思います(1日目はこちら – “Coffeescripting with Ruby”)。 RedBull(できれば複数)の用意を推奨します…… まずは、全コードを下にコピーして置いておきます。先日、 このパッチ が accept されたので、それが適用された最新バージョンです。 %w.rack tilt backports

    mitukiii
    mitukiii 2011/12/06
    考えるな感じろまで読んだ
  • Sinatra 再入門 – 後日談と言うか « blog.udzura.jp

    先日公開された るびまの Sinatra/Padrino/Rack の記事 ですが、ぼくの想像以上の反響と好意的な評価をいただいているようで、大変うれしく思います。 “Rails Hub情報局” にも取り上げていただきました。 Railsはフルコース、Sinatraはお皿、Padrinoはビュッフェ 西村さんの素晴らしい洞察力で、 Sinatra、Padrino、Rackについての考察もされた必読の記事なんですが、一点だけ引っかかったところが、 Padrinoはビュッフェ という点で、「アレ?」 となりました。 自分自身でも Sinatra と言う皿の上に、ロガー、キャッシュ、ヘルパー、認証と言った料理をたくさん盛り付けていく という表現をしていたんですが、ちょっと、自分でどういうつもりで使ったのかな~とあらためて考えこんでしまいました。 #このあたりの違和感を twitter で整理して

  • New Relic を Sinatra (というか Rack アプリケーション一般)で使う « blog.udzura.jp

    はい。 計測用の Rack Middleware を自作 Rack 向けミドルウェアと言うかたちで切り離されているわけではないようなので、以下の手順で。 NewRelic::Agent::Instrumentation::Rack の説明のとおりに、メトリックだけをするミドルウェアを作成。 lib/app_metric.rb: require 'new_relic/agent/instrumentation/rack' class AppMetric # アプリケーションをスルーするミドルウェアを実装: def initialize(app) @app = app end def call(env) @app.call(env) end # call を定義した後で include すること: include NewRelic::Agent::Instrumentation::Rack e

    mitukiii
    mitukiii 2011/10/12
  • Sinatra 1.3.0 & Padrino 0.10.3 がリリースされました。ざっくり紹介(2)。 « blog.udzura.jp

    前回までのあらすじ Sinatra と Padrino の最新バージョンがリリースされたよ。 Sinatra 1.3.0 は昨日紹介したよ(Sinatra 1.3.0 & Padrino 0.10.3 がリリースされました。ざっくり紹介(1))。今日はパドリーノです。 そのまえに、 Padrino ってなんだよという方へ Padrino framework は、コアに Sinatra を据え、さらに便利になるようにいろいろな機能を拡張したライブラリ一式です。むかし sinatra_more というものがあったんですが、その開発メンバーも含め新チームでゴリゴリと開発している模様です。 このフレームワークの狙いは、 Sinatra のエッセンスに合わせつつ、どんどん複雑さを増すばかりのアプリケーション開発に必要となるような機能、たとえば、フォーム、メール配信、国際化、ヘルパー、キャッシュなど…

    mitukiii
    mitukiii 2011/10/05
    "あくまでも「Sinatra」なので、あのサクサク感、ゴリゴリ感をそのままに、よりスピーディに開発が楽しめます。"
  • Sinatra 1.3.0 & Padrino 0.10.3 がリリースされました。ざっくり紹介(1)。 « blog.udzura.jp

    スィナトゥラとパデュリ~ノの最新バージョンがめでたく リリースされました。 1.3.0 は大変難産だったようなので、おめでとうございます。 ブログ、CHANGELOG等を見て、まずはざっくり Sinatra 1.3.0 を紹介させていただきます。で、こっそりとリリースされ続けてきた Padrino 0.10.0~0.10.3 での主な変更点は明日紹介させていただきます……。 ということで。 stream API の追加 一番の目玉はこれです。きっと。 get '/' do stream do |out| out << "It's gonna be legen -\n" sleep 0.5 out << " (wait for it) \n" sleep 1 out << "- dary!\n" end end 要するに、「レスポンスボディをちょっとずつ返す」ことが出来るようになりました、た

  • Capistrano力を上げよう « ディスコ探偵冬景色

    標記の力を高められるかもしれないいくつかのTipsを。 なお、あまりRailsと関係ないデプロイでも使えるTips多めです。CapstranoはRailsとの連携以外でも強力なデプロイツール。もっともっと評価されてもいいですね。 Capistrano::CLI.ui.ask でデフォルト値を設定する

  • byobu をはじめよう « blog.udzura.jp

    ずっと GNU screen を使ってギ~クを気取りたかったんですが、複雑怪奇な .screenrc などに関するバッドノウハウが怖くて(この辺 zsh 移行とかでも同じようなことが言えそう)何度か挑戦しては挫折していたんです。 でも、ここ数か月ぐらい byobu を導入していて、普通に長いこと使えているし大変快適なので、今回ざっくり紹介してみようかな~とか思います。 byobu とは Ubuntu Manpage: byobu byobu in Launchpad Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. As an open source project, Byobu is an elegant enhancement of the

  • PHP のテストを Ruby で書く « blog.udzura.jp

    皆さん、楽しくテスト書いてますか~~~ 今日は、 rack-legacy を使うことで、 PHP のアプリケーションなのになぜか Ruby のコードでテストできて(受け入れテストのあたりですけど)、そうすると物の RSpec とかが使えて楽ですよ、と言う話をします。 rack-legacy とは。 まず、 Rack とは、 Ruby 製のウェブアプリケーション(Ruby on Rails、Sinatraなどをご存知かもしれません)とサーバ(Apache/Passenger、NginX、Lighttpdなどなど…)をつなぐ一種の規格です。 PerlPython にも似たような仕組みがあります。 ここで、 Rack::Legacy というミドルウェアを使うと、他の言語の CGI や、 PHP のアプリケーションが Rack の上で動かせます。 そして、 Rack の上で動くということは

    mitukiii
    mitukiii 2011/08/09
    変態だー!(AA略