2014-01-01から1年間の記事一覧
イントロ みんな大好き pry の話 何回も binding.pry が呼ばれる環境下で、毎回 exit を入力するのめんどいよね、という話。 サンプル class Test def aaa binding.pry 'aaa' end end describe '#aaa' do it '1' do expect(test.new.aaa).to eq('1') end it …
これは何か 好きな generator を作る話。ここで述べる generator とは rails generator hoge のような rails generate コマンドのこと。 知識整理のために書いてみる 雛形作成 rails には generator を生成する generator があって、以下の様なコマンドを叩…
イントロ CircleCI からテストが通ったら capistrano 使って deploy させたい。 けど、対象サーバーは IP 制限がかかっている。CircleCI の IP なんてコロコロ変わるし、どうしたらいいんや... って話。 これができると、PR を github ボタンでマージしたら…
イントロ gem にした。名前は結構気に入ってる。 仕事でこういうことをしたかった、というのが背景としてある。 さらに会社の先輩に冗談で「作っちゃえよ、需要あるっしょ」と言われて、それもそうかと一晩で作った。 mgi166/dangerous_open_uri mgi166/dang…
イントロ 告白すると tmux + reattach-to-user-namespace でコピーできます! って記事を見てその通りにやってみるものの、うまくいかない人でした。 ようやくこの病気を克服したので残す。 tmux 1.8 のお話。 現象 どううまくいかないかというと、長い文字…
イントロ bundle exec したくない、という話。随分前に調べたやつ。 bundle exec メンドイ しかも使用頻度高い コマンド自体が長くなって、初めて見るコマンドを覚えづらい bundle exec 以降を覚えればいいけど、ついつい全部覚えてしまう。 コマンドが長い…
イントロ 随分前に作りました。動機はまだ無い。 強いていうならば「お手軽で作りやすかったから」という自分勝手な理由です。 使いやすそうであれば使ってみてください。 mgi166/hipchat_searcher mgi166/hipchat_searcher · GitHub 何ができるか コマンド…
イントロ -1×-1 = 1を証明してください。 を見た。 厳密な証明じゃない(と思う) ちゃんとやろうとすると群論とか出てくるのかもしれない そもそも間違ってるかもしれない と色々言い訳しつつ、自分は以下のように理解している。 証明(?) 1 ここがスタート。 …
読んだ。 UNIXという考え方―その設計思想と哲学作者: Mike Gancarz,芳尾桂出版社/メーカー: オーム社発売日: 2001/02メディア: 単行本購入: 40人 クリック: 498回この商品を含むブログ (137件) を見る 近視眼的な点で述べるなら、ライブラリを自作する際の設…
イントロ Extempore というソフトウェアを触ってみた、という話。 コードを書くことで作曲できる、というシンプルでインパクトの強い特性を持ってます。 とても面白くて魅力的だったので共有。 Extempore is 何? 作者曰く cyberphysical programming らしい…
小さいころの経験談だが、学校の先生が「誰が誰々を泣かせた」と言って、学級委員会を開いた。 それで帰りが遅くなり、毎度イライラしたものだ。 その委員会で、先生は犯人を見つけて叱る。それで終わり。何の意味があるのだろう? 泣かせたのが問題だとした…
イントロ emacs 23.4 → emacs 24.3 に update して wdired.el を使うと、タイトルの通りエラーが出た。 詳細は以下 ls does not support --dired; see `dired-use-ls-dired' for more details. wdired-change-to-wdired-mode: Symbol's value as variable is…
イントロ 第19章 スレッド を見てやってみました。 が、うまくいかない。 わかる % cat thread.rb Thread.fork { while true puts 'forked thread' end } while true puts 'main thread' end % ruby thread.rb #=> forked thread forked thread forked threa…
イントロ 仕事で EMR を触っていて知見が溜まってきた気がするので、output していきます。 今後記事を連載する予定。 この記事では EMR にまつわる巨大な背景を説明します。 個別に検索すればもっと詳しいページはゴマンとあります。 ただそれらが EMR とど…
イントロ 仕事しだしてから、手首が痛くなってきたので買っちゃいました。 二週間使ってみての感想とか。 やったこと キーバインディング変更は以下のとおり。 backspace → ⌘ delete → alt end → enter home → space 左パイプ(insert) → backspace です。 左…
イントロ タイトルの通り。行ってきました。 他の人もまとめてらっしゃるので、そちらのほうがわかりやすいです。 ここでは自分のメモを見ながら、もう一度頭のなかで再現する意味を込めて、書いてみました。 あ、全部書いてるので、めちゃくちゃ長いです。 …
イントロ 新社会人向けの記事が多い中で、敢えて就活生に焦点を当ててみる 技術ネタはなし 立場上学生とよく話をするのだけれど、そこで 「学生のうちにやっておくことって何?」って質問されて、モヤっとした話。 中身 知るかハゲ。ってのが正直なところ。 …
イントロ 訳あってリモートで自宅の mac に ssh 接続したいなーと思ったことがあり、調べてみたことがある。 どうやらMacに外部からアクセス出来るようにする方法 - rcmdnk's blog の設定を行えば、可能になるそうだ。 試したら本当にできてしまった。 じゃ…
イントロ 毎度おなじみ ruby-build ですが、入れることができる ruby の version と rubygems の version は制限があります。 とはいえ普通に ruby を使う分には、提供されているもので何の問題も無いのですが。 rbenv を使って、ちょっとマニアックな ruby …
こんな時に発現 iterm2 使って 256 color にしている tmux を使って環境変数を色々渡している などの条件が重なって リモートサーバーに xterm-256color が無い場合再現するっぽい。 症状 vi, emacs, nano などのエディタが開かない → ファイルを編集できな…
結論 定数に class クラスのオブジェクトを代入すると、(ruby で一般的な) class として扱われる module or class の配下にネストして class を作る場合、その class が持つ定数として定義する class.new する際に引数として、class クラスのオブジェクトを…
イントロ 弊社の凄腕エンジニアが、タイトルに書いてあることを言いながらメンバーに出してくれた問題です。 もちろん私は 90 % 側ですた。 問題 以下の出力結果はどうなるでしょう? p { :a => 1, :b => 2 } Hash が出力されて Hash が返る、と思ったあなた…
イントロ linum-modeの余計な余白をなくす方法 - handlename's blogと同じ現象。 ただこの方のコードをコピペしても、私の環境では治らず。おまけにググっても情報が少ない。 しかし font が怪しいという考察は非常に参考になりました。 環境は Emacs 23.4 O…
結論 クラスインスタンス変数として扱われるっぽいです。 class Klass attr_accessor :hoge def self.hoge(hoge) @hoge ||= hoge end end # @hoge に値が入る Klass.hoge('hoge') #=> "hoge" # もう既に @hoge には値が入っているので、'fuga' は入らない Kl…
イントロ これに気づかなくて結構ハマった。 症状 berkshelf を使って、cookbook を install するとき、bundler 風に以下のように path を変えた。 berks install --path vendor/cookbooks すると cookbook が見つからないと怒られ始めた。 ================…
イントロ chef で環境構築したはいいものの、ruby の install は意外と手間だったりします。 できれば rbenv のようなものを使って、色々な ruby のバージョンを試せる方がいいですよね。 ところが肝心の rbenv を install するレシピの自作は結構シンドい。…
ruby で言うと url = "https://www.google.co.jp/" $1 if url =~ /https:\/\/(.*)\// #=> "www.google.co.jp" みたいなことをしたい。 elisp だと以下のように書く。 (setq url "https://www.google.co.jp/") (string-match "https:\\/\\/\\(.*\\)\\/" url) …
イントロ タイトルの通り。今までは面倒臭がって全部レシピを書いていたけれど、Berkshelf 使えば、その手間すら省けると聞いたので使ってみました。 ところで Berkshelf は何も考えないと vagrant-berkshelf という Vagrant のプラグインを経由して berkshe…
方法 SingleForwardable を使う require 'forwardable' class MyFile extend SingleForwardable def_delegator File, :join end MyFile.join('hoge', 'fuga') #=> "hoge/fuga" MyFile のクラスメソッドとして File#join っぽい挙動をするメソッドを委譲 別の…