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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Enjoy Agile Development
Search
ogom
March 05, 2016
Programming
620
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.2k
GraphQL Better Errors
ogom
0
400
Osaka RubyKaigi 02
ogom
0
390
Osaka RubyKaigi 01
ogom
0
250
Contributing to GitLab with OSS Gate
ogom
0
650
DojoCon Japan 2017
ogom
0
170
GDStudy Engage
ogom
1
830
Using Immutable.js with React Redux
ogom
0
190
CoderDojo と オープンソース
ogom
2
540
Other Decks in Programming
See All in Programming
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
690
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
2
210
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
スマート反転とウェブアクセシビリティ
camiha
0
170
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
55
36k
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
350
Webプラットフォームで議論されているセキュリティ課題 / Security issues being discussed on Web Platforms
petamoriken
0
290
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
170
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
120
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Documentation Writing (for coders)
carmenintech
77
5.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
600
New Earth Scene 8
popppiees
3
2.5k
Everyday Curiosity
cassininazir
0
310
RailsConf 2023
tenderlove
30
1.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
A better future with KSS
kneath
240
18k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
WCS-LA-2024
lcolladotor
0
820
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