インターネットのみなさんから頂いたプレゼント

Wishlistに入れた覚えのないものがいくつかありますが、みなさんありがとうございました!

今回知見として、ギフト包装をしなくても購入者の情報が送られてくるということがわかりましたので、今後の参考にさせていただこうと思います。

エクストリームプログラミング

エクストリームプログラミングという本に出会ったのは、大学の図書館だった気がします。当時はソフトウェア開発の方法論のようなものにとても興味があったので、アジャイル界隈の書籍をかたっぱしから読んだりしていました。

その中の1冊だったはずなんですが、あまり印象は強くなかったような。どちらかと言えば、アジャイルソフトウェア開発の奥義リファクタリングテスト駆動開発入門 など、より実践的なテクニックの載っている本の方に興味をもっていたように思います。価値や原則をすっとばして、プラクティスばかり追っていたとも言えるのではないでしょうか。

そしてその後、今は秋葉原にあるアジャイルとRubyの会社に就職して、そこでXP厨の人達(すごいボンクラ達)と出会って、自分もボンクラの仲間入りができつつあるかなと思っていたところで新版の出版です。とても楽しみにしていた本書なわけです。

26日のトークセッションはとてもすばらしくて(体調不良をおして参加したかいがあった)、この本はただ読むだけでは真意を理解できなくて、ケントベックの人生や、それを読みといて伝える人たちの話を聞き、対話することで理解できる、そしてその場がトークセッションだったんだなーと感じました。

XPは何を伝えたかったんだと思う? from Masanori Kado

たぶん、この本は読んだからといってサービスの売上は倍にならないし、明日からすぐに試せるすごいテクニックが身に付くわけでもないけれども、ソフトウェアを開発することを生業としている人はぜひ読んでおいてほしいなと思います。

POとPOじゃない人の勉強会 第07回

今回は15章から17章まで。

  • リファレンスカスタマーの「リファレンス」ってどういう意味が込められているんだろう
  • アンケートやペルソナ作りの実体験
  • ペルソナ作りから競合を定義する

といったあたりの話がもりあがったポイントだったような気がします。

相変わらず資料と詳細な議事録は社内限定で。

幼稚園での誕生会

幼稚園で誕生会があるとのことなので、午前休をいただいて見にいってきました。

元気にやってるようでなにより。

新卒研修のキャリア・キーノートで昔話をしました

ペパボ新卒研修については ペパボ新卒エンジニア研修2015が始まっています | blog: takahiro okumura に詳しく書いてありますが、その中の人のキャリア・キーノートという取り組みで、大学時代からの昔話をしてみました。

資料は公開しにくい情報をいくつか載せてしまったので、今回のスライドは非公開です。

たぶん社会人になってからは誰にも言ったことないような情報もいくつかあったので、聞いた人はラッキー(?)という感じで。

クラスメソッドさんとスクラム情報交換会

で一回休み。

完全にアルコール消毒を失敗した感。

聖誕祭(順延)

今年もやってまいりました私と息子の聖誕祭でしたが、私は先週から喉をやられてしまい、息子は前日に39度の発熱という状況で、イベントは来週に順延となりました。

とはいえ、何もしないもなんなので、夕方に買い物に出てケーキを買ってみんなで食べておしまい。

去年の誕生日に奥さんからもらったバッグが数ヶ月前に壊れてしまったので、しばらくはYAPCでもらったトート(?)で生活していたのですが、さすがに厳しい感じになってきたので、変わりのバッグをアマゾンさんにお願いしていたのが届きました。前回はファスナーが壊れてしまったので、ためしにファスナーが少ないやつにしてみました。

そんなこんなで、もう33歳になったようです…定年まであと2年かーという気分ですね。あと、そろそろアラサーと言えない年になってまいりました。

というわけで、いつものやつはここにおいておきますね! https://amzn.to/kenchan-wl

あとあと、もちろん何か送っていただくのもすごくすごく嬉しいのですが、私達と一緒にペパボをバーンとしていく仲間になってもらえるのが一番嬉しいので↓もぜひぜひよろしくおねがいします!

技術基盤整備エンジニア(正社員/東京) | エンジニア | 職種詳細 | GMOペパボ株式会社

風邪をひいて1回休み

昨日あたりから体調が悪かったんだけど、今朝はまったく起きられなかったので1回休み。

少しよくなってきたので明日からまたがんばろ。

PhantomJS 2.0.0 はファイルアップロードがうまくいかないことがある

YAPCに応募したトークの通り、今私はcapybara(& poltergeist)でE2Eテストを書いてるわけですが、 attach_file を利用したファイルアップロードがうまくいかないなーと悩んでいたらドンピシャなissue Webpage.uploadFile not working in phantomjs 2.0 · Issue #12506 · ariya/phantomjs があったので諦めてバージョンを下げたものを使うようにしました。

homebrewでインストールしている場合は以下の方法でバージョンを下げられます。

$ brew tap install homebrew/versions # ここにphantomjs198がある
$ brew install phantomjs198
$ brew link phantomjs198

このバージョンだと、今度はJavaScriptの警告が出るようになってしまったのですが、テスト自体はうまくいっているのでこちらで進もうと思います。

POとPOじゃない人の勉強会 第06回

プロダクトオーナーシップ勉強会という名前がよくないな、と思ったので、今回から「POとPOじゃない人の勉強会」というタイトルにしたのでした。

意味わかんないかもしれないけど、そういう勉強会なんですよ。

本書は結構古い本なので、コレは最近でいうアレだよね、とかそういう話をしながら1時間みっちり。

今回は議事録に参加者の声を載せてみたので(下にも転載しておきます)、次回からは参加者倍増するはず!!1この勉強会は他人事ではない!!1

参加者の声

  • この後勉強会があることだけが心の安らぎかもしれない、、、(A事業部Tさん)
  • 心の拠り所になっている (B事業部Tさん)
  • 今日も学びが多かった!! (A事業部Wさん)

YAPC 2015 のトークに応募しました

ペパボに来てからもう少しで1年だけど、なんかバーン感ないし、うーん…と思っていたのですが、自分のバックグランドと得意なところがマッチしたお仕事をはじめたので、まだ結果は出てないですが、その結果報告ができればなーと思って応募しました。

10年動き続けているブログサービスのエンドツーエンドを書いた記録 - YAPC::Asia Tokyo 2015

発表が通るか、仕事はうまくいくのか、両方たのしみですね。

みんなのバースデイ

GMOグループでは「みんなのバースデイ」という誕生月の人を祝うイベントが月1で行われており、誕生月の人はゲームで勝つ(?)と豪華賞品が貰えるという話を聞いて参加してきました。

結果は聞くまでもないかんじでしたが、普段は話せない役員の方々とお話ができたりと、いい取り組みだなーと思いました。

また来年も参加しよう。

プロダクトオーナーシップ勉強会 05

第5回。9章から11章まで。

参加している方々から、実際にこういうことをやってみたとか、そういう話が聞こえるようになってきた!!1

毎回耳が痛い感じなんですが、それ相応の成果は出てきてるんじゃないかと思えてきました。

新卒研修の導入としてワークショップをしました

ペパボの新卒研修については、昨年CTOがLL Diverで発表しましたが( GMOペパボのエンジニア新人研修 #lldiver - delirious thoughts ) 今年はさらにパワーアップして様々な取り組みを行っています。その詳細についてしかるべき時にしかるべき人が発表すると思いますので乞ご期待という感じなのですが、その中の一環として、見積りと計画づくりの話をしてほしいと言われたのでワークショップ形式でやってきました。

ざっくりと見積りや計画づくりについて説明しながら実際にやってみるという流れで打ち合わせをしていたのですが、話をしていくうちに「チームビルディングがいるな!」と思ったのが先週の金曜日。最終的な成果物や、特定の方法論に価値を見出すのではなく、大事なのは「チームづくり」「計画づくり」という活動なんだというのを強調しようと、「1つの型」という表現にしたのも先週金曜日。さらに、今朝は歯医者で虫歯の治療をして、ひょっとして始まるまでに麻酔が切れなくて変なしゃべりかたになってしまうのではないかとドキドキしながら本番を迎えたのですが、なんとかそれなりのかたちにはなったのではないでしょうか。

ちなみに、見積りと計画づくりの題材は Ruby on Rails Tutorial で、これは数年前に同じような状況で一度失敗している(とまでは言わないけど上手くできたとは言えない感じだった)ので、そのときの経験も活きたのは間違いないですね。

自分としては及第点は取れたと思っていますが、受講者からしたらそんなことなかったかもしれないので、そのあたりのフィードバックが得られてからまた詳細を整理しようかと思います。

こういう依頼が来たのも 第1回ペパボテックカンファレンスで見積りと計画づくりについて発表しました - けんちゃんくんさんのWeb日記 の発表があってのことなので、こういう方向性で押していっていいのかという葛藤はありますが、アウトプットのフィードバックが回っていていい気分です。

Android M Developer Preview

スパイダーモデルのNexus5にAndroid Mのプレビュー版を入れて数日経過しましたが、Twitter公式アプリがとにかくよく落ちるという点を除いて不自由なく生活できています。

前回の障害だったヤマダ電機アプリも元気に動いています。

たしかにバッテリーの持ちは良くなったかな?という印象がありますので、ローカルのデータがふっとんでもいい人は試してみるといいのではないでしょうか。

2FAの解除やバックアップコードの確認は忘れずに。(Herokuのバックアップコードを紛失してログインできない状態になっています…)

プロダクトオーナーシップ勉強会 04

完全に書くのを忘れてたけど第4回があった模様。6章から8章まで。

GH:Eの社内勉強会リポジトリを見たらこの日からログを取るようになったみたい。

cloud-initのper-xxxまとめ

cloud-initのper-xxxについて調べたのでまとめておきます。

per-xxx について

cloud-initは /var/lib/cloud/scripts 内にあるスクリプトを、cloud-init起動時(インスタンスの起動時)に実行します。この中には以下の3つのディレクトリがあります。

  • per-once
  • per-instance
  • per-boot

これらのディレクトリに 実行権限のついたファイルを置いておくと それぞれのタイミングで実行されます。

per-once

per-onceは、マシンイメージに対して1度だけ実行されるスクリプトを置いておきます。実行されたかどうかは /var/lib/cloud/sem の下にファイルがあるかどうかで判断されます。

ポイントは、/var/lib/cloud/scripts/per-once にファイルがあったかどうかや、新しいファイルがあるかどうかといった点は 考慮されない ということです。

cloud-init入りのベースイメージから、packerでちょっとした細工をするといったケースの場合、このpackerでマシンイメージを作成したタイミングでper-onceが実行したことになってしまうので注意が必要です。

実際の使いどころは…今の私には思いつかないので誰か教えてください…

per-instance

per-instanceは、インスタンスに対して一度だけ実行されるスクリプトを置いておきます。実行されたかどうかは /var/lib/cloud/instance/sem 以下のファイルで判断されます。

/var/lib/cloud/instance というディレクトリは /var/lib/cloud/instances/#{instance-id} というディレクトリのsymlinkになっています。インスタンスからスナップショットをとってそこから新しいインスタンスを起動した場合などは、instance-idが別になるので再実行されるという仕組みになっています。

なお、EC2だとスナップショットから上手く動かないという記事をいくつか見たのですがOpenStackでは問題なく動きました。「per-onceのsemファイルを削除して再実行する」といった類のハックは必要なさそうです。

実際の用途としては、社内のOpenStack基盤だと各々云々の事情で初回のインスタンス起動時にネットワーク関連の再起動が必要になっているので、そのスクリプトを置いておく場所によさそうです。

per-boot

per-bootは、インスタンスの起動の度に実行されるスクリプトを置いておきます。

監視に仕組みやクラスタに入るためのブートストラップなど、そういうのに使う感じでしょうか。

まとめ

per-onceの具体的なユースケースをお待ちしています。

歓迎会

お手伝いしてるサービスに新しい方が来たので歓迎会でした。今週は2庄屋でフィニッシュです。

AEP読書会に参加しました

藤村さんの地道なリクルーティングのおかげか、急に人がたくさん来て買い出し班は大変でした…

本編では、有識者がPOとSMになっての寸劇などもあり、みんな楽しめたんじゃないでしょうか。

寸劇の内容は、「チームがここまでできると言ったところまでできなかったことに不満を感じたPOに対してSMはどう対応すればよいか」ということがテーマだったのですが、やっとむの迫真のPOと、お酒がはいっているけど真面目に対応するSMという構図がこの会をよく表わしているなーと感じました。

プロダクトオーナーシップ勉強会 第03回

社内の有志で行っているプロダクトオーナーシップ勉強会の第3回でした。

3章から5章で資料は公開されてないっぽいのでおしまい。

飲み会

会社の飲み会で1回休み。

Testing Casual Talks #2 で負荷テストについて発表しました

負荷テストそのものの詳細はペパボテックカンファレンスでおいちゃんが発表した資料 EC performance testing // Speaker Deck を見てもらうとして、そのテストの裏側というか、負荷テストすると言ってもそれなりに準備しないと上手くいかないし結果を活用できないよね、という普通の話をしたくて発表してきました。

テスト計画とかシナリオの作成とか、それぞれのトピックで話したいことはあったんですが、1つに絞るとしたらやっぱり実際のデータをちょっとでも見せられて視覚的にも派手な分析と考察のところかなーと思って、そこに絞った内容にしてみました。

恐らく一定の規模のアプリケーションを運用しているところは何らかの方法で負荷テストって実施してると思うんですよ。けど、なかなか表に出てこない部分のように感じているので、少しずつオープンにしていけるといいなと思っています。

同じような悩みを持っている人、知見を共有しましょう!

Testing Casual Talks #2 : ATND

チームで合意を取ること

大事なんだけど、合意をとる「何か」はちゃんと誰かが自信と責任をもって考えてほしいんだよな。それが正しい必要はないけど、状況の整理とそれに基づいた判断の根拠くらいは。

決められないからチームに相談することが適切な場合はあるけど、状況の整理が足りなかったり、単なる責任逃れだったりすることもあるんじゃないかな。

そんなことを Inspired を読みながら考えてた。

細竹

実家から送られてきた細竹をそろそろ処理せねばと思って一気にやりました。

1ロット目の新聞紙を開けたときに土みたいなのが入っていたのですがとくに気にしないで処理をはじめたら、最初の一本の一番外側の皮をむいたら芋虫状の何か(まだ生きてる)が出現し、気持ちを落ち着けるために暫く休憩をしました。

そこで気付いたんですよ。土みたいなやつは糞だったんですね…で、量的に1匹じゃないだろうなと思って念入りに調べながら皮をむいていたのですが、結果としてもう2本ほど穴の空いたあやしいやつがあったのでそのままゴミ箱行きにしました…

2ロット目はだいぶ上手に、しかも早くやれるようになったのですが、このスキルが有効なのはおそらく年1回程度なんですよね…

で、さすがに自動化されてるだと思ったらやっぱりあったので共有いたします。めっちゃやりたい。

社内プロダクトオーナーシップ勉強会02を開催しました

今回は、私がまとめ資料をつくってそれを30分くらいでざーっと見ながら気になったところをコメントしていく、後半で社内のコンテキストも含めたディスカッションをする、というような形で進めてみました。

自分含めて8人のプロダクトマネージャーっぽいロールの人やそういう動きが期待されている人があつまってわいわいできたのでよかったです。