Suche senden
Hochladen
Management of Gems using Bundler.
•
1 gefällt mir
•
714 views
Tamotsu Furuya
Folgen
Bundlerを利用したGem管理
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 24
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Automation tech casual_talks_1_20120717
Automation tech casual_talks_1_20120717
Makoto Haruyama
今回ガイアックスでは、AnyEventとAmazon EC2を使ったWebサイトのクローリングツールを作成しました。発表では、これらの技術の基本的な使い方から、EC2を利用するメリット、設計のコンセプトなどについてお話できればと思います。
AnyEventとEC2を使ったクローリングツールのご紹介
AnyEventとEC2を使ったクローリングツールのご紹介
Songhee Han
Apache2.4とmod_luaについて
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
tottoruby
Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
Webサーバを利用したサービスの増加に伴って,Webサーバ上で生じるインシデントも増加している.これらの問題を解決するために,Webサーバソフトウェアの機能拡張が必要である.Apacheを利用していた場合,機能拡張のためにはC言語やApache内部の仕様を深く理解している必要があり,開発の敷居が高く,コンパイルが必要となって保守性が低い.そこで,現在注目されてきている組み込みスクリプト言語mrubyを利用して,Apacheに機能拡張のためのmruby用インターフェイスを実装し,mrubyスクリプトによって簡単にApache内部の機能拡張を行える機構mod_mrubyを提案する.mod_mrubyは,Apache内部に存在する各種リクエスト処理フェーズにおいて,任意のmrubyスクリプトを任意のフェーズでフックして実行できるインターフェイスを提供している.フックする際には,Apache内部でのみ保持しているリクエスト処理情報を,組み込みスクリプトの特性を生かして,mrubyスクリプト上で操作可能にした.また,mrubyスクリプト実行時に生成される状態遷移を保存する領域や拡張ライブラリのロードを複数のmrubyスクリプトで共有し,コンパイルされたバイトコードのみを使い分ける事によって,高速に動作するように設計した.その結果,mrubyは広く利用されているRubyと同様のオブジェクト指向による実装が可能である事と相まって,多くの開発者がApacheの機能拡張に取り組み易くなると考えている.
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Mod lua
Mod lua
do_aki
RubyGemsの落とし穴
RubyGemsの落とし穴
Kazuhiro Nishiyama
初心者エンジニアのシステム構築失敗談
初心者エンジニアのシステム構築失敗談
Makoto Haruyama
Empfohlen
Automation tech casual_talks_1_20120717
Automation tech casual_talks_1_20120717
Makoto Haruyama
今回ガイアックスでは、AnyEventとAmazon EC2を使ったWebサイトのクローリングツールを作成しました。発表では、これらの技術の基本的な使い方から、EC2を利用するメリット、設計のコンセプトなどについてお話できればと思います。
AnyEventとEC2を使ったクローリングツールのご紹介
AnyEventとEC2を使ったクローリングツールのご紹介
Songhee Han
Apache2.4とmod_luaについて
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
tottoruby
Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
Webサーバを利用したサービスの増加に伴って,Webサーバ上で生じるインシデントも増加している.これらの問題を解決するために,Webサーバソフトウェアの機能拡張が必要である.Apacheを利用していた場合,機能拡張のためにはC言語やApache内部の仕様を深く理解している必要があり,開発の敷居が高く,コンパイルが必要となって保守性が低い.そこで,現在注目されてきている組み込みスクリプト言語mrubyを利用して,Apacheに機能拡張のためのmruby用インターフェイスを実装し,mrubyスクリプトによって簡単にApache内部の機能拡張を行える機構mod_mrubyを提案する.mod_mrubyは,Apache内部に存在する各種リクエスト処理フェーズにおいて,任意のmrubyスクリプトを任意のフェーズでフックして実行できるインターフェイスを提供している.フックする際には,Apache内部でのみ保持しているリクエスト処理情報を,組み込みスクリプトの特性を生かして,mrubyスクリプト上で操作可能にした.また,mrubyスクリプト実行時に生成される状態遷移を保存する領域や拡張ライブラリのロードを複数のmrubyスクリプトで共有し,コンパイルされたバイトコードのみを使い分ける事によって,高速に動作するように設計した.その結果,mrubyは広く利用されているRubyと同様のオブジェクト指向による実装が可能である事と相まって,多くの開発者がApacheの機能拡張に取り組み易くなると考えている.
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Mod lua
Mod lua
do_aki
RubyGemsの落とし穴
RubyGemsの落とし穴
Kazuhiro Nishiyama
初心者エンジニアのシステム構築失敗談
初心者エンジニアのシステム構築失敗談
Makoto Haruyama
DevOps Days Tokyo 2012
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
Yuuki Namikawa
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
第3回 松本勉強会の資料です。mod_mrubyについて。
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Solr meeting in Japan 2011
Solr meeting in Japan 2011
Takahiko Ito
アシアル塾のLinux超入門に関する教材です。 SSHコマンドやターミナルソフトを使ってLinuxにログイン。 コマンド操作などを学習します。
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
Yuki Okamoto
アシアル塾のLinux超入門に関する教材です。 SSHコマンドやターミナルソフトを使ってLinuxにログイン。 コマンド操作などを学習します。
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
アシアル株式会社
2014/09/06 実施の第1回 一撃サーバー構築シェルスクリプト勉強会 発表資料です。
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
2013年2月22日開催の CLUB DB2 第158回 「Javaプログラマーに贈る:Groovyで楽にSQLを実行してみよう」の資料です。 https://www.ibm.com/developerworks/mydeveloperworks/wikis/home?lang=ja#/wiki/ClubDB2/page/%E7%AC%AC158%E5%9B%9E
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
Alfrescoでクラスタリングをする際の設定について
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
Ashitaba YOSHIOKA
Hadoop on LXC
Hadoop on LXC
俊夫 森
How to make library of ruby.
How to make gem
How to make gem
Ken Iiboshi
今日から使い始めるChef 2013-03-29 Xtone Ltd. ピザ会(without pizza><) Aki / @nekoruri
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
Web技術勉強会23回目
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
Kazuyuki Sato
CLUB DB2 2014/11/28(金)のライトニングトーク用資料
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
Rubyの概要
Summary of Ruby
Summary of Ruby
Tamotsu Furuya
Openstack chef-repo
Openstack chef-repo
Tomokazu Hirai
Rubyとデータベースの連携技術
Integration Technology of Ruby and DB.
Integration Technology of Ruby and DB.
Tamotsu Furuya
Rails新時代に「Ramaze」で作る簡単iPhone/iPad向けWebサイト 関西Ruby会議03
20101106 ramaze発表
20101106 ramaze発表
Fukui Osamu
関西闇Ruby会議にお邪魔して、 Debian の次期リリース, Wheezy における Ruby 環境について、いつも通り雑談してきました。 gem2deb を皆使ってみて下さい!!
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Youhei SASAKI
Weitere ähnliche Inhalte
Was ist angesagt?
DevOps Days Tokyo 2012
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
Yuuki Namikawa
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
第3回 松本勉強会の資料です。mod_mrubyについて。
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Solr meeting in Japan 2011
Solr meeting in Japan 2011
Takahiko Ito
アシアル塾のLinux超入門に関する教材です。 SSHコマンドやターミナルソフトを使ってLinuxにログイン。 コマンド操作などを学習します。
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
Yuki Okamoto
アシアル塾のLinux超入門に関する教材です。 SSHコマンドやターミナルソフトを使ってLinuxにログイン。 コマンド操作などを学習します。
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
アシアル株式会社
2014/09/06 実施の第1回 一撃サーバー構築シェルスクリプト勉強会 発表資料です。
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
2013年2月22日開催の CLUB DB2 第158回 「Javaプログラマーに贈る:Groovyで楽にSQLを実行してみよう」の資料です。 https://www.ibm.com/developerworks/mydeveloperworks/wikis/home?lang=ja#/wiki/ClubDB2/page/%E7%AC%AC158%E5%9B%9E
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
Alfrescoでクラスタリングをする際の設定について
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
Ashitaba YOSHIOKA
Hadoop on LXC
Hadoop on LXC
俊夫 森
How to make library of ruby.
How to make gem
How to make gem
Ken Iiboshi
今日から使い始めるChef 2013-03-29 Xtone Ltd. ピザ会(without pizza><) Aki / @nekoruri
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
Web技術勉強会23回目
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
Kazuyuki Sato
CLUB DB2 2014/11/28(金)のライトニングトーク用資料
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
Was ist angesagt?
(17)
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Mod mrubyについて
Mod mrubyについて
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
Solr meeting in Japan 2011
Solr meeting in Japan 2011
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
Hadoop on LXC
Hadoop on LXC
How to make gem
How to make gem
今日から使い始めるChef
今日から使い始めるChef
Web技術勉強会23回目
Web技術勉強会23回目
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Ähnlich wie Management of Gems using Bundler.
Rubyの概要
Summary of Ruby
Summary of Ruby
Tamotsu Furuya
Openstack chef-repo
Openstack chef-repo
Tomokazu Hirai
Rubyとデータベースの連携技術
Integration Technology of Ruby and DB.
Integration Technology of Ruby and DB.
Tamotsu Furuya
Rails新時代に「Ramaze」で作る簡単iPhone/iPad向けWebサイト 関西Ruby会議03
20101106 ramaze発表
20101106 ramaze発表
Fukui Osamu
関西闇Ruby会議にお邪魔して、 Debian の次期リリース, Wheezy における Ruby 環境について、いつも通り雑談してきました。 gem2deb を皆使ってみて下さい!!
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Youhei SASAKI
Nseg20120825
Nseg20120825
hiro345
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Sea Mountain
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Yohei Yasukawa
DevOpsのOpsに関する話です。 インフラ側は、本番環境やそれに近い環境でテストする事があります。 しかし、開発側と環境が異なる為に、「あの環境でしか起きない」致命的な不具合に遭遇する事がままあります。 プロジェクトをスムースに回し、製品の品質向上に繋げる為には、インフラ側が「いつから」「何に」気を付ければ良いのでしょうか
実は怖くないDevOps
実は怖くないDevOps
Masanori Ishigami
第69回関西Debian勉強会で Debian 7.0 Wheezy 以降の Ruby 環境についてお話しました。
Ruby In Wheezy
Ruby In Wheezy
Youhei SASAKI
Rで大規模解析 ソースコードからのコンパイルとか rJavaの使い方とか Hiveとか
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
Kazuya Wada
Rubyを使ったMacのデスクトップアプリケーション開発の概要を説明します。また、Mac OS X 10.6で導入されたGCDの概要とMacRubyからどのように使うのかを説明します。
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
宏治 高尾
Rubyな日々
Rubyな日々
Kazuhiro Nishiyama
KOF 2014 での発表資料です。
Ruby Enterprise Environment
Ruby Enterprise Environment
Tomoya Kawanishi
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
Kazuki Aranami
プログラマーズカフェにてプレゼンした資料です。 超初心者向けにMac (Lion)でRubyのフレームワークSinatraを使い、Heroku上でデプロイするまでの簡単な手順です。
Sinatra and heroku for mac
Sinatra and heroku for mac
Naoyuki Mitsuboshi
Oracle Solaris 11デベロッパーが押さえておきたい機能
Oracle Solaris 11デベロッパーが押さえておきたい機能
Kazuyuki Sato
OSSDB MySQL
OSSDB MySQL
Masahiro Tomita
pgcafe で発表した内容です
Railsの基礎
Railsの基礎
Junya Ishihara
Ähnlich wie Management of Gems using Bundler.
(20)
Summary of Ruby
Summary of Ruby
Openstack chef-repo
Openstack chef-repo
Integration Technology of Ruby and DB.
Integration Technology of Ruby and DB.
20101106 ramaze発表
20101106 ramaze発表
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Nseg20120825
Nseg20120825
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
実は怖くないDevOps
実は怖くないDevOps
Ruby In Wheezy
Ruby In Wheezy
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
Rubyな日々
Rubyな日々
Ruby Enterprise Environment
Ruby Enterprise Environment
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
Sinatra and heroku for mac
Sinatra and heroku for mac
Oracle Solaris 11デベロッパーが押さえておきたい機能
Oracle Solaris 11デベロッパーが押さえておきたい機能
OSSDB MySQL
OSSDB MySQL
Railsの基礎
Railsの基礎
Management of Gems using Bundler.
1.
K-Ruby 資料 BundlerやらRailsやら基本的なこと 2011年11月24日 鹿児島大学 学術情報基盤センター 学術情報処理研究部門 古屋 保 furuya@cc.kagoshima-u.ac.jp November 24, 2011 © Tamotsu FURUYA, All rights reserved. 1
2.
K-Ruby 資料 皆さんご存知の... https://rvm.beginrescueend.com/ November 24, 2011 © Tamotsu FURUYA, All rights reserved. 2
3.
K-Ruby 資料 RVMについて ● RVM – バージョン環境を簡単に切り替えられる $ rvm use ruby-1.9.2 – gemの組合せ(Gemセット)も管理できる $ rvm gemset use rails3x – RubyもGemセットも一発で切り換えられる $ rvm use ruby-1.9.2@rails3x – ディレクトリ内に「.rvmrc」ファイルを作成し,その中に上記 コマンドを記載しておくと,さらに幸せになれる! November 24, 2011 © Tamotsu FURUYA, All rights reserved. 3
4.
K-Ruby 資料 RVMについて ● RVM – 「.rvm」配下に何か色々作られるのが,どうも...しかも パスが長い! – cdコマンドやgemコマンドが何かとすり替えられている. (別のスクリプトに置き換わっている) – 「rvmsudo」って何もの?(「sudo rvm …」じゃない の?) – もう Ruby 1.9.X onlyの環境で良いかも... November 24, 2011 © Tamotsu FURUYA, All rights reserved. 4
5.
K-Ruby 資料 今回紹介するのは... http://gembundler.com/ November 24, 2011 © Tamotsu FURUYA, All rights reserved. 5
6.
K-Ruby 資料 Bundlerについて ● Bundler – RubyGemsのラッパー – コマンドは「bundle」 – Rails 3 で公式に採用されている gem の管理ツール – 依存関係を調べ,必要な全てのパッケージをインストールして くれる. – gemを特定のバージョンに固定(指定)できる – アプリケーションごとにgemパッケージを独立して管理するこ とができる. November 24, 2011 © Tamotsu FURUYA, All rights reserved. 6
7.
K-Ruby 資料 Bundlerの導入 ● まずは,RVMの削除 $ rvm seppuku $ rm -rf ~/.rvmrc .bashrc あるいは .bash_profile に記述してある rvm スクリ プトのロード部分を削除 ● 次に,gem をアンインストールしていく $ gem uninstall hogehoge ● 全ての gem をアンインストール(全部消える) $ gem list | cut -d " " -f1 | sudo xargs gem uninstall November 24, 2011 © Tamotsu FURUYA, All rights reserved. 7
8.
K-Ruby 資料 Bundlerの導入 ● Bundlerをインストール $ sudo gem install bundler $ gem list *** LOCAL GEMS *** Bundler (1.0.21) November 24, 2011 © Tamotsu FURUYA, All rights reserved. 8
9.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● Railsアプリ用のディレクトリを作成する $ mkdir myapp ● 作成したディレクトリに移動し,Gemfileを作成 $ bundle init ● Gemfileを編集する source "http://rubygems.org" gem "rails", "3.0.11" November 24, 2011 © Tamotsu FURUYA, All rights reserved. 9
10.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● インストールする gem のバージョン指定 gem "nokogiri" gem "rails", "3.0.0.beta3" gem "rack", ">=1.0" gem "thin", "~>1.1" November 24, 2011 © Tamotsu FURUYA, All rights reserved. 10
11.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● gemファイルのインストールパスを指定してbundle install $ bundle install –-path vendor/bundle – 「vendor/bundle/ruby/1.9.1/」配下にgemがインストール – gemの依存関係を記述した Gemfile.lock が生成 GEM remote: http://rubygems.org/ specs: abstract (1.0.0) actionmailer (3.0.11) actionpack (= 3.0.11) mail (~> 2.2.19) actionpack (3.0.11) activemodel (= 3.0.11) activesupport (= 3.0.11) : November 24, 2011 © Tamotsu FURUYA, All rights reserved. 11
12.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● Railsのスケルトン作成 $ bundle exec rails new . ● 再度(2度目はパスの指定なしでOK) $ bundle install ● その理由...「.bundle/config」ファイル BUNDLE_PATH: vendor/bundle BUNDLE_DISABLE_SHARED_GEMS: '1' November 24, 2011 © Tamotsu FURUYA, All rights reserved. 12
13.
K-Ruby 資料 BundlerによるRailsアプリ作成 ● 全てのgemコマンドの実行の際,頭に「bundle exec」を付 加する必要がある. – $ bundle exec rails – $ bundle exec rake – $ bundle exec irb ● 「$ bundle install –-binstubs」と実行すると rails,rake, irb などのコマンドが ./bin ディレクトリにインストールされ る. November 24, 2011 © Tamotsu FURUYA, All rights reserved. 13
14.
K-Ruby 資料 まとめ ● システムや開発環境単位ではなく,アプリケーション単位で gemを管理することが可能. ● 色々な gem をインストールおよびアップデートしたことに よるバージョンの不整合が起きる問題が解消される. ● バージョンロック(Gemfile.lock)により,決まったgemの バージョン構成でデプロイできる. ● しかし,「bundle exec」を頭につけるのが面倒. →「Rails_root/bin」を$PATHに追加すれば解決! ● アプリケーションフォルダが肥大化してしまう. →しょうがないかも. November 24, 2011 © Tamotsu FURUYA, All rights reserved. 14
15.
K-Ruby 資料 実践! (1)まずはDBとテーブルの作成 $ mysql -u root -p mysql> grant all on my_app_db.* to hoge@localhost -> identified by 'foobar' mysql> ¥q $ mysql -u hoge -p mysql> create database my_app_db; mysql> create table students ( -> sid char(10) NOT NULL PRIMARY KEY, -> name varchar(20), -> birth date); November 24, 2011 © Tamotsu FURUYA, All rights reserved. 15
16.
K-Ruby 資料 (2)Bundlerを使ったRails環境構築 $ mkdir my_app $ cd my_app $ bundle init $ vi Gemfile $ bundle install --path vendor/bundle $ bundle install --binstubs [ Gemfile ] source "http://rubygems.org" gem "rails", "3.0.11" November 24, 2011 © Tamotsu FURUYA, All rights reserved. 16
17.
K-Ruby 資料 (3)新規アプリ作成とMySQL DBの指定 $ bundle exec rails new . -T -d mysql (または,$ bin/rails new . -T -d mysql) $ bundle install $ vi config/database.yml [ config/database.yml ] : development: adapter: mysql2 encoding: utf8 database: my_app_db username: hoge password: foobar : November 24, 2011 © Tamotsu FURUYA, All rights reserved. 17
18.
K-Ruby 資料 (4)Studentモデル作成(O/R Mapping) $ bundle exec rails server $ bundle exec rails generate model Student $ vi app/models/student.rb $ bundle exec rails db $ bundle exec rails console [ app/models/students.rb ] class Student < ActiveRecord::Base set_primary_key 'sid' end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 18
19.
K-Ruby 資料 (5)routingとStudentsコントローラの作成 $ vi config/routes.rb $ bundle exec rails generate controller Students $ vi app/controllers/students_controller.rb [ config/routes.rb ] MyApp::Application.routes.draw do match 'lists' => 'students#list' : end [ app/controllers/students_controller.rb ] lass StudentsController < ApplicationController def list end end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 19
20.
K-Ruby 資料 (6)ビューの作成,コントローラとの連携 $ echo "hello" > app/views/students/list.html.erb $ vi app/controllers/students_controller.rb $ vi app/views/students/list.html.erb [ app/controllers/students_controller.rb ] lass StudentsController < ApplicationController def list @students = Student.all end end [ app/views/students/list.html.erb ] hello<br /> <%= p @students %> November 24, 2011 © Tamotsu FURUYA, All rights reserved. 20
21.
K-Ruby 資料 (7)とりあえずレコードの内容を表示 [ app/views/students/list.html.erb ] <table> <tr> <th>Sid</th><th>Name</th><th>Birth</th> </tr> <% @students.each do |s| %> <tr> <td><%= s.sid %></td> <td><%= s.name %></td> <td><%= s.birth %></td> </tr> <% end %> </table> November 24, 2011 © Tamotsu FURUYA, All rights reserved. 21
22.
K-Ruby 資料 (8)学生一覧から個人データを表示させる [ config/routes.rb ] MyApp::Application.routes.draw do match 'lists' => 'students#list' match 'lists/:sid' => 'students#show' : end [ app/controllers/students_controller.rb ] class StudentsController < ApplicationController def list @students = Student.all end def show @student = Student.find(params[:sid]) end end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 22
23.
K-Ruby 資料 (8)学生一覧から個人データを表示させる [ app/views/students/show.html.erb ] <table> <tr><th>Sid</th><td><%= @student.sid %></td></tr> <tr><th>Name</th><td><%= @student.name %></td></tr> <tr><th>Birth</th><td><%= @student.birth %></td></tr> </table> <%= link_to 'return lists', lists_path %> [ config/routes.rb ] MyApp::Application.routes.draw do match 'lists' => 'students#list' match 'lists/:sid' => 'students#show', :as => 'list' : end November 24, 2011 © Tamotsu FURUYA, All rights reserved. 23
24.
K-Ruby 資料 (8)学生一覧から個人データを表示させる [ app/views/students/list.html.erb ] <table> <tr> <th>Sid</th><th>Name</th><th>Birth</th> </tr> <% @students.each do |s| %> <tr> <td><%= link_to s.sid, list_path(s.sid) %></td> <td><%= s.name %></td> <td><%= s.birth %></td> </tr> <% end %> </table> November 24, 2011 © Tamotsu FURUYA, All rights reserved. 24
Jetzt herunterladen