why_dont_you_measure_your_performance

7a574a41b31af6168950b6550e39a188?s=47 mogetta
September 08, 2018
16k

 why_dont_you_measure_your_performance

概要
本セッションでは体の調子をIoT的アプローチ、測定を容易にするアプリの制作、また市販のトラッキング製品などを駆使し測定とログ管理を行い、どうやっていくことで体の調子を上げ、パフォーマンスを向上させ、より良いエンジニアライフを送れるか?を追求、解説します。

7a574a41b31af6168950b6550e39a188?s=128

mogetta

September 08, 2018
Tweet

Transcript

  1. なぜエンジニアは パフォーマンス計測しないのか 1 Builderscon 2018 2018/09/08 Hiroshi Mimori 三森 裕史 @mogetta

  2. 2 やあ (´・ω・‵)
 ようこそ、バーボンハウスへ。
 このテキーラはサービスだから、まず飲んで落ち着いて欲しい。
 
 うん、「また」なんだ。済まない。
 仏の顔もって⾔うしね、謝って許してもらおうとも思っていない。
 
 でも、このスレタイを⾒たとき、君は、きっと⾔葉では⾔い表せない


    「ときめき」みたいなものを感じてくれたと思う。
 殺伐とした世の中で、そういう気持ちを忘れないで欲しい
 そう思って、このスレを⽴てたんだ。
 
 じゃあ、注⽂を聞こうか。
  3. 3 懐かしいって思った⼈ 今⽇のトークのメインターゲット だからな?

  4. 4

  5. 5 ネタ被ってる。

  6. 6 本セッションの趣旨 1.世の中のガジェットを駆使して、「⾃分」を測る。 測ったデータをうまく持ち寄って解析しよう! 2.じゃあ、どういう⽣活をすると、⽣活の質があがるのか? 3.そもそも、やってみてどうだったか?

  7. 7 • ⼀⼈の⼈間が連続して計測している内容なので、 科学的な正確性はないです。 • コードの話は期待しないで。 • 当たり前ですが、サーバーのパフォーマンス計測 の話はしません。

  8. 8 本⽇の流れ - 動機 - ガジェット紹介・計測⽅法 - コード周りとか - ABテスト

    - 改善施策
  9. 9 先に結果から 体重  72kg -> 65kg 体脂肪率 17% -> 12% 平均集中時間 4h30m

    -> 5h15m Gobe2によるストレス指数 減少 コミット数 ほぼ0から⼤体毎⽇コミット
  10. 10

  11. 11 ストレス値の下降 GOBE2というデバイスから取得

  12. 12 ⾃⼰紹介 •36歳 独⾝  •フロント寄りのエンジニア •現職ではPythonを利⽤した ⾃動テストやデバッグ補助 •ツールの作成が業務

  13. 13 普通の⾃⼰紹介ではなんなので 体重7年分のログに合わせてやっ てきたこと紹介します。

  14. 14

  15. 15 ガラケーとかスマホ のパチンコアプリのアプリ側担当。 会社の近くにジムがあったため、 体重の推移も穏やか 2011/10 - 2013/10

  16. 16 転職 AngularJSを利⽤した ソーシャルゲームの フロントエンド担当 すぐデスマーチ 2013/10 - 2015/02

  17. 17 某社でベトナムの某社と組んで 世界発信するぞ!と誘いを受け転職 フルスクラッチで3,4回作り直し を繰り返したが 最終的にお蔵⼊りするという不遇の プロジェクトCocos2dxでUI担当 2015/02 - 2016/05

  18. 18 2016/06 - 2016/08 会社をクビになり 無職⽣活。

  19. 19 2016/10 - 2017/08 フリーランス⽣活。 忙しさから不摂⽣ UnityのUIやCI gitおじさん業に勤しむ

  20. 20 2017/09 - 現在 今の会社に所属 順調かと思いき や、、、

  21. 21 元旦に振られる

  22. 22 7年のログから⾒えて くる⾃分⾃⾝の傾向 • 仕事が忙しくなると太る • プライベートが不安定になると太る • 典型的なストレスによって太る⼈間(痩せる⽅もいますね。) •

    結局、リバウンドを繰り返している • 「ダイエットに失敗し続けている」状態
  23. 23 年齢を増すごとに無気⼒になるのを感じる 肩こり 脂肪増 仕事以外でコードが書けない ⼈⽣の課題増える

  24. 24 科学的に解説してるサイトがあった • ⼈に話したり、質問してもらうことで⾃ ⼰を再確⽴するらしい • 科学の⼒ってすげー • なんとか⽴ち直る。(いろいろ相談に 乗ってくれた⽅々ありがとう

    • しかし、マイナスからゼロになった状態。
  25. 25 ここでなんとかしない と⼈⽣が終わる。 • ここで踏ん張ってく改善しないと、技術的負債ならぬ、 • ⼈⽣そのものの負債によって潰れるという謎の焦燥感が⽣まれる • やる気を取り戻すとか、失恋、⽴ち直る、科学的などでググる https://yuchrszk.blogspot.com/2016/12/blog-post_19.html

  26. 26 やる気出ない問題も、 科学的アプローチで対処できる のでは?

  27. 27 改善ターゲットをいかに設定 仕事外でコードを書く習慣を⾝につける。 仕事に集中できる環境を整える。 無理をしなくても体脂肪増を抑えられる⽣活

  28. 28 測定する

  29. 29 Withings Wifi Body Scale いわゆる体重計。Wifi 対応。 wifi経由で専⽤のサービスに保存 IFTTTに対応してるので 体重を測ったらTweetする等できる。

    20000円
  30. 30 Withings Activité 腕時計型のガジェット、歩数管理と 睡眠時間管理、起床時の 振動サポート等がある。 2015年当時39800円

  31. 31 Withings Sleep 布団やマットレスの下に敷い て使う睡眠の質を測る装置。 いびき等も検知する。 IFTTT対応! https://health.nokia.com/jp/ja/sleep 14990円

  32. HEALBE GOBE2 腕時計型のガジェット、歩数管 理と睡眠時間管理、起床時の振 動サポート等がある。 https://gobe.jp/ 32 レンタル ⽉2000円

  33. 33 JINS MEME 集中⼒や姿勢を測る ⽬そのものを計測してるの ではなく 筋電位を利⽤している。 https://jins-meme.com/ja/ 度付き 47800円

    くらい
  34. 34 Spire 呼吸を測ってくれるガジェット 回数等から状態を教えてくれる 今緊張してるか、集中してるか https://spire.io/ 13800円

  35. 35 Jabra elite sport 運動中に⼼拍数を測る 声で適切な⼼拍数を教えてくれる https://www.jabra.jp/sports-headphones/jabra-elite-sport 30370円

  36. 36 イラッとボタン AWS IoT Buttonを使っ てイラッとしたときにイラッ としたときに押すことでイラ イラを計測するボタン。 (あまり使わず…) 2500円

  37. 37 ZOZOスーツ 体の⼤きさを測ってくれる。 ダイエットの進捗が可視化で きて良い。 https://jins-meme.com/ja/ 0円

  38. 38

  39. 39

  40. 40 体重 体脂肪 睡眠時間 起床時間 睡眠の質 ストレス ⽔分量 呼吸の状態 集中した時間

    歩数 測定項⽬⼀覧
  41. 41 全てを集約していく

  42. 42

  43. 43 ストレスを測る 最近の研究で、⼼拍変動がストレスを割と正確に反映している。 ということがわかってきた。 先程紹介したGOBE2ではその⼼拍変動を検知して、 独⾃のストレス指数を算出してくれる。 GOBE2のWebページはきれいなSPAだったのでデータを拝借 https://scholar.google.co.jp/scholar?q=%E5%BF%83%E6%8B%8D%E5%A4%89%E5%8B%95+ %E3%82%B9%E3%83%88%E3%83%AC%E3%82%B9&hl=ja&as_sdt=0&as_vis=1&oi=scholart

  44. 44 体重管理 •API : http://developer.health.nokia.com/oauth2/ •Golang Lib https://github.com/jrmycanady/nokiahealth APIとライブラリがあるため、利⽤してFirebaseに登録する。 つい最近まで

    OAuth1.0しかなかったが、2.0が追加されまし た。 睡眠時間を測る 歩数
  45. 45 タイプ数を測る ⾃分はMacを利⽤しているので上記のライブラリを使⽤。 https://github.com/KonsomeJona/OctoMouse

  46. 46 草を測る https://github.com/users/mogeta/contributions いろいろ仕様変更があるし、公式サポートってわけで はないのでいろいろ変わる。 2018/08現在はsvgで渡されるので分解して登録。

  47. 47

  48. 48 ⾷事ログを取る 毎⽇、きっちり計算したり、ログを取れる⼈は myfitnessPal等を使うのがおすすめ 後に説明するPFCバランス等も計算してくれる。 とりあえず、写真だけ撮って、GooglePhotoと連 携すると良い機能がある。 https://www.myfitnesspal.com/ja

  49. 49 { "dateFilter": { object(DateFilter) }, "contentFilter": { object(ContentFilter) },

    "mediaTypeFilter": { object(MediaTypeFilter) }, "includeArchivedMedia": boolean, "excludeNonAppCreatedData": boolean } { "includedContentCategories": [ enum(ContentCategory) ], "excludedContentCategories": [ enum(ContentCategory) ] } NONE Default content category. This category is ignored when any other LANDSCAPES Media items containing landscapes. RECEIPTS Media items containing receipts. CITYSCAPES Media items containing cityscapes. LANDMARKS Media items containing landmarks. SELFIES Media items that are selfies. PEOPLE Media items containing people. PETS Media items containing pets. WEDDINGS Media items from weddings. BIRTHDAYS Media items from birthdays. DOCUMENTS Media items containing documents. TRAVEL Media items taken during travel. ANIMALS Media items containing animals. FOOD Media items containing food. SPORT Media items from sporting events. NIGHT Media items taken at night. PERFORMANCES Media items from performances. WHITEBOARDS Media items containing whiteboards. SCREENSHOTS Media items that are screenshots. UTILITY Media items that are considered to be utility. These include, but aren't limited
  50. 50

  51. 51 集中度のログをとる https://jins-meme.github.io/sdkdoc/ メガネの機能を利⽤できるSDK はある。しかしWeb⽤のAPI がまだない(準備中とのこと。 画⾯をキャプチャして、 CLOUD VISION API

    を利⽤する。 JINS MEMEと連動するアプリoffice で集計したデータを集めれば良い
  52. 52

  53. 53 呼吸データ集計。 APIはあるので、取得ライブラリを作成 func (c Client)fetch(opt ...queryOption) *Spires{ query :=

    Query{} for _, o := range opt { o(&query) } values := url.Values{} values.Add("access_token", c.accessToken) if query.date != "" { values.Add("date",query.date) } resp, err := http.Get(URL + values.Encode()) if err != nil { fmt.Println(err) } body, _ := ioutil.ReadAll(resp.Body) defer resp.Body.Close() spireData := new(Spires) err = json.Unmarshal(body,spireData) if err != nil { fmt.Errorf("%s",err) } return spireData }
  54. 54 こんなデータが取れる 8/28 9/7(昨⽇)

  55. 55 集計データ閲覧 https:// builder-206303.firebaseapp.com /#/base/daychart mogettaのデータを触って 君だけのグラフを作ろう!!!!

  56. 56 例: withings_sleeps TotalSec meme_focus Total 睡眠時間と集中度。というデータになります。

  57. 57 睡眠データと集中度

  58. 58

  59. 59 睡眠データと集中度

  60. 60 ヨシ !

  61. 61 相関関係があるんだかないんだか… 微妙なところだが、ヨシ!!!! ちなみに、個⼈的な所感としては、睡眠時間 よりも、寝付く時間を早める、早寝が 重要っぽい感じがしました。 いや、良くはない

  62. 62 寝付くまでの時間対集中度

  63. 63 運動と集中

  64. 64

  65. 65 ⼈体ABテスト 朝ごはんを⾷べる 07/02〜07/08 個⼈的所感 集中⼒等には差なし 11時くらいに普段は感じない 空腹感を覚えて⾟い

  66. 66 集中度と体重推移

  67. 67 カフェイン制限 07/09〜07/20 ⼈体ABテスト

  68. 68 集中度と睡眠時間

  69. 69 朝運動をしてみる ⼈体ABテスト 07/17〜07/21

  70. 70

  71. 71 満員電⾞に乗る。 ⼈体ABテスト 無駄に⼭の⼿線を⼀周 新宿駅→東京駅→品川→渋⾕ 乗り継ぐ 07/23〜07/27

  72. 72 ストレス指数と集中度

  73. 73 満員電⾞に乗る。 つらい。 良い数値が出てないのが⾟い。 ちなみに、⾦曜⽇くらいから体調崩した

  74. 74 断酒 そもそもお酒っ てどうなの?という話 ⼈体ABテスト 8⽉から今まで。

  75. M なぜエンジニアはパフォーマンス計測しないのか • a a a a 75

  76. 76 エンジニアが体脂肪を 測るべき理由 テストステロンがやる気に作⽤する 脳機能は⾎流環境に左右される 健康へのダメージは明⽩なため、⽣涯コード記述量 に差が⽣じる • https://yuchrszk.blogspot.com/2016/03/25.html •

    https://www.ncbi.nlm.nih.gov/pubmed/22970699
  77. 77 体脂肪率8〜13%(⼥性は17〜21%) https://www.cell.com/cell-metabolism/fulltext/S1550-4131(16)30596-4 理想の体脂肪率とは?

  78. 78 改善施策 導⼊

  79. 79 睡眠の改善

  80. 80 睡眠を改善する理由 寝ないとあからさまに集中⼒が切れる ⼀定の時間時間確保が必要

  81. 81 質の良い睡眠とは? ⼈によって違うので要確認! ミュンヘンクロノタイプ質問紙 https://mctq.jp/download/ http://www.sleepmed.jp/q/meq/ ⾃分の体質にあった睡眠時間、タイミング に合わせて寝る、起きる。

  82. 82

  83. 83 ⾼品質な睡眠を求めて ブルーライトをカットする パソコン、スマホ等からでる光が メラトニンというホルモンの⽣成を妨げるらしい メガネにブルーライトカットをつけ、対応する。

  84. 84 f.lux 最近はデフォルト設定で利⽤。 ⾊がすごいことになるけど ⽬へのダメージを軽減できる

  85. 85 寝る時間、起きる時間を明かりで制御 https://github.com/mogeta/hueCurtain 起きる時間は基本のアプリである。 寝る時間については、 Hueを使って段々暗くする。を実装。

  86. 86 いますぐ、寝る前スマホをやめる 寝るまでに時間がかかっている⽇は 明らかに睡眠の質が下がっている。 布団に⼊ったら寝ることだけに集中する。 寝れなかったら起きる。 スマホは寝る前に!済ませる

  87. 87

  88. 88

  89. 89 ⾷事の改善

  90. 90 量ではなく、タイミングを管理する。 16時間断⾷して、8時間は⾷べる。 (⼥性の場合は12時間で様⼦を⾒ながら 狙う効果 ・⾃⾷作⽤(オートファジー) ・⾷欲の抑⽌ ・⾎糖値の揺れを抑えて、安定した集中⼒の獲得 00:00 23:59

    13:00 21:00
  91. 91 栄養を考える 66×2 = 132g 132×4 = 528kcal を⽬標にする。 タンパク質

    脂質 糖質 質のいい油を求めて サバやくるみを⾷べる オメガ3、6の バランスが⼤事 精製された糖を避ける ほしいも、 果物メイン ごはんは運動前に
  92. 92 オススメの間⾷

  93. 93 タンパク質、良質な油、栄養価 を考慮した場合の⾷事例

  94. 94 ザミートガイのグラスフェッドビーフ と低温調理は相性が良い! ANOVAさんは正解にたどり 着いていた!!!!!!

  95. 95 ベストトーク賞とはいわない!3位 のAnovaが欲しい。投票お願いし ます!!!!!!!

  96. 96 サプリメントの話 いろいろ調べたけど、エンジニアは必ずこれを飲め!みたいなの なかったし、個⼈差が⼤きすぎるので省略 タンパク質摂取に不安がある⽅は プロテインを飲もう

  97. 97

  98. 98 ⾃分がした改善施策 ジム通い パーソナル トレーニング 歩数 UP • 毎⽇⾵呂に⼊りに⾏く。 •

    気分が悪い⽇は4分だけ • 有酸素はしない。 • 正しいフォームを学ぶ • 重量ではなく姿勢 • 肩こり改善策を学ぶ • 1⽇1万歩をノルマに • ⽬標は2万歩 • 昼休憩に公園まで歩く
  99. 99 ⼈⽣の質を上げるための運動 筋トレ HIIT • 追い込んだ⽇の次の⽇の • 集中⼒に注⽬ • •

    ⾼強度インターバルトレーニング • 短時間で済むので効率が良い • やった気になれる。 • 仕事の休憩中にもできる 歩く • 推奨歩数は⼀⽇2、300 • 脳の活性化と
  100. 100 https://journals.lww.com/acsm-msse/Fulltext/1996/10000/Effects_of_moderate_intensity_endurance_and.18.aspx タバタトレーニング 20秒の全⼒運動 10秒の休憩 8セット繰り返す 4分で終わる 忙しいエンジニアにピッタリ

  101. 101

  102. 102 脳機能改善でよくおすすめされる運動 トレイルランニング クロスフィット トレーニング時間は1時間内 軽く息が上がる〜ヘトヘトになるの間

  103. 103 ダイエットの話 • 摂取カロリー<消費カロリーになっていなければ痩せない! • 体重や体脂肪を絶対の指標にすると⼼が折れる • おすすめはゾゾスーツ。

  104. 104 開発環境の改善

  105. 105 ⼈間の脳がパフォーマンスを 発揮しやすい環境を考える どうやら座るという⾏為はリスクが⾼いらしい。 ⼈間の脳は歩いている時が⼀番活発になる https://yuchrszk.blogspot.com/2016/04/130_12.html https://yuchrszk.blogspot.com/2015/07/blog-post.html

  106. 106 開発環境を改善する(物理)

  107. 107 開発環境(V1) ⽴って開発 机を買い直すのはちょっと予算が… なので、机の上における台を購⼊

  108. 108 集中時間増加による肩こり悪化 に対応する。 Ergodoxの導⼊ 開発環境(V2)

  109. 109 ⼈間は歩いているときが⼀番脳 が働くというらしい。 歩きながらコードを書くには? ステッパーの導⼊ 開発環境(V3)

  110. 110 全部導⼊すると

  111. 111 集中⼒改善

  112. 112 集中できる時間 測定してみた。結果 朝の時間体の集中⼒は圧倒的。 お昼ごはん後(14時以降)は落ち込む

  113. 113 ⾃然に触れる ⾃然的なものに触れるだけでストレス低減というデータがある。 それによって、時間がないという焦りが減り集中⼒が増す

  114. 114 https://www.youtube.com/watch?v=5wdBpNwNfRo&t=5974s https://www.youtube.com/watch?v=Ftm2uv7-Ybw&t=4919s

  115. 115

  116. 116 ホリデイリフトは本当か? ⾃分で⽴てた計画に沿った旅⾏が実⾏できると その後のやる気が11週間続くらしい。本当にー? ⼀泊⼆⽇、⾏く場所と ⾷べる物を計画していってみた https://www.youtube.com/watch?v=expen5OTVFg

  117. M なぜエンジニアはパフォーマンス計測しないのか 117 ผॴԹઘ ௕໺ݝ্ాࢢ

  118. 118 ⾃分の⼈⽣を⾃分で決める ⾃分のことは⾃分で決める 思い通りににできる。 ということが⼈⽣のモチベーションに繋がる

  119. 119 集中UP

  120. 120 これって、旅⾏に限らないのでは? アジャイル開発、スクラム開発等では「⾃分たちで⾒積もる」と いうことを強調している。 プロジェクトを「⾃分たちで制御しているぞ」と思えることでや る気やモチベーションの維持につながる

  121. 121 まとめ

  122. 122 そんなに計測する必要ある? ぶっちゃけた話、指標にする数値は⼀つで⼗分だと思っている。 その数値を伸ばそうという⽣活改善を⾏うと、⾃然と他のパラ メータも改善されていく。

  123. 123 ⾃分の体のことは、 ⾃分から学ぶしかない 例えばお酒も酩酊する量は⼈によって違う。 適切な運動量、筋トレ、朝起きる時間、集中できる姿勢。 全部⼈それぞれだと思います。

  124. 124 やる気を出すのではなく やる気が出る状態を作る よし!やるぞ!とやる気を出さないと⾏けない時点で⾟い。 楽勝すぎるくらいの⾏動から始めよう! ジムで筋トレをするぞ → ジムの⾵呂に⼊りに⾏くぞ あの機能を実装するぞ! → あの機能の説明を書こう

  125. 125 最⾼のエンジニアライフを みんなでつくっていこうな!

  126. 126 余談:健康情報の情報源 健康界隈、思っていたよりも情報更新が 早いので、流⾏りにだまされない。

  127. 127

  128. 128 ・写真、素材等 https://www.pexels.com/photo-license/ ・アイコンデータ https://www.iconfinder.com/ ・Gopher https://github.com/golang-samples/gopher-vector