builderscon 2019 へ行ってきた(Day1)

途中抜けだったけど今回もめちゃ楽しくて刺激を受けた。
コンパイルのライブコーディングは一体感があって楽しかった。会場からエンバグを指摘してくれたり。
マイクロサービスも多くの会社からノウハウが出てきている。
自社も一部モノリスからマイクロ化していく流れだし、今後は加速していきたい。
影響を小さくするために切ったプロダクトから派生するプロジェクトをどう管理していくか?という点は気になっていたがWandelyさんのProtocolBufferのセッションでは、結局集約して管理しているという話。

マイクロ化する中でもShcemaのような他プロダクトプロジェクトに影響する部分については、他プロダクトへ簡単に利用できるようなプラットフォーム化は同時に進めて行かないといけない。

Open SKT: メルペイ開発の裏

speakerdeck.com

メルペイでのサービス軍

  • 40以上のマイクロサービスで構成されている
  • メルカリもメルペイの決済基盤を利用

マイクロサービス設計

  • 4層アーキテクチャ
  • Client -> ApiGateway(<->Authority) -> Api Service -> Backend Service
  • Backend Service は無数あり、Api ServiceがClientへのレスポンスに責務を持つ

分散トランザクション

  • エラーを例外として捉えない
  • 共通のエラーモデル
    • 共通モデル
    • リトライと冪等性
  • Try/Confirm/Cancelパターン
    • 状態遷移モデル
    • どの状態まで進んだかを記憶している
    • サーバが落ちても途中から復旧できる
  • リコンサイル

    • データの整合性確認
  • QA

    • なぜTry/Confirm/Cancelとリコンサイルの重複処理を行うか?
    • どちらか一方に不具合がないとは言えないため
    • 中央にいるサービスのデータをマスタとして捉え各サービスのデータをリコンサイルする

トランザクションモニタリング

メルペイでの開発フロー

  • あまり聞かない部分のみ抽出

  • DesignDoc

    • 開発設計まえの開発設計レビューがある
    • ドキュメントを書き、アーキテクト、SRE、セキュリティ、関連チームからのレビュー
    • 目的:今から行う事がどれくらい懸念があるかを知るり、事前にリスクを洗いしチーム間で共有する
  • Ops

    • マイクロサービスの運用はすべて開発チームで行う
    • PRDはSREしか見れない(個人情報、資産があるため)
    • 開発チームがPRDを見れるようにマスキング、参照する仕組みを用意

メルカリとメルペイの開発フローの違い

  • メルカリ
    • 守るべきものは守り 強くチャレンジする
  • メルペイ

    • より高い信頼性 その上で機能がある
  • 最大化したい価値が異なる

  • SLOを高く設定するとチャレンジできる量が減る
  • メルカリはサービスを早いサイクルで回していく
  • メルペイは落ちないという事がシビアに求められる(高いSLO)

業界全体のレベルを上げるためにやっていく

  • メルペイの事例を公開することで
  • 透明性と信頼性の向上
  • 他社が参考にできるように
  • 逆に他社の事例を参考にしたい

用語

  • SLO
  • Postman

コンパイラをつくってみよう

speakerdeck.com

Go->Assembly->標準出力

  • コンパイルを学ぶ事によってプログラムについてちょっと理解する事ができる
  • やりながら学ぶ
  • 根気が必要(これを終わるまで何もしないという制約がモチベーションだったとか)
  • Goのライブコーディングがめちゃ楽しかった。個人的な今日一番おもしろかった。

Web API に秩序を与える Protocol Buffers 活用

  • @south37

speakerdeck.com

  • Protocol Bufferの利用シーン、メリデメを知りたくて参加
  • Go / Ruby .proto から自動生成されたコードをプロジェクトで組み込む(秩序)
  • 共通モジュールをどうやって管理してるか?
  • .proto を集約したGitリポジトリで管理して、そこで吐き出したproto file を各プロジェクトで利用している運用に切り替わってきた

Web Componentsを利用した段階的AngularJS脱出作戦

docs.google.com

  • WebComponentsについて詳しく知らないので、インプットとして良い時間だった
  • 現在のWebComponentsの状況
  • CustomElementでWrapしたAngular / React / Vue の利用方法

今回も運営のみなさん、スピーカーの皆さん、スポンサーのみなさん、ありがとうございました!!!!!

働き方を変えなさい 佐々木恒夫を読んだ

いい習慣は才能を超える

いい習慣とは?どのようなことか?

一歩先の行動をとる

毎日10分の整理整頓

 

礼儀正しさに勝る攻撃力はない

ビジネスにふさわしい服装
きちんと挨拶
相手の目を見て話す
約束を守る
過ちを素直に認める
気遣いを忘れない
欲張らない

 

どうやって使える人材を確保するか?

目の前の人材のポテンシャルを自分の腕でどうやって発揮させるか?にかかる。

 

評価は技術点と芸術点
技術点は
企画力、事務処理能力、マネジメント力
芸術点は
人柄がいい
知性がある
清潔感がある
といった人間的魅力
なぜ芸術点も必要か?
それはいくら能力が高くても利己的だったり品性に欠けていたりすると下の人間がついてこないから。

 

リーダーとは真摯であること。一言で言うと正しい事をする。どうあるべきかを正しくつかむ。事がリーダーに一番の能力。

真摯とは?
嘘をつかない、謙虚である、そして人に対して思いやる。

 

年頭所感は別の本でも触れていたが作成が必要

一年にできることは限られているので欲張らず7-8項目。先頭にこの部署にいる間にこれとこれをやる事を決意した。そのためにやる事、その他にやることを書く。


3年の目標も書く
3年という期限があれば一年ごとに落とし込んで計画も立てられる

 

読んでいて他で話すことも多いが新しい言葉もあった。特に推薦の2冊は読みたい。

論語
ビジネスマンの父より息子への 3 0通の手紙

 

 

アウトプットとして会社のLT大会で習慣について話した

3ヶ月に一度くらいのペースで行われている社内LT大会で最近考えている習慣についてアウトプットした。

 

リンク

https://speakerdeck.com/tobaru/experiment-with-self-change?slide=20

 

実現するためにやる事は、

言語化して

制約を定め、

代償を知り、

記録して、

習慣にする。

この流れを一つずつ行いどこで詰まったかをちょこちょこ改善する。それがとても難しい。自分を使って実験を行なっているというアウトプット。答えは誰にもわからず自分の行動が3ヶ月後に影響を出しているか?アウトプットとして成果になっているか?それに答えはかかっている。

 

毎度開催してくれる同僚や、盛り上げようと参加してくれる皆がいてのイベント。とても感謝しているし、アウトプットの機会を頂いた。次回やりたい事は考えているので、それに向かって進む。

やりぬく人の9つの習慣を読んだ

多くの人は自分の意志力を過大評価している

意志力を試してはいけない

 

本当にその通りで、意思があればできると思い続けてきた。実は意思など関係なく、行動のトリガーが必要という事がわかってきた。何かをやるという事すら考えないようになるまでは反復して練習する。

 

影響を受けると思われる場所には近づかない。

誘惑を受ける時間や場所を記録する。

ここにも記録が出てきた。そしてやると決めるものを絞る。やめるときは一気にやめる。

 

この本の中で一番面白かったのは、if-then-プランニングとシロクマの話。

 

if-thenプランニングとは何か事象が起きた時の行動を用意しておく、習慣にするという事。

その種類は3つあり

1. 代替if-thenプランニング
好ましくない行動をより良い行動にかえる
2. 無視if-thenプランニング
不安や緊張を自分の心から遮断する。感じないようにする。
3. 否定的if-thenプランニング
今後やりたくない行動をやらないとする

何か思ってもしないというプランニング。

 

この3パターンを検証したところ、否定的は他のパターンと比べて効果が小さい。
ある行動を否定すればするほど考えてしまって、行動を強化する事になる。

 

シロクマの事は考えないで下さいと言われたらシロクマの事ばかり考えてしまう。

ある思考をしないように努力すると、逆に頭の中はその思考でいっぱいになるという事の実験。

行動を変えたいならばやめたい事を考えるのではなくやりたい事、やるべき事を考える。

 

自分が望む行動を起こすように代替if-thenプランニングを立てる事を心がける。当たり前のようだが意志力の落ちた状況下でも対応できるように準備するという事が趣旨。

 

やりたい事を以下として

朝早く起きて頭が一番フレッシュな時にインプットアウトプットをしたい。

 

代替

遅い時間に問い合わせがあった。緊急度を判断して次の日に対応する。

否定

遅い時間に問い合わせがあった。緊急度を判断して遅い時間に対応しないようにする。

 

否定では対応の具体性に欠ける。

当たり前のようだが、意志力の弱っているときタイミングでも判断を誤らないためのフレームワークか。

ぼくたちに、もうモノは必要ない。佐々木典士を読んだ

物に執着しない事で迷う、考える、何かアクションを起こす時間を削り、行動して経験する事につながる時間を重要視する。
経験は盗めない。


情報のミニマリズムという言葉が好き。
自分たちの体は5万年前のハードウェア
そんな中で情報過多になるとアイコンぐるぐるだよね。という表現はまさに。


今という瞬間だけが自分でコントロール可能。
今まさにこの瞬間を感謝の気持ちでいっぱいにしないか?今を肯定的に見ることが感謝の本質であり、幸福であると。

 

そのために物を捨て、というより執着せずに過ごす。

自分よりも他人に与えたことに喜びを感じる。毎日、特に今という時間に最大の集中をして、人を知り、愛を伝える。

これが人にとって究極の幸福なのでは?と考えるきっかけになった。

 

人生を変える習慣の作り方 グレッツェンルービンを読んだ

習慣として身につけるには自分自身を知り、習慣としたい事が自分が重視したい価値であれば続けられるという事。

誘惑もあり判断する事もあるが、それが重視したい事か?を問う。

身につけたい習慣の価値が自分の価値とあっているか?そのためにやるべきことは何か?を問い続ける事が重要。

この本では方法までは問わなかったが、価値とあっているかの問いに対する答えは頭で考えている事と行動が異なる場合があるので、行動で管理する事が必要になる。これは昨日読んだ日記でもメモでも良いので、どのような理由で判断したか?を記録しておかないと、なぜ習慣化できなかったか?という問いへの答えや改善につなげられない。

 

 

以下はメモ

自分に合った習慣の作り方、絶ち方を探れるために存在する
習慣を変えるのは単純だが簡単ではない


身につく習慣、身につかないの違いは心の霧が晴れているか
霧を晴らす対象は2種類ある
価値観と行動
自分が価値を置く事、そして、自分で自分に期待する行動が明確になるほど習慣にしたい行動は続きやすくなる
他人が自分にではなく、自分自身に対してだ。


習慣とそれに付随する価値を理解し、それが自分の重視すべき価値だとわかっていると、習慣は続きやすくなる

 

極端だが毎日やるか、やらないかの習慣作りもある

日記の魔力 表三郎を読んだ

感想

日記を書くことで見えないものを見えるようにする。見える事が見えない事である。

隠れた部分を信じて生きていく。可能性を持ちづけることと捉えた。それは前を向き進み続ける。進化し続けることと捉えられる。年齢も状況も環境も関係ない。答えは常に自分の中にある。と。

 

日記を書く事の目的は自己管理。常に考えを奇跡として残し実現したいゴールに向かっているかを問う。問いを常に放り込める場所、問いのプールという言葉で表現している場所に起き、何度も読み返しまとめ考え抜く。

 

最近は日記を書いているので、事実を淡々と書くという著者の考えに目から鱗。感想書かなくてはと思ってしまうのだけど。

 

以下はメモ

スマホからコピー出来ず。PCから行う予定