(その5)ubuntu9.10でRuby on Rails&MySQLをインストール
使用PC
参考書
IPA(情報処理推進機構)配布の無料テキスト
Ruby on Rails開発(教材本体)
http://www.ipa.go.jp/software/open/ossc/seika_1005_1.html
現在113ページまで学習した。
が、いまいちよく理解していない自覚が強い。
この状態で先に進んでも無意味なので、もう一度、基本的な理解を深めてから前に進みたい。
いままで学習というか流し読みした項目は以下のとおり。
第5章 コントローラとビュー(1)
第6章 コントローラとビュー(2)
第7章 データベース接続とスキーマ定義
途中、サンプル再現できなかった項目もある。
(その4)ubuntu9.10でRuby on Rails&MySQLをインストール
使用PC
参考書
IPA(情報処理推進機構)配布の無料テキスト
Ruby on Rails開発(教材本体)
http://www.ipa.go.jp/software/open/ossc/seika_1005_1.html
現在70ページまで学習した。
RubyOnRailsを使って、じゃんけんゲームアプリを作成した。
データベースを使っていないのでアプリというほど大げさなものではない。
作るのは簡単だった。全自動といえば言い過ぎだけど、それに近いスピード感で作れた。
HTMLテンプレートを生成して、それをうまく連携させる機能が標準装備されているので、
RoRは便利。うまく使いこなせればカッコイイ。
使用したグーチョキパー画像ファイルをアップロードしておきます。
ご自由にどうぞ。(200×200 png画像)
(その3)ubuntu9.10でRuby on Rails&MySQLをインストール
使用PC
参考書
IPA(情報処理推進機構)配布の無料テキスト
Ruby on Rails開発(教材本体)
http://www.ipa.go.jp/software/open/ossc/seika_1005_1.html
現在32ページまで学習した。
・スキャフォルドの生成
scaffoldとは足場という意味。
スキャフォルドは生成すると、それはアプリケーションとして動作する。
本当に簡単に動作するものができる。
$ cd ~/rails $ rails _2.3.2_ -d mysql keyaki $ cd keyaki $ rake db:create
keyakiというフォルダを生成。
cardsという名のテーブルをスキャンフォルドするためのものを生成。(28ページ参照)
$ ./script/generate scaffold Card name:string address:string birthday:date
以下のファイルが生成される。
● app/views/cards/index.html.erb
● app/views/cards/show.html.erb
● app/views/cards/new.html.erb
● app/views/cards/edit.html.erb
● app/views/layouts/cards.html.erb
● public/stylesheets/scaffold.css
● app/controllers/cards_controller.rb
● test/functional/cards_controller_test.rb
● app/helpers/cards_helper.rb
● test/unit/helpers/cards_helper_test.rb
● app/models/card.rb
● test/unit/card_test.rb
● test/fixtures/cards.yml
● db/migrate/20090510130326_create_cards.rb
そして、マイグレーションを実行。
$ rake db:migrate
$ ./script/server
ブラウザに下記アドレスを入力してアクセス
デフォルトのままでは、西暦のプルダウンメニューが2005年〜2015年の間しか選択できない。これを変更してみる。
app/views/cards/new.html.erb
<%= f.date_select :birthday %>
これを、Railsのサイトで調べて、
以下のように変更する。
● http://api.rubyonrails.org/
● http://ruby-doc.org/core-1.8.7/index.html
● http://ruby-doc.org/stdlib/
<%= f.date_select :birthday, :start_year => 1890, :end_year => 2010 %>
上記のように具体的な西暦年を入力するのもいいが、
end_yearは経年により変化するのだから、
<%= f.date_select :birthday, :start_year => Date.today.year-200, :end_year => Date.today.year %>
Date.today.year とすることで、常に最新の西暦年を表示してくれるようになる。以下のサイトにそう書いてありました。
ちなみに、磯野波平さん(1895年09月14日生まれ)のカードは、以下のようになる。
今日は、ここまで。
RoRは、スクリプトを書き換えればすぐ反映してくれるので、拍子抜けするくらい簡単だ。
趣味でNscripterを使っているので、使用感が近く、親しみやすい。
(その2)ubuntu9.10でRuby on Rails&MySQLをインストール
使用PC
参考書
IPA(情報処理推進機構)配布の無料テキスト
Ruby on Rails開発(教材本体)
http://www.ipa.go.jp/software/open/ossc/seika_1005_1.html
現在24ページまで学習した。
今日やったこと
1.
database.ymlファイル先頭の置き換え
rails/config/database.yml
の、Mysql用の記述の置き換え(修正)
デフォルトではsqlite3のものになっているので、
mysql用に置き換えた。
実は、この作業の順序を間違えたために、いろいろインストールしなおすことになった。
2.モデル、ビュー、コントローラの生成
$ cd ~/rails $ rails _2.3.2_ -d mysql kaede $ cd kaede $ rake db:create
フォルダを作ったあと、
$ ./script/generate model Book title:string author:string published_on:date
このコマンドを実行して生成する。
それから
$ rake db:migrate
3.マイグレーションを実行。
データベースにテーブルを作成するために必要らしい。
4.このあとMysqlを実行して、
$ mysql -u root kaede_development mysql> show tables; +-----------------------------+ | Tables_in_kaede_development | +-----------------------------+ | books | | schema_migrations | +-----------------------------+ 2 rows in set (0.00 sec)
そして、テーブル表示
mysql> show columns from books; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | title | varchar(255) | YES | | NULL | | | author | varchar(255) | YES | | NULL | | | published_on | date | YES | | NULL | | | created_at | datetime | YES | | NULL | | | updated_at | datetime | YES | | NULL | | +--------------+--------------+------+-----+---------+----------------+ 6 rows in set (0.00 sec)
こうなれば、教科書どおりなのだけど、1回目は表示されなかった。
わたしのエラーは、以下の記述を含んでいたので、
TCPServer Error: Address already in use - bind(2) /usr/lib/ruby/1.8/webrick/utils.rb:73:in `initialize': Address already in use - bind(2)
見当はずれなような気もするけど、対処法をググった結果、
RAILSforum
http://railsforum.com/viewtopic.php?id=16387
上記サイトに行き当たり、
$ lsof|grep 3000
このコマンドを実行して、以下のような意味合いの行が表示されたので、
ruby ●●●● adam 4u IPv4 take the number in second position (6205 in this case) and in ||< 上記の四桁の数字部分をkillしたら、 >|ruby| $ kill -9 ●●●●
上記フォーラムでは(note -9 is separate from the pid)と書いてあったけど、現段階ではよくわからない。
この処置のあと、mysqlコマンドを試してみたら、ちゃんと教科書どおりテーブルなどを表示してくれた。
きょうは、これで終わり。
あきらめずにやれば、プログラムは動いてくれるようだ。
|
|
|
実践WordPress自動更新ブログ-RSSフィードとプラグインを使うと簡単にできる
下記サイトによると…
RSS Feedをブログ記事として自動投稿するWordPress プラグイン – FeedWordPress | 清音のSEOブログ
WordPRessにはプラグインという機能がある。
ブログにアクセス解析機能などの便利な機能を追加できらしい。
FeedWordPress
好きなサイトのRSSフィードを登録すれば、
1日1回、フィード内容を記事として自動更新してくれる。
サンプルページはコチラ
RSSフィードを自動で記事にするブログ
http://bbata.com/
使い方は簡単。
1.WordPressのダッシュボード画面ひだり側にある「プラグイン」そばの
「▼」をクリックすると表示される「新規追加」をクリック
2.空のテキストボックスに FeedWordPress と入力して検索ボタンをクリック
3.見つかったらインストール
4.ふたたびダッシュボード画面ひだり側にある「プラグイン」をクリック
5.FeedWordPressの「有効化」をクリック
6.ダッシュボード初期画面みぎ側のテキストボックスにRSSフィードを入力。「+」クリック。
7.「use the Feed」をクリック
8.「更新」をクリック
9.ブログトップページにアクセス。即座に、記事が自動更新されます。
更新頻度は、よくわからないけど1日1回くらい??
それとも手動なのかもしれない。わからない。
こんなブログを作って何か意味があるのかといえば、あまり無いです。
自動化すげー、というお話でした。
>> この記事をツイッターで紹介 <<
富井雅彦(29) (zenolog) のTwitterをフォローする
ロリポップ!でWordPressブログを構築する
1.プラン比較表 / サービス - ロリポップ!で月額315円のロリポプランに申込む。
(初期費用¥1,575)+(¥315×1ヶ月)=¥1,890
ただし、1年に数回、初期費用無料キャンペーンがある。
2.管理画面の左側の簡単インストールをクリック
3.WordPressの「利用する」をクリック
4.インストール先URLを入力
画面下部のサイトURLやサイト管理者URLはコピペしてメモっといたほうが良い。
5.WordPress設定画面で、サイト名などを入力。
6.構築完了
表示されるメッセージが、おもわず微笑を誘った。
拍子抜けするほどカンタンでした。
http:// サイトURL /wp-admin/
ログインしてアクセスすれば、管理画面が表示されます。
例:http://bbata.com/wp-admin/
>> この記事をツイッターで紹介 <<
富井雅彦(29) (zenolog) のTwitterをフォローする
ubuntu9.10でRuby on Rails&MySQLをインストール
参考になるページはないかと探した結果、
独立行政法人 情報処理推進機構
RubyによるWebアプリケーション開発 教育プログラム(PDF形式)
http://www.ipa.go.jp/software/open/ossc/seika_1005_1.html
linuxでRuby on Railsを導入する方法が記載されている教科書が
無償で公開されている。わかりやすい内容だった。
ちなみに、上記PDFをubuntu9.10で開いても日本語が表示されないばあい、ターミナル(端末)で以下のコマンドを実行すると、日本語が表示されるようになる。
sudo apt-get install poppler-data
今回、MySQLでデータベースを新規作成するところまで出来た。
その際、configファイルが前述の参考書内容ではうまくいかず、
いろいろググった結果、以下のサイトの提示する方法で、
データベース新規作成に成功した。
参考サイト
Ruby on Rails: rake db:create → “Couldn’t create database for …
英語のページだけど、configの記述だけコピペすればよい。
adapterやencodingの直前の空白は、当初、2文字インデントにしていたが、それではエラーになったので、半角スペース2文字に置き換えたらうまくいった。ubuntu9.10のgeditで編集を行っていたのと何か関連があるのだろうか。わからない。