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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
120
PicoRuby から始めるたのしい電子工作
ogom
0
2.2k
GraphQL Better Errors
ogom
0
410
Osaka RubyKaigi 02
ogom
0
390
Osaka RubyKaigi 01
ogom
0
250
Contributing to GitLab with OSS Gate
ogom
0
660
DojoCon Japan 2017
ogom
0
170
GDStudy Engage
ogom
1
830
Using Immutable.js with React Redux
ogom
0
190
Other Decks in Programming
See All in Programming
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
7
5.1k
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
150
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
370
Heart of Swift Concurrency
koher
0
1.1k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
220
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
290
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
170
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
180
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
680
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
310
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
540
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Balancing Empowerment & Direction
lara
6
1.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
540
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Being A Developer After 40
akosma
91
590k
Building Adaptive Systems
keathley
44
3.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
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