読者です 読者をやめる 読者になる 読者になる

コーヒー楽しい

昨年末にウィッシュリストに入れてたこの手動ミルをもらったのをきっかけにコーヒーを始めてすっかりはまってる。

ついに電動ミルにまで手を出したので記念に今使ってるもののまとめエントリーを書いておく。

ドリッパー

ハリオのV60を使い続けてる。 特にこだわりがあったわけでもなく手頃だったから選んだ感じ。

ドリップポット

当初は急須にスキッパーをつけて注いでたがさすがにつらくなって、 MONOQLO (モノクロ) 2015年 10月号 [雑誌] のコーヒー特集で評価の高かったこれを使ってる

Kalita 細口ポット 0.7L

Kalita 細口ポット 0.7L

狙ったとこに落とせるしちゃんとドリップ時にコーヒーが膨らむようになって大満足。

珈琲きゃろっと の定期便で毎月400gを買って、足りないときに近所の自家焙煎のお店で購入して密封びんに入れて保存してる。

セラーメイト 密封びん 1L 220018

セラーメイト 密封びん 1L 220018

保存は最初は冷凍庫に入れるようにしてたけど、自家焙煎のとこの店長に「冷蔵庫に入れるぐらいの量を買うのではなく、常温でいいので1週間で使い切るほうがよい」と言われてそうしてる。

豆は自分でローストするのも考えたんだけど、先述の店長が「豆を焼くのはいいんだけどハンドピックが大変」とかぼやいてたのと、ハンドピックで捨てる豆を見せてもらって自分じゃこれの良し悪しの判断つかないなと思ってあきらめた。

電動ミル

デロンギ コーン式 コーヒーグラインダー KG364J

デロンギ コーン式 コーヒーグラインダー KG364J

プロペラ式でもいいのかなと最初は思ってたけど、触る機会あって試したら挽加減難しいしムラもあって微妙かなと思ってこれにした。 噂のナイスカットミルも欲しかったんだけど、ちょうど製造終了のタイミングらしく在庫は高騰してたのであきらめた。

デロンギのはネットとかだと1つの目盛で挽きの細かさが大きく変わってしまうみたいなのを聞いたり粗挽きが苦手とか言われてたけど、特に今のところ不満はない。 それ以上に電動の威力がすごくて豆の消費量が一気に増えた。


自分はめんどくさがりなので手間のかかるハンドドリップは飽きちゃうかなと心配してたけど順調に沼にはまっていってる気がする。 おすすめのグッズだったり豆だったりお店だったり知ってる人がいたらぜひ教えてどんどん沼に引きずっていってほしい。

gitの別リポジトリを合流させる

git

TLでtyru さんの 全く履歴が被らない (別リポジトリとかの) ブランチ同士を無理矢理マージ - Humanity を見て、gitなら履歴を残してマージ出来るのでは?と思ったのでメモ

やること

全く別々のリポジトリAとBの、それぞれhogeブランチとfooブランチをマージする

# リポジトリAをブランチを指定してclone
$ git clone -b hoge (リポジトリA)

# リモートブランチとしてBを追加
$ git remote add repoB (リポジトリB)

# Bの内容を取得
$ git fetch repoB

# 現在のブランチ(Aのhoge)にBのfooをマージ
$ git merge repoB/foo

HerokuのReviewAppsを使うときの小ネタ(HEROKU_APP_NAME,MySQL)

アプリ毎の名前やホスト名を設定したい

ReviewAppsがPR1つずつにアプリ名を環境変数で渡してくれる仕組みがあるのでそれを使うとよい

Review Apps | Heroku Dev Center

app.jsonに以下のような設定を追記すればOK

{
  "env":{
    "HEROKU_APP_NAME": {
      "required": true
    }
  }
}

HEROKU_APP_NAMEは (appname)-pr-(pull request No.) といったフォーマットが渡される。
自分のプロジェクトではこれを使って、S3へアップロードする処理でPR毎に出力ディレクトリを変更するようにしている

mysql2.gemを使いたい

プロジェクトのDBはMySQLなのでReviewAppsでもMySQL(ClearDB MySQL)を使った。
この時、DBへの接続URLは環境変数CLEARDB_DATABASE_URLに入ってくるのだが、URLmysql2:// ではなく mysql://から始まるためこのままだとmysql2.gemが使えない。

単体のアプリなら CLEARDB_DATABASE_URL を置き換えればいいのだが、ReviewAppsだとPR1つ1つに対して置き換えを行う必要が出てくるので現実的ではない。

結局以下のように強引に置き換えることにした

development:
  <<: *default
  url: <%= (ENV['CLEARDB_DATABASE_URL'] || ENV['DATABASE_URL'] || 'mysql2://localhost').gsub(/^mysql:/, 'mysql2:') %>

翔泳社セールで買った

性懲りもなく積読を増やした。
あ、これ買おうって思ったのがすでに購入済となってたのでそっちも早く読まないと…

ビヨンド ソフトウェア アーキテクチャ (Object Oriented Selection Classics)

ビヨンド ソフトウェア アーキテクチャ (Object Oriented Selection Classics)

エンジニアのための図解思考 再入門講座 情報の“本質

エンジニアのための図解思考 再入門講座 情報の“本質"を理解するための実践テクニック

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)

おうちで学べるセキュリティのきほん

おうちで学べるセキュリティのきほん

クイズで学ぶデザイン・レイアウトの基本

クイズで学ぶデザイン・レイアウトの基本

レガシーコード改善ガイド

レガシーコード改善ガイド

あと波よ聞いてくれの2巻が出てたので合わせて買った

Cookpad TechConf 2016に行ってきた その1

幸運にもCookpad TechConf 2016 に参加できた

ユーザーのために、技術をどう活かすか

CTOの舘野さんのお話。

クックパッドがユーザファーストな企業であるために技術に関して、組織作りに関してどう取り組んでいるかの話。 後で振り返ってってみると、この後に続いたどの話でユーザーを第一に考えていて、クックパッドはほんとにユーザーを大事に考えて取り組んでいるんだなという印象を強く受けた。

舘野さんの話で印象に残ったのは組織作りの中で話されていた情報共有の取り組みについて。 情報共有に関してはのところ、自分もどうやったらうまくいくのかなと思っている部分なので興味があった。

社内の情報共有ツールのGroupad(Blog+WIkiみたいなの)には技術情報だけじゃなくて、料理のレシピやスーパーマーケットでの(たぶん携帯の)電波の入りが悪さについての話などもあるらしく、情報の量が多くなって逆に伝わらないということはないのかな?という疑問を抱いた。 懇親会でお話する機会があったのでそこらへんを聞いたところ、以前はフラットに情報が流していたが、組織が大きくなってから部署などグループ内で共有するようにして、その中でいいねなどしてきたのが全体に流れてくるようにしてるとのこと。

おでかけスポット検索のむずかしさ - Holiday を支える検索技術

内藤さんのおでかけスポットを検索の検索のお話。

「中目黒 デート」というキーワードで単純に検索すると住所の中目黒にヒットしてしまい、ユーザーが期待しているカフェとか雑貨とかオシャレなイメージと乖離してしまう。 これを位置情報の検索を工夫して解決している話だった。

「中目黒 => オシャレなイメージはどうやって推測するのか? 他の場所でもできるのか?(推測する仕組みはあるのか?)」みたいな質問をしたかったんだけど、要領を掴んでない質問になってしまって残念だった…

Railsアプリ開発環境の高速化

k0kubunくんさんの高速化話。速い。

asset:precompileに23分かかっていたものが最終的に1分(キャッシュありの場合)まで縮めたとのこと。 23分という時点でも驚きなのにここまで速くできるのはすごい。

何故高速化するのか?という文脈でも(ユーザーに)価値を届けるという話が出てた。 クックパッドは価値を届けすぎではないだろうか。

R&D at Foodtech company

chezouさんのR&Dの話。いい声。

食文化研究の文化や食べみるの話。 クックパッドがNII(国立情報学研究所)にパブリックデータを提供してるのは初めて知ったかも。

最後のほうに出てくる、非専門家でもレシピを機会学習を使って自動分類などができる仕組みについて。 ちょっと前に自分のまわりで自動で分類などをできる仕組みが欲しいみたな話があったので懇親会でいろいろ聞いてみた。 …のを書こうと思ったけどchezouさんが自身のブログでそこらへんをすでに書かれていたのでぜひ読んでみて欲しい。

chezou.hatenablog.com

技術力を事業の強みするために必要なこと

大野さんのお話。 正直、難しい感じだったので改めて発表を見て頭を整理したい(動画待ってます!) "技術は議論や調整に弱い、決定とテストを行う" とか "定義」があることで「評価」が簡単になる" の言葉が印象的だった。

開発した新技術から、新しい価値を作るためのクックパッド検索チームのプロダクト開発手法

五十嵐さんのお話。 ディレクターだけどコードも書いてるらしい。

中の人からはこんな話も。

やばい。

技術先行だったりで思いついた機能で失敗した話と今はどう取り組んでいるかと話でした。

この日どの発表もすばらしかったんだけど、個人的に一番好きな内容でした。 特にこのページ。

機能の前の価値探しの話なんですが、まずベースに企業理念の反対な状態「料理が楽しくない」ってところから考えるところがおもしろいなぁと。 あとは欲求もあったら嬉しいみたいなポジティブなものではなくネガティブなものにフォーカスして、あっても使わない機能が入ったりしないようにしてるみたい。

よくやっちゃいそうな 技術→製品→価値 ではなく、価値→製品→技術 という流れで考えていくのはなんとなく↓のゴールデンサークルぽい考えですね。 自分もぜひ取り入れたいと思います。

サイモン シネック: 優れたリーダーはどうやって行動を促すか | TED Talk | TED.com


(その2 に 多分続く)

age++

一応誕生日Advent Calendar 2015用のエントリです

本日で35歳、ついにプログラマの定年を迎えました。
といっても別に何も変わりなく今日も明日もコードを書きます。

今年を振り返ってみると、プログラマーとしてはあんまり新しいことにチャレンジできなかったという反省があります。当初はGoやるぞ!とか意気込んでいたんですが結局尻すぼみになってしまいました。
来年はもうちょっと通勤時間や帰宅してからの時間などを上手く使って勉強する時間を取れるようにしないといけないなと思ってます。

また今年は例年以上にいろいろな人と知り合えた年になった感じがあります。
一緒に食事をすると仲良くなれるものですね。 ブローカーとかいう妙な呼称もいただいたので来年もこの力を活かしていこうと思います。

余談ですが例の店には15回行ってたみたいです。
(年内にもう1回行く)


さて来年2016年ですが、今のところ以下のようなことを頑張ろうかなと思ってます

  • 来年こそGo
    • ちょうど作りたいものが1つあるので1、2月中にはそれを完成させたい
  • 英語
    • 秋のKaigiまでにもうちょっとリスニングの能力上げる
  • Rubyへの貢献
    • Kaigiでモチベーション上がってるので早めに何かしたい

ということで、とりあえず来年もみなさまよろしくお願いいたします。

あ、例のやつ置いておきますね

Itamae meetup #1 でvagrant-itamaeのLTしてきた

(最後の追記も見てね)

 

資料はこちら

プレゼンアプリが固まって慌ててPDF出力したりして発表してた
 

Itamaeと自分

実はまだItamaeをちゃんとプロダクションで使ったことがない。
 
最初にItamaeを知ったのは、Chefに疲れた/合わなかった勢がAnsibleに流れてた時期だった気がする。どうもAnsibleが手に合わなかった(YAMLで書きたくなかった)ので、Itamaeのシンプル&プログラマブルなとこに魅力を感じた。
 
ガリガリ使ってウチらでItamaeを盛り上げてこっ!ってことをやりたかったんだけど、当時は転職直後でインフラを使う機会が無かった。そこでItamaeの利用を促せるツールを作ることを考えた結果が vagrant-itamae だった気がする。
 

次にやりたいこと

まだ Itamae は packer で使えなくてこれをなんとかしたいなと思ってる。
冬休みにGoの勉強も兼ねて書けたらいいなぁ。
 
(2015/12/10 11:20 追記)
 

資料の中の「vagrantが無くなる」「itamaeの--sshが無くなる」とか書いてる件について

 「itamae --ssh」は @ryot_a_raiさんのkeynoteで「--ssh 無くしたいな〜」という発言を受けたものではあるんですが、他の方の発表で使ってるって声がいっぱいあったので無くなることはないかなと思います。
 
Vagrantについては後継とされるOttoというのがあって、今は内部でVagrantを使っているけどそこが(多分Goで書かれた)何かに切り替わっていくものと思ってます。
ただこれも確定している話ではないと思います。