積極的に可愛い LGTM をしていく
背景
いまの会社では pullreq してコードレビューしあう開発体制になっている。コードレビューして問題なければ LGTM とかやる。
ところが最近、可愛い LGTM 画像が貼られるとコードレビューが通った時の嬉しさ(主に俺の)だとかやる気具合(主に俺の)に良い影響を与えることが分かってきた。
ということは、積極的に可愛い LGTM が出来る環境を整えてやれば仕事の効率が飛躍的に伸びるかもしれない(主に俺の)。
LKTM
LGTM 用の画像というと LGTM.in ってサイトが有名なんだけど治安が悪くなってて全然使えないから自分用の LGTM 画像置き場を作ることにした。
Looks Kawaii To Me の略。俺の造語。
ここに良い感じの画像を溜めて LGTM していく作戦。
画像に LGTM の文字を突っ込むのは ImageMagick 使ってやれば簡単に出来るので適当にプログラム書いて TumblrAPI でアップロードするようにしてやればいい。
説明なんも書いてないけど API のトークンを config/application.yml に書いてやって
$ bin/lktm.rb "path_to_image"
とかやると LGTM された画像が Tumblr にアップロードされる。
LTTM
GitHub で LGTM 画像を挿入するには LTTM という Chrome 拡張がめっちゃ便利。
寿司ゆきとか tiqav 画像を簡単に貼り付けられる。
ありがたいことに LTTM はソースコードが GitHub で公開されているのでこれを fork して LKTM の画像が拾えるようにした。
ソースをビルドしてデベロッパーモードで Chrome に読み込ませる。
GitHub のテキストエリアで !k と打つと LKTM 画像がプレビューされて挿入出来るようになっている。
これで晴れて最高の LGTM をすることが可能になった。仕事の質もぐんぐん上がるはず。
動作は以下のようになっている。最高。
pretty_date という gem を作った
遊びで作ってる Rails アプリで使う用に作った。
こんな感じに使うやつ。
require 'pretty_date' PrettyDate.format Time.now # => just now PrettyDate.format Time.now - 60 * 10 # => 10 minutes ago PrettyDate.format Time.now - 60 * 60 * 10 # => 10 hours ago PrettyDate.format Time.now - 60 * 60 * 24 # => yesterday PrettyDate.format Time.now - 60 * 60 * 24 * 7 # => 1 week ago
で、作ってみたら time_ago_in_words という見事に丸かぶりの機能を見つけて完全に車輪の再発明になった。
まあ考えてみればこういう機能がないわけないよな。
再開発でも学びはあったから前向きに良しとする。
料理の四面体を読んだ
- 作者: 玉村豊男
- 出版社/メーカー: 中央公論新社
- 発売日: 2010/02
- メディア: 文庫
- 購入: 1人 クリック: 32回
- この商品を含むブログ (16件) を見る
確かあんちぽさんのブログで紹介されていて気になったので買った。
著者の軽快な言い回しでアルジェリアの羊肉シチューは豚のしょうが焼きに変わり、英国式ローストビーフは鯵の干物へと変わる。
美食家の著者は世界を旅して様々な料理を食してきて気付いたのは料理には原理があるということで、それさえ分かってしまえば素材の工夫で無数の料理を作れるということだった。
卵で作る 100 の料理だとか、鶏料理で 365 日なんてものは知らなくてもいい。
料理の原理、すなわち料理の四面体さえ分かれば毎日の献立に悩まくても好きな料理を作ることが出来る。
ということを説明している本。
ひとつの料理からいくつもの料理に繋がっていくのはなんだかパズルを解いているようだった。
こうやって論理立てて料理方法を解説してる本は多くなさそう。面白かった。
ちなみに著者が提言している料理の四面体はこちら。
サラダの果て、はじまりの料理/新入生のための一人飯ハック 読書猿Classic: between / beyond readers より
Sendagaya.rb #118
translaunder という gem を作った
What is TransLaunder?
新しい会社に転職して Ruby を使うようになったけど経験がほとんどない。
勉強がてら gem でも作ってみようということで作った。
translaunder | RubyGems.org | your community gem host
app2641/translaunder · GitHub
translaunder は Google 翻訳の翻訳結果を複数回翻訳するというやつ。
使い方は簡単で、
translaunder ja en 事なきを得る => 私はKotonakiを取得
と元の言語、翻訳したい言語、翻訳したいテキストを指定してあげればよい。
translaunder ja en 勝算はあるのか => チャンスはあります
translaunder ja en 日本じゅうがきみのレベルに落ちたら、この世のおわりだぞ => 日本は一度を通じてあなたのレベルにまで下がりました
こんな感じで遊べる。
実装
実装は似たような機能の gem である termit を参考にした。
module の書き方が読んでも意図不明なところが幾つかあったけど他はすんなり理解出来た。
クラスの分け方は普通のオブジェクト指向の分け方だから特に苦労せずクラスも書いていけた。
問題は Rspec で、何やってんだかさっぱりだし書き方も謎くてひとつずつ意味を理解することに努めた。
テストコードを読むにあたり下記のエントリを参考にした。
中でもモックを使う話は分かりやすくて参考になった。ありがたき。
モックと言っても基本的にやらせたいことは PHP であろうと Ruby であろうと同じなので、書き方さえ分かってしまえば理解は早かった。
まだ基本的なテストしか書いてないけどうまく出来てよかった。
見事、カバレッジも 100% だ。
次は Rails アプリを何か作ってみたい。
■
東京に引っ越してきたけどネットがまだ開通してない。ネットないと死ぬ。
なんとか携帯でテザリングして食い扶持を凌いでる感じ。ところが上限3Gの契約にしてたせいですぐに制限に引っかかって詰んだ。
めっっっっっっっっっっっっっっちゃ遅い。あの高速な Google でさえ遅い。話にならん。
まだ調べたいことやネットで買いたいものがあったから困った。
そうなるとネカフェかコワーキングスペースか。
とりあえずネットに繋げさえすれば良いからコワーキングスペースで探す。
これ行ってきた。
500円でいつまで居てもいいようだ。よい。
飲み物はコーヒーやティーバッグ、水は無料。
家はまだフローリングに直に座ってダンボールデスクで作業するしかないし、椅子に座れて机があるの最高だ。プログラムも書ける!
良い場所だったからまた行きたい。
やっぷしーーーーーーーーーーーーーーーーーーーーーーーーーーーーー #yapcasia
東京に引っ越してきて仕事始まるまで暇だし、さっそく YAPC::Asia Tokyo 2015 に行ってきた。
今までは愛知に住んでいたし、東京まで出てくるのお金もかかるしで参加出来ていなかったけど無職なおかげで全日参加出来て良かった。
最後の YAPC なのはとても残念なことだ。
前夜祭
前夜祭はしょっぱなから大幅に遅刻した。ビール貰い損ねてくやしい。
途中入場。立ち見の人もたくさん居た。
遅刻したせいで聞き始めてすぐに終わってしまったので内容はちゃんと聞けなかった。
質疑の時間が長くて YAPC はこんな感じなのかと驚いた。
ブクマを稼ぐにはみたいな話が大部分を占めていた。
面白い話だったけど、タイトルだけ見てブクマする人も多いだろうし(特に長文では)一概には言えない話だよなあと思った。
ブログ書くためのモチベーションだとかネタをどう探すのかとかそういう所をもっと聞けたら良かったな。
トーク内容 dis ってるわけではないです。
一日目
Miiverse の話聞きたかったけど前日同様遅刻した。最悪。
昼休みに次の職場の人たちと会った。再来週からですねえみたいな話をした。
フロントエンドの事情よく分かってなかったので聞いた。
Angular とか React, Flux あたりは分かってるけど Browserify とか BABEL とはなんぞやという感じだったので、なるほどなれて良かった。
フロントエンド、混沌としてて日々追ってないとすぐにまた置いてかれそう。
はてなにおける Perl の苦労話。ベストトーク賞取っててすごい。
ひとでさんくんの声、こんな感じかーと思った。
あと、はてなでも謎のフレームワーク動作や不思議コードに振り回されたりしてるんだなあと思った。
Electron 気になってたので聞いた。
まあそんなに真新しい内容ではなかった。Electron 自体は面白いプロダクトなので何か作ってみたいと思わされた。
esa.io は次の職場でも何かとつながりがあるようなので聞いた。鳥かわいい。
色んな技術勉強してこれからも色々と作っていきたい。
部屋に冷蔵庫が届くということで、LT や懇親会は参加せず帰宅。
懇親会参加したかった…
二日目
二日目はさすがに遅刻しなかった。聞きたかったやつは全部聞けた。
GCP の話。
いやもう Google は扱うデータの規模が大きすぎて驚きばかりだった。
今まで俺がひーこら言って扱ってきたデータはなんだったのかという気分になるがめげずに生きていきたい。
式年遷宮アーキテクチャというやつの話。
頑張って試行錯誤してシステム作ったけど結局うまくいかねえじゃんってのあるあると思いながら聞いた。
まあでも失敗しても得られるものはあるのでそういうので凹んでいてはいけない。
Blue Green Deployment の話。前職でブルーグリーンやってたけどメリットはすごく明確でやりたい!ってなるけどそれが出来るようになるまでの前提条件というかシステム構築はめっちゃ大変で、このトークも紆余曲折の話してて分かるぞ!って聞いた。
その半面、うまくブルーグリーン出来た時は全てがカチッと辻褄が合って動いてくれて嬉しいんだよな。
ネタトーク会という感じ。
ウェブで見たことある人たちがたくさん集まってその人達がトークしあってるってのはおおおーと思うところがあった。
一時間で終わってしまうとは勿体無い。
Golang 使ったこと無いけど LT の場所取りも兼ねて聞いた。
ライブコーディングがめちゃ良かった。そうやってコーディングするのかーって見てた。
欲を言えば Emacs じゃなくて Vim が良かったな!!!!!!!
全編面白かった。
時間切れになる人はいなくてさすが YAPC の LT だと思った。
YAPC は大規模勉強会じゃなくてウェブエンジニアのお祭りだったんだなとこの時に思った。
初参加だったのに最後の YAPC でこれでもうないのかーと思うと感慨深かった。
俺はそれほど技術に長けているわけではないし、こういう場所に立つことはたぶんないと思うけどイベント運営なら役に立てそうだと感じて機会があれば何か運営に携わってみたいなと牧さんの話を聞きながら思っていた。
お疲れさまでした。