こころがホッコリー

ただイカしたRubyistになりたい人生だった。

Rubyで写経:テスト駆動開発 第5章「原則をあえて破るとき」

テスト駆動開発という本を題材に、dodosoft のメンバーでもくもく写経会をやっています。 各々が違う言語で取り組んでいるので、言語ならではの悩み、言語共通のコンテキストを共有できて、なかなか学びがあります。 テスト駆動開発作者: Kent Beck,和田卓人…

Rubyで写経:テスト駆動開発 第4章「意図を語るテスト」

テスト駆動開発という本を題材に、dodosoft のメンバーでもくもく写経会をやっています。 各々が違う言語で取り組んでいるので、言語ならではの悩み、言語共通のコンテキストを共有できて、なかなか学びがあります。 テスト駆動開発作者: Kent Beck,和田卓人…

Rubyで写経:テスト駆動開発 第3章「三角測量」

テスト駆動開発という本を題材に、dodosoft のメンバーでもくもく写経会をやっています。 各々が違う言語で取り組んでいるので、言語ならではの悩み、言語共通のコンテキストを共有できて、なかなか学びがあります。 テスト駆動開発作者: Kent Beck,和田卓人…

Rubyの Set / Array それぞれの検索速度を比較してみた

RubyではArrayよりSetの方が高速に検索(`include?`)できるとのことですが、実際どのぐらいの差があるか調べてみました。

Rails EngineでCapybaraを導入しようとしてハマったこと

Rails EngineにCapybaraを導入しようとしてハマったことが二つあるので、備忘録として残しておきたいと思います。 ルーティングを認識させる Railsアプリを普通に書いている場合は気にする必要がないのですが、Rails Engineでfeature specをいきなり動かそう…

Railsで未使用のメソッド削除を支援するEngine(gem)を作った

OkuribitoRailsはRailsアプリケーションにおけるメソッド呼出状況を監視し、管理(閲覧)できるようにする Rails Engine(gem) です。言い換えれば、まだ一度も呼び出されていないメソッドを炙り出すことができ、安全にコードからメソッドを削除できるようにな…

Rubyで任意のメソッド呼出を検出し、任意のコードを実行できるgemを作った

Okuribitoは任意のメソッド呼出を監視し、任意のコード実行をできるようにするRubyのgemです。このgemを使えば、例えば、メソッド呼び出しが行われた際にログファイルに書き出すことができるようになります。

RailsERDをラップして、yamlファイルに従ってER図を出力するgemを作ってみた

松村 Advent Calendar 2016 の15日目です。 @muramurasan です。RailsERDをラップして、yamlファイルに記述したModelに従ってER図を出力する、というgemを作成しました。

緯度経度を入力値に、2地点間の距離を算出するgemを作ってみた(国土地理院提供APIを使用)

松村 Advent Calendar 2016 の14日目です。 @muramurasan です。 タイトルの通り、gem作りの練習として「緯度経度を入力値に、2地点間の距離を算出するgem」を作ってみたので、その使い方を紹介させていただきたいと思います。

今年読んだ本の振り返り

dodosoft Advent Calendar 2016 9日目です。 @muramurasan です。タイトルの通り、本エントリーでは今年読んだ本の感想をつらつらと書きたいと思います。どれも個人的にはオススメの本ばかりです。

数学パズルでIQゴリラ並と判定を受けたミジンコがお世話になっているRubyの便利メソッドたち

dodosoft Advent Calendar 2016 6日目です。 @muramurasan です。本記事では、ミジンコな私が、通称:数学パズル という本をRubyで解くのに、よくお世話になっている便利メソッドたちを紹介したいと思います。

CodeClimateのカバレッジ測定が、従来の設定で動かなくなったので修正してみた

Code Climate + Circle CI でRubyプロジェクトのコードカバレッジを計測しようとしてみたところ、codeclimate-test-reporterのバージョンが上がっていて、従来の設定では動かなくなっていたので、修正した部分を備忘録として残しておきます。

link_toでページ内リンクとclass指定を共存させる方法

やろうとして、ちょっと詰まったので忘れないうちにメモ。 <a class="button" href="#about">LEARN MORE</a> こんな感じのHTMLをlink_toで生成したいとする。 <%= link_to("LEARN MORE", anchor: "about", class: "button") %> これだと駄目。 <%= link_to("LEARN MORE", { anchor: "about" }, cl…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #7 (Q:18)

「プログラマ脳を鍛える数学パズル」の回答記事、第7回目です。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #6 (Q:17)

「プログラマ脳を鍛える数学パズル」の回答記事、第6回目です。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見…

会社の開発合宿で、任意のメソッド呼び出しを監視するgemを作ってきた話

現職の開発部では、半年に一度ぐらいのペースで、開発合宿を開催しています。 その中で、今回は「プロダクションコードを変更せず、任意のメソッド呼び出しを監視できるgem」を作成してきたので、簡単にその紹介をしたいと思います。 (まだ、rubygems.orgに…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #5 (Q:15)

「プログラマ脳を鍛える数学パズル」の回答記事、第5回目です。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #4

「プログラマ脳を鍛える数学パズル」の回答記事、第4回目です。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #3

「プログラマ脳を鍛える数学パズル」の回答記事、第3回目です。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #2

「プログラマ脳を鍛える数学パズル」の回答記事、第2回目です。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見…

「プログラマ脳を鍛える数学パズル」の問題をRubyで解いてみた #1

「プログラマ脳を鍛える数学パズル」という本があります。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (5件) を見る こ…

Rubyで実行時間計測をラップするコードを書いてみた

Rubyでちょっとしたコードを書いた時、ふと、 「実行時間はどのぐらいかかっているんだろうか?」 と思うことがあります。 この疑問への解は、既に先人の方々がまとめているため、リンクを紹介しておきます。 qiita.com qiita.com 今回やったこと 「Time.now…

はてなブログの下書きプレビュー公開機能が、地味に便利だった

はてなブログに、下書きプレビュー公開機能(?)があるのをご存知ですか? この機能を使うと、なんと 下書き状態であっても、URLさえ知っていれば誰でも見れるようになります。 Googleドキュメントの、非公開URLに似たノリですね。(あれ便利ですよね) 使い方は…

paizaで提出後にコードレビューをすることで、学びを増幅させる

paizaという、与えらえた問題に対してコードを書き、提出時にテストをしてくれるサービスがあります。 (本当は、コードを書いて提出し、それをもって企業にエントリーできるようになるサービスですが、もはや私の認識は上記の通りです) paiza.jp これ、もの…

転職して半年。SI屋からWeb業界に転職したい、真面目すぎる方へ贈る3つのこと。今思えばやっておきたかった6つのステップ

私と同じ境遇(SI屋出身)・性格(真面目と言われる)で、どうしてもWeb系の企業へ転職したい方へ。 今自分が思うことを、実際に体験してきたことを添えて、敢えて等身大で書きます。目次は下記の通りです。 転職を決意してから今までに自分が体験/思考してきた3…

paizaで破壊的メソッドの返り値を期待するコードが通るようになっていた

以前、自分のブログの中で、下記の記事を書いていました。 muramurasan.hatenablog.jp かいつまんで説明します。 paizaという、与えられた問題を解きながらコードを書くことができるサービスがあります。 paiza.jp paizaのRubyで通らないコードがあった その…

Rubyで alias method をチェーンしてフックメソッドを書いてみた(※ ActiveSupport未使用)

しばらくブログを書いていませんでした。 まず最初に近況を3行で書きます。 某TDDBCに参加し、TDD力を付与してもらいました mbed祭りで登壇しました Railsエンジニアになって半年が経ちました 転職して半年経って思うことは、別エントリーで書きます。 Ruby…

緯度経度を入力値に、2地点間の距離計測をしてくれるAPI(国土地理院提供)をRubyで叩いてみた

「GPSで取得した緯度・経度情報から、2点間の距離を割り出したい……」 こんなこと考えたことありませんか? 2点間の距離を計算するための計算式は、検索すれば色々と出てくるのですが、 正直、それを1から実装するのは骨が折れるものです。もっと簡単にできな…

Mac OS X のターミナルで、矩形選択をする

割と有名な話なのかもしれませんが、Mac OS X のターミナルでは、デフォルトで矩形選択がサポートされています。(筆者の環境、yosemiteで確認) 矩形選択を行うには、command と option を押しっぱなしにします。 すると、カーソルが長方形選択ツールの形状に…

yieldをミニマムな例で理解しようとしてみた

Rubyを始めて間もない頃、 「yieldが全然わからん……」 という壁にぶち当たることがありました。 当時、親切な同僚から懇切丁寧な説明をいただいたんですが、 いかんせん自分の基礎能力が低すぎて理解が追いつかず、申し訳なさすぎる……。 同僚曰く、 「自分で…