SlideShare a Scribd company logo
1 of 36
M1 太田一行
突貫!
RUBY ON RAILS
Ruby on Rails !=
Ruby on Rails
Ruby on Rails
•webアプリケーションフレームワーク
•Webページを作る道具という点では似てる
•よりナウでヤング
洗練された仕組みにより、
web開発のベースラインとして定着した。
静的なweb開発(ホームページ) から
動的なweb開発(webアプリ) へ
たとえば:
Motivation
•明日発表します
Miradorを利用したクラウドソーシングによるコラボレーション・システム
――人文学の共同研究における分析と理論の構築を支援するシステ
ムの提案
佐藤 正尚 & 太田 一行
(double first author),(じんもんこん2017)
実装: VCS-Miradorシステム
VCS-Miradorとは
人文学研究のためのWebアプリ
風景
target
あるページのURLを取得
VCS-Miradorがドキュメント化
VCS-Mirador をより詳しく言うと
• 人文学研究のためのwebアプリ。
• IIIFという電子資料の国際公開規格に対応
• 世界中のIIIFデータを引っ張ってきてドキュメント化。
• ドキュメントで、コメント/アノテーション/アイデア/仮説などを
管理共有する。
• 簡易なSNS/グループ機能があり、グループ内でドキュメントをもつこと
もできる。
• Webアプリとしての本質は、
youtubeに依存していた時代のニコニコ動画に近いかも
チーム
• 東大総合文化研究科の佐藤正尚氏(M2)が原稿+渉外、
自分がひたすらプログラミング、という役割分担
• 連絡はSlack
• 今晩発表打ち合わせをします
• ちなみに佐藤氏は同郷で小学生以来の友人
結果
Ruby on Railsとわたし
•1ヶ月半ちょっとのつきあい
•大昔にHTML手打ち+レンタルサーバで
ホームページ作りをした経験のみ
•言語処理学会終わってから(3月下旬)
のスタート
• 実質ゼロから始めるWeb開発
とはいえ
現状
• 最低限の体裁は実装
• Gallica(フランス国立図書館)に対応
• アノテーションを統合するところまではいかな
かった
• とはいえスタートダッシュとしてはまずまずかな、
という自己評価
• ・ドキュメントとアノテーションの深い統合が目
標
Ruby on Rails 要点解説
Ruby on Rails 要点解説
1. MVC理論
2. SQLを叩かなくていいデータベース運用
3. CoCと設計と制御の反転
Ruby on Rails - MVC
Ruby on Rails - MVC
•Rails 最大のcontribution
•Model (ユーザーや本、商品のクラス)
•Controller(プログラムの実行部)
•View(HTMLの“種“)
+ データベース
=> いい感じのwebページ(HTML)を吐く
Ruby on Rails - Database
Ruby on Rails - Database
• SQLクエリ
select * from hoge_table where name = ’IKKO';
テストやPHPなどでお世話になったやつ
・Ruby on Rails
User.find_by(name: “IKKO”)
MVCプログラムに埋め込む形で書ける。
型や書式に手間を割くことなく、一気通貫にデータベース利用。
しかも完全なOOP。
…従来この書式変換に大幅な手間が費やされていたという
Ruby on Rails - CoC
Ruby on Rails - CoC
• convention over configuration
• Railsがもつマジカルなプログラミングの基礎。
• 設計よりも規約。
本来プログラマが設計しなければいけないような部分が、
暗黙裏の規約によってデフォルト化されている。
具体的には、変数やオブジェクトの命名規約。
M/V/C/データベースはそれぞれ“名前”で繋がっている。
命名規約に従う限り“魔法”が使える。
Ruby on Rails - CoC
Ruby on Rails - CoC
• 設計と制御の反転
自作パソコンのマザーボードを考えよう。
ユーザーは、CPU・メモリ・HDDなどを買ってきて取り付
けるだけ。ユーザはマザーボードに支配される。
ここでいうマザーボードがRuby on Rails。ユーザは、モ
デル・コントローラ・ビューなどを規約に従って作り、Rails
に差し込む。Rails規約に支配されたプログラム書き。
Ruby on Rails は実質
Ruby on Railsでは
• プログラマがプログラムを働かせる
のではなく
• プログラムがプログラマを働かせる
=> 安定した品質、メンテナンス、
トレンド対応、生産性向上、
(しかし自由はない)
Ruby on Rails で得られる主な知見
Ruby on Rails で得られる主な知見
•Ruby本体
•Ruby on Rails 本体
• HTML/CSS (scss, bootstrap etc.)
•JavaScript (ECMA6)
•クラウドサービス(AWS, Azure, Heroku etc.)
•データベース(PostgreSQL,SQLite etc.)
•Git
Ruby on Rails で得られる知見(考察)
一人で最低限カバーできるレベルまで簡単化。
いわば技術がコモディティ化。
Railsのめざましい成功のあと、様々なWebフレーム
ワークが登場。近年はJavaScript勢力が急速増大中。
とはいっても、パラダイムはrailsを離れていない。
Web開発の”文脈”も得られる重要な知見のひとつ
Ruby on Rails やってよかったこと
Railsやってよかったこと 1
•Web開発のコモンセンスを一通り学べる
=>Railsは特にドキュメントが充実。
良質な日本語文献もたくさん存在。
• Git/GitHubを使う習慣ができる
=>RailsはGit前提です。
研究にも就職にもダイレクトに役立つ技術。
Railsやってよかったこと 2
• OOPへの親しみが高まる
=>美しいOOPプログラムができあがる。
自作アプリケーションの参考に。
• 全く異なるエンジニアコミュニティの発見
=>エンジニアにも多様な人種。
• 生きていく自信になる
=>Railsができれば当分食いっぱぐれない
(……と言われている)
ご静聴ありがとうございました

More Related Content

Similar to 突貫Ruby on rails

Rails add ons derails_devcon
Rails add ons derails_devconRails add ons derails_devcon
Rails add ons derails_devconAkihiro Matsumura
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺Yusuke Wada
 
Library in the Web2.0 environment
Library in the Web2.0 environmentLibrary in the Web2.0 environment
Library in the Web2.0 environmentshigeosuzuki
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれからYohei Yamamoto
 
[DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design
 [DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design [DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design
[DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior DesignDeep Learning JP
 
基礎演習V_20151006
基礎演習V_20151006基礎演習V_20151006
基礎演習V_20151006義広 河野
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 
HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向Shumpei Shiraishi
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめYuji Takayama
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜Kensaku Komatsu
 
100622 学術情報セミナー
100622 学術情報セミナー100622 学術情報セミナー
100622 学術情報セミナーShuhei Otani
 
第1回Web屋にとってのWindows Azureとは?
第1回Web屋にとってのWindows Azureとは?第1回Web屋にとってのWindows Azureとは?
第1回Web屋にとってのWindows Azureとは?WebSig24/7
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 updateShiojiri Ohhara
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Kazuki Aranami
 
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630義広 河野
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...VirtualTech Japan Inc.
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...Nobuyuki Tamaoki
 

Similar to 突貫Ruby on rails (20)

Rails add ons derails_devcon
Rails add ons derails_devconRails add ons derails_devcon
Rails add ons derails_devcon
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
Library in the Web2.0 environment
Library in the Web2.0 environmentLibrary in the Web2.0 environment
Library in the Web2.0 environment
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
[DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design
 [DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design [DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design
[DL輪読会]DeepStyle: Multimodal Search Engine for Fashion and Interior Design
 
基礎演習V_20151006
基礎演習V_20151006基礎演習V_20151006
基礎演習V_20151006
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめ
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
 
100622 学術情報セミナー
100622 学術情報セミナー100622 学術情報セミナー
100622 学術情報セミナー
 
第1回Web屋にとってのWindows Azureとは?
第1回Web屋にとってのWindows Azureとは?第1回Web屋にとってのWindows Azureとは?
第1回Web屋にとってのWindows Azureとは?
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
 
Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
 
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
 
Vision at loftwork_v5
Vision at loftwork_v5Vision at loftwork_v5
Vision at loftwork_v5
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 

突貫Ruby on rails