けんちゃんくんさんの Web日記

2017年5月15日

CTL座談会

CTL(チーフテクニカルリード)座談会 - 圧倒的成長を加速させるペパボの新体制 - 僕達、ペパボのCTLです | スタッフインタビュー | 採用情報 | GMOペパボ株式会社

5人の服装がバラバラで、果たしてこのインタビューはいつ収録されたのか、読者を混乱させるようなコンテンツが公開された。

ふざけたTシャツには目をつぶると、各々が仕事の内容や今後の展望について真面目に語っているよいコンテンツではないかと思う。

沢山のよいコンテンツ

今日は豊作だったのではないか。

自分でもよく考えてみます。

「ルナルナお薬手帳」を使い始めた

昨日の夜から鼻が詰まり始めて、今日の朝にはかなりひどい具合になってしまったので夕方耳鼻科に行ってきた。

大体いつもの処置をしてもらい、アレルギー性鼻炎の薬の処方箋をもらって薬局へ。いつもどおりお薬手帳忘れましたという話をして、しばらく待って薬をもらって帰ったわけだけど、薬の説明の紙にQRコードが印刷されてるじゃないですか!

早速お薬手帳アプリを入れてみようと探してみると、結構不安なものが沢山並んでいる…まともそうなのを幾つか見てみると、連携している薬局とアプリに登録している情報を共有するような仕組みもあるらしい。悲しいことに津田沼にはそういった薬局がなさそうだったので、UIと信頼性からルナルナのやつを使ってみることにした。

薬局に連携する仕組みがうまくいくとかなり体験が変わりそうなんだけど、実際どうなのかなぁ。

ルナルナお薬手帳:無料の電子お薬手帳アプリ - Google Play の Android アプリ

ポケモンムーンをクリアした(殿堂入りまで)

息子が詰まったときのために、追い越さないように少しずつやっていたポケモンだったが、無事クリア(殿堂入り)まで完走した。去年のクリスマスプレゼントだったので、5ヶ月もかかっていたことになる…プレイ時間は50時間くらい。

息子は2週間くらい前には終わっていて、詰まってて手伝ったのは1,2回だったような気がする。小学1年生でもなんとかクリアできるというのは良く出来るなぁと思った。何やら友達から強いポケモンを借りたりしたようだが、少し前のポケモンのCMにあったように、そういうコミュニケーションができるのも良いところだと思う。

で、満を持してネットを解禁したわけだけど、これは完全な沼だということがよくわかった…最終的にはじゃんけんになるけどどこまでやるか…

「RubyでつくるRuby」を読んだ

RubyでつくるRuby ゼロから学びなおすプログラミング言語入門(紙書籍) – 技術書出版と販売のラムダノート を読み終えた。

導入では変数や分岐のような基本的なRubyの構文を紹介していて、一見ふつうのプログラミングの入門書のように見えるが、その次に「"木"とは?」というあたりから雲行きが(よい意味で)怪しくなる。

そこからは、この書籍(特集)のために作られた構文解析のgemを使いながら、インタプリタを実際に作っていくことになる。タイトルを見たときの印象は、字句解析や構文解析が相当大変そうというものだった。なので、こんな和やかな雰囲気の本で大丈夫なのかと心配していたが、その部分はありものを使うということでホッとした。

書籍の通りに進めていくと、最後には(使う構文を限定すれば)FizzBuzzが動くくらいのインタプリタが出来上がる。自分の書いたRubyのコードが自分の書いたインタプリタ上で動くというのは、自分にとってははじめての経験でちょっと(?)感動してしまった。

あとこれは余談だが、ラムダノートさんはShopifyを使っていてとてもよく出来ている…こういう体験を自社サービスで提供したいという気持ちが強くなった。

イオン幕張へ

息子の調子も良くなってきたので幕張のイオンまでお出かけ。

大体いつもの休日くらいの混雑具合。屋内のイベントスペースではジャンピングMAXとか言う20~段の跳び箱やら、野外の方ではビジュアル系のライブで大変なことになっていたり、GWっぽい感じだった。

お昼食べながら、目の前に公園があることを知った息子がめずらしく行きたがったので放流したりしてた。

散髪ログ

前回は2/12だったので丸2ヶ月くらい。

改装も無事終わっていてだいぶおしゃれな感じになっていた。個人的には前の街の美容院っぽい感じが好きだったけど…

あと、シャワーが移動式になっていて、椅子の後ろの床に埋め込まれてる謎の装置と合体すると水(お湯)が出るという仕組みになっていてすごかった。

病院

息子のアレルギー性鼻炎がひどく、かつ微熱がでてきたので連休前の病院へ。

私がこっちに来てからよく行っている総合病院にはじめて連れて行って、耳鼻科に通してもらったところ、2時間半待ちの処置10分で終了。

朝早かったのと、息子も具合が悪かったので二人座って寝てしまっていた…

薬をたんまりもらって、夜には鼻炎も収まってきたっぽいので一安心。

2017年4月に読んだ本

「ストレングス・ファインダー」をやっていた

新しい版が出るのを知らずに、ちょうど先月やってしまっていた。

出てきたのは以下の5つ。意外なものがないのがよくもあり残念でもあるという感じ。

  • 回復志向
  • 調和性
  • 個別化
  • 親密性
  • 学習欲

公開してもいい人の結果は社内でまとまっていて、各レイヤーやチームの単位で傾向や分析ができるのは面白いし、面談等のネタはもちろん今後のチャレンジの方向性に活かしていけるとよいなー。

〇〇診断や占いのようなものと何が違うんだという話もあるけど、多角的に自分を見つめ直すための一つの手法としてはちょうどよいものだと思う。

歓迎会で一回休み

月曜から東亜飯店で歓迎した!新卒氏含めて新しい人がどんどん入ってきてくれるのは嬉しい限り。

Privaucksのプライバシーフィルタを購入

ものは柴田さんの一緒でサイズ違い。(参考: Privaucks の覗き見防止フィルターを買った, おやこで干支つむ を買った - HsbtDiary(2017-04-19) )

最初は柴田さんが15インチにするから余った13インチのを借りようという話だったのだけど、タッチバーモデル(というかLate 2016)はベゼルを含めたディスプレイのサイズが一回り小さくなっているようで大きさがまったく合わなかった。

さて、実際つけてみてどうかというと、正面絡みてもディスプレイの品質が何段階か下がったような感じになってしまうのが残念。あとは、プレゼンのときはちょっと気をつけないといけないなぁと思ったり。

とはいえ、実際に外で開かざるおえないことはあるので、割り切ってやっていこう。

「コーチングのプロが教える「ほめる」技術」を読んだ

タイトルには「ほめる」とあるがそれだけではなく、相手を「認める」こと(本書のなかでは「アクノレッジメント」と言われている)によってより高い成果を出せるように導いていくという話。

コーチングの本としては特に目新しい内容ではなかったが、いくつか良いと思ったフレーズがあったので残しておく。

「自己説得」した行動は、「他己説得」された行動よりも現実化する可能性が高いといわれています。

コーチングとはという文脈の中での一文。自己説得を促すのがコーチングであるというのは納得。

「あなたがそこに存在していることに気が付いている」というメッセージのすべて、つまりアクノレッジメントが「生き残れるか?」という不安を払拭することにつがります。

自分や同僚やコミュニティの仲間を思い浮かべて色々考えることがあった。

ほめることは技術です。

恥ずかしさとかいろいろあるけど、技術だと言い切られると、学習して、実践すればよいと考えられるので良かった。

I(アイ) で承認するというのは、相手の行動、あるいは存在そのものが、相手に対してどのような影響を与えているのかを言葉にして伝えることを指します。

客観的に認めるよりも、主観で認めてあげることが相手に与える影響が大きいし、認めるほうも楽という感じ。たしかに。

向こうが投げたボールに対して、そのボールをすぐに返す、というのは相手に対するアクノレッジメントとなります。逆にボールをいつまでも返さないでいると、その程度にしか自分のことを思っていないのだと思われかねません。

はい…がんばります。

相談する、教えてもらうは、聞く側が「下」になりますから、年上の人にとっても受け取りやすいアクノレッジメントになります。

年上の部下を褒めることの難しさ(褒める側がどうしても上に感じさせるため)から、意見を求めることもアクノレッジメントなんだよという話。上下に関係なく、相手に合わせて使えるといいなと思った。

上司に対する不満の多くは〜つまり、本人の主観では業績は上げているし、それ相応の仕事をしているのにアクノレッジメントが少ないのはなぜなんだということです。

そうならないようにしていかないとな。

7期生とランチ

4月に入社した新卒7期生ランチに@june29と行ってきた。@june29と@hsbtと@udzuraと私の不思議な関係(?)や、その背景にあるコミュニティの話をしてたら、あっという間に1時間が経っていた。7期生の話をあまり聞けなかったので、次回はもっとみんなのことを聞きたいな。

いろいろなアクシデントを乗り越えて調整をしてくれた@endo_f181くん ありがとう!

庄やで一回休み

部長と若者と一緒に庄やに行って一回休み。

最近色々あったので誘ってもらえて嬉しかったです。

帰り際にケンタロマグマとロベ大使が現れて庄やを制圧しようとする様子を横目に帰宅。お疲れ様でした。

「mrubook: mruby の実装を探検する薄い本」を読んだ

勝手に名前にシンパシーを感じてるしゅー くりーむ(@syu_cream)さん | Twitterさんの本を読んだ。

技術書典にはいけなかったのでKindleで。(なんと今ならUnlimitedで読める!)

言語処理系の仕組みについての知識が皆無なので、前半はかなり難しかったし理解はできてない…。最後のGCの話は、最近なんとかRuby会議等でよくGCの話を聞くので「ほー」という感じで楽しむことはできた。

最後の「バイナリを手で描いてみましょう」は完全に振り切りモードでとっても素晴らしく、こういうことをちゃんと書ける人はすごいなぁと思うばかり。

ららぽーとへ

奥さんがサンキューマートのポプテピピックコラボグッズが欲しいというのでお出かけ。

実は木曜にも行ってきたんだけど、そのときはなかったボールペン(?)が入荷しているという情報を入手したらしく、なんど2回目の訪問である…

土日にいったのは久しぶりだったけど、相変わらず人が多くて大変。ペットショップで100万超え(!?)の子猫を見たり、オムライスを食べたりして帰宅。おつかれさまでした。

「ストーリーマッピングをはじめよう」を読んだ

本を読んだらまとめる癖をつけよう…その第一弾。

人間は筋道がたっているのを求める

ストーリーには構造があるという話から始まる。

本書では、ストーリーの構造を「ナラティブアーク(導入からクライマックスまで盛り上げていき、最後に落とすという起伏を表現する曲線)」と、それに沿った「7つのフェーズ」に分類して説明している。

ナラティブアークに沿ってストーリーを作ることは、ストーリーに起伏をつけることになる。これによって、ユーザにプロダクトを強く印象づけることができるし、オチやエンディングを設計することでクリフハンガー(ユーザの気持ちが最高潮に高まったところから、一気に落とされて印象に残らない、あるいはネガティブな印象を残すこと)を避ける効果があるとのこと。身近なプロダクトで今すぐ考えたほうがいいと感じた。(参考: ピーク・エンドの法則 - Wikipedia )

また、筆者による実際の映画やプロダクトを分析した実例がたくさん載っているので、実際にやってみるときのイメージがつかみやすいのも良いと思う。

3種類のストーリー

実際のプロダクト(特に既に世に出ているもの)のストーリーを収集し、マッピングしようと思うと超巨大なマップになってしまって、「そうだね。さて次は?」となってしまった経験はあるだろうか?(私はたくさんある…)

他の書籍でも様々な手法が提案されているが、本書では以下の3つに分類することを紹介しいている。

  • コンセプトストーリー
  • オリジンストーリー
  • ユーセージストーリー

プロダクトのフェースや目的、あるいはチームの状況に合わせて、最初にユーザの心をつかむことに注力したいのか、ユーザのある特定の問題を解決してファンになってもらうことに注力したいのか、あるいはユーザも気づいていない潜在的な欲求を根本的に解決したいのか。どれに注力するのかが明確になっているのであれば、自分たちに必要な部分を同じフレームワークでマッピングすることができるのは、共通言語という意味でも勝ちがあるように思う。

まとめ

プロダクトを使うユーザのエンゲージメントを獲得したいなら、デザインスべきはシステムはなく、人間の体験です。システムは複雑です。しかし人間の体験は1本の線です。体験は時間の流れに沿ってしか起こりません。

最後の章にある文章が印象に残っている。「複雑だから」「たくさんの機能があるから」という言葉に負けずに、ユーザの体験をデザインしなければいけないし、それは人それぞれではあるけど時系列に並ぶ一本の線になる。

普通じゃない新卒説明会を見学してきた

毎年恒例のアレ。

今年はなぜか見学枠という謎の枠も用意されていて、いよいよほんとによくわからなくなってきた。

この時期になると偉い人が「練習」や「稽古」などの理由でいなくなることがあるが、それ以外は基本的に秘密裏に物事が進むので、ほんとに社内の人間は何も知らないまま当日を迎えることになる。

準備してた皆さんお疲れ様でした & 楽しいひとときをありがとうございました。

以下記録や素材など。

2017年3月30日

このWeb日記にはsitemapを出力する機能が一切なかったので、 kjvarga/sitemap_generator を使ってsitemapを作るようにしていた。

URLを組み立てるために、DSLの中でhelperをincludeしたかったんだけどうまくいかなくて悩ましい。Rails力の低まりを感じる…

Reactive Programming with RxJSを読み始めた

pragprogの積読がたまるいっぽうなので、少しずつ読んでいくという気持ちを高めて取り組み始めた。帰りの電車で「What Is RxJS?」あたりまで。

Callback、Promise、Event Emitterのそれぞれの課題と、Reactive Programmingはどういうアプローチなのかが整理されていて導入としてはとてもよかった。

Reactive Programming with RxJS: Untangle Your Asynchronous JavaScript Code by Sergi Mansilla | The Pragmatic Bookshelf

息子のエレクトーンの発表会

で一回休み。

聞いていると、小学校低学年まではレベルに合った曲やパートで楽しく、小学校高学年までが背伸びしたい感じ、中学校まで続けてるとさすがにレベルが上って安定してる、という印象。

まだまだ続けたいそうなので、来年度も頑張ってほしいところ。

Web日記のDocker化とhttps化

このWeb日記は kenchan/tdnm: tdnm is simple weblog tool という自作のRailsアプリで、さすがにそろそろhttps化しないと恥ずかしいのでついでにDocker化もしてみた。

Docker化する

RailsアプリのDocker化については、jokerさんのQiita が参考になると思う。

最初は開発環境もDockerにしようかと思っていたのだけど、Gemfile にpath指定したいときに困る&Dockerの旨味がなくなると感じたので、開発はローカルでやることにした。(2017年をキャッチアップする 三種の神器 / ghq_gem-src_and_bundler // Speaker Deck)

本番環境のイメージについては、静的ファイルの扱いを一旦おいておいて、bundle installrails assets:precompileをしたイメージを作ることにした。

ベースのイメージは ruby:2.4-alpine にして、必要な依存関係をとかをバシバシいれていく。

  • nativeビルドで必要なものは事前に入れておく
  • bundle install --deployment オプション便利
  • bundle installとgccやmake等のインストールをワンラインでやるとイメージは小さくなるが、nativeビルドに失敗した時にやり直しに時間かかる

というあたりが発見だろうか。

現時点で最終的なイメージが130MBくらい。

kenchan/tdnm - Docker Hub

https-portalでhttps化する

https化は docker で全自動 Let's encrypt - Qiita がめちゃくちゃ便利だった。

特に何も考えなくてもローカルでのオレオレ証明書での検証と、本番でのLet's encryptでの運用ができる。

一回ハマったのは、FORCE_RENEWオプションをつけたまま本番で何回かビルドしなおしたせいでLet's encrypt側の制限で証明書の取得が失敗するようになってしまったところ。たまたま過去のコンテナを雑に消したあとだったのでめっちゃ困った…結局、Railsを80番で直接出すことで1週間ほどをしのいだ。

docker-composeとデプロイ

ここはめっちゃ雑にやっている。dockerだけをインストールしたVMをConoHaに立てていて、その中に本番用のdocker-compose.ymlがある。

デプロイは、瞬断しても困らないのでイメージをpullしてrestartという感じ。

Docker Cloud使ってみたかったんだけど、母艦をArch Linuxで立ててしまったのでサポート外だと言われて使えなかった…Ubuntuで作り直そうかな…

バックアップとか

まだ特に何もやってないので、今壊れると何日か分のWeb日記消失することになる。これから考える。

まとめ

先月から少しずつDocker化、Ruby2.4化、https化を進めてみた。モダンな感じには程遠いが、実際自分で試してみると辛いポイントや工夫のしどころがわかって勉強になった。

2017年3月25日

昼前くらいに起きてお昼を食べて、息子が3時から公園で友達と約束しているからというので引率。

ポケモン交換をしたいとのことだったが、時間になっても友達はこなかったので別の子と1時間くらい遊んでおしまい。

公園行くだけだったら勝手に行かせてるんだけど、DS持っていくとなるとまだ心配なので一応ついていっている。他の家はこのあたりどうしてるのかなぁ。友達の家に持っていくなら全然気にしないけど、外だとちょっと心配。