吉田和弘 株式会社ミッタシステム http://www.mitta-sys.jp/ Rubyのすすめ 吉田和弘 株式会社ミッタシステム http://www.mitta-sys.jp/

Slides:



Advertisements
Similar presentations
Rails tips 氏久 達博. 注 この資料は後で読む用に 作られており、プレゼン 時にスクリーンに映るも のと内容が若干異なりま す。
Advertisements

1. これだけは入れとけ!便利な gem 2. こう記述しろ!設定ファイル 3. 意外と知らない?注意点.
Rails 勉強会@大阪 -002 cuzic. 今日はなすこと 相対パスプラグイン Double Filter Plugin 埋め草 –Cuzic の環境とか –1 つのボタンで複数の Ajax なアクションを実 行.
Ruby on Rail の紹介 石渡正樹 Ruby on Rails とは? スクリプト言語 Ruby で書かれた web アプリケー ションフレームワーク 作者 –Devid Heinemeier Hansson という人だそうです ( 詳 しいことは知りません.
テストについて 近畿大学大学院 田中大介 資料:
Ruby on Rails (RoR) 講習会 近畿大学大学院 田中大介. 本日の目標 Web アプリケーションを作ろう!
情報処理基礎 A ・ B 第 5 回 プログラミング入門 操作の自動化を実現する仕組み. 2004/11/16 ・ 17 情報処理基礎 A ・ B 2 本日の内容 処理の自動化~プログラムの概念 ハードウェアとソフトウェア プログラミング言語 Excel における処理の自動化 入力支援の機能 分析ツール.
衛星データ処理勉強会(第15回) Railsの紹介とSIB2入力インタフェースプロトタイプ開発
AdventNet SwisSQL データベース自動移行ツール.
株式会社co-meeting パブリッククラウドエバンジェリスト 吉田 パクえ
背景 ソフトウェアの大規模化・複雑化 生産性と品質の向上 ↓ オブジェクト指向分析設計の適用 開発ツールの投入.
第3回参考文献発表 PHP言語 岩永逸平.
JPAを利用した RESTful Webサービスの開発
30分でわかるcallccの使い方 yhara (原 悠) 京大マイコンクラブ.
Ruby on Rails 勉強会 11月5日「土」 崔 昌権
ChaosなScript 2012/05/05 hole.
Rails初心者講習会 Rubyist九州 あらいしゅんいち 後援:サンマイクロシステムズ株式会社 Rubyistはひらがな
ほりかわひさし Netsphere Laboratories
第4回 iPhoneアプリ開発勉強会 Objective-C 基礎講座 -クラス- 鷲見政明.
2008/03/01 D-BOF k.inaba はじめての initial D 2008/03/01 D-BOF k.inaba
アルゴリズムとデータ構造1 2007年6月12日
Ruby Extended Library Howto
Ruby Extended Library Howto
Ruby勉強会(第1回) 2006/06/29 竹内豪.
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
平成19年5月19日 第3版 東京大学理学部生物化学図書室 前田 朗
ビューとコントローラ.
Day3 Day4 Day3 Day4.
Day3 Day4 Day3 Day4.
ピカチュウによる オブジェクト指向入門 (新版)
パフォーマンスチューニング on Rails
PHPの基礎と開発手法 Based on PHP5
C++とオブジェクトデータベース入門 8.オブジェクトデータベースとは 森井 喬 Webページ
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
暗黙的に型付けされる構造体の Java言語への導入
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
オブジェクト指向プログラムにおける エイリアス解析について
プログラミング言語入門.
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test5)】
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
Javaによる Webアプリケーション入門 第2回
変数,式,関数,クラス,コンストラクタ, クラスの属性アクセス,メソッド,親クラ スからの継承
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
MySQL/Ruby, ERB, mod_rubyを使ったCGIの実例
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
第7回放送授業.
第8回放送授業.
インスタンスの型を考慮したJavaプログラムの実行経路の列挙手法の提案
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
JSPの基本 J2EE I (データベース論) 第8回 /
プログラム分散化のための アスペクト指向言語
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
統合開発環境のための プログラミング言語拡張 フレームワーク
第2回 Webサーバ.
第6回放送授業.
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
Presentation transcript:

吉田和弘 株式会社ミッタシステム http://www.mitta-sys.jp/ Rubyのすすめ 吉田和弘 株式会社ミッタシステム http://www.mitta-sys.jp/

Rubyist Magazineで紹介 「RubyOnRailsを使ってみる」連載中

ライド・オン・Rails ソフトバンク(SBCr)から発売中 with babie さん 400ページ

WEB+DB PRESS WEB+DB PRESS 連載中 with 高橋さん

Railsとの出会い きっかけ Rubyで書き直す 昔Perlで書いたCGI 仕様拡張 どうしよう… cgi.rb, Mysql/Ruby, eRuby 大きくなると保守たいへん

Ruby on Rails いきなりしっくりきた テンプレートはeRubyで記述 ActiveRecord SQLで書いてもいい

Ruby on Rails 開発事例

Rails 開発事例 託児施設 入退室管理・請求書発行 携帯メール連絡網 etc.

託児施設 入退室管理・請求書発行

託児施設(1) 入退室管理 ActiveRecord Apollo (Delphi VCL) GUIのテストをある程度自動化できた

託児施設(2) 月次請求書発行 Excel Win32OLE Apollo Excelのテストを自動化できた

託児施設(3) リモートメンテナンス Capistrano mysql … (backup) svn up rake db:migrate デプロイ(配置)ツール

毎朝svn up タッチパネル DB Excel PC 松山 svn repos 高松

携帯メール連絡網

Rails入門

Railsの構成 ActionController ActionView: eRuby ActiveRecord (Model): DSL ActiveResource (RESTful) capistrano: デプロイツール

Model *..* User 登録関係 購読関係 管理権限 出席番号 既読・出欠確認 *..* Room Topic 配信関係 *..*

Model *..1 User 1..* Membership Subscription *..1 *..1 Room Topic Publication 1..* *..1

ドメイン特化言語(DSL) class Topic < ActiveRecord::Base has_many :subscriptions has_many :users, :through => :subscriptions class Subscription < ActiveRecord::Base belongs_to :topic

アジャイルな仕組み テスト駆動開発(TDD) migration plugin 全てRubyで記述できる テスト環境DB Fixtures: テストデータ migration DBスキーマをバージョン管理 plugin 配布:subversionで公開するだけ 全てRubyで記述できる

サーバ構成 Webrick, Lighttpd , Apache, mongrel Pound, mod_proxy, FastCGI, mongrel_cluster DB: MySQL, PostgreSQL, Firebird, Oracle, …

開発風景 script/generate model Blog vi db/migrate/… rake db:migrate script/generate controller … vi test/… rake test vi app/…

Ruby入門

最近のRuby Ruby on Rails YARV -> RubyVM (Ruby 1.9) Ruby 1.8.6-p36 JRuby, IronRuby, etc. Ruby会議2007

Rubyの特徴 スクリプト言語 オブジェクト指向言語 動的言語

スクリプト言語 インタプリタ 実行時にも構文解析できる 文法要素の多くが値を持つ トップレベルがある require eval 制御構文も式 最初から式を書ける

オブジェクト指向言語 統一データモデル 全ての値はObject Mix-in 特異メソッド/クラス 1+1 1.+(1) 一本筋の通った。統一感のある。

動的言語 リフレクション 動的なメソッド呼び出し オープンクラス 全ては実行文 クラス情報を実行時に操作できる send method_missing オープンクラス いつでも/どこでも 再定義できる 全ては実行文

クラスとインスタンス class C def hello(name) "Hello from #{name}" end obj = C.new puts obj.hello("kaz") # Hello from kaz

インスタンス変数 class C def initialize(name) @name = name end def hello "Hello from #{@name}" obj = C.new("kaz") puts obj.hello # Hello from kaz

モジュールとmix-in module M def hello "Hello from #{@name}" end class C def initialize(name) @name = name include M

継承 class B < C def bye … end obj = B.new("kaz") obj.hello obj.bye

特異メソッド obj = C.new("kaz") def obj.bye … end obj.bye

まとめ オブジェクトモデル モジュールのmix-inによる柔軟な継承 オブジェクト固有のメソッド(特異メソッド)

Thank you