Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TDDな個人開発
Search
hatappi
March 12, 2019
Technology
390
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
340
AlloyDB 奮闘記
hatappi
0
510
Cloudflare を活用して変わったメルカリの開発体験 / How Cloudflare Changed Mercari's Development Experience
hatappi
1
940
RubyではじめるGraphQL
hatappi
0
980
RubyでChainerつくってます!!
hatappi
2
1.5k
できるだけ楽して楽しくRails開発しよう
hatappi
2
390
EKSにRailsをのせた
hatappi
1
1.3k
RubyとApache Arrow
hatappi
0
2.7k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.5k
Other Decks in Technology
See All in Technology
DORA_Metrics.pdf
wagnerfusca
1
140
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
710
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
280
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
310
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
160
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
510
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
160
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
310
Claude起点の仕様駆動開発
tanakaseiya
0
280
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
110
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
14k
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
150
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
290
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
530
Designing for Performance
lara
611
70k
The SEO identity crisis: Don't let AI make you average
varn
0
570
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Building the Perfect Custom Keyboard
takai
2
890
A better future with KSS
kneath
240
18k
Building an army of robots
kneath
307
47k
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番重要なことは楽しむこと • せっかくやるなら楽しくやりたい
• 個⼈開発は反応もらえるだけでモチベーションになる