TMD45INC!!!

tmd45++; // TechLog

2012-04-14

phpfog で MongoLab Add-On を利用して MongoDB を使う

ちまたで知らないうちに話題になっていたらしい phpfog*1 にアカウントを作って、ちょこちょこいじっています。

ワンクリックで FuelPHP や CodeIgniter やその他フレームワークやその他 CMS がインストール出来て、git clone したソースコードをいじって push して公開!っていう楽チンシステム。

capt_ff_20120414_212646

この phpfog で、Add-On を使って MongoLab という、これまた Cloud の MongoDB Hosting サービスを使うことができます。
phpfog も MongoLab も最低限の利用プランなら全部タダという…すげー時代だ(; ・`д・´)


Add-Ons メニューから MongoLab を「Install」して、また Add-Ons メニューへ戻ると今度は MongoLab の「Manage」ボタンが表示されます。

capt_ff_20120414_225307

「Manage」は MongoLab サイト側で行うようです。これでもう MongoLab 上に MongoDB の使用環境が整っています!!!

capt_ff_20120414_205648

Users タブから新しいユーザを登録できるので、アプリから使うためのユーザを登録しましょう。
接続情報と、作成したユーザを使ってすぐにこの MongoDB を使い始められます!

MongoLab の管理画面上から、登録されたコレクションを List 形式や table 形式で表示確認することもできます。
MongoDB 自体、まだ使い始めたばかりでよくわかっていないのですが(;´Д`) MongoLab の Open API というので直接データの操作も行えるみたいです。


私はこれを localhost 上に作った FuelPHP アプリで利用しています。local に MongoDB 入れなくていいので管理が楽。
作ったアプリを phpfog にアップした後もそのまま*2使い続けられますし、ほんと便利だ…(´∀`*)


*1:PHP 用の Heroku みたいなもの。Shered Cloud ってやつです

*2:練習用なら、コレクション名だけ変えてやるとかして

2012-04-03

はてなブログ サイドバーのカテゴリ表示をタグクラウドにする!

最近 jQuery をちょこちょこ勉強しだしたので、jQuery を使ってサイドバーのカテゴリ表示をタグクラウドにしてみた。

はてなブログ サイドバーのカテゴリ表示をタグ表示っぽくする - TMD45INC!!! のときは、カテゴリに「記事件数」が表示されていなかったんだけど、いまは「記事件数」が category (99) の形で表示されるようになったので、その数字を使ってタグ(カテゴリ)リンクの文字サイズを変えていくだけ。
CSS前記事と同じまま。所要1時間強で作成。

<script>
// タグクラウドもどき
$(function() {
	var categories = $(".hatena-module-category ul li a");
	$.each(
		categories,
		function(index, domEle) {
			var ele = $(domEle);
			var texts = ele.text();
			// リンクテキストから記事件数を取得
			var count1 = texts.match(/\([^\(\s +]+\)/);
			var count2 = count1[0].match(/\d+/);
			// 大きさ指定 Start
			if(count2 >= 5) ele.css("font-size", "200%");
			else if(count2 >= 3) ele.css("font-size", "150%");
			else if(count2 >= 2) ele.css("font-size", "120%");
			else ele.css("font-size", "90%");
			// 大きさ指定 End
			// リンクテキストから記事件数を除去
			ele.text(texts.replace(/\([^\(\s +]+\)\s /, ''));
			// ツールチップに記事件数含めて表示する(title属性追加)
			ele.attr("title", texts);
		}
	);
});
</script>

正規表現で2回抽出してやっと数字をとってきてるのと、記事件数によって変える倍率を直書きしてるのが、なんだかスマートじゃない気がするけど
初 jQuery にしては上出来なんじゃないかと自分で自分を褒めてあげようヨシヨシ(*'∀`)ヾ(゚Д゚ )ナデナデ

助言もらって、$(domEle) を何度も呼び出して使っていたところを var ele = $(domEle); にして ele を使いまわすように直したりしたよ。


ツールチップが変な大きさになってるのはデフォなんだろうか…?
ひとまず満足ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ


お使いになりたい方は複製改変ご自由にどうぞー(CSS の設定を忘れずにね☆)。




('ω`)

2012-03-25

自宅の Eclipse 設定メモ

あとで別途記事にするかもしれないけど、とりあえずメモ。
2012-03-26 追記

構成

  • Eclipse IDE for PHP Developers(Version: Helios Service Release 2)
    • Pleiades でインストール:日本語化済み
    • 自分で入れたプラグイン
      • Eclipse EGit:チーム同期に Git を使えるようにする
      • Eclipse Color Theme:テキスト・エディタの外観をテーマで一括変更(利用中:NightLion Aptana Theme)
      • MakeGood:自動テストツール*1

設定とか

  • [一般]→[外観]→[Color Theme] で外観を変えると、制御文字だけ色が合わなくなってる場合がある。
    • [一般]→[JStyle]で色変えられる

ネタ?

  • [一般]→[エディター]→[EnyEdit ツール]の「その他。」タブ
    • 「ツールバーのハッキング(^o^)
  • Pleades で日本語化された Eclipse を使用する利点
    • 日本語化されているということだけでなく、設定が(個人的に)いい感じにカスタマイズされてる

*1:PHPUnit, Xdebug...設定でいろいろあったのであとでまとめる

2012-03-24

XAMPP で Apache の VirtualHost を使うメモ

Windows 7 Home Premium, XAMPP 1.7.7*1

今さらメモ。ざっと書くと以下の方法で出来る:

  1. Apache の設定ファイルに VirtualHost を設定
  2. hosts に ServerName を設定
  3. Apache を起動/再起動

Apache の設定ファイルに VirtualHost を設定

ファイルの場所は C:\xampp\apache\conf\extra\httpd-vhosts.conf*2
オリジナルのファイルは一応バックアップを取っておく。

localhost(127.0.0.1)に対して複数の host を設定するために、NAMEベースの VirtualHost 設定をする。
設定ファイルの記述は以下のとおり( http://hoge.localhost でアクセスできるように設定):

#
# NAMEベースの VirtualHost の対象とする IPアドレス(1つ)
#
NameVirtualHost 127.0.0.1:80

#
# VirtualHost の設定
# NameVirtualHost で指定した IPアドレスに対して有効になる。
#
<VirtualHost 127.0.0.1:80>
    ServerName hoge.localhost                           ← ★サーバー名
    DocumentRoot "C:/work/hoge.localhost/public/"       ← ★VH のドキュメントルート
    ServerAdmin postmaster@hoge.localhost               ← ローカルなのでてきとー
    <Directory "C:/work/hoge.localhost/">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order deny,allow
        Deny from All
        Allow from localhost 127.0.0.1                  ← アクセス制御とか適宜
        AllowOverride All
    </Directory>
    ErrorLog "logs/hoge.localhost-error.log"            ← エラーログファイル
    CustomLog "logs/hoge.localhost-access.log" combined ← アクセスログファイル
</VirtualHost>

(なお、私の場合 C:\xampp\apache\conf\httpd.conf は基本的にデフォルトのままです。)

複数の VirtualHost を使いたい場合は <VirtualHost 127.0.0.1:80></VirtualHost> 部分を複製して、ServerName とそれっぽいところを変更してやればおk。

hosts に ServerName を設定

これをよく忘れて「あれー(´・ω・`)?」ってなるですよ…
hosts の場所は C:\Windows\System32\drivers\etc\hosts

VirtualHost の設定で指定した ServerName を hosts に追加:

127.0.0.1       localhost
127.0.0.1       hoge.localhost

設定完了したら Apache を再起動

ブラウザから http://hoge.localhost にアクセスすると、VirtualHost のドキュメントルートとして指定したディレクトリのシステムが動作します。テスト用に適当な index.html でもおいておけば良いんじゃないですかね。
ちなみに VirtualHost を利用している場合、http://localhost にアクセスすると指定した VirtualHost の一番上の設定が適用されます。

これでいくらでもローカルに host を増やせるぞー

*1:たぶんどのバージョンでも変わらないけど。

*2:XAMPP を標準インストールしている場合。

2012-03-21

Struts で checkbox フォームの値を取得する際には注意が必要

先達の資料はたくさんあるので、私はそれをいつか消されてしまわないようにコピーして回ってるだけな感じですがメモ。

HTMLではCheckBoxをオンにした時しか値を送信してくれません。
これだとチェックオンからオフに変えてもFormのセットメソッドは呼ばれず値が更新されません。

CheckBoxイケてない。 - A Day In The Life

W3C の checkbox 仕様がそうなってるらしい。ほんとだ。

checkboxes
Checkboxes (and radio buttons) are on/off switches that may be toggled by the user. A switch is "on" when the control element's checked attribute is set. When a form is submitted, only "on" checkbox controls can become successful.

Forms in HTML documents

日本語に訳すとこんな感じ。

checkboxes (チェックボックス)
チェックボックスラジオボタンは、ユーザが切り替え得るon/offスイッチである。当該コントロール要素がchecked属性が設定されると、スイッチが“on”になる。フォームが提出される際、“on”になっているチェックボックスコントロールのみが満足となる。

Forms in HTML documents (ja)


で、Struts の ActionForm を利用するときの解決方法としては:

これを回避するためにはFormのresetメソッドでCheckBoxの初期化処理を書いてやらないといけません。

CheckBoxイケてない。 - A Day In The Life


TECHSCORE に技術解説があった。

チェックボックスを使用する場合には上記のような不具合が生じるため、ActionFormにはプロパティを初期化するためのメソッド「reset」が用意されています。resetメソッドはHTTPリクエストからパラメータ値を読み取って設定する前に必ず呼ばれるものです。ActionFormで何らかの初期化をそのタイミングで行いたい場合には、resetメソッドをオーバーライドします。

2. ActionForm (5) | TECHSCORE(テックスコア)

捕鯨ー。

2012-03-09

コーディング環境のフォント設定

仕事では Windows で Eclipse ベースの IDE を利用させられるすることが多いのですが、これまでずっとデフォルトの「MS ゴシック」で利用していました。
ガビガビのざりざり。

で、「コーディングにイイよ!」というフォントを調べて導入してみた。

フォント紹介

M+フォントは高品質デザインでぜひ日常的に使いたいのですが、漢字がたりない‥‥そこでIPAゴシックから漢字を補完しました。

M+とIPAの合成フォント


ダウンロードページに紹介されているオススメに従って、「Migu 1M」をダウンロードしてみました。

たくさん種類がありますが、オススメを挙げます。

テキストエディター表示」に Migu 1M
「印刷物やプレゼン資料」に MigMix 1P
「ウェブブラウザー表示」はお好みで、MigMix 1P や Migu 1VS(別ページに移動) などをどうぞ。

まずはそれを試してみて、そのあと余裕があれば別のを試してみるのもよいですね。

ダウンロード M+とIPAの合成フォント


Windowsの「画面プロパティ」で CrearType を使用する設定下で利用。ちょっと目がチカチカするかも・・・?
でもコードはすこぶる見やすい!「0(ゼロ)」に斜線が入るとか、「\(半角の円マーク)」が斜線で表示されるとか。
あと Migu シリーズは 半濁点 を大きく表示して、濁点との区別がつきやすくなっているのもポイント高めです。


Eclipse で使用するフォントを変更するには、(日本語環境下では)以下の場所で設定します*1

  1. メニューより[ウィンドウ]→[設定(P)]
  2. ツリー表示より[一般]→[外観]→[色とフォント]
  3. 色とフォントの設定内で[基本]の「テキスト・フォント」を選択して[変更]ボタンから、使いたいフォントとフォントサイズを指定
    • 私は「Migu 1M」を 10pt で使ってます。

これでテキストエディタ部分のフォントが変更できます。
その他、自分の好きなところのフォントを変更できますが、私は指定できないところ以外はすべて「Migu 1M」に置き換えてしまいました(笑)

部分的に「MS ゴシック」のままですが、おおむね満足(`・ω・)


使いやすさは人それぞれなのですが、ひとまず「MS ゴシック」から脱却してみるのはイイ気分転換になります。



('ω`)

*1:英語で使っている人はそれぞれ英語に読み換えてくだしあ。