FactoryGirl と SwitchPoint

SwitchPoint 導入してると FactoryGirl.create とかも引っかかっちゃって面倒臭いので spec_helper.rb あたりに

RSpec.configure do |config|
  config.around(:each) do |example|
    SwitchPoint.with_writable_all do
      example.run
    end
  end
end

とか書いてたんだけど、コレだとテストでは予期せぬ書き込みとか拾えなくなっちゃっちゃうので良くない

面倒臭いけどどうにかするか〜と思ったけど、FactoryGirl のドキュメントみたらコールバック用意されててあっさり解決したし面倒くさくなかった。

同じく spec_helper.rb あたりに

FactoryGirl.define do
  before(:create) { SwitchPoint.writable_all! }
  after(:create) { SwitchPoint.readonly_all! }
end

って書けば解決だった。

ユニクロのスター・ウォーズ T シャツに愛を感じない

www.uniqlo.com

これの LUKE のライトセーバーなんだけど……

f:id:Yoshiori:20150511183328p:plain

LUKE のライトセーバーというのはストーリー的に 2 本あって

  1. オビ=ワン から貰った父の形見(ブレードカラーは青)
  2. 1 を失った後にオビ=ワンの家の資料と材料を見つけて頑張って作った (ブレードカラーは緑)

1 は父親であるアナキンのデザイン & 同一人物であるダースベイダーのデザインとも少しにている。

2 はオビ=ワンの家から資料と材料を見つけて作ったのでオビ=ワンのデザインに似ている。

っていう話の伏線的にも大事なデザインなんだけど、この T シャツのライトセーバー

2 のデザインでブレードカラーが青っていう

「それ、ダレの?」的なもの

(ちなみに EP6 の撮影当初は青だったらしい、けど最初の戦いが青空の下なので緑にした)

と、まぁ、そんなの気にしないで愉しめばいいんだけど、 ウキウキで着て行ったらコーヒーこぼしちゃったので、面倒臭いいちゃもんつけてみた。

sora_h の名言がかっこよすぎたのでインターネットに放流

id:sora_h の発言が社内ブログにあって、その言葉があまりにもカッコイイし、ドキュメント書かないエンジニアは反省すべきだ(俺含む)!と思ったので許可とって転載

まず一回でいいので、どこかの日に時間を決めて、集中してドキュメントを改善してみませんか。 継続していかなければならないとか、どういう風にすべきか、という議論もあるけれど、まずは取り組みを0から1にするところからはじめませんか。

マジカッコイイ……こういうこと言える大人になりたい

山城の墓に API 作りました。

元々、お墓の場所お知らせしたくて作った

墓.yamashi.ro

ですが、前にも書いたようにお線香を上げれるようにしてました。

これにはチョット思いがあって、人ってやっぱりどんなに悲しくても時が過ぎると忘れちゃうんですね。

それはそれで、いつまでも悲しまないように人間に組み込まれた大事な機能だとも思うんですが、悲しみが癒えてもアイツのことは忘れないで欲しいなと思って定期的に訪れて線香上げれるようにしました。

まぁ、でも日に日に線香も減ってきて、「アイツの人徳もそんなもんだよね」とか思ったりもしますが、そんなことよりも、ただ、まぁ、メンドイ。

ということでメンドイことは自動化しましょうということで API 公開しました。

http://haka.yamashi.ro/documents

一番下に自分のアカウント用の Token 発行できるようにしてあるので、そこで Token 取得して

$ curl -d token=xxxxxx http://haka.yamashi.ro/api/v1/incenses

とかやると線香上げれます。 こういうの自動化するのどうかとか思う人も居るかもしれないけど、個人的には故人を思って crontab 書けばいいんじゃないかなと思います。

山城の墓の場所

山城のお墓の場所ですが、親族の方にも

まだ当分ヤツしか入らないだろうし、ネットで拡散しちゃってみんなが来てくれたほうが喜ぶと思うのでドンドン公開しちゃってください。

と許可も頂いたので公開します。

で、ついでにオンラインでもお線香があげれるようにしてみました。

http://haka.yamashi.ro/

  • github でログインすると線香挙げられる
  • 線香あげれるのは一日一回まで
  • 線香あげるとそこにツイートボタン出るので自分で墓に線香上げたアピールしてもよし
  • 誰かが線香をあげると https://twitter.com/haka_yamashi_ro がつぶやくのでフォローするのもよし
  • みんながあげてくれたら今年の命日はプリントアウトしてお焚きあげしようかなと思ってます。

な感じになってます。

ということで、みなさんふるって線香上げてください。


p.s.

実際にお墓に行くのも大歓迎です。 詳細などは上記のページに書いてあります。


さらに追記

コードの場所はコチラ

PR お待ちしてます。

nanoc + redcarpet + colorize_syntax するための Filter

redcarpet は

 ```ruby

 ```

な markdown を

 <pre><code class="ruby"> 
</code></pre>

にするんだけど、nanoc の colorize_syntax は

 <pre><code class="language-ruby"> 
</code></pre>

みたいに言語名の前に language- って付いてないと認識してくれないので雑にフィルター書いた。

lib 以下にこんなん置いておいて

class Unko < Nanoc3::Filter
  def run(content, params={})
    doc = Nokogiri::HTML.parse(content)
    doc.css("pre > code").each do |element|
      next unless element["class"]
      lang = element["class"]
      element["class"] = "language-#{lang}"
    end
    doc.to_html
  end
end
Nanoc3::Filter.register "Unko", :unko

Rulesmarkdown の filter と colorize_syntax の間に噛ませてやればいい

    filter :redcarpet, options: {fenced_code_blocks: true}
    filter :unko
    filter :colorize_syntax, default_colorizer: :rouge

カッとなった時もちゃんとクラス名考えようと思った

CTO のいる会社で働いて二年がたった

今までちゃんと CTO がいる会社で働いたことなかったけど‥‥

なんか最近 CTO 周りの記事よく見るけど、CTO がいる会社でエンジニアが CTO についてどう思ってるかとかあんまり見ないのでちょこっと書いてみると……

CTO って方位磁針みたいなもんだなぁと思ってる。

あっちが北だ!!

っていうのは強烈に示してくれるんだよね。 ただ、道の途中に断崖絶壁とかあっても北指してる感じw

個別の事案とかに関しては絶対に CTO より自分のほうが考えてるからそういう時に 「あー、そうは言っても xxx だから、とりあえず xxx します。」 とか説明すれば納得してくれる。

逆に自分が個別の事案で進む方向見失いかけちゃったらとりあえず CTO 見れば大筋で向かう方向はわかるし便利〜

ジョブズには1000マイル先の水平線が見えていた。しかし彼にはそこに到達するまでに通らなければならない道の詳細は見えていなかった。それが彼の天才性であり落ち度でもあった。

—ジェイ・エリオット

スティーブ・ジョブズ - Wikipedia

に似てるって書くとよく言い過ぎかなぁ

まぁ、とりあえず何が言いたいのかって言うと、CTO 居るのって良いなぁって感じ