サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
blog.udzura.jp
ということで、連載一年目の締めとなる記事は RubyGems でした。一度本誌で取り上げたテーマですが、今流行のバッジの貼り方など、より今どきな感じの作り方を紹介しているつもりです。 WEB+DB PRESS Vol.74 著者/訳者:井上 誠一郎 奥野 幹也 田中 慎司 西嶋 悠貴 伊藤 直也 登尾 徳誠 天野 祐介 後藤 秀宣 ヒノケン 近藤 宇智朗 近藤 嘉雪 渡邊 恵太 堤 智代 中島 聡 A-Listers はまちや2 川添 貴生 出版社:技術評論社( 2013-04-24 ) 大型本 ( 184 ページ ) 今回の号から伊藤直也さんと言う有名なエンジニアの方の連載が始まっており、第一回はRubyMotionに関する記事を掲載されています。特集以外の連載記事にRubyに関する話題が二つ載っていると言うわけです。ウェブアプリケーションや開発におけるRubyの存在感がこう、じわじわ
一部の方への見本誌等はすでに届いているものと思いますが、標題の通り、連載の記事として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のやつは編集さんに褒めてもらえた)。若干の「移行の手引き」的な内
そもそも6月からWeb+DB PressさんにRubyの連載をさせていただいていますが、今回、特集のコードレビューについても書く機会をいただきました。 WEB+DB PRESS Vol.72 著者/訳者:近藤 宇智朗 生井 智司 久保 達彦 道井 俊介 飯田 祐基 中村 知成 規世 やよい 後藤 秀宣 天野 祐介 奥野 幹也 Dr.Kein tokuhirom 森田 創 中島 聡 堤 智代 A-Listers はまちや2 竹原 川添 貴生 出版社:技術評論社( 2012-12-22 ) 大型本 ( 208 ページ ) 今回の特集は、 Aiming に2月に入ってから最も印象が強かった開発上の習慣、コードレビューについて、入社当時から今までに考えたこと、思ったこと、勉強したことなどをまとめさせていただく形で書きました。 今回、なんだかんだで苦労もあったので、せっかくなのでこの場を借りて振り
発表 ↑ です。ヒカリエ相変わらず奇麗で良いですね。なんか来週も行くかと思いきや会場変更ですが(急でスミマセン……)……。 会場で割と、「githubのほうが〜〜という点で有利ではないか」みたいな意見をもらった気もしますが、言われたことはぼくもほぼ大筋同意しています。 基本、githubにすでに慣れていて、レビューの勘所もつかんでいるのならgithubを便利に使えば良いと思います。 ぼくはまあ、みんながギッハブギッハブ言っていてもつまんないよな〜と思ったので、gerritを使っていて一定以上の程度でちゃんと回せているというのを伝えたかったのと、あと前の会社での経験がありまして、前の会社でもgithubにリポジトリをクローンしていたんですが、あんまり有効に使えていなかったよな〜と言う思い出があります(ぼくのいたチーム、まあ途中で空中分解したんですが、は少なくとも誰も有効な使い方を分かっていな
某技術を評論する出版社で執筆する各位にとって非常に重要なツール、 markdown2inao.pl のインストール方法です。 markdown2inao.pl はパールと言う言語で書かれているので、一部のルビーストやジャヴァスクリプターなどの方はまともにPerlが使える状況になっていない場合も多く、戸惑うこともあるかもしれない。この手順が役に立てば何より、というか未来のぼくがなぞるために書いた。 markdown2inao.pl を落とす gistが存在するのでそれを使う。なんだか沢山forkがありどれを使うのか戸惑うが、直感で選ぶと良さそう。 mkdir ~/bin cd ~/bin # "raw" で生URLを拾う curl https://raw.github.com/gist/1883252/1236f76ab8b3dca55a35172deb175940933b4e40/mark
WEB+DB PRESS Vol.70 著者/訳者:成田 一生 高津戸 壮 佐藤 祐介 久森 達郎 大窪 聡 本田 謙 和田 英一 天野 祐介 藤 吾郎(gfx) 奥野 幹也 Dr.Kein 近藤 宇智朗 後藤 秀宣 mala 中島 聡 森田 創 堤 智代 A-Listers はまちや2 出版社:技術評論社( 2012-08-24 ) 大型本 ( 200 ページ ) WEB+DB PRESS Vol.70 に、前号に引き続き Ruby に関するコラムを連載しています。 今回のテーマはActiveSupportです。広い範囲をカバーしているライブラリなので、記事ではあまり認識されていないような気がする機能にフィーチャーして書いてみました(自分でも調べていて勉強になりました……)。 表題は、最初は「君の知らないActiveSupport」にしようと思ったのですが、ひどいな、と思ったので自重し
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
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.
上記のようにすると、長ったらしい 「Float::INFINITY」 を短く「∞」と書けて、例えばテストケースのような場合にクソ楽になるのでおすすめです。 * * * Rubyのcase文で「〜以上」みたいな表現は可能でしょうか? ⬆みたいな回答をしていたのを急に思い出して書いてみた。Scなんとかlaと言う言語のようにUTF-8の文字列もメソッド名に使えますね(1.9から〜)。
WEB+DB PRESS Vol.69 著者/訳者:大塚 弘記 渡辺 修司 堤 智代 森田 創 中島 聡 A-Listers はまちや2 川添 貴生 井上 誠一郎 近藤 宇智朗 ヒノケン 後藤 秀宣 佐藤 鉄平 mala 奥野 幹也 伊藤 智章 出版社:技術評論社( 2012-06-23 ) 大型本 ( 192 ページ ) WEB+DB PRESS Vol.69 に Ruby に関する連載をします。一回目は、 Padrino と言うウェブアプリケーションフレームワークについての記事となります。 査読に当たって、 @tyabe さんと @ainame さんからそれぞれ素晴らしい指摘をいただきました。ありがとうございました。記事に間違いがあればぼくのミスで、分かりやすかったり読みやすくなった箇所があればそれは査読者の皆さんのおかげです(これは今後の連載でも同じですけどね……)。 連載なので次
$ ruby get-string.rb [2012-05-06 16:46:35] INFO WEBrick 1.3.1 [2012-05-06 16:46:35] INFO ruby 1.9.3 (2012-02-16) [x86_64-darwin11.3.0] == Sinatra/1.3.2 has taken the stage on 4567 for development with backup from WEBrick [2012-05-06 16:46:35] INFO WEBrick::HTTPServer#start: pid=24113 port=4567
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 で最初に起
WEB+DB PRESS Vol.68 著者/訳者:名村 卓 三宅 陽一郎 小野 修司 中島 聡 森田 創 小飼 弾 田籠 聡 天野 祐介 cho45 大和田 純 白土 慧 勝間 亮 石田 忠司 牧本 慎平 A-Listers 近藤 宇智朗 はまちや2 mala じゅんいち☆かとう 出版社:技術評論社( 2012-04-24 ) 大型本 ( 208 ページ ) gihyo.jp での紹介ページ ということで、新入社員エンジニア向け特集記事「Web技術丸ごと整理」に、データベース(RDBMS/NoSQL)の記事を寄稿しています。4月24日発売です。 なんでまたぼくが書いているかというと、まあ一言で言えば「ぼく書けますよ、多分」と言ったら書くことになったと言うことです。 で、原稿を書いているまっただ中に非常に興味深い書籍が一冊、興味深いウェブ記事の邦訳が一点出てきました。 と、 NoSQLデ
elixir-lang.org 地味に第二回を開催しました。第一回については、 @mizchi(敬称略)のブログ記事 に詳しいです。 今回は、最新の Elixir についての素晴らしい記事を書いていらっしゃる id:k-1 さんなどに参加していただき、おもに Common Lisp やその他マニア言語の話題をみんなでしました。会場提供は 株式会社 Aiming さんでした。というか結局某 A 社から 4 人も参加(8人中)だったので、 Elixir 光の軍団が結成される日も近そうです。エリクサーをアンデッド系や闇属性のモンスターに投げると一発で倒せそうですが、効果や如何。 個人的な知見メモ Erlang は OTP(Opem Telecom Platform) とセットでリリースされる R15B01 とかはOTPのバージョンでもある。ちなみに Erlang の実行ファイルやドキュメントにも
そういえば株式会社 Aiming に入社していました(転職エントリ Aiming を会場として毎月第4水曜あたりに「shinjuku.rb」をやっています(facebookの公式グループ)。僕も今回発表しました。 Rubyの次に個人的にやりたい言語 で、読んでいただければわかるとおり、さいきん考えていることをそのまんまぶちまけた感じです。ほかにもセキュリティ、JRuby、素振り(?)のLTなど面白い発表ぞろいでした。僕って……。 あと、内容について、「Erlangには例外処理が無い」という言い回しがありますがこれは僕の誤解で、Erlang自身で持っているようです。 @voluntas さん他のご指摘通りです。 shinjuku.rb、個人的にもホーム気取りで、今後も割と 好きなこと/思考実験っぽいこと/自分でもまとまってないけれど一度外に出したいこと を発表していくような気がします。内容は
ウェッブでオリジナルTシャツをつくれるtmux等のサービス有名な spicelife さんでビアバッシュ的に、Ruby初心者向け勉強会をしました。お誘いいただいた @HolyGrail さんありがとうございました! 最近は PREZZY などのサービスを開発中とのこと。 認証とか認可 on Rails あまり資料としては内容が無いのですが、ポインタとして公開します。あと、最近では sorcery も有名でしたね。キャストもある。 ほかの方の発表内容は uzulla さんに委譲します(そういえばこの会合でついにうづらとうずらさんが遭遇しました)。。。邪悪な表情もuzullaさんのブログで見られます。というか凄い顔。。。 またこんな感じのノリでやれるといいな〜と思います。 This entry was posted on 2012年2月21日, 9:47 AM and is filed un
割と情報が整理されておらず、調べ回って苦労した。 適当に Ruby1.9.3 ruby-debug とかで検索すると以下のアレが見つかる。 ruby-debug with Ruby 1.9.3? いろいろうさんくさい gist が貼られまくっていて錯綜している。順番に入れていく。 まず、 RubyForge から以下のファイルをダウンロードする。 linecache19-0.5.13.gem ruby-debug-base19-0.11.26.gem ruby-debug19-0.11.6.gem ruby_core_source-0.1.5.gem それぞれエントリを書いた現在での最新版。 gem install では入ってこないバージョンなので世の不条理を感じる。なんとかしてよ……。 落としてきたら、 Ruby 1.9.3 のソースパスを便利のために export する。 export
Time to Read 3分 近いうちに環境をお引越しする必要が出てきたので、自分向けにまとめ。 Ubuntu だと割と色々最初から入ってるし、こんなもんかなあ……。 git パッケージ詳細ページ 大変有名な分散型バー [...]
このたび、株式会社富士山マガジンサービス(fujisan.co.jp)を退社いたしますのでご報告します。2月3日(本日)が最終出社となります。 Fujisan.co.jp では、大変に貴重な経験をたくさん積むことができ、1年と11ヶ月の短さとは思えないぐらい成長ができたと思います。特にエンジニアの皆様においては、ぼくは割とめちゃくちゃな人間だったと思うのですが、見捨てることなく多くのことを教えていただきました。感謝してもし切れません。 多くの方に迷惑を掛けたように思いますし、「良い“ものづくり”」のサイクルを思ったとおりに実現できなかった面があったと思っています。が、ひとえに自分の未熟さに依るもので、今後の課題としたいと思っています。 もう少しだけ違ったことをしたいと思い、より冷たい海に出ていこうと思います。 で、来週からさっそく新しい環境に入ります。そちらについても追ってご報告いたします
git での開発時に、コードレビューを支援するツール gerrit 。良さそうなのに日本語情報が非常に少なく、特に「インストールして Git リポジトリを設定するまで」の一通りの情報がなくて泣けたので、全世界の日本語ネイティブスピーカーのためにもなると思ってここにまとめたりする。 以下、 gerrit 2.2.2 における手順。バージョンが変わるとまったく違ったりしますので注意。 ダウンロード 公式サイトから容易にダウンロードできる。 Gerrit Code Review 「Downloads」から gerrit-2.2.2.war を落とす。 各種初期設定 このあたり、公式の Quick get started guide ほぼそのまんまでよろしい。 まず、gerritプロセスを起動するユーザを作成。
西新宿某所で行われた shinjuku.rb #1 に行ってきました。幸運にも滑り込めたのでLTさせていただくなどしました。 Introduction to the Sinatra Book スライドは Samurai と言いたいだけなんですけれど、 Sinatra: up and running 、良い本です。 Sinatra: Up and Running 著者/訳者:Alan Harris Konstantin Haase 出版社:Oreilly & Associates Inc( 2011-12-06 ) ペーパーバック ( 103 ページ ) スライドの通り電子版(オライリーコムから買えます)もいい感じです。ぼくはおじさんなので紙の方が読みやすいけど。。。 結構発表自体にも反応がいただけて、おもしろそう! と思っていただけたんですが(not ステマ)、でもやっぱり英語の壁がち
ご存知のとおり、 Classic シナトラ~ はルーティングを定義したファイルの __END__ の後ろにテンプレートを書いていくことができる 。クイックハック感があるが便利。 だが、 Classic Sinatra のアプリケーションが若干大きくなってくると、ルーティング自体+ __END__ の後ろ、ということでファイルが肥大したりすると思う。かといって、意外と view フォルダを掘るのって億劫だったりする。 実は、「enable :inline_templates」を宣言したファイルにテンプレートを書いておけば、読みこんでくれるので、以下のようにファイルを分けられる。 app.rb: require 'sinatra' require 'haml' require './templates' get '/' do haml :index end get '/foo' do haml
cancan gem (!= CanCam) は、ウェブアプリケーションの「認可」をつかさどるライブラリ。 おもしろWEBサービス開発日記のrailsメモ – 2009-12-15 Rails3.0 で Devise と CanCan を動かす rails cancanを試してみた Rails3でログイン認証(最終回) ロールはcancan 重要なのは、「認証」ではなく「認可」のみを受け持っているということで、要するに権限管理だけを「関心事」として持つライブラリであるということ。したがって、認証側は、 devise でも、 warden + omniauth でも、 Railscast のように authlogic でも、自力実装でも大丈夫だということ。キレイ目でもカジュアルダウンしたときにもコーデに使える万能アイテムのようなものですかね。 認証と認可の違い 当ブログにしては珍しく Rai
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 という記述では最新のものが入らないよ(赤信号!)、などの情報が
明けましておめでとうございます。ブログもぼちぼち通常営業です。 先日ぼくのSinatra系対応パッチがマ~ジされました、次世代ページネーションエンジン kaminari ですが、昨年末にそのパッチを含む 0.13.0 がリリースされています。 早速使ってみたいところですが、時期的に、ちょうど Rails 3.2RC やら Rack 1.4 やらが出ていて、設定にややコツが要るのでそこだけメモしておきます。Padrino の例ですが、 Sinatra でも適宜読み替えてください。 プロジェクト作成
ついさっきリリースしました。検索ボットなどのアクセス避けに使えたりします。 udzura / rack-block on Github rack-block by udzura 使い方はREADME.md、もしくはspecを。あとでちゃんとドキュメントすると思います。 内部は(まだ)いろいろ凄いので、あんま突っ込まないでください…… では、メリークリスマス!!
facebook でつながった(ソーシャル的常套句)人たちとルッビーの勉強会をやり、僕は僕の妄想的な主張を形にして発表したりしました。 .rb勉強会資料 – はじめる! Ruby de Web 開発(func [...]
$ ruby method_added.rb added method is: #<UnboundMethod: Foo#x> defined in: Foo has 0 argument(s) added method is: #<UnboundMethod: Foo#y> defined in: Foo has 3 argument(s) ちなみに余談だが、 UnboundMethod は、普通に使うためには、そのメソッドを切り出したクラスのインスタンスか、その子供のクラスのインスタンス、またはそのメソッドを切り出したモジュールをインクルードしたインスタンス、などとにかく ancestors にそのメソッドを定義したクラス/モジュールがいなければ 再 bind できないので、結構使いでが悪い。この記事で言う「アドバイス」の他は、委譲の実現ぐらいか……。 記事にあるような before
Sinatra::Base.middleware そもそも、 Sinatra::Base を継承したクラスには、クラスメソッドとして Sinatra::Base.middleware が用意されており、明示的に Sinatra::Base.use で利用を宣言したミドルウェアはそこから一覧を取得できる。 + (Object) middleware ところが、 Sinatra アプリケーションが実際に Rack でホストされ、アクセスされる際には、 use で宣言していないミドルウェアもたくさん呼ばれるわけで。その全貌が知りたい場合。むろん、 Rails、Ramaze、Camping といった Rack に対応したフレームワークならば同じような方法で「中を覗く」ことが可能なはず。 set_trace_func を使ってみる Kernel#set_trace_func は profile.rb
次のページ
このページを最初にブックマークしてみませんか?
『blog.udzura.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く