SlideShare a Scribd company logo
普段Djangoを使っている人間
がRuby on Railsを勉強してみ
た話
長野Rubyの会 #1 2017.12.2 於 GEEKLAB.NAGANO
自己紹介
● にしざわこういち
● プログラマー
● @koty
● ギークラ某長野 管理人見習い
プログラミング言語歴
VisualBasic.NET ・・・10年
C# ・・・10年
Java ・・・3年
Python ・・・3年
TypeScript ・・・3ヶ月
Ruby ・・・3日
Ruby on Rails vs Django(ヂャンゴ)
雑に比較しました。
マサカリを投げないでください。
環境構築
https://github.com/rails/rails-dev-box
https://qiita.com/kaki_k/items/511611cada
c1d0c69c54
用語の比較
Model-View-Controller
Model-Temlate-View
Model
class Title < ApplicationRecord
def title_display
'[' + self.name + ']'
end
end
from django.db import models
class Title(models.Model):
name = models.TextField()
sales_date = models.DateField()
def title_display(self):
return '[' + self.name + ']'
Controller(View)
class BooklistController < ApplicationController
def index
@msg = 'djangoはいいぞ。'
@titles = Title.all
end
def detail
@msg = 'hello'
@title = Title.find(params[:id])
end
end
from app.models import Title
def index(request):
context = {'msg' : 'djangoはいいぞ。',
'titles' : Title.objects.all()}
return render_to_response('booklist/index.html',
context)
def details(request, id):
context = {'msg' : 'hello’',
'title' : Title.objects.get(id=id)}
return render_to_response('booklist/detail.html',
context)
View(Template)
<h1>Hello</h1>
<p><%= @msg %></p>
<p>現在登録されている本のタイトルは次のとおりです。</p>
<p>
<% @titles.each do |title| %>
<a href='/booklist/<%= title.id %>'>タイトル <%= title.title_display %>, [発売日] <%= title.sales_date %></a><br />
<% end %>
</p>
<html><h1>Hello</h1>
<p>{{ msg }}</p>
<p>現在登録されている本のタイトルは次のとおりです。</p>
<p>
{% for titlei in titles %}
<a href='/booklist/{{ title.id }}'>タイトル {{ title.title_display }}, [発売日] {{ title.sales_date }}</a><br />
{% endfor %}
</p></html>
ルーティング
Rails.application.routes.draw do
get 'booklist' => 'booklist#index'
get 'booklist/:id' => 'booklist#detail'
end
from views import booklist
urlpatterns = [
url(r'^booklist$', booklist.index),
url(r'^booklist/(?P<id>[0-9]+)$', booklist.detail),
]
マイグレーション
> rails generate model title
生成されたmigrationファイルにフィールドを追加
> rake db:migrate
modelの定義を作成
> ./manage.py makemigrations
> ./manage.py migrate
その他
スキャフォールド
 →使うもんなんでしょうか?
Django Admin
Djangoが既定で提供する、modelと一対一対応するCRUD画面。割と使う。
所感
● railsの方が記述量が少ない分、暗黙のルールが多い
● htmlはdjangoの方が見やすそう
● migrationはdjangoの方が便利
○ railsだとmigrationファイルとモデルに定義が分散する??
● ルーティングはrailsの方がシンプル
○ Djangoも2系から同様のシンプルな記述ができる予定
残課題
● アプリケーションサーバー
● herokuへのデプロイ
● REST API
● フロントエンド関係のファイルの扱い
● ・・・・・
第二弾にご期待下さい!?
Wantedlyでの検索結果
rails で検索 →3,678件
djangoで検索 → 463件
結論
Djangoをやりましょう

More Related Content

PDF
DjangoのORMことはじめ
PDF
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
PDF
Nodeにしましょう
PPTX
Walking front end
PDF
Isomorphic Architecture & Interface
PPT
RubyKaigi2011の雰囲気
PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
PPTX
TypeScript + Express
DjangoのORMことはじめ
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
Nodeにしましょう
Walking front end
Isomorphic Architecture & Interface
RubyKaigi2011の雰囲気
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
TypeScript + Express

What's hot (20)

PPTX
エンジニアが Webを学ぶために やっててよかったこと
PDF
JavaScriptユーティリティライブラリの紹介
PPTX
コードに潜むC++の未定義動作達
PPTX
【YAPC::Asia Hachioji 2016】ES2015のclassでアプリケーションを書いてみた話
PDF
JasmineによるJavascriptテスト駆動開発
PDF
「プログラミングGroovy」入門(公開用)
PDF
2013 08-19 jjug
PDF
GopherJS + Nashorn
PDF
Railsチュートリアル(second)を終えて
PDF
Pythonおじさんのweb2py挑戦記
PDF
名古屋Ruby会議02 LT:Ruby中級への道
PDF
非ガチ勢「よし、Coffee script使おう!」
PDF
ランダムフォレスト回帰
PDF
Python機械学習プログラミング第10章後半
PDF
Rubykaigi09 Webでるりまを検索するn個の方法
PDF
continuatioN Linking
PPTX
片手間JS on Rails
PDF
で、次は何がくるの? - 第2回 TIS Matsuri
PPTX
無名関数のすすめ
PDF
Rubyの会社でPythonistaが3ヶ月生き延びた話
エンジニアが Webを学ぶために やっててよかったこと
JavaScriptユーティリティライブラリの紹介
コードに潜むC++の未定義動作達
【YAPC::Asia Hachioji 2016】ES2015のclassでアプリケーションを書いてみた話
JasmineによるJavascriptテスト駆動開発
「プログラミングGroovy」入門(公開用)
2013 08-19 jjug
GopherJS + Nashorn
Railsチュートリアル(second)を終えて
Pythonおじさんのweb2py挑戦記
名古屋Ruby会議02 LT:Ruby中級への道
非ガチ勢「よし、Coffee script使おう!」
ランダムフォレスト回帰
Python機械学習プログラミング第10章後半
Rubykaigi09 Webでるりまを検索するn個の方法
continuatioN Linking
片手間JS on Rails
で、次は何がくるの? - 第2回 TIS Matsuri
無名関数のすすめ
Rubyの会社でPythonistaが3ヶ月生き延びた話
Ad

Similar to 普段Djangoを使っている人間がruby on railsを勉強してみた話 (20)

KEY
capybara で快適なテスト生活を
PPTX
Railsのフロントエンド開発を考える
PDF
Rails初心者レッスン lesson1 3rd edition
PPTX
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
PDF
JavaとScalaとGroovyと
PDF
Sinatra軽量Web開発 - LOUPE Study #1
PDF
SpockからRSpecにきたときの気づき #coedorb
PDF
The Essence of Using Ruby on Rails in Corporations
PPTX
Ruby on Rails を用いたWEBアプリケーションの開発
PDF
Re-frame and A-Frame
PDF
Ruby Sapporo Night Vol4
PDF
react_rails
PDF
Node.js を選ぶとき 選ばないとき
PDF
Cloud native & cloud design patterns for small teams - ハッカーズチャンプルー2018
PDF
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
PDF
RailsでReact.jsを動かしてみた話
PDF
Djangoのススメ
PDF
GraphQLについての5分間
PDF
ROS JAPAN Users Group Meetup 03
PDF
Rails composerでrails newを楽にしよう
capybara で快適なテスト生活を
Railsのフロントエンド開発を考える
Rails初心者レッスン lesson1 3rd edition
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
JavaとScalaとGroovyと
Sinatra軽量Web開発 - LOUPE Study #1
SpockからRSpecにきたときの気づき #coedorb
The Essence of Using Ruby on Rails in Corporations
Ruby on Rails を用いたWEBアプリケーションの開発
Re-frame and A-Frame
Ruby Sapporo Night Vol4
react_rails
Node.js を選ぶとき 選ばないとき
Cloud native & cloud design patterns for small teams - ハッカーズチャンプルー2018
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
RailsでReact.jsを動かしてみた話
Djangoのススメ
GraphQLについての5分間
ROS JAPAN Users Group Meetup 03
Rails composerでrails newを楽にしよう
Ad

More from ko ty (14)

PDF
Serverless frameworkでお手軽lambda運用 at #nseg #93
PPTX
Serverless frameworkを使ってみた話 at #nseg #90
PDF
AWS Lambda を使ってみた話 at づや会Vol.3
PDF
データベース実践入門読書会スペシャル #nseg
PDF
Open data とは in open data day
PDF
Source treeの紹介
PDF
NSEG第33回勉強会
PDF
Nseg第32回勉強会
PDF
NSEG第25回勉強会
PDF
Tddbc nagano0.1(nseg第20回勉強会)
PDF
NSEG第11回勉強会
PDF
nseg第5回勉強会
PDF
NSEG第3回勉強会
PDF
第2回nseg slideshare
Serverless frameworkでお手軽lambda運用 at #nseg #93
Serverless frameworkを使ってみた話 at #nseg #90
AWS Lambda を使ってみた話 at づや会Vol.3
データベース実践入門読書会スペシャル #nseg
Open data とは in open data day
Source treeの紹介
NSEG第33回勉強会
Nseg第32回勉強会
NSEG第25回勉強会
Tddbc nagano0.1(nseg第20回勉強会)
NSEG第11回勉強会
nseg第5回勉強会
NSEG第3回勉強会
第2回nseg slideshare

普段Djangoを使っている人間がruby on railsを勉強してみた話