Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby on Rails と Django を比較してみる
Search
free_world21
September 29, 2024
Programming
1
260
Ruby on Rails と Django を比較してみる
TokyuRuby会議15
https://tokyurb.connpass.com/event/330007/
で使用した発表用スライドです
free_world21
September 29, 2024
Tweet
Share
More Decks by free_world21
See All by free_world21
DjangoとRailsを使って趣味として政治資金を透明化するプロダクトを作ってる話
free_world21
0
70
Ruby on Rails on Kubernetesってどうなの?
free_world21
0
18
大事なデータを守りたい!ActiveRecord Encryptionと、より安全かつ検索可能な暗号化手法の実装例の紹介
free_world21
0
33
Shinjuku.rb#95:心の技術書紹介
free_world21
1
280
Rails engineを用いたゆるふわモジュラーモノリス のご紹介
free_world21
1
430
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
3
1.4k
東証障害報告書を読み解く
free_world21
0
280
Ruby/Railsの勉強会のおかげでブルーモ証券起業した
free_world21
2
500
エンジニアとしての属性軸(自己分析軸?)を考えてみた
free_world21
0
130
Other Decks in Programming
See All in Programming
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
140
tparseでgo testの出力を見やすくする
utgwkk
2
260
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
200
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
dotfiles 式年遷宮 令和最新版
masawada
1
810
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
390
ゆくKotlin くるRust
exoego
1
140
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
180
チームをチームにするEM
hitode909
0
360
俺流レスポンシブコーディング 2025
tak_dcxi
14
9.3k
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
120
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
85
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
68
Side Projects
sachag
455
43k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
78
Context Engineering - Making Every Token Count
addyosmani
9
540
Writing Fast Ruby
sferik
630
62k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
87
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.7k
Amusing Abliteration
ianozsvald
0
64
Transcript
3VCZPO3BJMTͱ %KBOHPΛൺֱͯ͠ΈΔ 4VO খྛޛ࢙ OPFM ϒϧʔϞূ݊גࣜձࣾ 5PLZV3VCZձٞ
▪ খྛޛ࢙ʢখྛϊΤϧʣ ▪ ຊۀɿϒϧʔϞূ݊גࣜձࣾऔక$50 – ถࠃגɾถࠃ&5'ઐۀͷظࢿ࢈ܗಛԽ ܕͷࢿΞϓϦΛ࡞ͬͯΔ'JOUFDIελʔ τΞοϓ ▪
΄ͲϑϦʔϥϯεΤϯδχΞ – ్தࣄۀձࣾͷதͷਓͬͨ ▪ ʙɿϒϧʔϞূ݊גࣜձࣾΛۀ ▪ झຯɿཱྀߦɾੈքͷίϫʔΩϯάεϖʔεΊ͙ ΓʢϫʔέʔγϣϯతͳԿ͔ʣ @free_world21 THE FARM@NY CARR WORKPLACE@Chicago https://bloomo.co.jp/
3VCZPO3BJMTͱ%KBOHPΛൺֱͯ͠ΈΔ ▪ झຯͷݸਓ։ൃͰ࡞ͬͯΔϓϩμΫτΛ%KBOHP 3VCZPO3BJMTͷΈ߹ΘͤͰ࡞ͬͯ·͢ – ͳͷͰͦΕΛωλʹൃද͠·͢ ▪ ʮ%KBOHPશʹཧղͨ͠ʂʯ͘Β͍ͷϨϕϧײͷਓͷͳͷͰؒҧ͍ଟ͋͘Δ͔͠Ε·ͤ Μ ▪
ීஈ3BJMTͬͯΔਓઢͷൺֱͰ͢
3VCZPO3BJMTͱ%KBOHPΛൺֱͯ͠ΈΔ ݁ ʹ 3VCZPO3BJMT "DUJWF"ENJO BVUIMPHJD QBDLXFSL
%KBOHP %KBOHP3&45GSBNFXPSL
%KBOHPͱʢଞͷϑϨʔϜϫʔΫͱൺֱͯ͠ʣ ▪ 1ZUIPOͷ'VMMTUBDLϑϨʔϜϫʔΫ ▪ 3VCZPO3BJMTͱ΄΅ಉظʁ %KBOHP 3VCZPO3BJMT &YQSFTTKT /FTUKT
)POP ʢOPEFKTܥϑϨʔϜ ϫʔΫʣ (JO FDIP ʢ(PMBOHܥϑϨʔ ϜϫʔΫʣ ϓϩάϥϛϯάݴޠ 1ZUIPO 3VCZ 5ZQF4DSJQU (PMBOH *OJUJBMSFMFBTF ϑϨʔϜϫʔΫࢤ 'VMMTUBDL 'VMMTUBDL NJDSPGSBNFXPSL NJDSPGSBNFXPSL 03. %KBOHP03. "DUJWF3FDPSE 5ZQF03. 1SJTNB ࣗ࡞ (03. NJHSBUJPO %KBOHPNJHSBUJPO "DUJWF3FDPSE.JHSBUJPO ECNJHSBUF HPMBOHNJHSBUF HPPTF ςετ %KBOHPUFTU QZUFTU NJOJUFTU STQFD +FTU +BTNJOF CVJMUJO ܕαϙʔτ 5ZQF)JOUT CVJMUJO 3#4 CVJMUJO ʢͨͩ͠ίϯύΠϧΦ ϓγϣϯଟʣ CVJMUJO
%KBOHPͱʢଞͷϑϨʔϜϫʔΫͱൺֱͯ͠ʣ ▪ 1ZUIPOͷ'VMMTUBDLϑϨʔϜϫʔΫ ▪ 3VCZPO3BJMTͱ΄΅ಉظʁ %KBOHP 3VCZPO3BJMT &YQSFTTKT /FTUKT
)POP ʢOPEFKTܥϑϨʔϜ ϫʔΫʣ (JO FDIP ʢ(PMBOHܥϑϨʔ ϜϫʔΫʣ ϓϩάϥϛϯάݴޠ 1ZUIPO 3VCZ 5ZQF4DSJQU (PMBOH *OJUJBMSFMFBTF ϑϨʔϜϫʔΫࢤ 'VMMTUBDL 'VMMTUBDL NJDSPGSBNFXPSL NJDSPGSBNFXPSL 03. %KBOHP03. "DUJWF3FDPSE 5ZQF03. 1SJTNB ࣗ࡞ (03. NJHSBUJPO %KBOHPNJHSBUJPO "DUJWF3FDPSE.JHSBUJPO ECNJHSBUF HPMBOHNJHSBUF HPPTF ςετ %KBOHPUFTU QZUFTU NJOJUFTU STQFD +FTU +BTNJOF CVJMUJO ܕαϙʔτ 5ZQF)JOUT CVJMUJO 3#4 CVJMUJO ʢͨͩ͠ίϯύΠϧΦ ϓγϣϯଟʣ CVJMUJO ࣗͰબͿඞཁ͕ͳ͍ ʢࢮͰ։ൃͰ͖Δʣ ࣗͰબͿඞཁ͕͋Δʂʂ
%KBOHPͷಛɿϏϧτΠϯͷཧը໘͕͋Δ ▪ ຯΘ͍ͷ͋Δཧը໘͖ ▪ ActiveAdminʹͲ͜ͱͳ͘ࣅͯΔʢݸਓͷײͰ͢ʣ
%KBOHPͷಛɿϏϧτΠϯͷཧը໘͕͋Δ ▪ ຯΘ͍ͷ͋Δཧը໘͖ ▪ ActiveAdminʹͲ͜ͱͳ͘ࣅͯΔʢݸਓͷײͰ͢ʣ
%KBOHPͷಛɿγϯϓϧͳೝূػೳ͖ ▪ γϯϓϧͳೝূػೳػೳΛఏڙ͢Δϝιου͕͋Δ ▪ 3BJMTͰ͍͏ͱ͜ΖͷBVUIMPHJDͱ͔TPSDFSZΈ͍ͨͳ͕ͭೖͬͯΔΠϝʔδ
%KBOHPͷಛɿ.75 .PEFM7JFX5FNQMBUF ▪ %KBOHP.75 .PEFM7JFX5FNQMBUF Ͱ͋Δ ▪ 3BJMT.7$ .PEFM7JFX$POUSPMMFS %KBOHP
3VCZPO3BJMT Ϗδωεϩδο Ϋ ݺͼํ .PEFM .PEFM هड़ݴޠ 1ZUIPO 3VCZ ಛ ͭͷ.PEFM͕%#ͷςʔϒϧͱରԠ ͭͷ.PEFM͕%#ͷςʔϒϧͱରԠ ೖग़ྗ ݺͼํ 7JFX $POUSPMMFS هड़ݴޠ 1ZUIPO 3VCZ ಛ 3BJMTͰ͍͏ͱ͜Ζͷ$POUSPMMFSͱࢥͬͯ͘Εͯ0, ׂѪ දࣔ ݺͼํ 5FNQMBUF 7JFX هड़ݴޠ %KBOHPUFNQMBUFMBOHVBHF &3# )BNM ಛ 1ZUIPOεΫϦϓτຒΊࠐΊͳ͍ͷͰɺ ϏδωεϩδοΫΛهड़͢Δ͜ͱ΄΅ෆՄೳ 3VCZεΫϦϓτຒΊࠐΊΔͷͰ ͋ΔఔϏδωεϩδοΫॻ͚Δ
%KBOHPͷಛɿ.75 .PEFM7JFX5FNQMBUF ▪ %KBOHP.75 .PEFM7JFX5FNQMBUF Ͱ͋Δ ▪ 3BJMT.7$ .PEFM7JFX$POUSPMMFS %KBOHP
3VCZPO3BJMT Ϗδωεϩδο Ϋ ݺͼํ .PEFM .PEFM هड़ݴޠ 1ZUIPO 3VCZ ಛ ͭͷ.PEFM͕%#ͷςʔϒϧͱରԠ ͭͷ.PEFM͕%#ͷςʔϒϧͱରԠ ೖग़ྗ ݺͼํ 7JFX $POUSPMMFS هड़ݴޠ 1ZUIPO 3VCZ ಛ 3BJMTͰ͍͏ͱ͜Ζͷ$POUSPMMFSͱࢥͬͯ͘Εͯ0, ׂѪ දࣔ ݺͼํ 5FNQMBUF 7JFX هड़ݴޠ %KBOHPUFNQMBUFMBOHVBHF &3# )BNM ಛ 1ZUIPOεΫϦϓτຒΊࠐΊͳ͍ͷͰɺ ϏδωεϩδοΫΛهड़͢Δ͜ͱ΄΅ෆՄೳ 3VCZεΫϦϓτຒΊࠐΊΔͷͰ ͋ΔఔϏδωεϩδοΫॻ͚Δ Ұ൪ͷҧ͍
%KBOHPͷಛɿ.75 .PEFM7JFX5FNQMBUF ▪ ͪͳΈʹ%KBOHPUFNQMBUFMBOHVBHF͜Μͳ͔Μ͡ ▪ NVTUBDIFͱ͔)BOEMFCBSTͷܥේʁ
%KBOHPͷಛɿϞδϡϥʔϞϊϦε ▪ ݸਓతʹ࠷େͷಛ͜ΕͩͱࢥͬͯΔ ▪ projectͷԼʹෳͷappΛ࣋ͭߏ – %KBOHPͷappͭͷ3BJMTϓϩδΣΫτ rails newͯ͠࡞ΒΕ Δͭ
▪ 3BJMTͰ͍͏ͱ͜Ζͷpackwerk͕σϑΥϧτͰΈࠐ·ΕͯΔΠϝʔ δ
%KBOHPͷಛɿϞδϡϥʔϞϊϦε project
%KBOHPͷಛɿϞδϡϥʔϞϊϦε project project࡞Δͱproject໊ͰσϑΥϧτͰ࡞ΒΕΔσΟϨΫτϦ ओʹઃఆϑΝΠϧͱ͔͕͍ͬͯΔ 3BJMTͰ͍͏ͱ͜ΖͷconfigσΟϨΫτϦͱࢥͬͯྑ͍ͱࢥ͏
%KBOHPͷಛɿϞδϡϥʔϞϊϦε project project࡞Δͱproject໊ͰσϑΥϧτͰ࡞ΒΕΔσΟϨΫτϦ ओʹઃఆϑΝΠϧͱ͔͕͍ͬͯΔ 3BJMTͰ͍͏ͱ͜ΖͷconfigσΟϨΫτϦͱࢥͬͯྑ͍ͱࢥ͏ ͭͭͷappɻ ֤appͷதʹͦΕͧΕ.PEFMʢͱϚΠάϨʔγϣϯϑΝΠϧʣɺ 5FNQMBUFɺ7JFXʢ UFTUʣΛఆٛͰ͖Δ
%KBOHPͷಛɿϞδϡϥʔϞϊϦε project project࡞Δͱproject໊ͰσϑΥϧτͰ࡞ΒΕΔσΟϨΫτϦ ओʹઃఆϑΝΠϧͱ͔͕͍ͬͯΔ 3BJMTͰ͍͏ͱ͜ΖͷconfigσΟϨΫτϦͱࢥͬͯྑ͍ͱࢥ͏ ཧը໘ͷͭͷ·ͱ·Γͱͯ͠දࣔ͞ΕΔ
3JMTͱ%KBOHPͷൺֱɿίϚϯυܥ Ruby on Rails Django project作成 N/A python manage.py startproject
ceres app作成 rails new diet python manage.py startapp diet 開発サーバ起動 rails s python manage.py runserver コンソール起動 rails console python manage.py shell 任意のコマンド呼び出 し rails(rake) hoge python manage.py hoge DB作成 rails db:create N/A migrationファイル作成 rails g migration … python manage.py makemigrations migration実⾏ rails db:migrate python manage.py migrate
3JMTͱ%KBOHPͷൺֱɿσʔλϕʔεݺͼग़͠ Ruby on Rails Django 全件取得 Author.all Author.objects.all() ID指定ロード Author.find(123)
Author.objects.get(id=123) where Author.where(name: ‘hoge’) Author.where(“age >= ?”, 20) Author.where(age: 20..30) Author.where(age: nil) Author.objects.filter(name=‘hoge’) Author.objects.filter(age__gte=20) Author.objects.filter(age__range=(20, 30)) Author.objects.filter(age__isnull=True) 関連呼び出し author.published_books author.publishedbook_set.all() - name: string - age: int, null: true authors - author_id: int - title: string published_books
·ͱΊ ▪ %KBOHPͷಛຯΘ͍ͷ͋Δཧը໘ʢ3BJMTɿActiveAdminʣ ▪ %KBOHPͷಛɿγϯϓϧͳೝূػೳ͖ʢ3BJMTɿauthlogic, sorceryʣ ▪ %KBOHPͷಛɿ.PEFM5FNQMBUF7JFXʢ3BJMT.PEFM7JFX$POUSPMMFSʣ ▪ %KBOHPͷಛɿϞδϡϥʔϞϊϦεʢ3BJMTɿpackerkʣ
▪ ίϚϯυجຊతʹpython manage.pyͰΔʢ3BJMTɿrails, rakeʣ ▪ ͬͺΓActiveRecordਆʂ
3VCZPO3BJMTͱ%KBOHPΛൺֱͯ͠ΈΔ ݁ ʹ 3VCZPO3BJMT "DUJWF"ENJO BVUIMPHJD QBDLXFSL
%KBOHP %KBOHP3&45GSBNFXPSL