OpenCV
C++で画像認識できるライブラリ。
↓を参考に使ってみた。
http://gihyo.jp/dev/feature/01/opencv/0001
1.1を入れて、動かしてみると、cxcore110.dllがないって言われる。
とりあえず、環境設定のPathに、C:\Program Files\OpenCV\bin を追加したら解決。
FireWatir
テストするときに便利なものを探していたら、FireWatirなるものを見つけました。
FireWatirは、RubyからFireFoxを操作するプログラムが書けるライブラリです。
例えば、画面のテストで、多くのパターンを検証しなきゃいけないときに、FireWatirにそのロジックを書けば、後は自動実行してくれます。
まずは、この辺を参考にインストール。
http://wiki.openqa.org/display/WTR/FireWatir+Installation
あとは、書き方が超簡単。
↓のような感じで、書くだけでOK。
例えば、システムにログイン、ログアウトするサンプル。
require 'firewatir'
ff = FireWatir::Firefox.new
# まずは、指定したURLに行こう!
ff.goto("http://example.com/")
# テキストフィールドのnameがloginのところに、iddesuの文字をセット
ff.text_field(:name, 'login').set("iddesu")
# 同じくテキストフィールドのnameがpasswdのところに、passwordesuの文字をセット
ff.text_field(:name, 'passwd').set("passworddesu")
# nameがsubmitって名前のボタンをクリック!
ff.button(:name, 'submit').click
# ログアウトするときは、aタグのidがlogoutのリンクをクリック!
ff.link(:id, 'logout').click
どうですか?簡単じゃないですか?
これは、便利っす。
Seasar2
最近、Seasar2を使う機会があり、いろいろとやっています。
元々Railsを使ったことがあったので、seasar2はJavaですが、似たような感じで使うことができました。
RailsとSeasar2を比較してみると、MVCは下記の感じです。(見づらくてすみません・・)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Model Entity
Controller Action
View jsp( or mayaa)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
前々は、Railsいいなーと思っていたのですが、最近では少し不便に感じるようになりました。
rubyの普及がまだ、正直いまいちなのです。
例えば、googleに関連するサービスでRubyが使えるのは、僕の知る限りありません。
多くがpythonで、後はやっぱりJavaやphpなどになってきます。
ライブラリなんかも、Javaだと豊富なのですが、Rubyはまだまだ少ないように思うのです。
もしくは、あっても、資料が少なく理解するのが大変だったりします(僕が未熟なこともあり・・)
検索周りなんかは、Javaだとluceneとか便利です。他にも、senna、nutch、solrなどなどたくさん使えるものがあります。
cometを使ったサービスもrailsだとshooting starとかあるんですが、これが最初理解するのがだいぶ大変でしたが、tomcat6.0から使えるcometはけっこう分かりやすかったです。すぐに実装できました。
と、言いつつも、プライベートではrails中心なのですけどね。
Apache + mod_proxy_balancer + mongrel_cluster のApacheの設定
Apacheの設定について、忘れないようにメモ。
ちなみに環境は、こんなです。
・CentOS 5.1
・Apache 2.2.3
・mongrel_cluster 1.1.4(たぶん)
・mongrel 1.0.5(たぶん)
Apacheのmod_proxyとmod_proxy_balancerは使えるのが前提で。2.2以上だったら、たぶん大丈夫そう。
mongrel_clusterも動くようにしてあるってことで。
1./etc/httpd/conf/proxy.confを下記の内容で作成する
とりあえず↓は基本的にはオフにするみたい
ProxyRequests Off
↓も今のとこはあまり気にせず・・とりあえず書いておく。
たぶん、Deny from all とAllow from 192.168.xx.xxみたいにすれば、ここにアクセスできるIPを限定できるものだと思う。
Order deny,allow
Allow from all
で、次。↓で1行目の最初のスラッシュが、http://xxx.xx.com/ とかのこと(xxx.xx.comの部分は、設定によります。要はApacheのURL)。ここに、例えば、/sample/ とか書けば、http://xxx.xx.com/sample/ のこと。
そこへのアクセスを、balancer://mongrel_cluster/に読み替える。
2行目のは、よく分かりません。。とりあえず1行目と同じのを書いておく。
で、さっき読み替えた部分(balancer://mongrel_cluster/)が↓の一行目に出てくる。
こう書くことで、http://xxx.xx.com/にアクセスがあると、BalancerMemberに設定したURLにアクセスすることになる(ここでは、Apacheと同じサーバにmongrel_clusterで3つ作成している状態)。
loadfactorはアクセスされる優先順位みたい。とりあえず今は全部同じにしておいた。
BalancerMember http://127.0.0.1:4000 loadfactor=10
BalancerMember http://127.0.0.1:4001 loadfactor=10
BalancerMember http://127.0.0.1:4002 loadfactor=10
最低限必要なのはたぶん↑まで。
で、追加で↓を書けば、http://localhost/balancer-managerにアクセスすることで、バランサの管理ができるみたいだけど、まだ使ってはない。。とりあえず、書いておいた。
2.proxy.confの取り込み
基本的なことなのだと思うけど、エンジニア素人な自分はこれで1時間くらい悩んだ・・
/etc/httpd/conf/httpd.confの中に↓を書かないと、proxy.confが機能しないみたい。
Include conf/proxy.conf
3.APACHEの再起動
で、↓のコマンドで再起動すれば、とりあえず使えるようになるはず。
# /etc/rc.d/init.d/httpd restart
細かいところは、まだまだいろいろ勉強しないと。
エンジニアの社会的地位
僕は、エンジニアは価値の高い職業だと思ってる。
日本では評価とか給料が安いのは分かるし、ツラい仕事になってたりもする。
だけど、それでもそれを分かってエンジニアになろうと思った。
「時を告げるのではなく、時計をつくる」(ビジョナリーカンパニーより)
今が、何時何分かを正確に言えることよりも、時計を作り出すことの方が価値があるっていう話。
今の社会は、「時を告げる」ような仕事をしている人がまだまだたくさんいる。
というより、ほとんどの仕事がそうだ。
もちろん時計ができることの弊害もあるかもしれない。
時計ができることで、時を告げる人の仕事がなくなるとか、サービスは人から受ける方が心がこもってていいとか。
でも、それ以上に新しい技術が生まれることの価値は大きいと思う。
だから、時を告げる仕事を、できる限り時計に置き換えていきたい。
そう思ってエンジニアになることにした。
時計もエスカレーターも電子レンジも掃除機も・・新しい製品はそうして生まれてきた。
そして、これから先の未来に生まれる製品の多くは、「ロボット」と呼ばれるものになると思う。
ドラえもんや鉄腕アトムみたいなものは、すぐにはできないけど、ルンバとかmiuroとか、魅力的なロボットは少しずつ実用化されてきてる。
多くの仕事をロボット化できるようになるとすれば、世の中の仕事の多くはロボットの開発だったり、保守だったりがメインになってくる。
だから、エンジニアが必要なのだ!と。
DARAO
開発しているときには、いつもDARAOで音楽を聴いてる。
例えば、検索に「絢香」って入力すると、YOUTUBEの絢香の動画がずっと繰り返される。
なので、ここ1年くらい全然音楽を買わなくなった。
この方法だと、パソコンを使ってないときには音楽を聴けないけど、音楽を聴くのは家にいるときと仕事をしているときくらいなので、十分だったりする。
それに、人気のある曲ならほとんどYOUTUBEにアップされてたりするので、いつでも聞きたいものが聴けるっていう、昔から理想だったミュージックフリーな状況ができてる。
ただ、そのうちまた著作権とかが厳しくなると、そうもできなくなるのかなぁ・・
そこでよく思うのが、一回音楽を再生するごとに5円払うとかそういう仕組みがあればいいのになって。
100回聴きたい音楽もあれば、1回だけ聴いてみたいとかもあるし、不意に聴きたくなるときとかもあったりするので、買った音楽しか聴けないというのは、あんまり嬉しくない。
もっとユビキタスな感じになって、ケータイとかでもいつでも聴ける感じの、そういう仕組みができたらいいのにな。