(2015年までの)odaillyjp blog

イベント参加記録とプログラミング系の雑記

Ruby

Rubyで文字列を連結するのにString#+を使うと、状況によっては遅くなる

試したRubyのバージョン: 2.2.0 文字列を連結するのにString#+を使わないこと Rubyで文字列の後ろに別の文字列を破壊的に連結するには、String#+を使う方法と、String#concatを使う方法があります。 str = 'foo' puts str += 'foo' # => foofoo str = 'bar' …

Ruby2.2で新たに加わったitselfメソッドについて

2014年12月25日にRuby2.2.0がリリースされました。Rubyがアップデートされるたびに、新機能の紹介エントリを書いていたのですが、今回はitselfメソッドの追加が気になりましたので、このメソッドだけに絞ってエントリを書きます。 Kernel#itself itselfメソ…

「Forwardableモジュール」と「委譲」について学びました

ある程度の規模のWebサービスを作ろうとすると、Rubyの組み込みライブラリやRailsのMVC構造だけで設計することに限界を感じてきてしまいます。そんなときに、様々なデザインパターンや便利なモジュールを知っていれば、最適な設計を選択することができるかも…

第23回オフラインリアルタイムどう書くにへなちょこな感じで参加しました

『オフラインリアルタイムどう書く』というプログラミング勉強会があります。 オフラインリアルタイムどう書く | 横浜へなちょこプログラミング勉強会 たまに『オフラインリアルタイムどう書く』で過去に出題された問題を家でちまちまと解いていたのですが、…

パーフェクト Rails を読みました(7章)

この記事は『パーフェクト Rails を読みました』シリーズの7回目の記事です。 前回の記事は『パーフェクト Rails を読みました(6章) - Programming log - Shindo200』です。前回の記事を投稿してから間があいてしまったのですが、『パーフェクト Ruby on R…

パーフェクト Rails を読みました(6章)

この記事は『パーフェクト Rails を読みました』シリーズの6回目の記事です。 前回の記事は『パーフェクト Rails を読みました(5章) - Programming log - Shindo200』です。だいぶ時間がかかったのですが『パーフェクト Ruby on Rails』の6章を読み終えま…

パーフェクト Rails を読みました(5章)

この記事は『パーフェクト Rails を読みました』シリーズの5回目の記事です。 1回目の記事は『パーフェクト Rails を読みました(1章) - Programming log - Shindo200』です。 2回目の記事は『パーフェクト Rails を読みました(2章) - Programming log - …

パーフェクト Rails を読みました(4章)

この記事は『パーフェクト Rails を読みました』シリーズの4回目の記事です。 1回目の記事は『パーフェクト Rails を読みました(1章) - Programming log - Shindo200』です。 2回目の記事は『パーフェクト Rails を読みました(2章) - Programming log - …

パーフェクト Rails を読みました(3章)

この記事は『パーフェクト Rails を読みました』シリーズの3回目の記事です。 1回目の記事は『パーフェクト Rails を読みました(1章) - Programming log - Shindo200』です。 2回目の記事は『パーフェクト Rails を読みました(2章) - Programming log - …

パーフェクト Rails を読みました(2章)

この記事は『パーフェクト Rails を読みました』シリーズの2回目の記事です。 1回目の記事は『パーフェクト Rails を読みました(1章) - Programming log - Shindo200』です。午前中から引き続き、『パーフェクト Ruby on Rails』の2章を読み終えましたので…

パーフェクト Rails を読みました(1章)

技術評論社様から『パーフェクト Ruby on Rails』が発売されました。著者の皆様、お疲れ様でした。発売日は6月6日なのですが、ちょっとだけ早く手に入れることができましたので、これからじっくり読んでいきます。パーフェクト Ruby on Rails作者: すがわら…

ActiveSupport::Concern のソースコードリーディング #1 復習編

Rails で複数のモデルに共通するメソッドをモジュールにまとめたいときに活躍するActiveSupport::Concern というライブラリがあります。ActiveSupport::Concern https://github.com/rails/rails/blob/master/activesupport/lib/active_support/concern.rbこ…

Rroonga で複数キーワードの AND 検索や OR 検索がしたい #2

2012年11月に『Rroonga で複数キーワードのAND検索,OR検索』という記事を書きました。今でもこの記事を見に来てくださる方がいるようです。ありがとうございます。当時は map とか inject を使うと短く書けて楽だと思ったのですが、後々に見直すと結構分かり…

札幌市中央区Ruby会議01に参加しました

2014年2月8日に札幌市中央区Ruby会議01が開催され、るびまレポート執筆のお手伝いとして東京から参加してきました。会議全体の雰囲気や発表内容は後日『るびま』に掲載されると思いますので、この記事では私の行動記録と会議の感想を書きます。 札幌市中央区…

Ruby でスコープを自作する

最近 ipad の防水ケースと無線ルータを購入して、風呂場に ipad を持ち込めるようになったので、お風呂に入りながら ipad で電子書籍を読んでいます。ちょうど『作って学ぶプログラミング言語 RubyによるScheme処理系の実装』という書籍を読み終えたのですが…

よちよち.rb で Sinatra の紹介 LT をしました

よちよち.rb 第5回で Sinatra の紹介 LT をしました。 不慣れな LT を聴いていただき、ありがとうございました。LT のスライドは少し加筆して Slideshare にアップロードしてあります。 Sinatraのススメ from @odailly_jp Odai よちよち.rb の参加者は Ruby …

uglifier とは何をする gem なのか

rails new コマンドで生成したばかりの Gemfile には、uglifier という gem が書かれています。よちよち.rb の第4回で「この gem は何をしているのか?」と少し話題になりましたので、調べたことをまとめてみます。uglifier: https://github.com/lautis/ugli…

新漢字と旧漢字の相互変換を行う gem を公開しました

新漢字と旧漢字の相互変換を行う gem を作って、Rubygems.org に公開しました。ライブラリ shinji https://rubygems.org/gems/shinji https://github.com/odaillyJP/shinji 使い方 Rubygems.org から shinji をインストールします。 $ gem install shinji Fe…

Ruby 2.1.0 の新機能を試す

2013年12月25日に ruby 2.1.0 がリリースされました。早速、rbenv で Ruby 2.1.0 をインストールしてみます。homebrew から入手した ruby-build-HEAD では、まだ Ruby 2.1.0 がインストールできませんので、 github から ruby-build の最新版を入手して、Rub…

-> { "Perfect Ruby Advent Calendar" }.call

この記事はパーフェクトRubyAdventCalendar2013の14日目の記事です。昨日の記事は、パーフェクトRuby Advent Calendar 2013(13日目) 気になるあの子でした。 感想 『パーフェクト Ruby』の制作に関わった方々、お疲れ様でした。Rake や Pry は適当に使ってい…

Ruby 2.0.0 の新機能を試す

2013年2月24日に ruby 2.0.0-p0 がリリースされました。早速、rbenv で ruby 2.0.0-p0 をインストールしてみます。インストールのコマンドに付けないといけないオプションは環境によって変わってくるようで、私の環境では下記のコマンドでインストールできま…

Rubyライブラリのソースコードリーディング(Sinatra編)

東京Ruby会議10で「ライブラリのソースコード読むと勉強になる」とのお話がありました。読んでみたいけど、初めて読むのに良いライブラリは何なのかわかりません。1000行くらいのライブラリなら読めそうだと思ったので、コードの行数でライブラリを調べてみ…

Ruby でペアプロしてみた

先日、@tendon0 さんとペアプロしてきました。 急なお願いに付き合ってくださって、ありがとうございました! 【ペアプロの動機とお誘い】 普段は一人で何か勉強していることが多いですが、一人で勉強するよりも何人か集まって意見を交換しながら勉強したほ…