コモディティ化するエンジニア

組み込み系のSI屋から、Railsを扱うWeb系のベンチャーに転職した筆者が、日々ミジンコなりに情報を綴るブログ。

Ruby

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

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

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のバージョンが上がっていて、従来の設定では動かなくなっていたので、修正した部分を備忘録として残しておきます。

「プログラマ脳を鍛える数学パズル」の問題を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…

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から実装するのは骨が折れるものです。もっと簡単にできな…

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

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

paizaで破壊的メソッドの返り値を期待するコードを書いてはいけない?

2016/05/22 追記:直っていました!!!!!!! muramurasan.hatenablog.jp ... ... paizaというサービスがあります。 難易度別・言語別のコーディングテストを受けながら、その成績に応じて求人に応募できるというものです。 paiza.jp 転職活動のみならず…

Ruby on Rails チュートリアルのバックナンバーにアクセスする

Rails Tutorial を最近やり直そうと思って、 「あれ? テストフレームワークがRSpecじゃなくなっている?!」 ということがありました。 これは、Rails4.0向けから、4.2向けにチュートリアルが更新され、 それに合わせて開発環境等も一新されたからです。 推…

Hash.include? と Array.include?

最近見たコードの中で、「わかりづらいなー」と思ったことがあったのでメモとして残しておきます。 タイトルの通り、Hash.include?とArray.include?は紛らわしいというお話です。 こんな感じのコードがあったとします。 #..(前略)... foo = { key_a: 'Hello'…

Ruby Koans をやってみた( 1 〜 23 ):Rubyでの配列領域外アクセス

Ruby Koansとは?! 既にテストシナリオ(?)と結果が書かれているので、以下のようなコードにおいて、 __ に埋まる期待値を書きなさい。というもの。 array = [:peanut, :butter, :and, :jelly] assert_equal __, array[0,1] Ruby文法の理解度確認と、テスト駆…

ミニツク演習1:Hello, Ruby

前回の記事を投稿してから2ヶ月…… 更新する、と書いておいて音沙汰がなくすいません。 別に、待っている人いなかったと思いますが、すいません。 Rubyは全く触っていなかったわけではなく、 Rubyのeラーニング教材 ミニツク はもちろん、Railsエンジニアの登…

はてなブログへ引っ越してきました

引っ越しました はてなダイアリーで今まで記事を書いていましたが、 はてなブログに引っ越しました……。 理由:MarkDown方式でブログを書きたかったから。 はてなダイアリーから、はてなブログへの移行方法は、 はてなの公式サイトに記載されていますので、移…

Rubyのeラーニングサービス「ミニツク」って何?

ミニツクとは、無料で学べるRubyのeラーニングサービスです。 ミニツク - Rubyのe-ラーニング研修システムこのサイトの成り立ちは調べられていませんが、各章の冒頭で Rubyの父 まつもとゆきひろさんによる動画紹介が配置されていたり、文法説明はやさしく紹…