2011年2月27日日曜日

ハンドラの関数に引数を追加したいとき (ExtJS)

コンポーネントにイベントハンドラを設定するとき、追加の引数を渡したいときがあります。
たとえばコンボボックスのselectイベントの場合

// 関数定義
function doSomething(combo, record, index){
    // 何か処理
}

// イベントハンドラ設定部分
Ext.getCmp('comboID').on('select', doSomething);

そのままだと、引数として以下が渡されます。

combo: Ext.form.ComboBox
コンボボックス
record: Ext.data.Record
ストアから返されたデータレコード
index: Number
ドロップダウンリスト内の選択された項目のインデックス

ハンドラに引数を追加したいとき、関数定義を次のようにしても、そりゃーダメです。

// 間違った関数定義
function doSomething(combo, record, index, addParam){
    // 何か処理
}

こういうときはFunctionクラスのcreateCallback、またはcreateDelegateを使います。

上の例だと次のように書けます。

/**
* createDelegateを使う
*/
// 関数定義部分
function doSomething(addParam){
    var value = this.getValue();
    // 何か処理
}

// ハンドラ設定部分
var cmb = Ext.getCmp('comboID');
cmb.on('select', doSomething.createDelegate(cmb, [addParam]));

createCallbackとcreateDelegateの違いは、スコープを渡せるかどうかです。

引数の形式
createCallback(/*args...*/):Function
createDelegate([Object obj], [Array args], [Boolean/Number appendArgs]):Function

ExtJSのAPIリファレンスにはbuttonの例が載っています。
ExtJS 3.0 API Documentation 日本語版
http://extdocs.xenophy.com/

2011年2月22日火曜日

LPIから『高信頼システム構築標準教科書』無料公開

http://lpi.or.jp/linuxtext/system.shtml

おおー!ありがたい。アンケートに答えるのめんどくさかったけど。

基準にしているOSはcentOS 5.5です。
目次は次の通り。

 1章 高信頼システムの概要
 2章 Linuxサーバ1台の稼働率を上げる設計
 3章 複数台のサーバによる高信頼性システムの設計例
 4章 データの共有
 5章 データベースの冗長化
 6章 クラスタシステムの監視
 7章 システム監視
 8章 ロードシェアリングによるシステムの構築
 9章 アクティブ・スタンバイクラスタによるシステムの構築
10章 サーバの仮想化
11章 仮想サーバを構築する(Xen編)
12章 仮想サーバを構築する(KVM編)

週末あたりにまとめて読めると、いいなあ...

2011年2月19日土曜日

Eclipseショートカット -インクリメンタルサーチができてうれしい-

とりあえずよく使うものをメモです。キーアシスト(Ctrl + Shift L)を見つつ。


行ジャンプ
Ctrl + L の後表示されるフォームに行番号を入力

選択文字列を検索 next find
Ctrl + K
逆方向
Ctrl + Shift + K

インクリメンタルサーチ 
Ctrl + J
逆向き(reverse)は
Ctrl + Shift + J
次の候補へは↑↓キーで移動できます。サーチから抜けるときはescや←→で。

コード整形
Ctrl + I

1行コメントアウト / 1行コメントアウト解除
Ctrl + /

ブロックコメントアウト
Ctrl + Shift + /
解除
Ctrl + Shift + \

1行削除
Ctrl + D

矩形選択
Alt + Shift + A
これで矩形選択と通常の選択を切り替えられます。

getter/setter生成のウィンドウを開く
Alt + Shift + S の後 R

あとショートカットじゃないですが
"/**"と入力した後でエンターすると、デフォルトのdocが入力されるのは便利ですね。

Firefoxでgoogle検索に便利なプラグインと設定

プラグイン

「chromeだとGoogle Quick Scrolが便利なんだけど、同じものはない。google toolbarは便利だけど縦幅の狭いノートPCではなるべくツールバーを表示したくない」
と思って代わりに何かないか探していました。

その結果
  • searchWP
  • searchBox sync
ついでに
  • SearchPreview
searchWPでは検索語へのジャンプとハイライトができます。
検索ボックスの見た目はこんな感じです。


マーカアイコンをクリックすると検索語をハイライトし、ボックスの中の単語をクリックすると、その単語位置にジャンプします。 ハイライト表示する文字列の最小長さは設定で変えられます。
searchBox syncは検索ページの入力フォームと、firefoxの検索ボックスの内容を同期します。

SearchPreviewは検索結果の左側に、そのページのプレビュー画像を表示します。
こんな感じ。


google検索にはプレビュー機能がありますが、ブログなどがブロックされたり、警告画面を見せられる環境(会社とか)だと、そのページに対しては使えないんですよね…。そういう場合にはとてもお役立ちです。

それから

firefoxの検索ボックスからの検索結果を別タブに表示する方法

はないかなーと思ったらありました。
about:configページ(アドレスバーにabout:configと入力してエンター)の
browser.search.openintab
をtrueにします。

もう一つついでに

ショートカット

firefoxの検索ボックスにジャンプするには
ctrl + K

2011年2月5日土曜日

おすすめ 『Webを支える技術 HTTP、URI、HTML、そしてREST』

webの仕事を最近やるようになりました。何を知るべきかわからない、というところからスタートです。

えーとHTTP、HTML? とか?

という状態です。
そこから何とか担当部分を完成させることができました。
使用したのは、サーバサイドはPHP(Zend Framework)、クライアントサイドはXHTML、CSS、javascript。
各言語 について知ることも当然必要なんですが、HTTPについて知ることが私にとってはポイントでした。

『Webを支える技術 HTTP、URI、HTML、そしてREST』
アマゾンのリンク

この本がとても参考になりました。

HTTPはステートレス

これをわかっていないために最初はずいぶんもやもやしました。
それぞれの事柄についての情報は本にもWeb上にもたくさんありますが、Webに関する技術やその背景までを総合的に説明していて、開発の指針になるようなものはまだ他に見つけていません。

Web周辺の技術を包括的に知りたい、あるいは私のような「初めてのWeb」の人におすすめできると思います。

eclipseのjavaエディタの背景をdarkに!

新しい環境を使うときにはまず背景を黒くせずにはいられません。
白い背景だとどうにも目がチカチカしてしまって。輝度を下げたりしてもダメなんですよね。


eclipse(Version: 3.6.1)かーと使い始めたんですが、自分で色を一から設定するのめんどくさい。
何か、誰か…、プラクインとか…テーマとか… 、と思っていたら公開している人がいました。


Eclipse Java Color Themes
http://srand2.blogspot.com/2009/08/eclipse-color-themes.html


リンク先から設定ファイルをダウンロードできます。
次の2つのファイルを上書きすればOKです。

[workspace]\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.ui.prefs
[workspace]\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.ui.editors.prefs


6種類あるんですが、私はsulaというのにしました。下のはダウンロードファイルに入っていたサンプル画像です。


ありがたい!!

2011年2月4日金曜日

googleをdarkに!



google検索画面をdarkに!
Stylishに次のテーマをインストールします。

January 2011 - Google Dark Gray Theme (vC) Fix

あるいはこっち
IXO FIXED 09/09/10 - Google Dark Grey by Valacar
(こっちの方がアイコンの背景が白くなったりしない)

このままだと日本語サイトの設定がないのでスタイルを編集します。
Stylishアイコンクリック -> スタイルの管理で

イギリスサイトの部分をコピーして


  url(http://www.google.co.uk/),
  url-prefix(http://www.google.co.uk/webhp),
  url-prefix(http://www.google.co.uk/search?),
日本語サイトの設定を作る。
  url(http://www.google.co.jp/),
  url-prefix(http://www.google.co.jp/webhp),
  url-prefix(http://www.google.co.jp/search?),


これで画像のような画面になります。

2011年2月3日木曜日

FirefoxアドオンGmarksのサイドバー背景をdarkに!

FirefoxのアドオンGmarksを入れました。
が、そのままだとサイドバーに表示したとき背景が白い。

履歴とローカルブックマークは既にStylishで黒設定にしていたので
Gmarksも黒くしたいしたいなー。

と、Gmarksのcssを探しました。
↓こんな感じのフォルダの下にstyle.cssというファイルがあります。

C:\Documents and Settings\[user]\Application Data\Mozilla\Firefox\Profiles\[何か文字列].default\extensions\[何かID]\skin\classic

指定を加えるのは
.gmarksTree treechildren
というクラスです。

というわけで
ローカルブックマーク、履歴と合わせてStylishのサイドバー設定は次のようになりました。

#bookmarks-view, #historyTree, .gmarksTree treechildren {
background-color: #262626 !important;
color: #c0c0c0 !important;
}