24
Ruby On Rails をををを WEB をををををををををを 鹿鹿鹿鹿鹿 鹿鹿鹿鹿鹿鹿鹿鹿鹿鹿 鹿鹿鹿[email protected] 1 鹿鹿鹿鹿鹿鹿鹿鹿鹿鹿鹿鹿鹿 10 鹿 K-Ruby

Ruby on Rails を用いたWEBアプリケーションの開発

Embed Size (px)

DESCRIPTION

平成23年度 産学官連携セミナー(鹿児島市)2012/02/23 於: ソフトプラザかごしま

Citation preview

Page 1: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby On Railsを用いたWEBアプリケーション開

発鹿児島大学 学術情報基盤センター

下園幸一[email protected]

1

産学官共同セミナーおよび第 10 回 K-Ruby

Page 2: Ruby on Rails を用いたWEBアプリケーションの開発

本日の内容 アプリケーション開発動向 Ruby の概要 Ruby on Rails の概要 Ruby on Rails で作られたアプリケー

ション 個人的に思う Ruby on Rails の問題点 地域での Ruby および Ruby on Rails

のコミュニティー Ruby & Ruby on Rails 講習会について

2

Page 3: Ruby on Rails を用いたWEBアプリケーションの開発

アプリケーション開発動向

業務用アプリはネイティブアプリから WEB アプリへ Visual Basic 等で作成して物が WEB アプリへ HTML5 や CSS3, JavaScript により画面表現力の

差はなくなった( WEB 上で Excel が動く時代) PC がネットワークに接続していなくても

オフラインで動く WEB アプリもある PC の中で WEB サーバ動かしてもよい

OS 、開発言語に依存しない デバイスを直接扱うものには弱い

3

Page 4: Ruby on Rails を用いたWEBアプリケーションの開発

顧客からの要求 とにかく、動くものを見せろ

途中での仕様変更バンバン 「動くソフトウェア」で顧客の要求要件の確

認 迅速な「動くソフトウェア」作成が必要 ( 週単

位 )

途中での仕様変更にも耐えられるようなプログラミング環境が必要 開発生産性、メンテナンス性、一定以上の品質

4

Page 5: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby という言語の概要 まつもとゆきひろ( Matz )によって開発され

たオブジェクト指向スクリプト言語 1995 年 12 月にニュースグループ fj 上で発表され

た 簡単にいえば Perl のような手軽さで「楽し

く」オブジェクト指向しようという言語 主な適用分野

テキスト処理 システム管理 ネットワーク・プログラミング Web アプリケーション開発

フリーソフトウエア 5

Page 6: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby の開発経緯 不況で時間ができて「 Ruby 」の開発が始まった1990 年に卒業して、ソフトハウスに入りました。決めていたのは、東京では働かないということ。田舎育ちで人が多いのは嫌いだったし、 ( 略 )

 ところが、数年すると、バブル崩壊の影響が出始めて。社内システムも、仕事が減って忙しくなくなってしまった。でも、マシンはあるわけですから、できることをやろうと思って。それで「 Ruby 」の開発を始めたんです。あったらいいなぁと思えるものを、時間があったんで作り始めてみた。それだけです。会社でやっていましたから、同僚には話していました。(略)

6出典: Tech 総研「世界のオープンソース Ruby 開発者まつもとゆきひろ」

Page 7: Ruby on Rails を用いたWEBアプリケーションの開発

インタービュー(おまけ)

温泉がいいらしい。

鹿児島市内温泉数 :72 件7

Page 8: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby の言語としての特徴 オブジェクト指向言語

全ての値(データ)が例外なくオブジェクト組み込みオブジェクトとユーザ定義のオブジェク

トが同様に扱える 必ずしもクラスを定義する必要はない

型宣言が不要、変数宣言が不要例外処理、マルチスレッド クラスライブラリが豊富

ユーザ提供のクラスライブラリが一元管理されている

8

Page 9: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby の処理系

MRI(Matz’s Ruby Implementation) まつもと氏による C 言語での実装 ソースコード配布 Version 1.8.x 系列と  1.9.x 系列が混在中有志による Windows 版バイナリもある

JRuby (最新は 1.6.5 ) Java による実装 Java のクラスを呼び出すことが可能(逆も可) 本家より速い( JIT/AOTモード)

IronRuby (最新は 1.1.3 ) .NET Framework 上で動作する

9

Page 10: Ruby on Rails を用いたWEBアプリケーションの開発

サンプル(すげぇ~)

10

class Fixnum def + (a) self * a endend

puts 1+2+3+4puts 4+2.0puts 2.0+4

test1.rb

$ ruby test1.rb248.06.0$

Page 11: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby の WEB アプリケーションフレームワーク

Rails 以外にもいっぱいあります Camping Padrino Cramp Renee Nitro Ramaze Sinatra Waves Merb

Ruby on Rails に統合 (Rails 3.0 より )

11

Page 12: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby on Rails の概要 デンマークの David Heinemeier Hansson氏(通称DHH )

によって開発( 2004 年 7 月~) MVC ( Model-View-Controller )アーキテクチャをサポート

プログラマーとデザイナーの分離 再利用可能なビジネスロジック

フルスタックなフレームワーク ライブラリとユーティリティプログラムがそろっている

最新技術に対応 HTML5対応、控えめな JavaScript 、 RESTful なインターフェイス

オープンソース 哲学

DRY ( Don’t Repeat Yourself ) 同じことは繰り返さない CoC ( Conversation over Configuration ) 設定より規約

12

Page 13: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby または Ruby on Rails で作られたアプリケーション

Twitter ~2008 年くらいまで。その後は Scala やら JavaVM

楽天 社内システムに Ruby と Ruby on Rails を採用

クックパッド 「たべみる」サイト構築を Ruby 初級者が 1カ月で作成で

きたことから、 Ruby に移行 食べログ (Ruby on Rails)

リニューアル当時; 月間利用 380万人。 2,900万PV/ 月 首都圏全域の地域防災システム

Supreme ティージー情報ネットワーク(東京ガス子会社)

13

Page 14: Ruby on Rails を用いたWEBアプリケーションの開発

自治体基幹業務だってできますよ

14

Page 15: Ruby on Rails を用いたWEBアプリケーションの開発

10 分

Ruby on Rails で 10 分で作る Twitter もどき(ちょっと古いです)http://japan.zdnet.com/development/analysis/20354695/

15

Page 16: Ruby on Rails を用いたWEBアプリケーションの開発

個人的に思う Ruby on Rails の問題点 環境構築が難しかった

Ruby 最新バージョン導入とか DB の導入とか バージョンがガンガン上がる

もちろん旧バージョンに固定化もできるが。 フレームワークの理解

慣れるしかないのか?規約から脱線しないようにする

慣れるしかないのか? IDE は必要ないのか?

いいのがあまりない。 Macユーザばっかり

16

Page 17: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby 1.9.x への移行が進む

17http://blog.newrelic.com/2011/09/28/state-of-the-stack-a-ruby-on-rails-benchmarking-report-sept-2011/

Page 18: Ruby on Rails を用いたWEBアプリケーションの開発

Rails は 2.x と 3.x が半々

18

Page 19: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby と Ruby on Rails に関するコミュニティ

日本 Ruby の会 Rubyist Magazine の発行、 RubyKaigi の開催

Ruby Business Commos 2007 年 7 月 に福岡にて設立。設立 2 年で参加メン

バーは 700名 たくさんの地域 Ruby, Ruby on Rails 勉強会等

北海道 1, 東北 2, 首都圏 12, 東海 2, 関西中国 5, 九州 2

Ruby City MATSUE プロジェクト 島根県松江市が地域の産業振興として進めているプロ

ジェクト。19

Page 20: Ruby on Rails を用いたWEBアプリケーションの開発

鹿児島でのコミュニティ : K-Ruby

鹿児島 Ruby コミュニティ( K-Ruby: Karaimo Ruby Community )

http://www.facebook.com/groups/kagoruby/ Facebook イヤという人もいるので、そろそろ外へ出し

たほうがよい? 2011/05/26 設立(第 1 回 ソフトプラザかごし

ま)参加者 20名ほど

発起人は、増満さん、古屋先生@鹿児島大(でいいですよね?)増満さんは、中国初の Ruby 会議「 RubyConfChina 」

の仕掛人の一人20

Page 21: Ruby on Rails を用いたWEBアプリケーションの開発

これまでの K-Ruby 2011/05/26 第 01 回 ソフトプラザかごしま

発表者 : 増満(この会の目的等)古屋( Ruby の概要) 2011/06/29 第 02 回 鹿児島大学学術情報基盤センター

発表者 : 下園 (Ruby on Rails の開発環境について ) 、小田 2011/07/28 第 03 回 同上 発表者 : 古屋( Ruby と DB の連携) 2011/08/25 第 04 回 同上 発表者 : 新井、下園 (Ruby on Rails のサンプ

ル作成 ― 認証と国際化 ― ) 2011/09/29 第 05 回 同上 発表者 : 増満 2011/10/27 第 06 回 同上 発表者 : 増満、小田 2011/11/24 第 07 回 同上 発表者 : 古屋( Bundler と Rails 基礎)、増満 2011/12/15 第 08 回 同上 発表者 : 下園(仮想環境を用いた Ruby on

Rails 学習 / 開発環境)、増満 2012/01/15 第 09 回 同上

SASS/COMPASS 入門(株式会社 W ・I・Z 松岡) Ruby ビジネスコモンズ勉強会参加報告(古屋) Ruby on Rails 講演会について(下園)

21

Page 22: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby および Ruby on Rails 講習会

Windows 上で動く仮想環境 (VMware Player or VirtualBox) で、 Linux を動かし、 Ruby と Ruby on Rails の講習会をやる

本年 4 月 or 5 月頃~ 週 1 回 10 回程度 Ruby プログラミングの基礎と Rails でサンプル

開発 IPA :「 OSSモデルカリキュラム導入実証」のテキス

トを使おうかな。 「ソフトプラザかごしま」 2F 鹿児島大の部屋で準備が整ったら正式にアナウンス

22

Page 23: Ruby on Rails を用いたWEBアプリケーションの開発

Ruby 技術者認定制度 Ruby Association による認定制度

Ruby Association Certified Ruby Programmer Silver試験時間 90 分、 50 問選択式、 CBT による試験

Ruby Association Certified Ruby Programmer Gold試験時間 90 分、 50 問選択式、 CBT による試験

もう一つ上を策定中 Ruby Association Certified System Integrator Silver

5名以上の Silver又は Gold資格保持者が正社員として所属している。

Ruby Association Certified System Integrator Gold 5名以上の Gold資格保持者が正社員として所属している。

23

Page 24: Ruby on Rails を用いたWEBアプリケーションの開発

参考文献

中国経済産業局 地域経済部:「中国地域におけるオープンソースプログラミング言語「 Ruby 」の拠点形成可能性調査」 ,平成23 年 3 月

IPA :「 Ruby の普及を目指した自治体基幹業務システム構築」 , 平成 20 年 2 月

K-Ruby 資料(主に古屋先生のもの)

24