SlideShare una empresa de Scribd logo
1 de 24
産学官共同セミナーおよび第10回K-Ruby




  鹿児島大学 学術情報基盤センター
           下園幸一
  simozono@cc.kagoshima-u.ac.jp

                                  1
 アプリケーション開発動向
 Ruby の概要
 Ruby on Rails の概要
 Ruby on Rails で作られたアプリケー
  ション
 個人的に思う Ruby on Rails の問題点
 地域での Ruby および Ruby on Rails の
  コミュニティー
 Ruby & Ruby on Rails 講習会について
                                  2
 業務用アプリはネイティブアプリからWEB
アプリへ
  Visual Basic 等で作成して物がWEBアプリへ
  HTML5やCSS3, JavaScript により画面表現力の
   差はなくなった(WEB上でExcelが動く時代)
  PCがネットワークに接続していなくても
      オフラインで動くWEBアプリもある

      PCの中でWEBサーバ動かしてもよい

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

                                 3
 とにかく、動くものを見せろ
    途中での仕様変更バンバン
 「動くソフトウェア」で顧客の要求要件
の確認
    迅速な「動くソフトウェア」作成が必要(週単
     位)


 途中での仕様変更にも耐えられるような
プログラミング環境が必要
    開発生産性、メンテナンス性、一定以上の品 4
   まつもとゆきひろ(Matz)によって開発され
    たオブジェクト指向スクリプト言語
       1995年12月にニュースグループfj上で発表された
 簡単にいえばPerlのような手軽さで「楽し
  く」オブジェクト指向しようという言語
 主な適用分野
     テキスト処理
     システム管理

     ネットワーク・プログラミング

     Webアプリケーション開発

   フリーソフトウエア
                                 5
   不況で時間ができて「Ruby」の開発が始
    まった
1990年に卒業して、ソフトハウスに入りました。決め
ていたのは、東京では働かないということ。田舎育ち
で人が多いのは嫌いだったし、(略)
 ところが、数年すると、バブル崩壊の影響が出始め
て。社内システムも、仕事が減って忙しくなくなって
しまった。でも、マシンはあるわけですから、できる
ことをやろうと思って。それで「Ruby」の開発を始め
たんです。あったらいいなぁと思えるものを、時間が
あったんで作り始めてみた。それだけです。会社で
やっていましたから、同僚には話していました。
(略)
出典:Tech総研「世界のオープンソースRuby開発者まつもとゆきひろ」
                          6
温泉がいいらしい。


鹿児島市内温泉数:72件
               7
   オブジェクト指向言語
     全ての値(データ)が例外なくオブジェクト
     組み込みオブジェクトとユーザ定義のオブジェク
      トが同様に扱える
     必ずしもクラスを定義する必要はない

 型宣言が不要、変数宣言が不要
 例外処理、マルチスレッド
 クラスライブラリが豊富
       ユーザ提供のクラスライブラリが一元管理されて
        いる
                             8
   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
test1.rb
class Fixnum
 def + (a)
  self * a
 end
end
               $ ruby test1.rb
puts 1+2+3+4   24
puts 4+2.0     8.0
puts 2.0+4     6.0
               $                 10
   Rails以外にもいっぱいあります
     Camping
     Padrino
     Cramp
     Renee
     Nitro
     Ramaze
     Sinatra
     Waves
     Merb
           Ruby on Rails に統合(Rails 3.0 より)


                                              11
   デンマークのDavid Heinemeier Hansson氏(通称
    DHH)によって開発(2004年7月~)
   MVC(Model-View-Controller)アーキテクチャをサ
    ポート
       プログラマーとデザイナーの分離
       再利用可能なビジネスロジック
   フルスタックなフレームワーク
       ライブラリとユーティリティプログラムがそろっている
   最新技術に対応
       HTML5対応、控えめなJavaScript、RESTful なインター
        フェイス
   オープンソース
   哲学
       DRY(Don’t Repeat Yourself) 同じことは繰り返さない
       CoC(Conversation over Configuration) 設定より規約
                                                      12
   Twitter
       ~2008年くらいまで。その後はScalaやらJavaVM
   楽天
       社内システムに Ruby と Ruby on Rails を採用
   クックパッド
       「たべみる」サイト構築を Ruby 初級者が1カ月で作
        成できたことから、Rubyに移行
   食べログ (Ruby on Rails)
       リニューアル当時; 月間利用380万人。2,900万PV/
        月
   首都圏全域の地域防災システム
       Supreme
       ティージー情報ネットワーク(東京ガス子会社)
                                           13
14
 Ruby   on Railsで10分で作るTwitterもどき
  (ちょっと古いです)
  http://japan.zdnet.com/development/analysis/20
  354695/




                                               15
   環境構築が難しかった
       Ruby 最新バージョン導入とかDBの導入とか
   バージョンがガンガン上がる
       もちろん旧バージョンに固定化もできるが。
   フレームワークの理解
       慣れるしかないのか?
   規約から脱線しないようにする
       慣れるしかないのか?
   IDEは必要ないのか?
       いいのがあまりない。
   Macユーザばっかり
                                  16
http://blog.newrelic.com/2011/09/28/state-of-the-stack-a-ruby-on-rails-benchmarking-report-sept-2011/
                                                                                                    17
18
   日本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
 鹿児島Rubyコミュニティ(K-Ruby: Karaimo
  Ruby Community)
 http://www.facebook.com/groups/kagoruby/
       Facebook イヤという人もいるので、そろそろ外へ
        出したほうがよい?
   2011/05/26 設立(第1回 ソフトプラザかごし
    ま)
       参加者20名ほど
   発起人は、増満さん、古屋先生@鹿児島大(で
    いいですよね?)
       増満さんは、中国初のRuby 会議
        「RubyConfChina」 の仕掛人の一人
                                             20
   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
 Windows 上で動く仮想環境(VMware Player or
  VirtualBox)で、Linuxを動かし、Ruby と Ruby
  on Rails の講習会をやる
 本年4月 or 5月頃~ 週1回10回程度
 Ruby プログラミングの基礎とRails でサンプ
  ル開発
       IPA:「OSSモデルカリキュラム導入実証」のテキ
        ストを使おうかな。
 「ソフトプラザかごしま」2F 鹿児島大の部屋
  で
 準備が整ったら正式にアナウンス
                                   22
   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
 中国経済産業局    地域経済部:「中国地域に
  おけるオープンソースプログラミング言語
  「Ruby」の拠点形成可能性調査」,平成23年
  3月
 IPA:「Rubyの普及を目指した自治体基幹
  業務システム構築」, 平成20年2月
 K-Ruby 資料(主に古屋先生のもの)



                       24

Más contenido relacionado

La actualidad más candente

Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
 
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
よしだ あつし
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
Masato Noguchi
 

La actualidad más candente (20)

Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステムRuby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 
RSpecしぐさ
RSpecしぐさRSpecしぐさ
RSpecしぐさ
 
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
 
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
 
SunspotではじめるSolr入門
SunspotではじめるSolr入門SunspotではじめるSolr入門
SunspotではじめるSolr入門
 
2017年3月13日勉強会発表資料
2017年3月13日勉強会発表資料2017年3月13日勉強会発表資料
2017年3月13日勉強会発表資料
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメ
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
Bundler 2 の胎動
Bundler 2 の胎動Bundler 2 の胎動
Bundler 2 の胎動
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
Rails あるある
Rails あるあるRails あるある
Rails あるある
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
 
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
 

Destacado

Frontend Application Architecture, Patterns, and Workflows
Frontend Application Architecture, Patterns, and WorkflowsFrontend Application Architecture, Patterns, and Workflows
Frontend Application Architecture, Patterns, and Workflows
Treasure Data, Inc.
 
Redmine + MySQL 応答性能の調査結果と対策
Redmine + MySQL 応答性能の調査結果と対策Redmine + MySQL 応答性能の調査結果と対策
Redmine + MySQL 応答性能の調査結果と対策
Kuniharu(州晴) AKAHANE(赤羽根)
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 

Destacado (20)

Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
Rubyの基礎
Rubyの基礎Rubyの基礎
Rubyの基礎
 
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
 
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
 
Choosing a JavaScript Framework
Choosing a JavaScript FrameworkChoosing a JavaScript Framework
Choosing a JavaScript Framework
 
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby BookRuby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
 
Frontend Application Architecture, Patterns, and Workflows
Frontend Application Architecture, Patterns, and WorkflowsFrontend Application Architecture, Patterns, and Workflows
Frontend Application Architecture, Patterns, and Workflows
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析
 
Redmine + MySQL 応答性能の調査結果と対策
Redmine + MySQL 応答性能の調査結果と対策Redmine + MySQL 応答性能の調査結果と対策
Redmine + MySQL 応答性能の調査結果と対策
 
講演1 Redmine導入のアンチパターン
講演1 Redmine導入のアンチパターン講演1 Redmine導入のアンチパターン
講演1 Redmine導入のアンチパターン
 
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版しごとで使うTitanium 第2版
しごとで使うTitanium 第2版
 
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
 
Hacking with ARM devices on Linux
Hacking with ARM devices on Linux Hacking with ARM devices on Linux
Hacking with ARM devices on Linux
 
情報システム部門のタスク管理~ITS応答性能の調査結果と対策 編~ #RxTstudy #6 #Redmine
情報システム部門のタスク管理~ITS応答性能の調査結果と対策 編~ #RxTstudy #6 #Redmine情報システム部門のタスク管理~ITS応答性能の調査結果と対策 編~ #RxTstudy #6 #Redmine
情報システム部門のタスク管理~ITS応答性能の調査結果と対策 編~ #RxTstudy #6 #Redmine
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
 
Ruby による Agile 開発
Ruby による Agile 開発Ruby による Agile 開発
Ruby による Agile 開発
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
How To Become A Rubyist
How To Become A RubyistHow To Become A Rubyist
How To Become A Rubyist
 

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

Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーRuby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Tomoya Kawanishi
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
Kazuki Aranami
 
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Developers Summit
 
Ruby on Rails3 Tutorial Chapter1
Ruby on Rails3 Tutorial Chapter1Ruby on Rails3 Tutorial Chapter1
Ruby on Rails3 Tutorial Chapter1
Sea Mountain
 
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
 
VC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境についてVC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境について
goritto
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
 
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Tomoya Narita
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
yamanekko
 

Similar a Ruby on Rails を用いたWEBアプリケーションの開発 (20)

Ruby Enterprise Environment
Ruby Enterprise EnvironmentRuby Enterprise Environment
Ruby Enterprise Environment
 
Ruby on RedHat Enterprise Linux
Ruby on RedHat Enterprise LinuxRuby on RedHat Enterprise Linux
Ruby on RedHat Enterprise Linux
 
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーRuby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
 
nomlab_okayamaruby_slide
nomlab_okayamaruby_slidenomlab_okayamaruby_slide
nomlab_okayamaruby_slide
 
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
 
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
 
リアルビジネスRuby
リアルビジネスRubyリアルビジネスRuby
リアルビジネスRuby
 
Ruby on Rails3 Tutorial Chapter1
Ruby on Rails3 Tutorial Chapter1Ruby on Rails3 Tutorial Chapter1
Ruby on Rails3 Tutorial Chapter1
 
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
 
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
 
VC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境についてVC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境について
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
 
Rubyボードハンズオン
RubyボードハンズオンRubyボードハンズオン
Rubyボードハンズオン
 
(続) Effective SQLite for Android
(続) Effective SQLite for Android(続) Effective SQLite for Android
(続) Effective SQLite for Android
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
Rubyな日々
Rubyな日々Rubyな日々
Rubyな日々
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
 

Último

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Último (8)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 

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

  • 1. 産学官共同セミナーおよび第10回K-Ruby 鹿児島大学 学術情報基盤センター 下園幸一 simozono@cc.kagoshima-u.ac.jp 1
  • 2.  アプリケーション開発動向  Ruby の概要  Ruby on Rails の概要  Ruby on Rails で作られたアプリケー ション  個人的に思う Ruby on Rails の問題点  地域での Ruby および Ruby on Rails の コミュニティー  Ruby & Ruby on Rails 講習会について 2
  • 3.  業務用アプリはネイティブアプリからWEB アプリへ  Visual Basic 等で作成して物がWEBアプリへ  HTML5やCSS3, JavaScript により画面表現力の 差はなくなった(WEB上でExcelが動く時代)  PCがネットワークに接続していなくても  オフラインで動くWEBアプリもある  PCの中でWEBサーバ動かしてもよい  OS、開発言語に依存しない  デバイスを直接扱うものには弱い 3
  • 4.  とにかく、動くものを見せろ  途中での仕様変更バンバン  「動くソフトウェア」で顧客の要求要件 の確認  迅速な「動くソフトウェア」作成が必要(週単 位)  途中での仕様変更にも耐えられるような プログラミング環境が必要  開発生産性、メンテナンス性、一定以上の品 4
  • 5. まつもとゆきひろ(Matz)によって開発され たオブジェクト指向スクリプト言語  1995年12月にニュースグループfj上で発表された  簡単にいえばPerlのような手軽さで「楽し く」オブジェクト指向しようという言語  主な適用分野  テキスト処理  システム管理  ネットワーク・プログラミング  Webアプリケーション開発  フリーソフトウエア 5
  • 6. 不況で時間ができて「Ruby」の開発が始 まった 1990年に卒業して、ソフトハウスに入りました。決め ていたのは、東京では働かないということ。田舎育ち で人が多いのは嫌いだったし、(略) ところが、数年すると、バブル崩壊の影響が出始め て。社内システムも、仕事が減って忙しくなくなって しまった。でも、マシンはあるわけですから、できる ことをやろうと思って。それで「Ruby」の開発を始め たんです。あったらいいなぁと思えるものを、時間が あったんで作り始めてみた。それだけです。会社で やっていましたから、同僚には話していました。 (略) 出典:Tech総研「世界のオープンソースRuby開発者まつもとゆきひろ」 6
  • 8. オブジェクト指向言語  全ての値(データ)が例外なくオブジェクト  組み込みオブジェクトとユーザ定義のオブジェク トが同様に扱える  必ずしもクラスを定義する必要はない  型宣言が不要、変数宣言が不要  例外処理、マルチスレッド  クラスライブラリが豊富  ユーザ提供のクラスライブラリが一元管理されて いる 8
  • 9. 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
  • 10. test1.rb class Fixnum def + (a) self * a end end $ ruby test1.rb puts 1+2+3+4 24 puts 4+2.0 8.0 puts 2.0+4 6.0 $ 10
  • 11. Rails以外にもいっぱいあります  Camping  Padrino  Cramp  Renee  Nitro  Ramaze  Sinatra  Waves  Merb  Ruby on Rails に統合(Rails 3.0 より) 11
  • 12. デンマークのDavid Heinemeier Hansson氏(通称 DHH)によって開発(2004年7月~)  MVC(Model-View-Controller)アーキテクチャをサ ポート  プログラマーとデザイナーの分離  再利用可能なビジネスロジック  フルスタックなフレームワーク  ライブラリとユーティリティプログラムがそろっている  最新技術に対応  HTML5対応、控えめなJavaScript、RESTful なインター フェイス  オープンソース  哲学  DRY(Don’t Repeat Yourself) 同じことは繰り返さない  CoC(Conversation over Configuration) 設定より規約 12
  • 13. Twitter  ~2008年くらいまで。その後はScalaやらJavaVM  楽天  社内システムに Ruby と Ruby on Rails を採用  クックパッド  「たべみる」サイト構築を Ruby 初級者が1カ月で作 成できたことから、Rubyに移行  食べログ (Ruby on Rails)  リニューアル当時; 月間利用380万人。2,900万PV/ 月  首都圏全域の地域防災システム  Supreme  ティージー情報ネットワーク(東京ガス子会社) 13
  • 14. 14
  • 15.  Ruby on Railsで10分で作るTwitterもどき (ちょっと古いです) http://japan.zdnet.com/development/analysis/20 354695/ 15
  • 16. 環境構築が難しかった  Ruby 最新バージョン導入とかDBの導入とか  バージョンがガンガン上がる  もちろん旧バージョンに固定化もできるが。  フレームワークの理解  慣れるしかないのか?  規約から脱線しないようにする  慣れるしかないのか?  IDEは必要ないのか?  いいのがあまりない。  Macユーザばっかり 16
  • 18. 18
  • 19. 日本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
  • 20.  鹿児島Rubyコミュニティ(K-Ruby: Karaimo Ruby Community)  http://www.facebook.com/groups/kagoruby/  Facebook イヤという人もいるので、そろそろ外へ 出したほうがよい?  2011/05/26 設立(第1回 ソフトプラザかごし ま)  参加者20名ほど  発起人は、増満さん、古屋先生@鹿児島大(で いいですよね?)  増満さんは、中国初のRuby 会議 「RubyConfChina」 の仕掛人の一人 20
  • 21. 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
  • 22.  Windows 上で動く仮想環境(VMware Player or VirtualBox)で、Linuxを動かし、Ruby と Ruby on Rails の講習会をやる  本年4月 or 5月頃~ 週1回10回程度  Ruby プログラミングの基礎とRails でサンプ ル開発  IPA:「OSSモデルカリキュラム導入実証」のテキ ストを使おうかな。  「ソフトプラザかごしま」2F 鹿児島大の部屋 で  準備が整ったら正式にアナウンス 22
  • 23. 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
  • 24.  中国経済産業局 地域経済部:「中国地域に おけるオープンソースプログラミング言語 「Ruby」の拠点形成可能性調査」,平成23年 3月  IPA:「Rubyの普及を目指した自治体基幹 業務システム構築」, 平成20年2月  K-Ruby 資料(主に古屋先生のもの) 24