コンピュータ

MacBookが…。

気持ち重い。今まで滅多に見なかった読み込み中マウスカーソルを頻繁に見る。
暑さのせいですか?

FeedBurner

焼くようにしました。ご利用ください。

Google Gears

ここ等々のニュースサイトで取り上げられているgoogleの新サービス。

試しに使ってみた。

(1)Google Gearsをダウンロードする

(2)Google Gears対応アプリケーションを開く

  • 目下はGoogle Reader (http://www.google.com/reader/)
  • Google Gearsがインストールされていると開くとすぐに下の様なダイアログがブラウザ上に開く
  • Google Gearsの機能を使ってローカルにデータキャッシュする様な仕組みが機能として備わっているwebアプリだけど、使いますか?という様な問い合わせの意?

f:id:hideack:20070531224802j:image

  • 上のダイアログでAllowを選ぶと開いた状態でOnlineモード/Offlineモードが切り替えられるためのメニューが加えられている

f:id:hideack:20070531224759j:image

  • カーソルを重ねると下記の様なメッセージが出る。クリックするとローカルにキャッシュされる。
  • 新規フィード登録等のオンラインになっていないとダメな操作は自動的にロックされる

f:id:hideack:20070531224801j:image

もっとも、似た感じの仕組みは以前からありましたが、APIが公開されてgoogleが仕掛けると地味だけど強力なアプリケーションになりそうですね。
なんか、Google Gears対応のwebアプリケーションとか、たくさん出てきそう。
あと開発者向けに開発者向けページもあるのでいろいろ試してみようと思ふ今日このごろ。

MacOSでデフォルトのシェルを変更

ターミナルで利用するシェルをデフォルトのbashから他のシェルに変更する方法。

  1. ターミナルからchshを実行
  2. 既定のエディタ起動
  3. Shell: の項目を デフォルトは /bin/bash なので /bin/zsh 等々好みに合わせて変更
  4. "chsh: netinfo domain "." updated" と表示され更新完了

ファイル名変更

MacOSのファインダからファイル名を変更するときは、"Shift+Enter"で直接変更できる。
WindowsのF2押すのと同じ効果。

…知らなかった。

prototype.jsでオブジェクトを作る

仕事で前々からprototype.jsは、ちょこちょこ使っていたが、Ajax.updaterとか、Ajax.request, $()関数等々部分的にしか利用していなかった。
こないだ、公開されている某ライブラリを少し手直ししようとおもったら、prototype.jsを使った形でクラスが作られていたので多少読むのに苦労したので、これを踏まえて。。。。
少し、自分で書いてみた。基本に返る。誰が何と言おうと車クラスから始めて見る。
インスタンス名は趣味です。

prototype.jsにはClassオブジェクトが定義されている。
クラス宣言をこのオブジェクトから行うと、コンストラクタとして振る舞うinitializeメソッドが定義される。

var Car = Class.create();
Car.prototype = {
name: '',
oil: 0,
initialize : function(name, init_oil){
this.name = name;
this.oil  = init_oil;
},
showOil : function(){
alert(this.oil);
},
chargeOil : function(addOil){
this.oil += addOil;
},
};
var celica = new Car("celica", 50);
celica.showOil();      // dialog displayed for '50'
celica.chargeOil(50);
celica.showOil();      // dialog displayed for '100'

うむ、なるほど。
で、JavaScriptではオブジェクトに対してメソッドを代入式で表すことができるので上のソースコードに下の様なソースを足すとメソッドを追加できる。(普通はやらないと思うが…)

celica.showCarName = function ()
{
alert(this.name);
};
celica.showCarName();   // dialog displayed for 'celica'

この名前の無い関数function(){} を無名関数という。らしい。
確かにこうやって書いて行くと綺麗にソースコードがかけそうだ。

Gmail Manager

Firefox用アドオン。
複数のGmailのアカウント切り替えや、着信状況を確認できます。便利すぎます。