灰いじり

This blog's posts are licensed under CC-BY 4.0.

GitのUntracked cacheという機能

Git

執筆時点のGitのバージョン Git 2.8.2 Untracked cache GitのUntracked cacheとは、おおざっぱに言うと、ワーキングツリーのファイル構成が変化したかどうかを識別する方法を簡略化させて、Gitの動作を高速化させる機能。これをオンにすると例えばgit status…

Git v2.8.0からgit grepをリポジトリ外で実行した時の挙動が変わった

Git

Git v2.8.0 Git v2.8.0が出た。そのリリースノートの中で少し気になった箇所があった。 "git grep" by default does not fall back to its "--no-index" behavior outside a directory under Git's control (otherwise the user may by mistake end up runni…

RubyでPhysical Webを簡単に体験してみる

前提 ハードウェア MacBook Pro (Retina, 13-inch, Early 2013) Bluetooth 4.0 に対応しているマシンなら可 iPhone 5s ソフトウェア OS X El Capitan 10.11.3 Ruby 2.3.0p0 iOS 9.2.1 Chrome for iOS 48.0.2564.104 Physical Webとは The Physical Web 「事…

HomebrewでVimを再ビルド

HomebrewでVimが更新されていたのでbrew upgrade vimでアップデート。その後、新しいRubyが出ている事に気づき、rbenvを使って新しいruby(2.1.3)を入れた。 この時、Vimにリンクされている?(vim --version とやった時に出てくる)rubyのバージョンをあげたい…

Watirを使ってChromeをRubyで動かす(自分用メモ)

http://chromedriver.storage.googleapis.com/index.html から最新のドライバー(ブラウザとの間を取り持ってくれるもの、単一の実行ファイル)を落としてPATHの通ったところに置いておく。 $ bundle init $ echo "gem 'watir-webdriver'" >> Gemfile $ bundle…

RVM使いのための rbenv&ruby-build コマンド簡易対応表

前提 執筆時点(2013/12/26)での話。Ruby 2.1.0 が出たばかり。 rbenv&ruby-buildを使い始めた 自分は今までずっとRVMでRubyを管理していて、最近rbenv+ruby-buildを使いはじめたので簡単にコマンド対応を書き出してみる。 インストールは各公式サイトを参考…

Method#to_proc の動作(Ruby)

前提 ruby-2.0.0-p353 Method#to_proc の動作に納得したい (1..5).each do |i| puts i end (1..5).each(&method(:puts)) 上記2つのコードは同じ動作をする。パッと見で納得できなかったので動作を1つずつ追ってみる。 まず method(:puts)。 Object#method を…

Ruby で「配列の各要素をレシーバにしたメソッド呼び出し」と「配列の各要素を引数にしたメソッド呼び出し」を短く書く

前提 ruby-2.0.0-p353 「配列の各要素をレシーバにしたメソッド呼び出し」 (1..5).map {|i| i.to_s} # => ["1", "2", "3", "4", "5"] ↑は、↓のように書ける。 (1..5).map(&:to_s) # => ["1", "2", "3", "4", "5"] Symbol#to_procが暗黙的に使われている。 「…