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
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
410
Cloudflare を活用して変わったメルカリの開発体験 / How Cloudflare Changed Mercari's Development Experience
hatappi
1
840
RubyではじめるGraphQL
hatappi
0
940
RubyでChainerつくってます!!
hatappi
2
1.5k
できるだけ楽して楽しくRails開発しよう
hatappi
2
370
EKSにRailsをのせた
hatappi
1
1.3k
RubyとApache Arrow
hatappi
0
2.6k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.5k
Fargateで夢は見られるのか
hatappi
1
2.3k
Other Decks in Technology
See All in Technology
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
350
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
370
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
440
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
250
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
1k
Claude code Orchestra
ozakiomumkj
3
980
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
700
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
500
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
200
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
4
1.2k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Thoughts on Productivity
jonyablonski
76
5.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
The Pragmatic Product Professional
lauravandoore
37
7.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A better future with KSS
kneath
240
18k
Between Models and Reality
mayunak
4
330
Building AI with AI
inesmontani
PRO
1
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Producing Creativity
orderedlist
PRO
348
40k
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番重要なことは楽しむこと • せっかくやるなら楽しくやりたい
• 個⼈開発は反応もらえるだけでモチベーションになる