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
Enjoy Agile Development
Search
ogom
March 05, 2016
Programming
610
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Enjoy Agile Development
楽速開発
||
楽しく、そして速く開発する。
ogom
March 05, 2016
More Decks by ogom
See All by ogom
PicoRuby から始めるたのしい電子工作
ogom
0
2.1k
GraphQL Better Errors
ogom
0
400
Osaka RubyKaigi 02
ogom
0
370
Osaka RubyKaigi 01
ogom
0
250
Contributing to GitLab with OSS Gate
ogom
0
640
DojoCon Japan 2017
ogom
0
170
GDStudy Engage
ogom
1
820
Using Immutable.js with React Redux
ogom
0
180
CoderDojo と オープンソース
ogom
2
530
Other Decks in Programming
See All in Programming
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
140
Swiftのレキシカルスコープ管理
kntkymt
0
220
AI時代のUIはどこへ行く?その2!
yusukebe
20
7k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.5k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
530
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
690
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Speed Design
sergeychernyshev
33
1.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
sira's awesome portfolio website redesign presentation
elsirapls
0
280
The Invisible Side of Design
smashingmag
302
52k
Rails Girls Zürich Keynote
gr2m
96
14k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Transcript
ָ։ൃ on Rails ୈ71ճ Rubyؔ ษڧձ Takashi Ogomori
Enjoy Agile Development • ͷͮ͘ΓɺσϛϯάαΠΫϧ͕ ͘ར༻͞Ε͍ͯ·͢ɻ • ੈلલ͔ΒΘΕ͍ͯ·͕͢ ࠓͰ༗ޮʹ׆༻͞Ε͍ͯ·͢ɻ
Discover to Deliver • σϛϯάαΠΫϧɺௐࠪɾઃܭɾɾൢചΛ ܧଓతʹ܁Γฦ͢͜ͱͰ͢ɻ • ࡞Δ͖ͷΛൃݟͯ͠ɺ࡞ͬͨͷΛެ։ͯ͠ ͦͯ͠ɺ࡞Δ͖ͷΛൃݟ͠·͢ɻ %JTDPWFS
%FTJHO %FWFMPQ %FMJWFS
Ruby on Rails • WebΞϓϦέʔγϣϯϑϨʔϜϫʔΫͰ͢ɻ • ϦϨʔγϣφϧσʔλϕʔε (RDBMS) ͷ
Object-relational mapping ͕ར༻Ͱ͖·͢ɻ
Design to Develop • ϖʔύʔϓϩτλΠϐϯά͞ΕͨεΩʔϚΛ ϋϯυτϨʔεͰίʔσΟϯά͠·͢ɻ • ίʔσΟϯάͰσϛϯάαΠΫϧΛ͠·͢ɻ
Database schema • εΩʔϚͰσϛϯάαΠΫϧΛར༻͠·͢ɻ • σʔλΛௐࠪ • εΩʔϚΛઃܭ • εΩʔϚΛ
• σʔλΛݕࠪ
Basic Ruby Gems 1. gem 'pry-rails', group: [:development, :test] 2.
gem 'factory_girl_rails', group: [:development, :test] 3. gem 'rspec-rails', group: [:development, :test] 4. gem 'spring-commands-rspec', group: [:development] 5. gem 'guard-rspec', require: false, group: [:development] 6. gem 'guard-shell', require: false, group: [:development] 7. gem 'ridgepole', group: [:development] 8. gem 'rails-erd', group: [:development]
Guard Shell (Schema) 1. guard :shell, no_run_all: true do 2.
watch(%r{^db/migrate/(.+)\.rb$}) do |m| 3. `rake db:migrate:reset` 4. `rake db:seed` 5. `rake erd` 6. `ridgepole -c config/database.yml --export --split --output db/schemas/schema.rb` 7. `cat db/schemas/#{m[1].split('_create_').last}.schema` 8. end 9. end
Seed Ruby Gems 1. gem 'seedbank', group: [:development, :test] 2.
gem 'seed_dump', group: [:development, :test] 3. gem 'seed-fu', group: [:development, :test]
Guard Shell (Seed) 1. guard :shell, no_run_all: true do 2.
watch(%r{^app/models/(.+)\.rb$}) do |m| 3. `rake erd` 4. end 5. watch(%r{^db/seeds/(.+)\.seeds.rb$}) do |m| 6. `rake db:seed:#{m[1].split(File::Separator).join(':')}` 7. `rake db:seed:dump EXCLUDE=created_at,updated_at FILE=tmp/db/dump.rb` 8. `cat tmp/db/dump.rb` 9. end 10.end
Demonstration • Guard ͕ίʔσΟϯάͷฤूΛݕͯ͠ɺҙͷΞΫγϣϯΛ࣮ࢪ͠·͢ɻ ʢGuard Shell ɺNo Run All ͷΦϓγϣϯͷվमΛ͍ͯ͠·͢ɻʣ
• db/migrate ͕ฤू͞ΕΔͱɺεΩʔϚ͕࠶ߏங͞Εͯ σʔλ࠶ొ͠·͢ɻฤूͨ͠εΩʔϚ͕දࣔ͞Ε·͢ɻ • app/models ͕ฤू͞ΕΔͱɺ࠷৽ͷ ERD ͕දࣔ͞Ε·͢ɻ • db/seeds ͕ฤू͞ΕΔͱɺͦͷσʔλ͕࠶ొ͞Εͯ σʔλͷμϯϓ͕දࣔ͞Ε·͢ɻ • db/seeds ͷσʔλ FactoryGirl Ͱੜ͞Ε͍ͯ·͢ɻ ͦͷ FactoryGirl ͷ RSpec Ͱςετ͞Ε͍ͯ·͢ɻ
ָ͘͠ɺͦͯ͘͠։ൃ͢Δɻ Enjoy Agile Development
None