イントロ 訳あってリモートで自宅の 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 っぽい挙動をするメソッドを委譲 別の…
イントロ クリスマスネタ。職場のある日常。 時期が時期だし、クリスマスネタを盛り込んだ rails アプリを作成しようと思い立った。 その名も「santa」という名前のアプリ。(ひねり無し) ’santa’ という文字列を与えて、そこからクラスを作成するときに起き…
時々コードで見かけるので。 標準出力と関連づいているなら true crontab から実行された場合は false パイプでつなげたりして、出力される場合は false 参考 Class: IO (Ruby 2.0.0) Check if Your Ruby Script is in a Pipe
イントロ veewee じゃなくて packer 触ってみた話。今だからこそ veewee のおさらい 何故タイトルのようなことを思うかと言うと 「veewee」で作られたテンプレートが、ありとあらゆる地雷を潜り抜けて作られた物だから です。 私は基本的にpacker の公式を読…
イントロ 敢えて packer ではなく、veewee 使ってみるの巻。packer は後日。 packer 使うにも veewee のテンプレートを流用できるし、ついでに veewee も使えるようになっておいて損はないはず。 AWS 使わないなら veewee でも packer でも変わらないですか…
イントロ 何かと便利な html parser の説明。 自分用の忘備録も兼ねて逆引きっぽく書いてみるテスト。 主な使用法 Hpricot.parse(Hpricot() でも良い) メソッドの引数に、parse したい html を与える。 search or at メソッドに「検索したい条件」を引数に与…
状況 私は20%ルール(業務時間の20%を使って何かweb アプリケーション作ろうプロジェクトのこと)で、22時ぐらいまで残業していた。 同じく残業していた上司。彼はそろそろ帰宅するらしい。 彼が帰ってしまうと、私は会社に残る最後の一人になる。 画面にかじ…
イントロ 最初理解するのが難しかったけど、ようやく理解できた気がするので書いてみるメモ。 お題は Enumerator と Generator について。 新しさ皆無の n番煎じです。 Generator class Generator Generator は、後で出てくる Enumerator と同じようなことを…
探したけど意外と無かったので、書いておく。 お気に入りの color-theme は 「color-theme-charcoal-black」です。 (custom-set-faces '(linum ((t (:inherit (shadow default) :background "Gray23"))))) Gray23 のところは、お好みの色を指定。 M-x list-c…
イントロ 意外とキーボード操作系の記事って少ないんですよね。 ブラウザって絶対なくならないものだし、ゴリゴリと特化させた各人のスタイルがあっていいと思います。 公開すると誰かが「こういうの試してみよう」とか思う人がいるわけで。 emacs や vim な…
な、なんだ(ry ってことでタイトルの通り。知りませんでした。 ただ、grep の version が古いとやはり使えないようです。 現状で入っている grep の version が 2.5.1 だったため、新しく入れなおす必要があります。 既に homebrew の repository に入ってい…
症状 NoMethodError in 'App::Client hoge' undefined method `its' for #<ActiveSupport::TestCase::Subclass_1::Subclass_2:0x1035bc058> 初めてエラー見たとき ( ゚д゚)!? ってなってしまったのでメモ。 解決法 it の中に its が入っているので、消す。 一旦気づくと当たり前なんですけどね。初心者あるあるってことで。 b</activesupport::testcase::subclass_1::subclass_2:0x1035bc058>…
始めは rspec 本を読んだり、テストコードを読んだりしたんですが、全く自分で書けるようにはならなかったんですよね(当たり前ですが)。 なんとなく読めるようにはなったけれど。 そこで「テスト読める」から「テスト書ける」の思考ギャップを埋めるための t…
each の中とかで、いきなり h["1"]["2"] = 2 とかやりたいときの話。 Hash.new して上記のようなことをやろうとすると、エラーになってしまう。 rakkyooの備忘録 では以下のような書き方があるよーと紹介されている。 # 2次元ハッシュの初期化 h = Hash.new …
タイトルの通り。 わいは google さんが好きなんやぁ! ということで。 firefox のアドレスバーに「about:config」と打ち込む 検索ボックスにkeywordと入力 keyword.URL に値「http://www.google.co.jp/search?q=」を入力 これでOK。簡単快適。
ふと気になったので。今まではvalidation = 検証 verification = 検証することという認識でした。 んである時ふと「あれ?これって同じ意味じゃん」とw両者の違いについて調べたら、素晴らしいサイトがあったのでご紹介。 http://lise.me.sophia.ac.jp/kktm…
前準備 公式サイトの通りにやって問題なかった rbenv をインストールする ruby-build をインストールする homebrew をインストールする やってみたこと 実は ruby-build では、rubyのversionの古いものが install できなかった。(1.9.3はrbenv-buildでインス…