Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TDDな個人開発
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
hatappi
March 12, 2019
Technology
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TDDな個人開発
個人開発 Night #1 @ギフティ
hatappi
March 12, 2019
More Decks by hatappi
See All by hatappi
AlloyDB 奮闘記
hatappi
0
430
Cloudflare を活用して変わったメルカリの開発体験 / How Cloudflare Changed Mercari's Development Experience
hatappi
1
850
RubyではじめるGraphQL
hatappi
0
950
RubyでChainerつくってます!!
hatappi
2
1.5k
できるだけ楽して楽しくRails開発しよう
hatappi
2
370
EKSにRailsをのせた
hatappi
1
1.3k
RubyとApache Arrow
hatappi
0
2.7k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.5k
Fargateで夢は見られるのか
hatappi
1
2.4k
Other Decks in Technology
See All in Technology
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
150
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
280
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
310
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
180
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
3.6k
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
530
Baseline対応のDOMの型定義を作った
uhyo
3
720
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
270
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
1k
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
390
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
220
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
2.2k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
260
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Between Models and Reality
mayunak
4
360
ラッコキーワード サービス紹介資料
rakko
1
3.9M
GitHub's CSS Performance
jonrohan
1033
470k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
WENDY [Excerpt]
tessaabrams
11
38k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Being A Developer After 40
akosma
91
590k
Transcript
個⼈開発 Night #1 @ギフティ TDDな個⼈開発
ݸਓ։ൃ 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 で複数⼈で開発しているものがあります
ݸਓ։ൃ Night #1 @ΪϑςΟ 3 今までの個⼈開発では TDDをしてきたので 今⽇はその話をします!
ݸਓ։ൃ Night #1 @ΪϑςΟ 4 今⽇話すこと • TDD? • TDDを継続するために
• TDDͷྫ
TDD?
ݸਓ։ൃ Night #1 @ΪϑςΟ 6 TDD
ݸਓ։ൃ Night #1 @ΪϑςΟ 7 Test Driven Development http://wiki.c2.com/?TestDrivenDevelopment
Test Driven Development ⽇本語でテスト駆動開発 開発⼿法の1つ 実装前にテストコードを書いてその テストコードが通るように実装やリ ファクタリングをしていく
ݸਓ։ൃ Night #1 @ΪϑςΟ 9 今⽇のTDDは Test Driven Development ではありません!
ݸਓ։ൃ Night #1 @ΪϑςΟ 10 今⽇の発表でのTDDは・・・
ݸਓ։ൃ Night #1 @ΪϑςΟ 11 Tech Driven Development お気付きの⽅もいるかと思いますが TDD
= Test Driven Development かと思いきや Tech Driven Development でしたというオチです
ݸਓ։ൃ Night #1 @ΪϑςΟ 12 Tech Driven Development 技術駆動開発 この技術使いたい!興味ある!を
モチベーションにその技術を学び ながらプロダクトを作成すること
ݸਓ։ൃ Night #1 @ΪϑςΟ 13 Tech Driven Development のメリデメ •
メリット • ⾃分の気になる技術なのでやっていて楽しい • しかもプロダクトもできていく • デメリット • その技術に興味がなくなると⼿が進まない
TDDを継続するために
ݸਓ։ൃ Night #1 @ΪϑςΟ 15 TDDをするために • ⾃分が⾯⽩そう!となる可能性のある情報を⽇々集める • 本読む
• Twitter で興味ある分野の情報もっている⼈をフォロー • はてブでよく⾒られている記事をみる • 会社で気になった技術をもっと掘り下げてみる • 他にも情報の Input の仕⽅は様々!!!
ݸਓ։ൃ Night #1 @ΪϑςΟ 16 TDDをするために • 興味のあるものを⾒つけた後はそれを試せる場が重要 • 例えば
IaC やりたい! Terraform やってみよう!となった時に Tutorial で終わるのかどうか • 個⼈的には実際に運⽤で使ってみてはまったところとかエラーを 経験したい => 実際に試せる場をつくる => Tech Driven Development !!!!
TDDの例
ݸਓ։ൃ Night #1 @ΪϑςΟ 18 • Slack 上でアンケートをとるためのサービス • 2018/11に
βリリース • アンケートの作成や投票は Slack 上から⾏う • 集計結果は Slack 上や WEB 上から確認できる • 今後は質問作成したり回答結果を取得するよう な API を追加予定 Anket ( https://anket.life/ )
ݸਓ։ൃ Night #1 @ΪϑςΟ 19 構成 • APIやダッシュボードは Rails •
botはNode.jsで構築 • インフラはすべてAWSを使っ ていて Kubernetes 上に構築 している 気になる部分は懇親会できいてください!
ݸਓ։ൃ Night #1 @ΪϑςΟ 20 TDDな部分 • Rails • 会社では使わない技術を使ってみる
• Slack App • 普段使っている Slack をもっと使い倒してみたかった • Terraform, Kubernetes (EKS) • 使ったことなかったけど気になってた
ݸਓ։ൃ Night #1 @ΪϑςΟ 21 TDDな部分 • Rails • 会社では使わない技術を使ってみる
• Slack App • 普段使っている Slack をもっと使い倒してみたかった • Terraform, Kubernetes (EKS) • 使ったことなかったけど気になってた
ݸਓ։ൃ Night #1 @ΪϑςΟ 22 Kubernetes (k8s) コンテナ化されたアプリのデプロ イなどを⾃動化してくれるコンテ ナオーケストレーションエンジン
ݸਓ։ൃ Night #1 @ΪϑςΟ 23 Rolling Update old new old
new old new old new old new • Kubernetesが提供する機能の1つ • デプロイ時にサービスをとめないように指定台数ずついれかえて いくなどの設定ができる
ݸਓ։ൃ Night #1 @ΪϑςΟ 24 セルフヒーリング • これも Kubernetes が提供する機能の1つ
• あらかじめ指定した起動台数を維持するように Kubernetes が pod を管理してくれる
ݸਓ։ൃ Night #1 @ΪϑςΟ 25 他にも • 複数のNodeの管理 • オートスケーリング
• サービスディスカバリ • ロードバランシング • etc
覚えることいっぱい!!
ݸਓ։ൃ Night #1 @ΪϑςΟ 27 ひたすら勉強して プロダクトを作る IUUQTXXXBNB[PODPKQEQ 公式 ドキュメント
➕
ݸਓ։ൃ 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
まとめ
ݸਓ։ൃ Night #1 @ΪϑςΟ 30 まとめ • 1番重要なことは楽しむこと • せっかくやるなら楽しくやりたい
• 個⼈開発は反応もらえるだけでモチベーションになる