TDDな個人開発

C582b722e015633f7900083f8ea75732?s=47 hatappi
March 12, 2019

 TDDな個人開発

個人開発 Night #1 @ギフティ

C582b722e015633f7900083f8ea75732?s=128

hatappi

March 12, 2019
Tweet

Transcript

  1. 2.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 2 ⾃⼰紹介 • Yusaku Hatanaka (@hatappi)

    • Merpay, Inc • 会社では主にGo
 プライベートでは主にRuby 2013 学内のバスアプリや就活⽀援サイト 2014 クローラー, etc 2015 PHPでレシピ検索サイト, etc 2016 PHPでポータルサイト, etc 2017 RailsとAngularでポータルサイト
 Red Chainer, etc 2018 Red Chainer Railsで家庭⽀援サービス Slack App, Goでポモドーロ, etc 2019 Red Chainer Slack App, etc ここに書いてあるものは1⼈で作っているものもあればOSS で複数⼈で開発しているものがあります
  2. 5.
  3. 11.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 11 Tech Driven Development お気付きの⽅もいるかと思いますが TDD

    = Test Driven Development かと思いきや Tech Driven Development でしたというオチです
  4. 12.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 12 Tech Driven Development 技術駆動開発 この技術使いたい!興味ある!を

    モチベーションにその技術を学び ながらプロダクトを作成すること
  5. 13.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 13 Tech Driven Development のメリデメ •

    メリット • ⾃分の気になる技術なのでやっていて楽しい • しかもプロダクトもできていく • デメリット • その技術に興味がなくなると⼿が進まない
  6. 15.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 15 TDDをするために • ⾃分が⾯⽩そう!となる可能性のある情報を⽇々集める • 本読む

    • Twitter で興味ある分野の情報もっている⼈をフォロー • はてブでよく⾒られている記事をみる • 会社で気になった技術をもっと掘り下げてみる • 他にも情報の Input の仕⽅は様々!!!
  7. 16.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 16 TDDをするために • 興味のあるものを⾒つけた後はそれを試せる場が重要 • 例えば

    IaC やりたい! Terraform やってみよう!となった時に Tutorial で終わるのかどうか • 個⼈的には実際に運⽤で使ってみてはまったところとかエラーを 経験したい
 => 実際に試せる場をつくる
 => Tech Driven Development !!!!
  8. 17.
  9. 18.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 18 • Slack 上でアンケートをとるためのサービス • 2018/11に

    βリリース • アンケートの作成や投票は Slack 上から⾏う • 集計結果は Slack 上や WEB 上から確認できる • 今後は質問作成したり回答結果を取得するよう な API を追加予定 Anket ( https://anket.life/ )
  10. 19.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 19 構成 • APIやダッシュボードは Rails •

    botはNode.jsで構築 • インフラはすべてAWSを使っ ていて Kubernetes 上に構築 している 気になる部分は懇親会できいてください!
  11. 20.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 20 TDDな部分 • Rails • 会社では使わない技術を使ってみる

    • Slack App • 普段使っている Slack をもっと使い倒してみたかった • Terraform, Kubernetes (EKS) • 使ったことなかったけど気になってた
  12. 21.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 21 TDDな部分 • Rails • 会社では使わない技術を使ってみる

    • Slack App • 普段使っている Slack をもっと使い倒してみたかった • Terraform, Kubernetes (EKS) • 使ったことなかったけど気になってた
  13. 23.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 23 Rolling Update old new old

    new old new old new old new • Kubernetesが提供する機能の1つ • デプロイ時にサービスをとめないように指定台数ずついれかえて いくなどの設定ができる
  14. 24.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 24 セルフヒーリング • これも Kubernetes が提供する機能の1つ

    • あらかじめ指定した起動台数を維持するように Kubernetes が pod を管理してくれる
  15. 25.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 25 他にも • 複数のNodeの管理 • オートスケーリング

    • サービスディスカバリ • ロードバランシング • etc
  16. 28.

    ݸਓ։ൃ Night #1 @ΪϑςΟ 28 TDDした結果の副産物 • 今⽇のようにイベントで登壇できる • ブログでアウトプット

    • Slackでアンケートをとることが出来るサービス『Anket』をβリリースしました
 https://blog.hatappi.me/entry/2018/11/21/085626 • Anket を EKS (k8s) に移⾏しました
 https://blog.hatappi.me/entry/2019/01/12/111519 • Anketのメッセージをjsx-slackを使ってBlock Kitベースへ変更しました
 https://blog.hatappi.me/entry/2019/03/10/110759
  17. 29.