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

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

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) です。言い換えれば、まだ一度も呼び出されていないメソッドを炙り出すことができ、安全にコードからメソッドを削除できるようにな…

LODGEはいいぞ

LODGEはいいぞ。 LODGEとは LODGEの何が良いのか アクセスがいいぞ もくもくと集中できていいぞ 眺めが良くていいぞ ウォーターサーバが置いてあっていいぞ おわりに LODGEとは 東京ガーデンテラスにオープンしたコワーキングスペース。 2016年11月にオープ…

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

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

エンジニアの妻と結婚して良かったことと、気をつけていること

本記事は、「妻・夫を愛してるITエンジニア Advent Calendar 2016」の16日目です。 www.adventar.org 惚気話をしていいAdvent Calendarなので、本記事ではエンジニアの妻と結婚して良かったことと、気をつけていることを書いていきたいと思います。 夫婦略歴…

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…

Slackのintegration、ZONG Memes! がただのLGTM画像生成機だった(画像検索対応)

Slack上で画像検索をできないか探していると、Hubotなど、BOTを立てて実現する方法が多く見つかります。 自分はBOTを立てるのすら面倒だったので、もっと簡単な方法がないか探していたところ......ありました!! ZONG Memes! というSlackのintegrationがあ…

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

登壇者女子限定 Milkcocoa Girls ! Milkcocoa Meetup vol 6 に参加してきた話 #mlkcca

先日、21cafe で開催された、「登壇者女子限定 Milkcocoa Girls ! Milkcocoa Meetup vol 6」に参加してきました。 mlkcca.connpass.com その時の様子を簡単にですが、自分の感想を交えてレポートさせていただきます! (当日の発表資料は、後日公開されると思…

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

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

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

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

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

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

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

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

MacOS yosemiteで、Atomの矩形選択を利用する際にハマったこと

※ 本記事は、10月中旬に下書きをしていたもので、一部内容が古い可能性があります。ご了承ください Mac & Atom で開発する前は、Windows & 秀丸だったので、 秀丸にデフォルトで入っている(?)、矩形選択機能が何かと恋しくなる機会に遭遇します。 ちょっと調…

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

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

Hash.include? と Array.include?

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

SurfacePro3でブルースクリーン後、ロゴが出るだけの状態から直した話

使っているSurfacePro3が、突如ブルースクリーンを起こし、 Windows(8.1)が立ち上がらなくなったので、夜中にわっしょいわっしょい直すまで頑張った話。 症状 ブルースクリーンになった時、特に何かしたわけではなく……多分、ブラウジングしていたのかな? 後…

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の父 まつもとゆきひろさんによる動画紹介が配置されていたり、文法説明はやさしく紹…

ブログはじめ

今日からRubyとか、Railsとか、あわよくば機械学習とか…… 諸々ゼロから学んでいこうと思い立ち、ブログを始めます。 社会人歴的には組み込みエンジニアが長いので、その辺の話もたまに書くかもしれません。 なぜブログを書くのか? 6年前ぐらいからずっと感…