« 2008年1月 | トップページ | 2008年3月 »

2008年2月29日 (金)

一ヶ月間、毎日ブログを書いてみた

やっとのことで月末がやってまいりました。
普段なら「もう月末か」というところですが今月は長かったです^^;
なぜなら、今月は毎日ブログを更新したからです。

ボクは普段はほとんどブログを書きません。
もともと技術関係でやったことを備忘録的にまとめて置いておこうと思ってはじめたものだし、それ以外では特に気になったニュースのこととかを書くくらいで特に力を入れているわけではないからです。そもそもアフィリエイトとか興味がありません。

しかし、ブログは情報配信ツールとして非常に有益なものだと思っています。
なのでうまく活用すればビジネスの強い味方になる気がします。具体的にどういう活用が有効かということに明確なモデルはまだ持ってないですが、今後どんなビジネスでもネットでの情報配信はキモになってきて、それを実現するソフトとしてのブログは今後重要な位置を占めるようになってくると思います。

そんな話をしていると「ブログを毎日書くべきですよ」みたいなことを言われます。ブログを毎日書くと、アクセス率がアップする。ということらしいです。
これはSEO対策とかでよく言われていることで、理由は様々ありますがとにかく頻繁に更新をするとそれだけアクセスも多くなってくるということで。なるほど理にかなっているなあと思います。

今年の初めくらいになんだかそんな話をする機会が数回あって、度に「毎日書くとアクセス上がるのかな?」と質問すると全員が「もちろん上がりますよ。」と答えてくれました。なるほど、自分もせっかくブログをやってることだしちょっとやってみようじゃないか、別に利益はないけど努力でアップしたら面白い!と思ってやってみたという次第です。

で、結果から先に言うと。

たいして(ほぼ全く)効果はありませんでした(笑)

記事の書き方が悪かったのか、1ヵ月程度では意味がないのか。
そういったことがあるかもしれませんが、少なくともボクのブログでは目立った効果を見ることができませんでした。

具体的にどんな感じだったかというと、以下がここ4ヶ月のアクセス推移になります。

1.アクセス推移が元に戻った

1

2月の前半に急激な上昇があるものの(理由は後述)他は特に目立った伸びが見られません。数字を追ってみるとページビューについては先月から1割強程度のアップがありますが、訪問者数はほとんど変わっていません。何よりショックなのは忙しすぎて一ヶ月間まるまる書かなかった11月と、訪問者数がほぼ同じという事実です。

2月の前半(5,6日)に通常の2倍程度のアクセス数を記録しています。
これはいったい何かな?と思ってみてみるとその前々日にアンチウイルスソフトについて書いていました。記事の内容上アンチウイルスソフトの名前をたくさん書いたのでそのキーワードで訪問した方が多かったようです。

しかしアクセスが伸びたのはグラフでわかるように2日間のみ。その後アクセスは急落しています。こういう時流に乗った内容の記事の賞味期限は2日程度ということでしょうか?これはこれで興味深い動きです。

2月後半はグラフを見てもわかるように、ほぼ通常の月間推移に戻っています。数字を細かく追ってもそれは同じで2月前半は通常月より2割弱アップしていましたが後半はほぼ変わらず。毎日更新の効果が全くありませんでした。これはこれで面白いなあと思うのと同時に効果がないのはつらい気持ちでした。もしブログ頼みの商売をやっていたらもうイヤになっていたかもしれません(笑)

といった感じでアクセス推移から見ると、努力の割には報われない結果となってしまいました(^^;

次に、訪問者の検索キーワードから効果を見てみます。
この1ヵ月がんばって書いた記事で注目されアクセスを稼いだ記事はあったんでしょうか?

2.検索ワードに変化がなかった

2

3

上が直近1ヵ月のログ、下が4ヵ月のログです。
ここ1ヵ月で検索されたワードは昔書いた記事のワードばかりでした。。。
強いていえばActiveRecord関連を書いたので"ruby"でその記事をみている方がいるのかもしれないですが、ruby関連は他にも書いているのでなんとも言えません。

重要なのは、1ヵ月と4ヵ月で上位ワードに変化していないこと。
10位までほぼ同じで且つ1ヵ月のログの4倍と4ヵ月のログはあまり数に差がありません。これは、この一ヶ月間記事を書き続けたことに対して訪問者の傾向に変化がなかったとを意味すると思います。

SEOでは、検索されやすいキーワードを盛り込んだ記事を書く、というのもコツらしいのでそれを考慮しなかったのが悪い。といわれればそれまですが、それにしても悲しい現実です。

ロングテール的に下位に今月書いたワードが沢山あるのかしらと思ってざっと見てみましたが、目立って多い今月のワードはありませんでした。それはアクセス推移グラフのアクセス数と照らし合わせてもわかります。

結局検索ワード的には毎日更新の効果は見られませんでした。
検索ワード/フレーズについても同様に調べてみましたが、。。。まあ。。。同じでした(笑)

4

5


3.一ヶ月間やりながら思ったこと

この一ヶ月間しんどいしんどいと言いながらなんとか毎日書き続けたわけですが、一体何がしんどかったかというと、

  1. 毎日のネタさがし
  2. 時間の調整
  3. 怠惰心との闘い
  4. 何が目的だったかよくわからなくなってくる

あと、「ゴールの見えない感じ」というのもありますが、それは普段の仕事でも同じなので(笑)

中でも1が圧倒的にしんどかったです。
もともと毎日の出来事を気にとめて日記を書くタイプではないのに気にとめようと努力したり、ニュースサイトを回ってネタを探したりといった作業が難しかったです。途中でこのネタ探しにかなりの時間を費やしていることに気づいて、「こんなことしてるヒマで仕事せな!」と思いました(^^;

で、後半は仕事で集めた情報や技術メモをまとめて書くようになってネタ探しの時間を少なくしました。、、、っていうかそれはいつもやってるブログの書き方やんけ!と今気付き、結局自分にはこういう書き方が性に合っているんだな、とわかりました。これは収穫です。

知人に「言語力を磨くために毎日書いている」という方がいらっしゃいます。
なるほど、ボクも文章が上手くないのでそういう姿勢は見習いたいです。ブログを書く目的もいろいろだと思いますが、しかし「毎日」という時点で繰り返し作業が苦手なボクには合わないです。反省しきりですが無理はやめとこうと思います。

それはそれとして、もしブログを仕事に活用したとしてこの作業に見合った利益はだせるのか?ということについてはやりながら甚だ疑問に感じました。
これについては、そもそもビジネス向けのブログでないことと、記事の書き方などが間違っているからだ、という指摘があるかもしれません。

しかし今回の経験で二酸化マンガンにオキシドールをかけると酸素が発生するくらい確実に、ブログを毎日書くとアクセスアップするということはない。ということはわかりました。

以上のことから、ビジネスにブログを活用する場合には記事の書き方、内容、タイミングを含めていろいろ検討が必要だなと思いました。少なくとも「ブログをやれば儲かりますよ」なんてポストによく入っているDM(未だにそんなんがありますよね)は信じられないと思います。

以上、まあそういうわけで結果は芳しくありませんでしたが、いろいろ発見できることがあって毎日ブログを書いてみてよかったなぁと思いました。

「ブログって書いたらネットで売れるんやろ?」
未だによく聞かれますが、もうこれからは胸を張ってNo!と言えます(※場合によっては)。

SEO対策等でブログを書かれている方や企業さんは多いと思いますが、ただ漫然と書かれている場合はやはり上記のような検討は必要なんじゃないでしょうか。
また、本業副業問わずSEO対策を業務で行っている技術職の方も多いかと思います。こういった効果がないケースもあり得るのだという再認識も必要かと思います。

なお、アクセス分析の数字についての考え方は、甚だ簡単でつっこみどころ満載なのは承知しています。この記事はあくまでこのブログでの結果を重視して書いてますのでやさしい目でみてやってください^^

| | コメント (4) | トラックバック (0)

2008年2月28日 (木)

OpenIDファウンデーション・ジャパン設立へ

OpenIDファウンデーション・ジャパン設立へ--ミクシィやヤフーも参加

つい先日も大手企業の参加で話題になったOpenIDですが、さっそく日本での普及団体が設立しそうです。参加企業をみてみるといかにもOpenIDを使いそうな企業ばかりであり当然といえば当然かなと思いますが、各社ともこういう形での連携交流はむしろ喜ばしいことなんじゃないでしょうか。

OpenIDファウンデーション・ジャパンの活動として「スペックと知財関連書類の日本語化と公開、エンドユーザーおよびサイト管理者向け使い方サイト&ヘルプ、日本での議論結果の米国へのフィードバック」とあります。記事にもあるようにOpenIDの日本語の情報は少ないと思います。普及のためにも日本語の情報配信を積極的に行っていただければ有難いなと思います。

特に技術情報を積極的に配信してもらうと、小規模なWEBサービスとかにも導入が進んで普及率がアップしていくんじゃないでしょうか。OpenIDはこれから重要な技術だと思うので団体つくってホームページつくりましたーな活動で終わるような感じにはならないでほしいです。

| | コメント (1) | トラックバック (0)

2008年2月27日 (水)

AcriveRecordをさわってみる その4

一対多をやったからには多対多。ということで。

ActiveRecordで簡単に多対多を実現するには、関連付けるテーブルのIDのみからなるコントロールテーブルを間に入れます。

ためしに前回のarticlesの記事にカテゴリを関連付けてみましょう。記事はカテゴリを複数持ち、カテゴリは複数の記事を持つ。多対多の関係です。

データベースにcategoriesテーブルとassignsコントロールテーブルを追加します。
---
> sqlite3 data.db
sqlite> create table categories(id integer primary key, name string);
sqlite> create table assigns(article_id integer, category_id integer);
sqlite> insert into categories values(null, "economy");
sqlite> insert into categories values(null, "government");
sqlite> insert into categories values(null, "computer");
sqlite> insert into assigns values(1, 1);
sqlite> insert into assigns values(1, 2);
sqlite> insert into assigns values(2, 3);
sqlite> insert into assigns values(1, 3);
sqlite> insert into assigns values(3, 3);
sqlite> .quit
---

assingsテーブルのデータで記事とカテゴリのIDを関連付けています。

これを表示するスクリプトは以下のとおり。
ar5.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブル
class Article < ActiveRecord::Base
  has_and_belongs_to_many :categories, :join_table => 'assigns'
end

# authorsテーブル
class Category < ActiveRecord::Base
  has_and_belongs_to_many :articles, :join_table => 'assigns'
end

#記事とコメントを全て表示
Article.find(:all).each{ |article|
  article.categories.find(:all).each{ |category|
    if !category.nil?
      p "#{article.article}|#{category.name}"
    end
  }
}
===

前回のar4.rbと違う部分を赤字で記載しています。
実行すると以下のようになります。
---
>ruby ar5.rb
"Hello World!|economy"
"Hello World!|government"
"Hello World!|computer"
"Konnichiha Sekai!|computer"
"Hello Ruby ActiveRecord!|computer"
---

以上のように、多対多の関係も非常に簡潔に記述できます。
最初に書いたように、ActiveRecordにある程度親しんでからRailsを学ぶと開発もスムーズにはいれるかもしれません。

| | コメント (0) | トラックバック (0)

2008年2月26日 (火)

そろそろやっとホウレンソウ

HPのテレビ会議システム、導入件数が毎年2倍以上の伸び

一昔前の近未来SF映画とかではテレビ電話みたいのが当たり前に使われていて、未来テクノロジーの代名詞みたいな扱いだったのが、そろそろ現実になってきたんですね。考えてみれば携帯電話なんかもその頃は未来の道具だったわけで。次はタイヤのない自動車とかビーム光線銃ですねw

テレビ会議システムの導入が伸びてきた背景には、ブロードバンド回線の普及と高速化が大きく貢献しているんでしょう。光回線なんかが今は当たり前になったので数年前では専用線が必要だった動画や音声のリアルタイム通信が簡単に実現できるようになりました。そろそろこの市場も活発化してきそうですね。記事のシステムはかなり高額ですが、価格競争で値段がどんどん下がっていくかもしれません。

一方で、WEB方面ではMSNメッセンジャーやSkypeのビデオチャットなんかがこれの変わりに使えそうです。これはこれでなかなか便利なもので、ボクも実家との会話でたまに使っています。やっぱり母親は元気な顔かどうか気になるようで、ビデオチャットに慣れた今では電話よりビデオチャットしたいみたいです。まあボクも顔が見ると安心するのでこっちのほうがいいなと思ったりします。

今後、ビデオチャットなんかは仕事でも打ち合わせや会議に使えると思います。
それ専用のシステムなんかもつくられていて、例えばSOBAプロジェクトなんかがそうで、こちらはP2P技術を使ったテレビ会議システムのようです。SOBA CITYは無償利用できるようなのでいつか試してみたいなと思っています。

日経のニュースなどでも最近盛んに紹介されていますが、ブロードバンドの普及によって都市に集中していた仕事が地方に分散していくケースが目立ってきました。そういう場合は本社と地方分社の緊密な連携が必要なのですが、こういったシステムを利用することで物理的な距離を意識することなく業務を運用できるかもしれません。

今日の業務は多くがコンピュータ化されていますが、実際に仕事を生み出し仕事をするのは人間です。複数の人でやる業務はホウレンソウなくしてはできないので、上手にホウレンソウするためのインフラ整備が今後の業務の鍵となるんだと思いました。

| | コメント (1) | トラックバック (0)

2008年2月25日 (月)

ネットと歴史学

いつものようにGoogleでいろいろ調べものをしていて、ふと思ったことがありました。
インターネットで検索エンジンが主流になって10年過ぎているな、と。

「10年一昔」という言葉がありますが、10年経過した物事は”歴史”として扱われる。と高校のときの歴史の先生が言っていました。それが本当ならネットでの検索も歴史の枠に入っているんだなあと思いました。

というか、インターネット自体が歴史学の研究対象として扱われてもいいということで、そう考えるとなんとも感慨深いです。それと同時に、歴史学研究と検索について、今後深い関係が生まれてくるんじゃないかな。とも思いました。

ネットにおける情報とは、現時点より過去の情報です。当たり前ですが明日起きる出来事が掲載されるわけはありません。そういう意味で、ネットの情報は過去の情報の蓄積物ということになります。

その情報を検索するとは、昔の地層から遺跡を掘り起こすことに似ています。遺跡の発掘と違って発見できる効率は格段に良い、情報の年代の特定を保証できないなどの違いはありますが、目的を持って過去を調べるというアプローチは似ています。

そうすると、このままネットが使われて、情報が蓄積されつづけていくと、それを歴史研究においてそれを検索することがとても重要な研究手法になる可能性はあるな、と思いました。例えばこのままネットが100年間使われたとして、そこから100年後の”現在”を調べるとき、当然遺跡も発掘するでしょうがネットで”現在”の情報を検索することも重要な研究アプローチとなるはずです。

そうすると、ネットが歴史となった今後は歴史学研究に使われるための仕様というのも必要かもしれないなと思いました。ボクが文学部史学科卒業だからそう思うのかもしれませんが。

| | コメント (1) | トラックバック (0)

2008年2月24日 (日)

AcriveRecordをさわってみる その3

一対一をやったからには、一対多もやらないとな。
というわけで今回は一対多をやってみます。

まずは、前回のcommentsテーブルにレコードを追加します。
---
> sqlite3 data.db
sqlite> insert into comments values(null, 1, "How are you?");
sqlite> .quit
---

article_idカラムが1のデータを追加したので、articlesテーブルのid=1の記事は2つ目のコメントを持つことになりました。

このデータを参照するコードは以下のとおり。
前回のar3.rbのちょこっと改造版です。
ar4.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブル
class Article < ActiveRecord::Base
  has_many :comments
end

# authorsテーブル
class Comment < ActiveRecord::Base
  belongs_to :article
end

#記事とコメントを全て表示
Article.find(:all).each{ |article|
  article.comments.find(:all).each{ |comment|
    if !comment.nil?
      p "#{comment.article.article}|#{comment.comment}"
    end
  }

}

puts '---'

#Commentクラスで全て表示
Comment.find(:all).each{ |comment|
  p "#{comment.article.article}|#{comment.comment}"
}

===

ar3.rbと異なる部分を赤字で記載しています。
データの検索はArticleクラス、Commentクラスで2回行っています。
実行すると、
---
>ruby ar4.rb
"Hello World!|Nice to meet you"
"Hello World!|How are you?"
"Konnichiha Sekai!|Hajime mashite!"
---
"Hello World!|Nice to meet you"
"Konnichiha Sekai!|Hajime mashite!"
"Hello World!|How are you?"
---

データは同じですが、順番が違いますね。

Articleクラスにhas_manyを定義することで、一対多を実現しています。シンボルが複数形になっていることに注意してください。

このように、規約を守っていればとても簡単にデータ問合せができます。
長ったらしいSQL文を書かなくていいだけでもActiveRecordは便利に思えます。
個人的にはコードの一行が短くなるのがうれしいですね。

| | コメント (0) | トラックバック (0)

2008年2月23日 (土)

ビデオにも広告

AdSense for video now in beta

というわけで、動画にも広告らしいです。考えてみれば当然やりますよね。Webでの動画配信にも収益効果があると考えたからこそYoububeを買ったんでしょうから。

AdSence自体はちょっと前に比べて熱が下がったように思います。それにアドワーズ自体の広告効果を疑うようなレポートなんかがニュースになっている現状をみると、そろそろみんな頭を冷やして考えるようになったんだと思います。しかしWeb広告サービス自体はまだまだ伸びていく分野なんだろうとも思います。ネットでのコンテンツ配信がホームページから動画に進化したのに合わせて広告も動画を利用するようになった。ネットで配信されるメディアに合わせて広告も進化していくということですね。

さて、AdSence for videoが普及すると既存の動画配信者が小遣い稼ぎするようになるのはもちろんですが、ビデオCMを作成配信するビジネスも盛んになるかもしれません。CMをクリックすると注文できる。とかね。そういうのは面白いと思います。

さてまあ、どうなるか見ものです。

| | コメント (0) | トラックバック (0)

2008年2月22日 (金)

Ubuntuもモバイル重視

Canonical、モバイル重視のUbuntu Linux「Intrepid Ibex」を明らかに

4月にHardy Heronのリリースが控えているので次の次のバージョンということになりますね。開発コードIntrepid Ibexは”勇敢な野ヤギ”ということで、今度はヤギですか。ちなみにアイベックスというのはこんなヤギらしいです。

なんとUbuntuはモバイル対応に注力するということで、本当にワークステーションLinuxという位置を追求していこうという姿勢が強くうかがえます。「インターネット」と「モバイルユーザビリティ」は今後のワークステーションのキーワードであり、同時に課題だと思います。

発表の中の「全面的なインターネット接続サポート」というのはソフトウェア的にはどんなものになるのか気になるところ。ThinkVantage Accress Connectionsみたいなものをつくるってことなんでしょうか。ThinkPadユーザとしてはとても便利に思っているのでぜひやってほしいところです。

モバイルに関してはタッチペン対応などやること盛りだくさんだと思います。ここでニンテンドーDS対応とかどうでしょうかね?w

ちょうどUbuntuを持ち運びたいからEeePCどうしようかなーと思ってたところです。
Intrepid Ibexがリリースされて少し待ったら対応モバイル製品が出るかも。それまではUSBメモリにUbuntuをインストールして持ち歩く日々にしましょうかね。

ちなみに今月のハッカージャパンでは、EeePCにUbuntuを入れるレポートが掲載されています。中国版のEeePCですが。

| | コメント (0) | トラックバック (0)

2008年2月21日 (木)

AcriveRecordをさわってみる その2

毎日更新の試みも後半戦にはいっていますが、もう毎日ネタさがしがしんどいです。。。
こういう時には「Tipネタ小出し」という姑息な手段に出ることにしましたw

先日ActiveRecordをちょっとだけさわってみましたが、もう少し理解を進めてみましょう。
2つのテーブルで一対一の関係をつくって操作してみます。

まずは、前回のデータベースに新しいテーブルを作ります。
---
> sqlite3 data.db
sqlite> create table comments(id integer primary key, article_id integer,comment string);
sqlite> insert into comments values(null, 1, "Nice to meet you");
sqlite> insert into comments values(null, 2, "Hajime mashite!");
sqlite> .quit
---

記事に対するコメントを格納するテーブル、ということにしました。
article_idカラムがarticlesテーブルのidと関連を持ちます。

これらのテーブルを一対一で関連付けてデータを参照してみましょう。
ar3.rb
===
ar3.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブル
class Article < ActiveRecord::Base
  has_one :comment
end

# authorsテーブル
class Comment < ActiveRecord::Base
  belongs_to :article
end

#コメントを持っている記事を表示
Article.find(:all).each{ |article|
  if !article.comment.nil?
    p "#{article.article}|#{article.comment.comment}"
  end
}

===

プログラムを実行すると、コメントが付いている記事のみを表示します。

  if !article.comment.nil?
    p "#{article.article}|#{article.comment.comment}"
  end

の部分で、articleオブジェクトからコメントデータを参照しているのがわかります。

関連付けは、Articleクラスの has_one、Commentクラスの belongs_toで行っています。
シンプルですね。

例では、テーブル名やカラム名の名前の付け方がまずいので"article.article"とか"comment.comment"とかクラス名メソッド名がダブって意味がわかりづらいですが、名前の付け方を工夫して、"document.article"とか"reader.comment"として処理を英文ライクにして意味をわかりやすくすることができると思います。

さて、短い時間で復習チックなプログラムを書いたら頭がスッキリしました(^^
ネタさがしするよりショートチップを作るほうが性に合うようです。

| | コメント (0) | トラックバック (0)

2008年2月20日 (水)

日本とネットとパソコンと

フィンランド、Firefoxのシェアが45パーセントを超える

日本ではみんなIEを当たり前に使っていて、Firefoxは伸びているとはいえまだまだマイナーブラウザの位置だと思いますが、ヨーロッパでは事情が違うようです。

北、東のみならずヨーロッパは比較的政府でOSSを推進していて、官公庁サイトでもOSSのCMSを使ったりそれをLinuxで運用していたりしていると聞きます。しかしそれを知っていても45%というのはすごい数だと思います。ヨーロッパ版のWindowsではIEがデフォルトブラウザでないとか?(笑)それはないにしても、PCビギナーにFirefoxの使用を呼びかけるキャンペーンでもあるんでしょうかね?

日本では前述のとおりまだまだIEが主流のようで、こんなにマニアックなことばかり書いているブログでさえ、6割強がIEで見られています。まあ今日パソコンを使っている多くの人は有名メーカー製でWindowsがインストールされていて音声ナビゲーションとかでパソコンの説明を受けたり、パソコン教室に通って使っているはず。それらはまず間違いなくIEを”インターネットブラウザ”としているからIEから外れないのは当然です。

パソコンユーザーのパソコンに対する意識のあり方からも、日本では当分こういう状況は変わらないと思います。それは別に特筆するほど悪いことではないのでそれでいいんでしょうけどね。

それよりも上記記事のコメントにもありましたが、日本ではパソコンより携帯端末が重要になるでしょう。キーボードより電話のボタンのほうがメールが早く打てる人はザラにいます。携帯を制するブラウザが日本のネットを引っ張っていくかも(笑)Moble Firefox今どんな感じですかねぇ。

| | コメント (0) | トラックバック (0)

2008年2月19日 (火)

ActiveRecordをさわってみる

さて、それではActiveRecordをつかってみましょう。

すでにRailsの開発環境を持っている方ならMySQLとかがインストールされているかもしれません。しかし、ちょっと触ってみるだけなのに高機能なリレーションデータベースを使うのも面倒な気分なのでsqlite3でDBを作って軽くテストプログラムを作りたいと思います。sqlite3のインストールなどについては、詳しく書いてあるサイトを参照してください。

まず、sqlite3でテーブルとデータを作っておきます。sqlite3へのパスが通っている状態でコマンドラインから以下のように入力します。
---
>sqlite3 data.db
sqlite> create table articles (id integer primary key, article text);
sqlite> insert into articles values(null, "Hello World!");
sqlite> insert into articles values(null, "Konnichiha Sekai!");
sqlite> insert into articles values(null, "Hello Ruby ActiveRecord!");
sqlite> .quit
---

sqlite3では、create tableの際に primary keyを指定するだけでオートインクリメントなカラムになります。

このテーブルのレコードの一覧を表示するプログラムは以下のようになります。
ar1.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブルにアクセスするためのクラス
class Article < ActiveRecord::Base
end

#artilesのレコードを表示
Article.find(:all).each{ |article|
  p article.article
}

===
実行すると、articleカラムの全てのデータが表示されます。

データの挿入は以下のとおり。
ar2.rb
===
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

#DB接続
ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'data.db'
)

# articlesテーブルにアクセスするためのクラス
class Article < ActiveRecord::Base
end

#記事をinsert
Article.create(
  :article => "Konnichiha Ruby to ActiveRecord."
)

===

ar1.rb と ar2.rbはほとんど同じに見えますが、一番下の数行だけ違います。
まあほんと2,3行でシンプルに記述できるのがいいですね。

複数のテーブルを扱う場合、しかるべきテーブルをつくって関連を定義すればデータアクセス処理もシンプルに記述できます。テーブルの関連定義はここなどに詳しく書いてあります。

Railsでデータのメンテナンス画面をつくるだけ、みたいな開発はRailsの知識よりはActiveRecordだと思います。Rails入門としてこの辺をもっとわかりやすく開設していかないといけない気がしますね。

| | コメント (0) | トラックバック (0)

2008年2月18日 (月)

Railsを学ぶ前に

最近Railsネットやら雑誌やらでRails関連の話題をよく目にします。
Railsでの開発が多くなってきているんでしょうか?それとも開発業界でRubyやRailsへの関心が高くなってきているということでしょうか。なかなか楽しくなってきましたね。

ボクはRailsからRubyに関心を寄せるようになったクチでそれまではRubyはPerlのマニアックな拡張だよねえくらいに思っていました。Railsを知ってからフレームワークとしての完成度の高さに感心したのでこれはRubyを勉強してRailsをバリバリ使えるようにならんとアカンなーと思ったものでした。

そんなかんじでしばらくRubyとRailsの勉強をごっちゃに進めてたんですが、なかなかRailsの使い方が進みませんでした。今から思うと、RailsはRubyのいろいろな拡張機能の集まりみたいなものなので、Railsで使われている代表的な機能についての知識がないと、なかなか腹に落ちてこない。だからRailsのマニュアルに書いてあるチュートリアルどおりには作れるけど、なかなか応用に繋がらない、ということになるんですね。少なくともボクはしばらくそんな感じでした。

Railsは規約の多い、良い意味で自由のないフレームワークなので他の言語使いがRailsに感心を持った場合、こういうパターンに陥りやすいかもしれません。じゃあそれを回避して効率よく学ぶには?ボクはそんな大層なことは言えませんが、scaffoldとかだいたい理解したら、ActiveRecordとかのRailsでの開発でよく使う機能について集中して学ぶのがいいかもしれないと思っています。

ActiveRecordはRailsでデフォルトで使われているデータアクセスライブラリです。ActiveRecordを使う上では以下のデフォルトルールがあります。

   1.  テーブル名はモデルクラス名の小文字複数形
   2. 主キーのカラム名はidであること。意味を持たない数の連番であること
   3. カラム名は小文字、区切りにはアンダースコアを利用する
   4. テーブルカラムへのアクセスメソッド名はテーブルの列名

もちろんこれらは変更することも可能ですが、できるだけデフォルトを守ったほうが簡単でいいです。

それでは次回はActiveRecordを使ってデータベースを操作してみましょう。
あえてRailsを使わずにRubyのみでやろうと思います。

| | コメント (0) | トラックバック (0)

2008年2月17日 (日)

ThinkPadロゴ

IBM ThinkPadロゴシール販売中

若松通商で販売されているとか。
ThinkPadのロゴは2010年に消えるそうなので今のうちに買っておくといいかもしれません。

ThinkPadといえばやっぱりIBMなんですよね。lenovoだという実感がいまだにないというのが正直なところです。これからのPCは時代とともにいろいろ変化していくと思いますが、最後までThinkPadは残ってほしいですねえ。

現在の相棒X41はバッテリーが劣化してるだけでまだまだバリバリ働いてくれていますが、次に買うのもやっぱりThinkPadだと思います。シール買っとかないといけないですなw

アキバまで行くのめんどいので通販希望です。

| | コメント (0) | トラックバック (0)

2008年2月16日 (土)

コストコに行ってきた

今日はコストコ尼崎店に行ってきました。

Abcd0001

土曜のわりにすいていたので大きなカートを引き回しやすかったですがw
あいかわらず物量が多くて安いので買い物のし甲斐があるというか、楽しいです。

まあ、ガッツリ食料買い込むぞとかの意気込みもなくちょっと行ってみたかったので的な感じだったのであまり買いませんでしたがそれでもなんやかんやで1万円近く使ってしまうのはコストコの魔力ですね。あまり衝動的に行かないほうがいいなと思いましたw

今回の買い物では有機キャロットジュースは当たりでしたが、パッケージ買いしたGoldfishというスナック菓子はハズレでした。。。調子に乗ってよくわからんもんは買うべきじゃないですね。できるだけあぶない橋は渡らないようにしてるんですが、冒険したい気持ちもあり毎回気持ちの制御が難しいですw

あれですね。あれが良かったとかあれがマズかったとか、コストコ行ってる人で情報あったらぜひ教えてくださいw

| | コメント (0) | トラックバック (0)

2008年2月15日 (金)

ブログを毎日更新してみる試み その2

投稿するべきではない記事の基準

なるほど、と思いました。やや疑問点もありますが、今月毎日ブログを更新する試みを続けていて同意できる部分もあります。示してある3つの基準について思うところを書いてみます。


トピックの価値が投稿する時期に左右される。

---
たしかに時流に乗ったキーワードは一時的にアクセスが増えますが、すぐに元にもどります。今アクセス状況を観察している感じでは賞味期限2日といったところでしょうか。ブログというコンテンツ自体、1日2日で運用をやめることがなく、一般的に長期間継続的に運用するものであるという前提においては、こういった記事はアクセス向上の観点においてあまりメリットはないかもしれません。

逆に「ロングテール」的なものが有効なんでしょう。たしかにこのブログでも玄箱ネタや「~のインストール」といったマニアックな技術情報が一定のアクセスを稼いでいます。


会話に何も価値を加えられないとき。

---
ふむ、まあそのとおりなんですが。しかしある程度は仕方ないこととして許容されるべきだと思います。偶発的な衝突事故もおおいはずですからね。

中国でのブログや掲示板というのは、もっぱら既存のニュースをコピーペーストする場として使われています。当然著作権的には問題がありますがそれは置いておいて、この現象はインターネットが検閲されているので滅多やたらとオリジナルな意見が書けないというところからきているようです。そんな環境の中では「記事を転載することで、個人としてニュースに関心を持っている」という態度を示すのが精一杯と見ることができるかもしれません。

記事の転載などはここでいう「ノイズ」ですが、文化によってはそれに価値を見出さなければならないケースもあるということです。ちょっと本旨とはそれますが。


事前に計画した記事を綴るために必要な時間を奪ってしまうとき。

---
いやもうこれは痛切に感じておりますw
2月に入ってからネタ探しの苦労を知りました。上記の時間を一番奪うのはネタ探しですね。そりゃあここ数日間はネタ不足で困っています。ネタ何にしようかなーと考える時間も少なからず焦る気持ちもコストの消費です。で、やっぱり必要な時間(とできる時間)を使って探すため、しんどいです。モチベーションもやっぱり下がりますね。

記事の質も下がります。ボクの場合技術的なことを編集してから書くので記事によっては3日かけて上げることもあり、計画から起算すると10日以上かけたものもあります。毎日のネタ探しに時間をとられると、編集も雑になるし、難しい検証は後回しになって記事が完成しなかったり。かなりペースが乱れています。

実験は半ばですが、ボク自身のブログを書くペースについては結論が出ています。
『書きたいときに書く!』
2月が終わったら、もう二度と毎日更新はしないでしょうw

最後に、記事の末尾のリンクをみて唖然としました。
投稿頻度が重要ではない理由

この毎日更新の実験自体、投稿頻度が上がればアクセスが上がるという仮説に基づいているのですがちゃんと論理的に否定されているもよう。
読んでみようと思いましたが、長い!!10項目もある!!

。。。あとから読みます。

| | コメント (0) | トラックバック (0)

2008年2月14日 (木)

寒くなるとホットワインが飲みたくなる

今年はまだつくってないですホットワイン。夜中にチーズをアテに飲むと気分いいんです。
まあ、ふつうの赤ワインをレンジでチンしても平気で飲むんですがw

なんとなしにホットワインと検索してわかったことですが、ホットワインという名称は和製英語で正しくはグリューワインというそうです。ついでに作り方もちゃんとしたやつがわかってよかった。Wikipediaは便利ですな。調子に乗って調べてみるとけっこういろいろな方がレシピを公開しておられます。ここのレシピとかよさそうです。

夜に雪がちらついていると無性に熱燗を飲みたくなりますが、寒いキッチンにいるとホットワインが飲みたくなる。なんとも微妙なことですがこういう些細なことで幸せな気分になれるので経済的ですw

ちなみにサングリアは自分レシピを持っていて、先日友達で集まった新年会に持っていったら大変好評をいただきました。こっちのほうがシステムで褒められるよりうれしいかもしれませんw

| | コメント (2) | トラックバック (0)

2008年2月13日 (水)

カルチャーショック

ATMは民度測定器?超額引き落とし事件が頻発

これはすごい。というかあり得ないというレベルだと思いますが。^^;
これは、「引き落とした人が悪い」と全面的に人のせいにできるんでしょうか?システム屋としては激しく疑問に思う次第です。

で、さっそく真偽のほどを含めて中国在住の友人に聞いてみたところ、ずいぶん前に超額が引き出せてしまったことがあるとかないとか。もう10年近く前のことらしいのでそのころから問題が存在していたということですね。もしかしたら中国の人たちには「何を今さら」なことなのかもしれません。
それはそれでまたすごいことですけどねw

で、原因は何なのかは定かではないのですが、間違いなく言えることはATMのシステム内の残高チェックに問題があるということでしょう。例えば「残高を超えた額が入力されると、一定の確率で引き出しを許可する」なんて宝くじみたいな仕様が組み込まれているとは到底考えられません。チェックミスかチェックが不十分なんでしょうね。

日本では、システムにこんなバグが存在していた場合「なんでそんなミスするねん!」とユーザーからお叱りを受けるのが常だと思います。しかし中国では「なんでそんな間違った操作をするねん!」とイレギュラーな操作をしたユーザー側の責任が追求される文化である。ということがあるんだと思います。いやあカルチャーショックですねぇ。

まあなんとも、中国方面からの仕事も若干あるシステム屋としては考えさせられるところです。

| | コメント (0) | トラックバック (0)

2008年2月12日 (火)

還暦のブッタタキ!!!はすごかった

ラ・フェスタ大阪 -日野晃ドラムソロコンサート 還暦のブッタタキ!!!-

というイベントに行ってきました。
日野晃氏によるドラムソロ1時間とフリージャズセッションということでしたが、凄まじいの一言でした。まあ1時間ぶっとおしのドラムソロなんて普通にすごいんですが、還暦でそれをやるとは…まあボクの周りにも元気なオッサンが多いですがそれを軽く超越しています。

ボクも最近少しドラムをやるんですが、ちょっとドラムに親しむと人によって叩く音が違うのがわかってきます。なんというか音が人を表すとか、そんな感じです。日野さんのドラムは一打一打が打拳になって飛んでくるようでした。思わずかわさないといけないと思うような。さすがは武道家ですね。

武道とドラムは共通することが多いと思います。力まかせに叩いてはいい音が出ないですし、リズムをとって叩き続けるというのには精密な身体のコントロールが必要です。それとセッションでは他の楽器のプレイヤーとリズムを合わせたり、引いたり仕掛けたりといった駆け引きも必要で、その心境はかなり武術的だと思います。これは他の楽器でも同じなんですが、身体全体を駆使して演奏するドラムの場合は、同じように身体全体を駆使する武術と肌感覚が似ているような気がします。

武術とドラムを少しづつ嗜む者として、このコンサートは非常に勉強になりました。
ドラムソロもすごいものでしたが、セント・ジェームスの田中武久氏らとのセッションもすばらしいものでした。行って本当によかったです。

R0010061

写真はコンサート後の日野さん。
すぐ帰らないといけなかったので遠巻きに撮影させていただいたのみでしたが、お客さんと気さくに話しておられました。体操のワークショップとか行ってみたいですねぇ。

| | コメント (0) | トラックバック (0)

2008年2月11日 (月)

Movable Type デザインアシスタント

MovableType.jpブログから。
Movable Type デザインアシスタントでオリジナルデザインを作成する

テンプレートカスタマイズ支援サービスってところでしょうか。まだ試してませんがこれはなかなか便利かもしれません。CSSメインな昨今のWEBデザインではデザインソフトを使ってもHTMLとCSSの直感的な操作はまだまだやりづらいなと感じています。このデザインアシスタントはなんか直感的にできるっぽいですね。あとからちょっとやってみよう。

記事の最後に「テンプレートの構造を学ぶのにも良いですね」とありますが、まったくそうだと思います。CSSが膨大に設定されているブログやCMSのテンプレートなんかは理解するだけでもけっこう時間がもの。納期がせまった構築なんかではテンプレートのカスタマイズは逆にしんどかったりするケースもありますが、こういう支援サービスがあれば作業も楽になるし、繰り返していくうちに自然とCSSやHTMLの構造も習得していけるんじゃないでしょうか。

昨今ブログやCMSの開発がエキサイトしていますが、ソフトウェア自体の性能以外にもこういった支援ツールなどの脇固めがユーザー増加に繋がるんじゃないでしょうか。SixApartのやり方にはいつもそこはかとなくクールな匂いがするなと思います。

| | コメント (0) | トラックバック (0)

2008年2月10日 (日)

ブログを毎日更新してみる試み その1

さて、2月に入ってから毎日ブログを更新しています。
通常は1ヵ月に3,4回しか書かないのに、ボク的には今までになくすごいことだったりしますw

更新している理由はブロガーに目覚めたとかそんなんじゃなくて「ブログをひんぱんに更新するとアクセス数が上がる」というのを自分で実証実験したかったから。これは一般的に言われていることなんで疑うことなかったんですが、よく考えたら自分のブログで実感したことないなぁ、そりゃああんまり書かないからそうだよなぁ。じゃ書いてみよう。とw

で、ここ1週間程度毎日更新してみた感想ですが、たしかにアクセス数は上がっています。通常の1.3倍くらいかな。詳しくは月末にでも書こうと思いますが、アクセス時間帯もページ別も全体的にアクセス数が底上げされている感じです。

システムコンサルとかやっているわりにはSEOに興味がないボクは詳しくわからないのですが、やっぱりブログをひんぱんに更新するとクローラーの巡回周期が短くなったり検索エンジンのランクがあがったりするんでしょうかね。まあクローラーがアクセスしてきた数なんて実際のページビューとしては意味のないものですが、検索エンジンでランクが上がるのはいいのかな。

ボクのブログは基本的にチュートリアルネタにアクセスがあるようです。「~をやってみた」、「~をつかってみた」系に極端にアクセスがあり、これらは更新しなくても一定のアクセスがあります。Googleで調べてみても特定のキーワードで上位にヒットしています。つまり、レアで付加価値の高い情報がアクセスを稼いでいると言えると思います。

さて、とりあえずこの実験は月末までやってみようと思いますが、継続できるか自分で心配ですwだって毎日書くのしんどいもん。

| | コメント (0) | トラックバック (0)

2008年2月 9日 (土)

Firefox Mobileに新しいデザイン

「Mobile Firefox」の試作ユーザーインターフェースデザイン、新たに2種類を公開

携帯電話ではOpera Mobileがよく使われていますがモバイル版のFilrefoxが開発されていたとは知りませんでした。たしかWindows Mobileに対応したminimoというのがあったはずですが本格的なFirefoxの携帯バージョンとは面白いですね。

今後携帯ブラウザの競争とかも出てくるんでしょうか。
そうなると、同じサイトでもIEとFirefox、Operaの微妙な仕様の違いによる挙動の差とかが携帯依存ででてくるかも。WEBデベロッパーの仕事がもうひとつ増えるのかもしれません。そうなってほしくないですねえ。

個人的にはFirefoxは好きなので携帯でも使えるといいなと思いますが、上記のような問題は起こってほしくない。そのへんうまく配慮していただきたいなと思います。

| | コメント (0) | トラックバック (0)

2008年2月 8日 (金)

OpenIDがそろそろ

OpenID推進団体にGoogle/IBM/Microsoft/VeriSign/Yahoo!が参加

だそうで、そろそろOpenIDが本格的に使われていきそうな気配です。
先日、YahooJapanがOpenIDに対応しましたし日本のサービスも今年中にほとんどが対応してくるんじゃないでしょうか。やるとなったら速いですからね。

アカウントの統一みたいなことは何年も前から言われてきたことで、ITベンチャー企業の開発構想でもたまに耳にした事ですが、WEBアプリケーションがだいぶ普及してきたことで必要性が現実的になってきたということでしょう。考えてみればボクもお客さんと普通にGoogle Docsとかでデータを共有したりしてますし。

WEBアプリケーションがローカルなアプリケーションと並ぶほど普及するには、今後いろいろ基盤を整備しないといけないのですが、まずは認証の煩わしさを解消するのは先決です。またこれが解消されると、よりWEBアプリケーションの普及や開発は進むと思います。ユーザーのアカウント管理が楽になるのはもちろんのこと、WEBアプリケーション同士の相互連携もやりやすくなるからより便利なサービスが生まれてくるでしょうね。

WEBアプリの連携といえばOAuthという仕様があります。先日仕事先で教えてもらいました。
OAuthはWEBアプリケーション間でアクセス制御を実現するための仕様だとか。OpenIDの普及が一段落すると、次はこういったプロトコルの実装がブームになるかもしれません。

昨日、LUNERRのベータ版が公開されたそうです。数年前まではどうなるかなーと思っていたWEBアプリケーションですが、そろそろ本格的になってきたかな。と思いました。

| | コメント (0) | トラックバック (0)

2008年2月 7日 (木)

Ramaze - 簡単なものをつくってみる

先日けっこういいと言ったRamazeですが、せっかくなのでちょっと簡単なものを作ってみましょう。screencastsに載っているネタを参考にして、レストランメニューを表示してみたいと思います。

先日の手順の続きです。
createしたrestaurantスケルトンを使います。create後、restaurantディレクトリの下にはいろいろなフォルダができますが、その中のcontroller/main.rbを下記のように編集します。

controller/main.rb
===
# Default url mappings are:
#  a controller called Main is mapped on the root of the site: /
#  a controller called Something is mapped on: /something
# If you want to override this, add a line like this inside the class
#  map '/otherurl'
# this will force the controller to be mounted on: /otherurl

class MainController < Ramaze::Controller
  layout '/page'

  # the index action is called automatically when no other action is specified
  def index
    @title = "Welcome to International Restaurant!"
  end

  # the string returned at the end of the function is used as the html body
  # if there is no template for the action. if there is a template, the string
  # is silently ignored
  def notemplate
    "there is no 'notemplate.xhtml' associated with this action"
  end

  #menu list
  def list( cuisine )
    @title = "Today's Menu"
    case cuisine
      when 'jp'
        @dishes = [
          'Salmon Teriyaki',
          'Unagi Nigiri Sushi',
          'Spicy Tuna Roll',
        ]
      when 'in'
        @dishes = [
          'Chicken Madras',
          'Kashmiri Rogan Josh',
          'Beef Samosas',
        ]
      when 'us'
        @dishes = [
          'Buffalo Wings',
          'New England Clam Chowder',
          'Gumbo',
        ]
    end
  end

end
===

赤字が編集/追加する箇所です。

次に、viewフォルダ下にlist.xhtmlを新規作成して以下のようにします。

view/list.xhtml
===
<?r if @dishes ?>
  <ol>
  <?r @dishes.each do |dish| ?>
    <li>#{dish}</li>
  <?r end ?>
  </ol>
<?r else ?>
  <p>Invalid cuisine.</p>
<?r end ?>

===

最後に、view/index.xhtml を以下のように編集します。

view/index.xhtml
===
<p>Please choose form among our wide variety of fine cuisines:</p>

<ul>
<li><a href="/list/jp">Japanese</a></li>
<li><a href="/list/in">Indian</a></li>
<li><a href="/list/us">American</a></li>
</ul>

===

これで終わり。start.rbを実行します。
---
> ruby start.rb
---

http://localhost:7000/ にアクセスします。
Ws000002

各国のボタンをクリックすると、それぞれのメニューリストを表示します。
Ws000003
Ws000004
Ws000005

超簡単 多国籍レストランのメニュー表示システムw
まあHello Worldの次くらいのステップでしょうか。メニューリストはmain.rbで配列で持ちましたが、ちょっと手を加えるとDBから呼ぶことも可能ですよね。

今回は手軽にやるためにVCで作りましたが、modelフォルダ下にモデルを作ってMVCでももちろんやれます。処理の細かいところはscreencastsチュートリアルを読んでいけばわかると思います。

なんかRailsより手軽にできて楽しいのでもうちょっと勉強してまたRamazeでなんかやってみたいと思います。

| | コメント (0) | トラックバック (0)

2008年2月 6日 (水)

ロック・フィールドのオシャレなオフィス

年度末が近づいてほとんど毎日外出しています。
打ち合わせが続いて、やることが山積みになっていってるのがちょっとしんどい時期ですね。
まあ忙しいのはいいことだ。と周りの人に言われますw

今日はロック・フィールド社に打ち合わせに行って参りました。
神戸コロッケとかアール・エフ・ワンとか、関西の惣菜コーナーでは知らない人はいないんじゃないでしょうか。ボクはアール・エフ・ワンのイカのマリネがとても好きです。あれは定番の売れ筋だと社員の方がおっしゃっていました。ですよね~おいしいですもん。

オフィス前のタクシーおりてびっくり。
すごいオシャレなビルでした。
Abcd0001

全長160メートルの巨大なオフィスです。
メッシュ状の銀色の壁面は巨大な冷蔵庫をイメージしているそうです。

Abcd0006

入口をはいってエントランスをみてはっきり分かったのですが安藤忠雄氏の設計だそうです。いわゆるコンクリートうちっぱなし系ですね。クールで清潔なイメージなので食品関係にはぴったりだなと思いました。

Abcd0003


オフィスの敷地内にある託児施設です。福利厚生の一環だそうですが、託児所完備とはすごい。女性の社員さんが多いそうなのでこれはうれしいですね。一緒に行った方々の中に妊婦がいらっしゃったんですが、感激しておられました。

Abcd0005

一番上のオフィス前写真の真ん中に出窓みたいな部分がありますが、そこから撮った写真です。あそこは前面ガラスの通路で入口からまっすぐ伸びていて行き止まりになってます。実用ではなくデザイン的な配慮だそうで。さすがは安藤建築です。

まあなんともすごい会社の素敵なオフィスという典型ですね。
お仕事いただけたらいいんですが~。また行ってみたいし。

| | コメント (0) | トラックバック (0)

2008年2月 5日 (火)

Ramazeがけっこういい

ruby-list MLはずーっとROMな感じなんですが最近rubyから遠ざかり気味なので流し読みばかりの毎日です。しかし、「Rails以外のフレームワーク」というお題で紹介されたRamazeというフレームワークがちょっと気になりました。

Ramazeは軽量で"effortless web development"と副題がついているようにシンプルで簡単な記述で開発ができるWEBフレームワークのようです。現在の最新バージョンは0.3.5です。
Railsに比べて自由勝手がきくのが特徴のようで、多種のテンプレートエンジンやHTTPサーバに対応しており、MVCでなくVCモデルでも開発ができるようです。

パッと見、なんだか細かいものが簡単にできそうなイメージだな。と思ったのでさっそくインストールしてみました。

インストールはRubygemsでできます。
---
> gem install ramaze
---

他にモジュールを要求されたら入れておきます。
ちなみにWindowsの場合、Win32Consoleも入れておくと、コンソールのログに色がついてちょっと見やすくなります。
---
> gem install win32console
---

とりあえず、プロジェクトをつくって、画面を表示してみましょう。
restaurantをつくってみます。
---
C:\usr\ruby\ramaze> ramaze --create restaurant
Creating project restaurant
Copying skeleton project to new project (C:/usr/ruby/ramaze/restaurant)
...
Create directory: 'C:/usr/ruby/ramaze/restaurant/model'
Create directory: 'C:/usr/ruby/ramaze/restaurant/controller'
Create directory: 'C:/usr/ruby/ramaze/restaurant/public'
Create directory: 'C:/usr/ruby/ramaze/restaurant/public/css'
Create directory: 'C:/usr/ruby/ramaze/restaurant/public/js'
Create directory: 'C:/usr/ruby/ramaze/restaurant/spec'
Create directory: 'C:/usr/ruby/ramaze/restaurant/view'
Copy file: 'C:/usr/ruby/ramaze/restaurant/controller/main.rb'
Copy file: 'C:/usr/ruby/ramaze/restaurant/public/css/ramaze_error.css'
Copy file: 'C:/usr/ruby/ramaze/restaurant/public/favicon.ico'
Copy file: 'C:/usr/ruby/ramaze/restaurant/public/js/jquery.js'
Copy file: 'C:/usr/ruby/ramaze/restaurant/public/ramaze.png'
Copy file: 'C:/usr/ruby/ramaze/restaurant/spec/main.rb'
Copy file: 'C:/usr/ruby/ramaze/restaurant/start.rb'
Copy file: 'C:/usr/ruby/ramaze/restaurant/view/error.xhtml'
Copy file: 'C:/usr/ruby/ramaze/restaurant/view/index.xhtml'
Copy file: 'C:/usr/ruby/ramaze/restaurant/view/page.xhtml'

Start your new ramaze app: ruby restaurant/start.rb
---

という感じでディレクトリやスケルトンが生成されます。
これらを変更してつくっていくというのが基本スタイルのようです。

とりあえずこの時点でも起動すると画面は表示されます。
start.rbを実行すればスケルトンが起動します。
---
> cd restaurant
> ruby start.rb
[2008-02-05 15:25:42] INFO   Starting up Ramaze (Version 0.3.5)
[2008-02-05 15:25:42] INFO   Public root: C:/usr/ruby/ramaze/restaurant/public
[2008-02-05 15:25:42] INFO   Template root: C:/ruby/ramaze/restaurant/view
[2008-02-05 15:25:42] DEBUG  mapped Controllers: {"/"=>MainController}
[2008-02-05 15:25:43] INFO   Adapter: Ramaze::Adapter::WEBrick, testing connection to 0.0.0.0:7000..7000
[2008-02-05 15:25:43] INFO   and we're running: 0.0.0.0:7000..7000
[2008-02-05 15:25:43] INFO   WEBrick 1.3.1
[2008-02-05 15:25:43] INFO   ruby 1.8.6 (2007-09-24) [i386-mswin32]
[2008-02-05 15:25:43] DEBUG  TCPServer.new(0.0.0.0, 7000)
[2008-02-05 15:25:43] DEBUG  Rack::Handler::WEBrick is mounted on /.
[2008-02-05 15:25:43] INFO   WEBrick::HTTPServer#start: pid=2928 port=7000
---

ブラウザで http://localhost:7000/ にアクセスします。
200802051

Welcome画面が表示されました。簡単な開発の説明も記載されていますね。

今Ramaza本家のScreencastsTutorialsを見ていっているんですがなるほどRailsに比べて軽い気持ちで開発できそうな感じです。きまりごとがシンプルで見通しが利きやすく、一人でちょっと画面をつくりたいっていうニーズにはRailsより相性がいいかもしれません。

バージョンからみるとまだまだ開発途中のフレームワークのようで実際の開発にはまだ使えないのかもしれませんが、今後開発が進んで安定するとRuby開発の新たな選択肢となるかもしれませんね。

| | コメント (0) | トラックバック (0)

2008年2月 4日 (月)

livedoor Wireless がFON対応に

フォン・ジャパンとライブドアが提携--FONユーザーがlivedoor WirelessのAPを利用可能に

先ほどFONからのアナウンスメールが来て知りました。
関西圏にはまったく関係がないですが、やっぱりこういう提携がくるかーという感じです。
FONの広がりはこういう提携でじわじわいくんでしょうね。

そういえば最近引っ越してからFONのルーターを設定してなくて、ずいぶんオフラインのままです。仕事場はまだちゃんと整理できてないので来週末くらいにまた整理しないといけないですね。。。というか整理するごとに電源やハブが足りなくなるのはなぜなんでしょうか?余計なもん買いすぎですかね。(^^;

個人的にはヨドバシの380円のやつも将来的にはFON対応するんじゃないかと思います。ヨドバシのは使ってる知人に聞いたのですが、駅やマクドとかしょっちゅう行く人には便利だとの事。駅でお茶しないしマクドにも行かないボクにはちょっとニーズに合ってないのでまだ使いません。

| | コメント (0) | トラックバック (0)

2008年2月 3日 (日)

おすすめのアンチウイルスソフト2008

昨年、おすすめのアンチウイルスソフトを考えてみるを書いたことを、ハッカージャパン1月号を読んで思い出しました。1月号にはアンチウイルスソフト徹底比較2008が載っていたからです。これ、毎年参考になるんですよね。

昨年来アンチウイルスソフトはF-Secureカスペルスキーが店頭に平積みされてたりして長く続いたウイルスバスター、ノートンの寡占状態が崩れてきたなあと感じていました。ユーザーの話を聞いてみても少しパソコンに詳しい人はAvast!AVGを入れてるみたいだし、だいぶ意識が変わってきたなと思います。

さて、そんな中でハッカージャパンではどうやらGDATAがいいと紹介されています。GDATAはカスペルスキーとAvast!のエンジンを使った複合エンジンで高い検出率を実現しているようです。GDATAは設定やユーザーインターフェースも簡単らしく、初心者にも扱いやすいようです。細かい設定はカスペルスキーのほうができるらしいのでヘビーユーザーはそちらのほうがいいようですね。

残念なのは昨年おすすめだったNOD32、現在ESET Smart Securityという統合型のソフトが発売されていますがこちらの評価はかなり低かったこと。多数検体の検出率はウイルスバスター2008より低かったりとふるってません。軽いし、検索も早くて今でもいいソフトだと思うんですが、検出率で差が出てきたようですね。

いろいろ調べてみたところ、たしかにGDATAはいい感じです。特別なことをしないWindowsユーザーには最適だと思います。カスペルスキーは高機能ですが価格がやや高くデフォルトでは警告がたくさんでてかなりうるさいらしいです。価格面で言えばF-Secureもメリットがあります。まあ、実質無料で使えるAvast!は価格的に最強ですけどね。

ハッカージャパンの評価ではGDATAは最高でしたが、他のソフトとの差はわずかなものです。そういう意味では簡単に優劣をつけれなくなってきています。あとは個人的な趣味とか細かい設定などで購入を決めるべきですかね。

| | コメント (0) | トラックバック (0)

2008年2月 2日 (土)

EeePCを買ったら何に使おうか?

先日EeePCが国内で発売されたわけですが、買おうかどうしようか迷っています。
なんせ、ノートPCはX41が既にありますし、とても気に入っているので必要がないんですね。

しかし、SDHDとか7インチとか安いとか、やっぱり気になるわけです。
仕事はX41がやるんで遊び用のubuntuとか入れたいなあとか思います。

まあとりあえずモノはどんなもんかなと思って見に行ってみました。写真は京都のビックカメラのもの。京都のビックカメラも初めて行きました。駅直結なのはいいですが、改札から店舗に入るホームはかなり端っこなので微妙な感じです。

20080202

となりにU8250が展示してありました。
そりゃあU8250のほうが小さいですがこのサイズでこの価格、というのはEeePCすごいと思います。

ちょっと触ってみましたが、特に重くなくXPが動いています。コントロールパネルの表示とかけっこうリードが発生するところも早く表示されるのでSDHDの効果なのかしらと思いました。キータッチとかタッチパッドは普通のノートPCと変わらない感覚です。ただ、タッチパッド下のクリックボタンがちょっと押しづらいです。右クリックとかしんどいかも。

ハードディスクの余裕ははっきりいってありません。4GBという容量にXPというのは無理がありますね。店頭で確認しましたが、ハードディスクの残容量は900MBちょっと。Officeのインストール&使用は難しいんじゃないでしょうか。それでなくても使っているうちにキャッシュやらなんやら無駄にハードディスクを消費するのがWindows(とそのアプリ)ですから。

あと、画面サイズが800×480という微妙な高さのサイズでアプリによってはジャストサイズで動かないんじゃないものもありそうだなと思うんですが、うまくやれば1024×768で表示できるようです。

まあしかし、価格の割にはいい感じだと思います。
特に悩むのは写真左にもあるEモバイル同時購入キャンペーン。19800円というのはすごい。Eモバイルも気になっていたことだし、かなりどうしようかって思っています。ちなみにEモバイルと同時購入の場合は2年間の契約が必要。最低でも月額3980円×24ヶ月が発生するということですね。

さて、買ったとしたらどう使おうか?というところですが、仕事よりは遊び専用というところでしょう。XPはいらないです。軽いLinuxの類を入れてどこでもコーディングかなあ?でもそれX41でもやってることだよなあ。などと同じこと考えて迷っているところです。

・・・ハテ。デスクトップではセカンドマシンは有用だと思いますが、セカンドノートって必要なのでしょうか?ああなんだかもうわかんなくなってきましたw

| | コメント (0) | トラックバック (0)

2008年2月 1日 (金)

オーディオブックとかのこれからが気になる

Amazon.com,オーディオ・ブック販売のAudibleを3億ドルで買収へ

そういえばそんなものもあるよなー、程度の認識しかないオーディオブックですがアメリカではけっこう普及しているみたいです。気になって調べてみると伊藤忠商事の記事ではアメリカでの市場規模は1000億円あるとか。そりゃあポッドキャストとかで売れるなあと思うわけですが、日本ではどう受け入れられるか気になるところです。

オーディオブックっていうのはいわゆる本の朗読ですよね。たま~にラジオをつけていると小説やエッセイの朗読に当たることがありますが、気持ちが静かになっていいときがあります。しかし、ボクはどっちかというと本を読むほうが好きですね。まあその一方で弱視とか視覚障害の方には非常に有用だったりすると思います。

読書は本を読むこと自体が楽しいのだと思いますが、情報の取得という観点では、字を読むより音声を聞くほうが速い場合があります。あと、音声だとながら作業で情報が取得できるというメリットもありますね。本の種類によってはオーディオブックのほうが効率いいものもあるのかもしれません。

今まで文字でしか存在しなかった情報が音声でも取得できるということは、選択肢が増えて単純にいいことだと思います。そう考えるとWEBサイトなども今後音声読み上げなどに対応していく流れが生まれるかもしれません。最近草案が公開されたHTML5には音声読み上げを考慮した仕様があることも後押しになるんじゃないでしょうか。

ブログ、動画とトレンドシフトしてきているWEBですが、音声読み上げがトレンドになるかも、と考えても自然な気がします。

| | コメント (0) | トラックバック (0)

« 2008年1月 | トップページ | 2008年3月 »