詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Google Apps Script を使ってブックオフオンラインで購入した書籍を Google Spreadsheet に記録する

今年は読んだ本をちゃんと記録していくぞ! と思ったものの読書管理系のサービスは記録が面倒で続かないことが目にみえている。とりあえず買った本だけでもどこかで一覧できればよいのでは? ということで、Gmail に届くレシートから Google Spreadsheet に追記していく戦略をとることにした。最近はブックオフオンラインを使うこともあるので、これに対応してみる。

そこでできたのがこちら。

GitHub - motemen/gas-gmail-to-spreadsheet-bookoffonline-receipt

  1. 書籍購入情報を記録するスプレッドシートを作成し、スプレッドシートのキー(https://docs.google.com/spreadsheets/d/***/edit)をメモしておく
    • カラムは「日付」「書名」「価格」「個数」「注文URL」
  2. Google ドライブ から左上 [新規] ボタン → [その他] → [Google Apps Script] でスクリプトを作成し、src/Main.js のコードをコピペ
  3. [ファイル] メニュー → [プロジェクトのプロパティ] → [スクリプトのプロパティ] に SpreadsheetId という名前のプロパティを追加し、値を先ほどのキーにする
    • f:id:motemen:20170104131959p:plain
  4. [実行] メニュー → [main] でスクリプト実行。初回は権限の確認が行われる
  5. スプレッドシートを確認して、動いてそうなら [リソース] メニュー → [現在のプロジェクトのトリガー] で main を定期的に実行するようにすれば OK(のはず。まだ動いてないのでわからない)
    • f:id:motemen:20170104132155p:plain

スクリプトで処理したメールには gas-{scriptId}-processed なるラベルがつく。

f:id:motemen:20170104132424p:plain

以上。Amazon 版だれか作ってください。今年もよろしくお願いします。

今年詠んだ句ベスト50

はてなスタッフアドベントカレンダー2016の23日目の記事です。昨日は id:yulily100 の『坦々ポテサラという暴力について』でした。

今年の仕事始めの日に、同僚が俳句を詠んでいる話を聞いたのがけっこう面白かったので、自分もはじめてみることにしました。はじめてみると言っても外形的な変化はなにもなく、ただボーッとしている時間に見たものを五七五で表現してみるだけ。投資はゼロで、はじめは季語を入れる努力すらしなかったので頭もつかわなかったくらいです。

できたもののうち、Twitter に投稿できるくらいのクオリティのものは Twitter に投稿し、都度 Google Spreadsheet に記録して一覧できるようにしました。そうやって50句ほど溜まったのがこちら。ベスト50とはオール50に等しいのでした。

俳句: 2016

参考までに客観的な指標としてfav数も載せています(投稿する時間に影響を受けるようなので、あまり参考にはならないところもあると思います)。気に入った句があったら、あなたもfavで投票してみては?

以下に初心者がやってみた感想を記します。

定型

当然のようですが、ただ読んでいるのと作ってみるのとは大違いで、頭の中のことを十七音に収めるだけでも大変であるところに、季語を入れなくちゃいけない、人に読んで分かる情緒を込めなくちゃいけないってんで、真面目にやってみると思った以上に苦労しました。しかし、厳しい要求を満たすような言葉を探して句をさまよわせる作業は楽しいものです。その結果、最終的にでき上がったものがもともとの着想からかけ離れていることもしばしばですが、そこがまた面白いところなのかな、と思ってます。

定型のひとつ、季語を知るために歳時記というのも買いました。最初はウェブで季語の一覧が見られれば十分だろうと考えていましたが、本には良いとされる例句がいくつも載っていて、じっさいこれを読んでみるとハッとするものがいくつも見つかるので、自分のものと引きくらべてみても良い句の得がたさというのがよく分かる思いでした。

また「切れ」というやつもあるんですがこれは恥ずかしながら本を読むまで知らなかったし、まだよく分かっていない……。

前掲のリストを見ると分かりますが、夏から秋にかけてツイートが途絶えています。これは暦のうえで夏になったタイミングで夏の季語を確認したとき、「植物」に分類されるものがあまりに多いので面食らってモチベーションを失ったことからでした。秋まではそれを引きずっていましたが、再びの冬の訪れでやる気をとり戻したかたちです。

参考までに季節・分類別の季語数を図示したのがこちら。植物以外の季語もほかの季節と同じくらいありますが、やはり植物に存在感がありますね。

季節-分類別季語数(出典: 季語検索システム(国際日本文化研究センター)

くり返しになりますが、歳時記はあるのとないのでは大違いでした。自分は同僚の勧めで以下のシリーズを入手しました。ぱらぱらとめくって適当な季語の解説と例句を読むだけでも面白い。オールタイムベストが収録されてるわけなので当然といえば当然か。

現代俳句歳時記 (冬) (ハルキ文庫)

現代俳句歳時記 (冬) (ハルキ文庫)

ちなみに自分はエンジニアらしく、Slack にボットから毎朝ランダムな季語をサジェストするようにしていました。(あまり見てなかったけど)

また、あまりに初心者めいていて外で読むには少し恥ずかしいですが、これもとっかかりとして参考になりました。

知識ゼロからの俳句入門 (幻冬舎実用書―芽がでるシリーズ)

知識ゼロからの俳句入門 (幻冬舎実用書―芽がでるシリーズ)

何冊か俳句にまつわる本を古本で買いましたが、書き込みがされている割合が高く感じました。書き込みは前の人がどう読んだか知れて好きなのでよかったし、歳時記の一冊には老人のものとおぼしき字で季語ごとに一句ずつ書き添えられていて、内容から詠み手が病院にいることも分かり、ちょっと物語を感じたりもしたのでした。

明日のアドベントカレンダーは id:kiyo-shit です。キヨ=シット、あとは任せたぞ!

エンジニアがチームで価値を発揮するために気をつけたいこと

この記事は、はてなディレクターアドベントカレンダー2016の17日目のエントリです。(昨日は id:daiksy の『嫌われない勇気』でした。)

id:motemen です。過去には立ち上げ期の Mackerel チームのディレクターをしていましたが、当時のことは 過去の記事 にあるとおりで、あまりディレクターとしてほかに書けることもないので違う話を。

今年のはじめごろに エンジニアの専門性を伸ばすためにディレクターに気をつけてほしい3つのこと - Hatena Developer Blog という記事が書かれましたが、これはディレクターからエンジニアに向けた話だったのでこれの逆バージョンを書いてみようと思います。

先に書いておくと、ぼくは新卒ではてなに入社し、ディレクターの id:nmy さん(アドベントカレンダー最終日)や id:chris4403 さん(アドベントカレンダーのエントリ)のもとアプリケーションエンジニアの一人として(当時はそれほど数もいなかったこともあって)、それなりに重宝されながら働いていました。当時は若者特有の万能感でもってバリバリ仕事をこなしていた……ように思っていたような気がするんだけど、いやー今思い返してみるとかなりの寛大さをもって許されていたのだな、と思うばかりです。自分があまりに近視眼的な仕事ばかりして満足していたのは、当時ディレクターとしてチームをまとめていた人たちが足りない部分を埋めてくれていたからだったんだ……って気づいたのは数年経っていろいろなチームを経験してからの話。

これはそういう過去の自分への戒めでもあり、はてなでいえば2年目あたり、会社での働きかたにも慣れてきたなって思えるエンジニアに気をつけてみてほしいことでもあります。

ユーザはどこにいるのか

ぼくたちエンジニアはたまさか技術というものを持っているから、それを日々の仕事として、少なくない時間をかけてお金を稼いでいるわけだけど、そのお金はユーザに何らかの形で価値を提供していることから出てきている。ウェブサービスやスマートフォンアプリで生計を立てている企業の一員として、この最終的に価値を届けたい人のために何が必要か、というのを考えていなければいけない。

どんなに古くメンテナンスされていないコードベースでも、それがユーザに使われて喜びを与えている限りは、新しく美しいまだデプロイされていないサービスよりは100倍も価値があるのだって視点は忘れないようにしたい。

自分たちがやりたいことは何か

自分じゃなくて自分たち。エンジニアは手を動かして触れる対象が身近にあって、問題は探せばいくらでも転がっているので、やろうと思えば好きなだけ技術的に深追いできてしまう。それで何かがよくなることもあるけど、それが局所最適に陥ってしまうこともまたよくあることだと思う。

思いついた解決にすぐに飛びつく前に、いまいちど自分たちが何のためにチームを組んでいるのかを考えることが必要。エンジニアの仕事は問題解決であって、プログラミングではない。

エンジニアの殻に閉じこもっていないか

自分たちの作ったシステムが直接にでも間接にでもユーザに近いところで価値を発揮していること、システムなしではその価値が実現しないことをエンジニアは誇ってもよいと思うけれど、それは裏を返せばエンジニアがボトルネックになりうるということでもある。最終的な成果物というのは多かれ少なかれエンジニア以外の職種の手が入って初めてユーザに届くものなので、デザイナや営業やサポートや編集や企画、そしてディレクターといった職能の人々にエンジニアの仕事がスムーズに渡っていくように見守らなければいけない。そして彼らのために技術的な支援が行えるのなら、それを積極的にしていくこともエンジニアの仕事になるはず。

そういう意味ではチームメイトもエンジニアの顧客であり、チーミングの技術というものもエンジニアがカバーすべき技術のひとつに数えられるのじゃないかと思います。


はてなディレクターアドベントカレンダー2016、明日は id:shimobayashi です。