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
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
mrbgem 三角測量 開発
ogom
0
260
PicoRuby から始めるたのしい電子工作
ogom
0
2.2k
GraphQL Better Errors
ogom
0
410
Osaka RubyKaigi 02
ogom
0
390
Osaka RubyKaigi 01
ogom
0
260
Contributing to GitLab with OSS Gate
ogom
0
670
DojoCon Japan 2017
ogom
0
180
GDStudy Engage
ogom
1
830
Using Immutable.js with React Redux
ogom
0
200
Other Decks in Programming
See All in Programming
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
800
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
780
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
110
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Event is what happens
moro
2
960
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
0
130
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Prompt Engineering for Job Search
mfonobong
0
520
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Music & Morning Musume
bryan
48
7.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
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