hack my life: 2007年3月アーカイブ

2007年3月アーカイブ

Railsのscaffoldで使われているerror_messages_forってすっごく便利なのですが、
これリストの入力フォームに対応していないんですよね。

上記の画面には2行のテーブルがあって、
交通費、宿泊費、その他の3レコードが含まれています。つまり3×2で6レコードです。
普通にerror_messages_forだとチェック自体は行われますが、エラーメッセージが最後の1レコード分しか出ませんでした。

というわけで、すべてのレコードのエラーを拾って重複を排除して表示する用にしてみました。
app/helpers/application_helperにメソッドを追加してもいいんですが、最近ActiveHeartを入れたばかりなので、
vender/plugin/active_heart/lib/active_recorde_message_ja.rbのerror_messages_forの下に下記コードを追加しておきました。

  def list_error_messages_for (object_name, options = {})
    objects = instance_variable_get("@#{object_name}")
    errors = Array.new
    for record in objects
      unless record.errors.empty?
        record.errors.each_full { |msg| errors.push(msg)}
      end
    end
    errors = errors.uniq
    unless errors.empty?
      options = options.symbolize_keys
      content_tag("div",
        content_tag(
          options[:header_tag] || "h2",
          "#{errors.size}個のエラーが発生しました"
        ) +
        content_tag("p", "次の項目に問題があります") +
        content_tag("ul", errors.collect { |msg| content_tag("li", msg) }),
                    "id" => options[:id] || "errorExplanation", 
                    "class" => options[:class] || "errorExplanation"
        )
    end
  end

ruby&rails初心者なので恥ずかしい限りですが、一応動作はしているみたいです。ツッコミ有ればご指導下さい。
つか、こんなのとっくに誰か作っている気もする。更に言えば確実に此処はRailsらしからぬ実装になってしまったかも。

エラーチェック自体は相変わらず適当(あえてエラー出しています)なのですが・・・

が、またしても此処で問題が。
詳細の項目には:allow_nilでnilやブランクの場合はチェックしないようにしているんですが、何故かチェックされてしまいます。他の所はちゃんと動作しているのに・・・

近々攻略予定です。

RailsのValidationを日本語化してみます。

使うのは、Rubyist Magazineで紹介されているActiveHeart


Railsプロジェクトホームに移ってからsubversionを使ってインストール。

$ ./script/plugin install http://svn.rails2u.com/public/plugins/trunk/active_heart/

あとはサーバーを再起動するだけでOKです。
但し、これだけだと、

項目名が英語のまま。

これを日本語化するには、

class DailyExpense < ActiveRecord::Base
  set_field_names :description => '詳細', :amount => '金額', :currency_code => '通貨'
  validates_numericality_of :description, :on => :update, :allow_nil => true
  validates_numericality_of :amount, :on => :update, :allow_nil => true
  validates_numericality_of :currency_code, :on => :update, :allow_nil => true
end

と、set_field_namesを付けてあげれば良いらしい。ktkr

validateの内容は適当なんで突っ込まないでください。
”詳細”が数値ってなんの詳細だよ・・・

ところで、validatesの:allow_nilオプションなんですが、これを付けるとnilの場合はvalidateおこなわないんですねぇ。
なんでこんな重要な事早く言わないかなぁ。APIドキュメント見るまで気がつかなかった。単に、AWDwRにのっていなかったのだけど、当時はなかったのか・・・

ちなみにerror_messages_forのリスト対応したんですけど、
もう少し見直したいので、明日書くことにします。

久しぶりにRailsをさわっていて気がついた。
validationってオブジェクトのコレクションに対応していないんではないか?

active_record_helper.rbに定義されているerror_messages_forの部分を読んでみると、

# file active_record_helper.rb, line 103
def error_messages_for(object_name, options = {})
  options = options.symbolize_keys
  object = instance_variable_get("@#{object_name}")
  if object && !object.errors.empty?
    content_tag("div",
    content_tag(
    options[:header_tag] || "h2",
    "#{pluralize(object.errors.count, "error")} prohibited this 
       #{object_name.to_s.gsub("_", " ")} from being saved"
    ) +
    content_tag("p", "There were problems with the following fields:") +
    content_tag("ul", object.errors.full_messages.collect { |msg|
              content_tag("li", msg) }),
    "id" => options[:id] || "errorExplanation", 
          "class" => options[:class]
         || "errorExplanation"
    )
  else
    ""
  end
end

やっぱりか・・・
これだけなら、ActionHelperに複数オブジェクト用のメソッドを定義すれば良いけど、
更にテーブルを結合している場合は、そもそも更新をどうすれば良いのだろう?

色々頭に方法は浮かぶけど、一番Railsらしい書き方に未だ至らず、現在朝の3時半。

くそぉ、明日やるか・・・

くやしい
くやしい
くやしい
くやしい

絶対明日攻略してやる!

MacをEmacsキーバインドにというなかなかアツイ"EmacsKeybindings"エントリがありました。

残念ながらリンク切れしていたので、キャッシュから読んでやってみました。

やることは単純です。まずDefaultKeyBinding.dictをダウンロードします。

で、〜/Library/KeyBindings/にコピーします。
KeyBindingsディレクトリがなければ作って下さい。

これだけ  笑

足りないエントリは追記すれば行けるようです。
ただし、Macのキーに紐つけているだけなので、完全にemacsという訳にはいかないみたいですね。
C-f,C-b,C-a,C-eは効くけど、M-bとかは無いみたいです。つかAltって・・・

残念ではありますが、これでTextMateの移動系がemacsっぽく扱える訳で、これはこれで相当使える。

1月にSoweluを買って以来すっかり気に入ってしまいました。

最近1stのGeofuを買ってみたんですけど、コレが良い♪

Geofu

僕が知っている日本人シンガーでは一番聴いていて心地よい。
声が好きなんですよね。なんて言うのか、癒されるというか。

曲は当然のことながら恋愛物が多いです。
僕はどちらかというと、恋愛の事考えるより、Linuxのカーネルの事とか、ギター弾くときのミュートを効率よくする方法考えている方が向いている気がしますが、何故か普通に聞けます。

どの曲も好きなんですけど、
特に良く聴くのは、”Rainbow”と"Can't take my eyes off of you"です。
"Can't take my eyes off of you" はフォー・シーズンズのカヴァーですね。良く聴く曲なんですけど、あまりに色々カヴァーされていて、誰が元ネタなのか解りづらくなっています。
実は元ネタ男性ヴォーカルだったのですねぇ。意外。
カヴァーは圧倒的に女性シンガーによる物が多い曲なのに。。

一番良く聴くのがBoys Town Gangの"Can't take my eyes off of you"だと思うんですが、
You Tubeで画像を発見しました。

あのね・・・歌は凄く良いんだけど、後ろのオッサン達の動きが気になってしまって集中出来ません。
さび裏の振り付け最高だから、頑張って見てください。

っっっw・・・腹いてぇ。

脱線してしまったので、Geofuの話に戻って・・・
普段から流しっぱなしにするには良いアルバムですね。1stとは思えぬ完成度。オススメ♪

Macを使い始めて約1年。
最近レギュラー化してきたソフトがあるので、一端整理するために纏めます。

◇ コマンドラインランチャー
Quicksilver
手軽なランチャーの割に、ちゃんとAquaインターフェースにマッチするデザインです。いちいちアプリを登録しなくても良いのが便利。

◇ FTPクライアント
Cyberduck
これじゃなきゃ!って言うわけではないんですが、そこそこ使いやすいし、デザインもなかなかです。

◇ SVNクライアント
svnX
もはやSubversionは必須ですよね。AquaのインターフェースにマッチするSVNクライアントはなかなか重宝します。

◇ エディター
TextMate
やっぱりMacでRailsというとこのエディタ。フォルダ単位で開けるのが素晴らしく便利。入力補完や、インクリメンタルサーチでファイルが開けたりと便利。日本語が・・・日本語が・・・

Carbon Emacs
エディタといえばEmacsこのキーシーケンス覚えるとやみつきになっていまいますねぇ。一番Macで安定するのはコイツだと思います。

JeditX
超高性能エディタです。Macといえばコレ。標準開発環境って言われていますね。よくわかりませんけど。

◇ オフィスソフト
NeoOffice
MacでOpenOficeはイマイチ相性がよくないんだけど。このNeoOfficeはスッキリマッチします。

◇ その他
WebArchive Folderizer
サファリとかでページを保存するとWebArchive形式で保存できます。コレ画像やCSS、html纏めて入っているフォルダなんです。そのWebArchiveを通常のフォルダにドラック&ドロップするだけで変換してくれます。

appzapper
便利なアンインストーラーです。アプリケーションの依存関係を調べて不要なファイルを一括で消してくれます。

Slife
何時どのアプリをどれくらい使ったか収集してグラフィック化してくれます。必須ではないですけど、なかなか楽しいです。

◇ 番外編
Macアプリではないですけど、あと必須なのはSynergyとScreen辺りですね。

やっとblogのリニューアルが出来ました。
おまけにblogのタイトルまで変えてしまいました。 苦笑

今回は黒を基調にしたデザインです。
以前が白をベースにしていたので、cssの組み直しが結構大変でした。
あとillustratorで小物を作ったのですが、使い慣れていないせいか、思ったより時間がかかってしまいました。

以前のデザインはblogを始めた時に作ったcssでまだ、css一年生の頃(あるいはLevel1)作った上に、後からちょこちょこ足したりしていたので、ぐちゃぐちゃになっていました。今回のリニューアルで全部綺麗にしようと思ったんですが、そこまで手が回らず、とりあえず見た目OKな所で留めてあります。これから少しずつ改良していこうかな。


さて、今回のリニューアルでお世話になったサイトにspecial thank's

メインのデザインはhttp://www.blogskins.com/で探しました。このサイトはユーザーからのデザインが投稿される仕組みで、他にも素敵なデザインが沢山ありました。私がチョイスしたのは、iCE ANGELさんのデザインです。とっても綺麗なデザインに一目惚れです。どんな人だろうとblogを見に行ったら、若干17歳のカワイイ女の子でした。凄い才能!

結構お気に入りなのはタイトル横の猫。
これは「しろねこくろねこの家」から。他にもカワイイ猫のワンポイントが沢山ありました。

今回は色にもちょっとこだわってみて、全て日本の伝統色を選びました。
参考にしたのは"traditional colors of japan"というサイト。使った色は、「撫子色 なでしこいろ」「高麗納戸 こうらいなんど」「朱・緋 あけ」などなどです。RGB値にしてしまうと、何だかあっさりしてしまいますが、こういった色の名前を見ながら選ぶと楽しいモノです。
「それがどうした」って人とは、友達になれそうもありません。

最後にフォントはここで
選びました。実際にサンプル見ながら選べるので、非常に解りやすいです。

おまけとして、
今回リニューアルで一番お世話になったのは、おなじみfirefoxプラグインのWeb Developer。いつもながらのブロックのアウトライン表示やid,class表示はさることながら、なんと言っても"Edit css"でリアルタイムCSSエディット出来るのが最高に便利ですね。リニューアル中はエディタでやりましたけど、サイトにアップしてからの最後の調整で大活躍です。

ちなみにコレがちょうど200件目のエントリでした。
凄い偶然!! 笑

オープンソースカンファレンスTokyo 2007 springに立ち寄って来たんですが、ナントGoogleが協賛に入っていて、ブースを出していました。どうやらデモとかではなく、求人を出していたようです。

しかし、此の求人広告が凄い!
まず何しろカッコイイ♪

書いてあることも凄いです。
トップには"求人"なんて言葉は書いておらず、"Can One Conversation Change The World?"と書いてあるのみです。
初めは何の広告かと思いました。

色々分野が有るのですが、謳っていることが圧巻。

◇Linux System Administrator

主にインフラ関連のAdminの募集ですが、こんな事が書いてあります。

時代の新しい流れであるオープンソース分野に特化し、技術革新を起こせる環境です。

◇Software Engineer

Googleの開発チームの様です。ここも凄い!

混沌としたウェブに秩序をもたらす意気込みのあるエンジニアの募集をお待ちしています。

◇Mobile Wireless Application Developer

モバイル端末向けのアプリ開発で、Googleが最も力を入れている分野の一つだそうです。
ここではGoogleのミッションが謳われています。

グーグルのミッションは、「世界中の情報を体系化し、アクセス可能で有益なものにする。」ことです。


他にも全11分野があって、どれも魅力的で壮烈な言葉が並んでいます。
そして、それらはすべて虚実では無いでしょうね。

どうして、Googleは此処まで心をとらえて放さないのでしょう?

GoogleがGoogleたるゆえんを垣間見た気がします。

Macのメモリを増設してみました。

選んだのは、200pin PC2-5300(DDR2-667)のIntelMac対応思ったより安かった。12,191円。

今のところ問題無く動作していて、Parallelsも快適♪

ちょっと前に話題に上がっていたSynergyを入れてみた。
タイムリーで話題になっていたのに、その時は全然凄さにきがついて居なかった。
たぶん当時は錆び付いていて、感覚が麻痺していたに違いない。

Synergyは複数台のPCでキーボードとマウスを共有出来るソフトです。
Synergyの凄い所は、異なるOSでも共有ができる点。それどころかクリップボードの共有まで出来てしまいます。
WindowsでコピーしたものをMacOS上のテキストエディタに貼り付けなんて出来てしまう。

そんな事が、ハードウェアなしに出来るのか!?っておもったんですが、
どうやらデーモンプロセスを常駐させてTCP/IPでやりとりしている様です。
素晴らしいの一言。

早速自宅で、Windows+IntelMac+LinuxでSynergyを使ってみることにしました。

Synergyのインストール

各マシンにSynergy2をインストールします。現在最新版は1.3.1で、このバージョンを使います。

◇Windows (WindowsXP)
http://synergy2.sourceforge.net/からSynergyのバイナリ(exeファイル)をダウンロードしてきます。
単純にインストーラ形式なので楽ちん。

◇Linux (fedora core6)
Windowsの時と同じようにサイトからソースを落としてきてもいいんですが、yumでインストールしてしまいました。

$ yum install synergy

ソースからコンパイルするなら、

# . ./configure
# make
# make install

でOK。

◇IntelMac
ソースからコンパイルすれば良いんですが、IntelMacの場合はそのままコンパイルするとBus errorが起きます。
masuidriveさんの「IntelMacでSynergy2を動かす」というエントリに解決方が書いてあった。

lib/platform/COSXKeyState.cppの中でgetKeyMapでKCHRを取得する所でコケている様なので、356行のgetKeyMap(keyMap, g, kchr);をコメントアウトしてみたら、動いた。

バイナリ版を公開しているのですが、バージョンが1.3.0と若干違ったので、ソースを修正してmake installすることにしました。
バージョン1.3.1ではlib/platform/COSXKeyState.cppの354行目にgetKeyMap(keyMap, g, kchr);があるので、コレをコメントアウトしておきます。でいつもの奴でインストール。

# . ./configure
# make
# make install

synergy.confの作成

Synergyを使うには一台がサーバー機になってクライアントとして接続するようにします。また、サーバー機にはPC同士の配置をsynergy.confに書いてあげる必要が有ります。

現在私の構成だと、


      Windows                 Mac                 Linux    


という並びになって居るので、キーボード、マウスを使うMacをサーバーにします。
この並びを設定ファイルにしてあげればいいのですね。

ベタに/etcの下にsynergy.confを作成します。

$ sudo vi /etc/synergy.conf

section: screens
hostname_mac:
hostname_linux:
hostname_win:
end

section: links
hostname_linux:
left = hostname_mac
hostname_mac:
right = hostname_linux
left = hostname_win
hostname_win:
right = hostname_mac
end


hostname_xxxを環境に合わせて読み替えてください。
hostname_xxxはターミナルでhostnameを実行した時の出力です。
自宅ではDNSが無いので、どうなるのかな?と思ったのですが、設定ファイルの名前はDNSが引けなくても良いようです。
逆にIPを書いてもダメでした。通信するときにhostnameの値をsynergy.confから引いている様です。

synergy起動

下記コマンドを実行してサーバーから起動します。通常はバックグラウンドプロセスになりますが、オプションに-fを付けるとデバック出力が見れます。

私の場合mac上で下記コマンドを実行。

# /usr/local/bin/synergys --daemon -f --config /etc/synergy.conf

これでサーバーが起動しました。

WindowsはSynergyのGUIの"Use anogher computer's shared keyboard and moouse (client)"のテキストインプットにサーバーのホスト名かIPを入力してStartボタンを押します。DNSでホスト名が引けない場合はIPで入力してください。

最後にLinuxです。

# /usr/bin/synergyc --daemon [サーバーのホスト名 or IP]

以上で設定終わりです。
サーバー機の画面左右にマウスポインタを持って行ってください。どうです?ちゃんとクライアント機のマウスポインタが動きますか?

ちなみに、Windowsを親機にする場合は設定する内容は同じですが、GUIベースになります。
MYCOMジャーナルの「Synergyでキーボード、マウスを共有する」を参考にしてみてください。

安西先生調で。

普段日々の生活の中で、納得のいかない事ってのは沢山あるものです。
でも、こうも思うのです。

納得がいってしまったら、そこで何もかも終わってしまう気がする。
納得がいかないって状態はむしろ良い状態なのだ。

なぜなら、納得が行くまで続ける気が起きるから。

普段から納得のいってない事が沢山ある。
自分自身に、そして世界に。
やはり今の世界のあり方は間違っていると思う。本来有るべき姿とは違う。

納得がいかない事を、自分が納得できる用にしてゆきたいと思う。
だからこそ、一歩でも前に進んで行こうと思える。

僕は納得してはいけない人間なのだ。

今はまだ、色々な事に納得出来ていない。だから、まだまだ大丈夫。
まだ前に進める。まだまだ上を目指せる。重ねて喜ぶべき事だ。

振り返ってみると、僕はその時その時、無我夢中になって居るモノが有ります。
マイブームって奴ですが、世の中の流行とは全然違うところに居たりもします。

ここ1年でブームになったものは、

去年春 
  javascriptブーム
  Ajaxブーム
  Railsブーム

去年夏
 ラム肉ブーム
 マーシャルブーム(ギターアンプ)
 Linuxブーム

去年秋
  タルトブーム
  バイクブーム
  ギターブーム
  SSHブーム
  ロードバランサーブーム
  冗長化ブーム

去年冬〜今年冬
  設計ブーム
  Linuxブーム
  シェルブーム

そして、今空前のパスタブームです。
ここ数日でパスタを食べなかった日はありません。
あと最近ではフェイルオーバーブーム、ギターブーム、Linuxブーム、シェルブームが根強いです。
あと運用ブーム。

直近できそうなのは、
Synergyブーム(遅っ)、HHKBブーム、カーネルブーム、OpenCVブームですな。

今後くるで有ろうブームは、

Perlブーム、Rubyブーム、匂いブーム、銀髪ブーム辺りです。

いやぁ、盛りだくさんで、飽きる暇がないです。

最近何かと話題のOpenCVを入れてみる。
OpenCVは画像を解析するアルゴリズムをおさめたライブラリです。
なんだか取っても未来指向♪
すでにOpenCVをつかって攻殻機動隊の「笑い男フィルタ」を作っているひとが居ます。おもしろー。

早速、OpenCVの開発ページからダウンロードして適当なディレクトリへ展開。

$ tar zxvf opencv-1.0.0.tar.gz

でいつも通り

$ cd opencv-1.0.0
$ . ./configure
$ make
$ make install 

ライブラリを使うために環境変数が必要なようなので、/etc/profileに以下を追加。

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

/etc/ld.so.confに/usr/local/libへパスを通して

$ ldconfig

これで共有ライブラリ設定もOK。

あとは使うだけ!
さーていっちょあそんでみっかぁ。

よくSELinux運用下でWebサーバー立ててると直面する現象に、
ちゃんとパーミッションの設定したのに、Permission denyで怒られる事があります。
原因は、SELinuxで、コレを知るまでエライ目に遭ったことが有ります。

ちゃんと勉強しないといけないんですが、軽くメモを。
全然詳しい訳でもないので、もしかしたら大嘘付いているかもしれません。

例えばWebサーバーで、権限設定はあっているのにパーミッションエラーでアクセス出来ないなんて場合が有ります。

$ ls -l hoge.html
-rw-r--r--   1 apache  apache  719  2  5 22:58 hoge.html


そんな時はlsのZオプションを指定すると、SELinuxのセキュリティコンテキストが見れます。

$ ls -lZ hoge.html
-rw-r--r--  apache  apache system_u:object_r:user_home_t hoge.html

system_u:object_r:user_home_tの部分がセキュリティコンテキストですね。
前から、ユーザー識別子、ロール識別子、タイプ識別子と言うらしいのですが、一番重要なのは、タイプ識別子です。

上記例の場合タイプ識別しがuser_home_tになっています。
一方httpdが所属するのはhttpd_tです。コレをドメインと言うようです。SELinux上の各ドメインはお互いにコンパートメント化されており、ほかのドメインからの不正なアクセスを許可しないように定義されています。その為、たとえOSのパーミッションが有っていてもアクセスできないのですね。

セキュリティコンテキストを変えるためには、chconコマンドを使います。

$ chcon system_u:object_r:httpd_sys_content_t hoge.html
$ ls -lZ hoge.html
-rw-r--r--  apache apache system_u:object_r:httpd_sys_content_t hoge.html

コレでWebサーバーからhoge.htmlにアクセス出来ます。
httpdのドメインがhttpd_tなのにhttpd_sys_content_tと権限設定するのは何故かって事は聞かないで下さい。
嵌りがちなので書いた程度なので。近々ちゃんと勉強します・・・。

久々に資格試験を受けてみました。
資格の勉強をしてみて、思ったことでも書いてみます。

それは「資格自体は大して意味はない」って事です。
まぁ、これはIT系の資格に関してに限定しておきますが、どんな資格も大体こんなもんでしょう。

理由を挙げると

  • 資格に受かっただけでは実践的な知識と技術の証明にはならない。
  • ここで覚えた事はググれば大体出てくる。
  • 資格が役に立つのは未経験の採用試験か、中堅程度のIT企業の面接ぐらいだ。
  • じゃまなプライドだけ付く。

ま〜、こんな所か。

試験勉強していると、受かる為だけの勉強になりがち。知識を付けること自体は勿論良いことだが、重要なのは、「何の為に何故そんなことが必要なのか?」という本質的な意図なんです。
例えば資格を持っていても、実践するときは何かしらの参考資料や、Webを見ると思う。だったら最初からそれでいいじゃん。って思ってしまう。例えばちゃんと勉強して、覚え込んで、「参考資料なんて無くても大丈夫!」って人がいたら、むしろそんな奴に何かを任せたくない。資料やWebで先人の知恵を参考にしながらやる人の方が圧倒的に安心。少なくともトラブルに有ったときに調べて解決に導くための土壌はある証明だし。
資格を持っていると就職に有利ってのも懐疑的です。実際に面接いって資格を持っているから採用!なんて聞いたこと無いし、自分が面接官なら資格を持っている人より実際にやったことある人の方を採用する。そして何よりも、本当に技術力のある会社の面接なら、資格なんてたいした意味は無いって思っている面接官の方が多い。
変なプライド持ってしまうのも良くない。資格に受かる程度の知識だったら、ちょっと実践すれば付くし、実践で得たプライドならそれなりの意味を持つ。

とはいえ、最初に言ったように資格否定派ではないので、逆に資格の良い点を。

  • 新しい知識を体系的に身につけるのは学び安い
  • 知識としてはあるので、実践するときどの辺りをいじれば良いか検討はつく。
  • 最低限のスキルは保証される。
  • 少なくとも学ぶ意思が有ること、興味のある分野の証明になる。
  • 自分で設定しなくても、目標になる。
  • 逆に実践から入った人は、全般的な知識を学び直す機会になる。
  • 自分の知識を客観的に判断する一つの指標になる。

こうやって挙げてみると、エントリレベルの勉強としては良いのかな?って気がします。
浅くではあれど、広い知識が身につくし、1から実践するよりは、かなりやり易い。実践的な所から入ってしまうと、狭く深くになりがちなので、土台固めにもよい。別に土台を固めるのに資格を取る必要が有るわけではないけど、ある程度の此処を押さえた方が良いという知識体系が纏まっていて、しかも合格を目指すというわかりやすい目標があるので、勉強はし易いのは間違いない。

但し、重要なのはあくまで此処までの知識は土台にしかならず、取ってから先の実践こそが最も重要なんだと思っています。

資格を沢山取っている人を「凄い!」とか言っている人をたま〜に見かけますが、資格を持っているのが凄いと言っているなら、大きな勘違いです。資格を沢山取っているのが凄いのはそれだけ時間を費やして勉強をしたからです。

資格自体はいわば「初心者マーク」みたいなもので、自慢にすらなりません。
流石に「俺は資格もってるぜ〜」なんていう人には会ったことが無いことが幸いです。

資格を取り出すと、次々資格を取る資格ハンターになってしまう事が有ります。実は僕も以前そうなったことが有ります。
資格を取る大いに結構。素晴らしい。
しかし一つ問いたい。自分の人生のミッションは一体何で、その資格はそのミッションの為にどんなプラス要因になるんでしょうか?あるいは、自分のキャリアパスはどんなもので、何故その資格を取ったのでしょうか?

もし資格をとるのに理由が無かったり(其れは流石に無いか・・)、大した意味は無かったり、報償金の為だったりするなら、あまり意味がないんで、ちょっと勿体なさ過ぎるきがするなぁ。


と此処まで書くと、何故僕は資格を受けたのか?って突っ込まれそうです。
答えておくと、大した意味は無いです。従って意義も有りません。 笑

思いつきだったんですが、まぁ、後付で、漏れていた知識を補うことが出来たって所ですね。
今更ながら、「へぇ〜」って事は沢山有りました。
勿論コレは実践をして初めて役に立つことですけど。

もう一つだけ土台としての知識欲しいものがあって、その試験だけ受けようかなと思っています。
それが終わったら実践に入ります。色々試して見たいものが出来たので。

次が最後で今後IT系資格を受けることはない気がします。

EmacsをMacで使う上でこれは!って設定をメモ。
とにかく真っ先に設定すべき2つを。

1.コマンドキーをメタキーとして使う。

コレが無いと何も出来ない・・・。

〜/.emacsを作成して以下を追加

(setq mac-command-key-is-meta t)

2.control+スペースがSpotlight検索フィールドにフックされるのを防ぐ

リージョンが選択でSpotligtが出てきた時は死ね!とか思った。

システム環境設定 → キーボードとマウス → キーボードショートカット

で「Spotlight検索フィールドを表示する」のショートカットを変更。


まだまだあるけど、此の2つが無いと話にならない。

ちょっと前にGoogleの記事を読んでいて、やっぱりGoogleはすごい。
って思ったんです。

原因は梅田望夫さんの『「ビスタ」を無意味にするグーグル「二つ目の顔」』というエントリ。

一つ目の顔は「世界中の情報を整理し尽くす」というビジョンを体現する検索エンジンの会社、ネット産業の覇者で超高収益企業という顔である。ただ私が「一つ目の顔」に関連していま強調しておきたいのは、グーグルという会社が、それだけの巨大企業になってもなお、相変わらず変なことをし続けているということだ。

あれだけの大企業でありながら、内部では、ハッカー魂を持ったギーク達がぞろぞろいて、その集合体としてのGoogleという印象を未だに持ち続けているのは、驚異的の一言。大企業にありがちな風通しの悪さがないとか、そんなレベルではなくて、Googleに集まった、ハッカー達の意思そのものが一企業になっている気がする。

少年少女達が思い描くようなサービスを次から次へと打ち出している。かといって、質は非常に高いし、あれだけWebで話題を呼べば、サーバーにかかる負荷も想像を絶するだろうし、当然其れを支えるだけの運用体制とハードウェアを維持管理出来ている。コレって並大抵の事じゃ出来ないと思う。

新しいサービスを連発する内部では、非常に緻密で非常に安定した管理運用体制と、新しいプロジェクトを効率良く立ち上げるGoogle独自のシステムがさも当然の用に行われている証拠。

「世界中の情報を整理し尽くす」という、果てることの無いビジョンを全社員が等しく持ち続けている、企業と言うより、ある種宗教的な熱狂を感じる。

さてグーグルの二つ目の顔とは、コンピュータ産業の構造を「あるべき姿」に作り直すという意志を持った企業だということである。よく私たちはインターネットを図示するとき雲のような絵を描くが、クラウドとはネットの「あちら側」のことである。「こちら側」のパソコンに情報やアプリケーションを持たずとも「あちら側」からすべて提供されるようになるのが「コンピュータ・サイエンスの進化のあるべき姿」とグーグルは信ずるのだ。

まさにコレがWeb2.0の本質であって、「世界中の情報を整理し尽くす」のは、まさにこの為にある訳なのだなぁ。

買ってきて電源を入れたばかりのPCでも、Webにさえつなげば、世界のすべてと(あえて情報とはいわない)繋がれる。
これはただ単に便利という枠をとっくに踏み越えていて、一見関連の無いものどおしを組み合わせて新たな価値を生み出したり、世界中から利用されることで、玉石混交な情報を自然淘汰し、真に価値ある世界が築かれていくかもしれない。
それは、Googleだけでなく、世界中のありとあらゆる才能がそこで主役となってゆく。

その為の土台を作るのがGoogleな訳だ。「全知全能な神」という未来の評価もあながち笑い事ではない。
やろうとしている事も凄いが、其れを支えるシステム(PCの話ではなくて)が激しく気になっている今日この頃です。

先週末から風邪を引き込んでしまい、暫く更新が途絶えてしました。
週末はやることが山積みだったのですが、不本意ながら病床に伏していました。

さて、
病床に伏している間、あまりに暇なので、本を読んだり考え事ばかりしていました。
お題は「帝王学」です。

帝王学というと、マキャベリの「君主論」辺りがバイブルになるんですけど、
何遍読んでも、頭では理解出来ても感情で納得いかないことはあるものです。

なぜそんな事を思い至ったかというと、
先週、自分より20も年上の人と話していて、色々話を聞いているうちに、「どんな組織であれ、政治闘争ってのはあるんだなぁ」と感じたんです。
僕個人は、あまり政治に興味がない(「自民、民主どちらでも良い」とかいう意味ではありません)、というより、好んで近寄りたくないと普段から考えているんですが、全員が全員そういう訳にはいかないのも事実です。

僕自身にしても、「みんなが幸せになれるなら、其れが一番いい」と思っていたって、自分の周りに反対勢力が居ること位認識しているし、どちらかというと控えめな平和主義者なので、降りかかる火の粉は払わなければならないしお互いの主張が相反するときには、出来るだけ公正にではあれども戦わなければばらない時もあるかなって位の覚悟は有ります。

とはいえ、自分の周りの政治闘争には全然関わるつもりはなくて、はっきり言ってしまえば、自分が指向する結果がでるならば、どんな体制だって良いんです。「詰まるところ、政治は結果でしかないのだ」と思うわけです。
どれだけ素晴らしいカリスマ指導者だろうと、成果が出せなければ、単なる扇動政治家でしか無いわけだし、愚鈍であっても、補佐する人間が優秀で結果として、素晴らしい成果があがるなら、それで良い。(あるいは、自身に能力がなくとも、優秀な人間を見抜く目があったなんて評価も成り立つかも)

正直言ってしまえば、権力闘争なんてご免だし、この世の中理想通りに行かないことも多々あるでしょうけど、それでも僕は周りの人たちを悪く思いたくない。
なんてのは20代の小僧の台詞でしかないのかもしれませんが・・・

アドセンス

MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore MoMAstore
MoMAstore
MoMAstore
MoMAstore
MoMAstore