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
久々のRailsプロジェクトで導入した開発環境
Search
naoty
February 18, 2015
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
久々のRailsプロジェクトで導入した開発環境
naoty
February 18, 2015
More Decks by naoty
See All by naoty
Modular API Client
naoty
1
440
Repository pattern in Swift
naoty
3
6.5k
Timepiece
naoty
0
3.8k
Contribution to Rails
naoty
0
4.4k
Report of DIYish programming activity
naoty
1
300
How to build gems for Rails
naoty
1
200
Qiita/Kobito vs ?
naoty
0
210
Other Decks in Programming
See All in Programming
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
450
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
Google Apps Script で Ruby を動かす
kawahara
0
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
React本体のコードリーディング
high_g_engineer
1
140
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
Featured
See All Featured
Visualization
eitanlees
152
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
Practical Orchestrator
shlominoach
191
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Google's AI Overviews - The New Search
badams
0
1.1k
The SEO Collaboration Effect
kristinabergwall1
1
520
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
490
Transcript
ٱʑͷRailsϓϩδΣΫτͰ ಋೖͨ͠։ൃڥ Naoto Kaneko
tl;dr • ࠷ۙస৬ͯ͠ٱʑʹνʔϜͰRailsϓϩδΣΫτ ΛࢀՃ͢Δ͜ͱʹͳͬͨɻ • ։ൃڥʹ·ͭΘΔτϥϒϧͰ͕࣌ؒͱΒΕΔ ͷͰνʔϜͷ։ൃڥΛඋ͢Δ͜ͱʹͨ͠ɻ • ͘͝ී௨ͷ։ൃڥ͔͠Εͳ͍͚Ͳɺଞࣾ ͷऔΓΈΛΓ͍ͨɻ
None
None
ܦҢ • 1΄ͲϕϯνϟʔͰ1ਓͰiOS+Railsͷ։ൃ • ࡢʹେاۀʹస৬ˠ10໊ఔͷνʔϜʹ ଐ͞ΕRailsઐۀʹ • ৽نϓϩδΣΫτͷॳظϑΣʔζͰjoin • νʔϜͰͷRailsϓϩδΣΫτ3ͿΓ
τϥϒϧ • ϦϞʔτͰ࡞ۀ͢Δ։ൃऀͷ։ൃڥͰى͖ͨ τϥϒϧͷղܾඇৗʹࠔ • ։ൃσʔλ͕ෳࡶͰηοτΞοϓ͕ࠔ • ίʔυϨϏϡʔͷͨΊʹଞͷbranchʹҠͬͨΒ εΩʔϚ͕ҟͳ͍ͬͯͯຖճrake db:reset
• ίʔσΟϯάن͕ͳͯ͘ελΠϧ͕όϥόϥ
։ൃڥͷ౷Ұ • ։ൃڥͷτϥϒϧΛ࠷খݶʹ͑ΔɻϦϞʔ τͰ࡞ۀ͢Δ߹ͰରॲՄೳ • Vagrant + Chef SoloͰڥߏஙͷࣗಈԽ͓Α ͼܗࣜԽ
• ߏஙͨ͠ڥboxԽͯ͠vagrant upͷ࣌ؒΛ ॖʢ༧ఆʣ
Tips: vagrant-exec % vagrant plugin install vagrant-exec % vbin/rails s
Vagrant.configure(2) do |config| config.exec.commands = %w(rails) config.exec.binstubs_path = “vbin” end
։ൃσʔλͷηοτΞοϓ • FactoryGirlͰ։ൃσʔλͷఆٛ • FactoryGirl͔ΒσʔλΛੜ͢ΔRakeλεΫΛ༻ ҙ͢Δ • db/seeds.rbෳࡶͳґଘؔΛͭσʔλͷ࡞ ʹ͔ͳ͍ͨΊΘͳ͍ •
ϦϦʔεޙຊ൪ڥͷσʔλΛྲྀ༻͢Δखݕ౼
db/seeds.rb Country.create(name: “Japan”) Prefecture.create(name: “Tokyo”, country: Country.first) City.create(name: “Meguro”, prefecture:
Prefecture.first) User.create(name: “naoty”, city: City.first) % rake db:seed
lib/tasks/seeds.rake task :countries => %i(environment) do create(:countries) end task :prefectures
=> %i(environment countries) do create(:prefectures, country: Country.first) end task :cities => %i(environment prefectures) do create(:cities, prefecture: Prefecture.first) end task :users => %i(environment cities) do create(:users, city: City.first) end % rake seeds:users
branchସ͑ͨΒεΩʔϚͷΤϥʔ • ෳͷbranchΛಉ࣌ซߦͰਐΊ͍ͯΔͱ͖ • ίʔυϨϏϡʔରͷbranchʹҠͬͨͱ͖ • branch͝ͱʹεΩʔϚ͕ҟͳͬͯΤϥʔ͕ى ͖Δ͜ͱ͕Α͋͘Δɻ
brancher • https://github.com/naoty/brancher • branch͝ͱʹଓ͢ΔDBΛΓସ͑Δ rubygemΛॻ͍ͯΈͨɻ • branch͝ͱʹDB͕Ͱ͖ΔͷͰΰϛDBΛআ ͢ΔεΫϦϓτΛॻ͍ͯӡ༻
࣭ͷอূ • rubocopಋೖˠίʔσΟϯάنͰ࠷ݶͷ ࣭ͷ୲อ • ΑΓߴ͍࣭ΛอͭͨΊʹ rails_best_practices, brakeman, code climate
ʢ༗ྉ൛ʣͳͲΛݕ౼த • ಛʹଞࣾͷݟΛฉ͍ͯΈ͍ͨͱ͜Ζ
·ͱΊ • Vagrant + Chef soloͰ౷Ұ͞Εͨ։ൃڥ • FactoryGirlΛͬͨRakeλεΫͰෳࡶͳ։ൃσʔ λͷηοτΞοϓ •
brancherͰbranchؒͷεΩʔϚͷҧ͍ʹΑΔτϥ ϒϧΛճආ • rubocopͰ࠷ݶͷ࣭Λ୲อ
None
RailsΤϯδχΞืूத!!!