2010年11月29日月曜日

jQueryクックブック

jQueryは少しかじった程度なんですが、本格的に勉強しようと思ってこのオライリー本を購入しました。



480ページ、18章と、かなりボリュームがあります。電車の中で読んでいると腕が疲れてきます。カッターで2~3章ごとに切り分けて持ち運びたい衝動に何度も駆られました。

ちなみに18章それぞれで著者が違うため、ソースコードの書き方などはバラバラで統一性がありません。

本書は全編が一問一答形式になっています。

「子要素だけを選択するには?」 → 「解答」 → 「解説」

基本的にこれの繰り返しです。かなり実用的です。
実際に直面したことがあるようなケースなどがあると理解しやすいです。

逆にHTML5を使った音楽プレーヤーの埋め込みなどは全く経験がないので、読んでいてチンプンカンプンでした。


jQuery本は何冊か出ていて、どれを読めばいいかよくわからなかったのでオライリーにしてみましたが、良い選択だったと思います。
とりあえず一読はしましたが、今後さまざまな問題にぶち当たると思うので、必要に応じてまた読み返そうと思います。

ちなみにamazonでサンプルコードがDLできないというレビューがありましたが、本家サイトでダウンロードできました。

http://examples.oreilly.com/9780596159788/

2010年11月26日金曜日

古いジャッキーチェン映画の日本語吹替について

先日、知り合いとジャッキーチェンの話で盛り上がって、久しぶりジャッキー映画が見たくなったので、DVDをレンタルしました。

借りたのは

・プロジェクトA/デジタル・リマスター版
・拳精

の2本。
楽天レンタルのスポットレンタルで借りました。


まずは見たのはプロジェクトA


久しぶりに見ても最高におもしろく、楽しませてもらいました。
が、音声を日本語吹替にしているのに、ところどころで強制的に元の広東語音声に切り替わってしまうというのがすごく気になりました。あきらかに不自然です。

調べてみたところ、プロジェクトAの日本語吹替音声はテレビ用にカットされたバージョンしかないんだそうです。
今回見たデジタルリマスター版はノーカットです。テレビ用にカットされた箇所は吹替音声が存在しないため、その部分だけ字幕になってしまう、ということでした。納得です。

たぶんパッケージに説明書きなどがあるんでしょうが、ネットDVDレンタルだと円盤だけしか届かないので、音声が切り替わる理由がわからず、戸惑いました。

ちなみにデジタル・リマスター版じゃない普通のプロジェクトAのDVDは、日本語吹替そのものがないそうです。



続いて拳精

驚いたことに、日本語吹替が石丸博也じゃないんです。

吹替は山野井仁という声優さんでした。
この人はCSI科学捜査班のウォリック・ブラウンの声をやってる人です。

シブくてかっこいい声なので、はっきり言ってジャッキーの吹替えには合わないと思います。山野井仁さんも頑張って石丸ジャッキー風の声を作っているようですが、これはちょっと、、、

自分は「ジャッキーの吹替は石丸博也の声以外あり得ない」というタイプなので、この吹替はちょっと受け入れ難いです。



なぜこんなことになっているのか、調べてみました。

ブロードウェイという会社から発売された笑拳、天中拳、少林寺木人拳、拳精、蛇鶴八拳、龍拳、成龍拳のビデオとDVDだけは山野井仁という方が吹き替えを担当しています。また飛行機上映用に制作されたドラゴンキングダムの吹き替え版も別人の方でした。今のところは石丸博也氏以外の方が担当した場合はこの2つの例だけです。


http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1128247001

と、いうことだそうです。

今回借りたDVDもブロードウェイの商品でした。


ちなみに拳精ではチャイナ・ガールという曲が修行シーンなど随所で挿入歌として使われていますが、権利の関係でDVD版では使われていません。


というわけで、昔テレビで観たジャッキー映画を、当時と変わらない形で見ることはもうできないようです。
録画したビデオテープなどを持っている人は、宝物として大切に保存しておきましょう。


あとYoutubeに拳精や蛇拳、酔拳などの日本語吹替版がけっこう上がっています。結局自分は拳精のDVDは途中で見るのをやめ、Youtubeのほうを見直しました。

VHS3倍録画なので画質があまりよくなかったり、CMもカットしていなかったりと、当時のテレビ番組のなつかしい雰囲気を味わうことができ、なかなか楽しかったです。

やはりジャッキー映画は石丸ボイスがしっくりきますね。

2010年11月25日木曜日

Excelの表をDreamWeaverにコピペしたらテーブルになった

タイトルのまんまなんですが、試しにやってみたら、見事にできました。



ソースはこんな感じ。


ちなみにそれぞれのバージョンは、Excelが2003、DreamWeaverが8です。

セルの背景色とかfont-weightとかはコピーされなかったので、属性情報は引き継がれないようです。

でもcolspanやrowspanなどはばっちりコピーされるので、使いようによってはかなりの効率化ができそうです。

2010年11月24日水曜日

JavaScript入門講座

はてぶの人気記事に出てたので、読んでみました。

https://dl.dropbox.com/u/336104/slide/jstudy2/startupjs/index.html

全57ページですが、プレゼン用資料なのでさらっと読めます。本当に入門用なので、初心者向き。

このドキュメント読んでから書籍なんかを読むと理解度がより高まると思います。特にスコープとかクロージャのあたりはよく読んでおくと良いと思います。

あとdropboxはこういう使い方もできるんだなぁ、と。静的ファイル置き場としても便利ですね。

JavaScriptのi++と++i

i++は値を返してから1加える。
++iは1加えてから値を返す。

という違いみたいです。
普段i++しか使わないので、++iを見て「なんだこりゃ」と思いましたが、こういうことでした。

ちなみに一部のブラウザでは++iのほうが動作が速いそうです。

2010年11月23日火曜日

Smartyでforeachループをネストする

よくやり方を忘れるので備忘録として。

こんな感じの配列を使います。

Array
(
[array1] => Array
(
[0] => Array
(
[id] => 3
[name] => さん
)

[1] => Array
(
[id] => 4
[name] => よん
)

[2] => Array
(
[id] => 5
[name] => ご
)
)
[array2] => Array
(
[0] => Array
(
[id] => 9
[name] => きゅう
)
[1] => Array
(
[id] => 10
[name] => じゅう
)
)
)


テンプレートはこんな感じで記述。

{foreach from=$alllist item="list1" name="list1"}
<ul>
{foreach from=$list1 item="list2" name="list2"}
<li id="{$list2.id}">{$list2.name}</li>
{/foreach}
</ul>
{/foreach}

2010年11月17日水曜日

mod_rewriteでURL末尾のスラッシュを補完

同じコンテンツでも、アクセス解析ソフトなどは末尾のスラッシュの有無によって別ページと見なしてしまいます。
そうした問題も、このmod_rewriteで解消できます。

RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.[^/\.]+$
RewriteRule .* %{REQUEST_URI}/ [L,R]


このケースだとURLに.(ドット)を含まない場合はディレクトリと見なして末尾スラッシュ補完をしています。

参考
http://d.hatena.ne.jp/hiro-tak/20080508

2010年11月16日火曜日

mod_rewriteでURLを書き換えつつクエリはそのまま引き継ぐ

「mod_rewriteを使って動的ページを静的ページのように見せる」というのが、SEO的に良いということで一時期流行りました。

現在ではサーチエンジンも進化し、静的だろうか動的だろうか評価は変わらなくなったようですが、人間の目から見てもクエリ文字列が並ぶよりはディレクトリ階層になっているほうがきれいなので、サイト構築の常套手段として定着している感があります。

mod_rewriteを使って動的ページを静的ページというテクニックはググればいくらでもでてきます。
たとえばこんな感じ。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z_]+)/$ index.php?var1=$1 [L]


こうすることで、http://example.com/hoge/ が http://example.com/index.php?var1=hoge として処理されるようになります。

ただこのままでは http://example.com/hoge/?page=1 とか http://example.com/hoge/?search=hoge のように、後ろにクエリパラメータが来てもその値が取得できないという問題があり、不便です。

これを解決するのがQSAというオプション。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z_]+)/$ index.php?var1=$1 [QSA,L]


これでオシリに引数がくっついてもindex.phpで処理できるようになります。

参考
http://blog.fkoji.com/2008/07172155.html

2010年11月15日月曜日

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス



内容紹介やレビュー、目次を見たところ、JavaScriptを浅くしか理解していない自分にとってちょうど良い本だと思い、読んでみました。

序盤はスラスラと読み進み、基本文法やオブジェクトの概念(プロトタイプなど)あたりは気持ちよく理解できました。久しぶりにオライリーの本を読みましたが、さすがにクオリティ高いと思います。

ただ、中盤から後半にかけて徐々に内容が難しくなり、5章「継承」あたりからは、なんどもソースコードを読み直してようやく理解できる、という感じになってきます。

基本的にJavaScriptという言語はクセがかなり強く、php以外の言語をほとんど触ったことがない、あまり柔軟性のない自分の頭脳にはなかなかスンナリ入ってこなかったです。

もう少しJavaScriptという言語に触れてから読み直したほうが良さそうだと思ったので、終盤は斜め読みで済ましました。
というわけで、しばらくしてからまた読み直したいと思います。

2010年11月9日火曜日

coreserverでサーバー再移行

ここ最近、利用していたcore-bのサーバーが毎日昼間に断続的に重くなり、サイトにアクセスできなくなる状態が続いていました。

例えばその時間帯にこのkawama.jpにアクセスすると、「データベースに接続できません」というwordpressのエラー画面が表示されます。おそらく誰かがmysqlに対して負荷の高いプロセスを動かしていたのだと思います。

1ヶ月くらい様子を見ていたのですが、改善される様子もありません。
エラー画面を見るたびにイライラしてしまうのは精神的に良くないので、この週末にサーバーを引っ越ししました。

ちなみに今回はb15.coreserver.jpからb27.coreserver.jpへの引っ越しです。

あらかじめこちらのページをチェックし、負荷が高くないと思われるサーバーを選びました。

xrea障害メンテナンス情報
coreserver障害メンテナンス情報

このページでは負荷がリアルタイムで更新されています。1日に何度か除いてみて、ステータスバーがオレンジや赤になっている回数が多いようなサーバーはハズレなので避けたほうが無難だと思います。


引っ越し作業自体は今回で3回目くらい。
過去にまとめた移行手順を参照しつつ作業を行い、2時間弱ほどで終わりました。


基本的にスムーズにすすめられたのですが、2点ほど躓いた点があったのでメモしておきます。

(1)ドメインの同期設定は移行できない

ドメインウェブの設定はテキストで一括移行できるんですが、同期設定(シンボリックリンク)は移行できないので、手動で移行してやる必要がありました。

(2)パーミッションのチェック

これは以前書きましたが、xrea,coreserverのサーバー間コピーはパーミッションを保持してくれないので、666のファイルとか777のディレクトリなんかのパーミッションを移行後に変更しないといけません。

で、今回findを使って旧サーバーでパーミッションをいじってるファイル、ディレクトリを検索してリスト化し、新サーバーで一括でchmodするのを試みました。

たとえばfindで777のディレクトリを探すには

find ./ -perm 777 -type d

666のファイルを探すには

find ./ -perm 666 -type f

このpermオプション、オプションで+や-をつけてさまざまな条件を付加させられます。が、これがけっこう複雑だったので、結局は-name "*.cgi"とか-name "*.sh"でリストを作りました。


と、こんな具合で大きな問題もなく移行完了。
今度のサーバーは低負荷で安定してくれるといいんですが、、、

2010年11月7日日曜日

三郷のパソコンファームで不要PCを無料で処分する

不要になったPC2台(WindowsMeが乗っていたthinkpadと、WindowsXP初期の頃の省スペースPC)を持てあましており、使い道も全くなかったので、前々から気になっていた三郷のパソコンファームに行って引き取ってもらいました。

パソコンファーム

PCの処分はお金もかかるし何かと面倒ですが、ここに持って行けば無料で引き取ってくれます。

郵送でも引き取り可能ですが、今回は新三郷のIKEAに行く用事があったので、車で行きました。

大泉ICから外環外回りで外環三郷ICで降り、すぐの信号を左折。そのまま突き当たりの丁字路のところにパソコンファームがあります。

見た感じ普通の倉庫という感じ。敷地内に入って車をとめると従業員の方があらわれて、引き取るPCを確認してすぐに持って行ってくれました。
そのあと指定の用紙に名前や連絡先を記入して手続き完了。所要時間はほんの5分程度。しかもおまけで缶コーヒーを2本くれました。

不要なPCは今後しばらくは出ないと思いますが、PC以外でもさまざまな不要品を回収してくれるようなので、機会があればまた利用したいと思います。

2010年11月6日土曜日

秀丸でデフォルトのエンコードをSJISからUTF-8に変更

その他 → 動作設定 → ファイル → エンコード1 → 標準のエンコードの種類

で設定変更できます。
最近はhtmlやphpなども、ほぼ90%以上UTF-8を使っているので、デフォルトを変更してみました。

2010年11月3日水曜日

標準DOMスクリプティング



『DOMと言う言葉はよく聞くけれど、実際のところよくわかっていない。jqueryやそのライブラリを使って見よう見まねで簡単なアプリを作成できるが、高度なコーディングはできない。』

こういう状態だったので、そろそろ本質的なところを勉強しないといけないな~と思っていたときに、手に取った本がこれでした。
というか、DOMについての本って他に見あたらなかったです。

2007年の本で、ブラウザもIE6とかfirefox1.5の時代ですが、古さはあまり感じさせません。
DOMの本質的な部分を扱っているので、今でも十分通用するし、勉強になります。
特にDOMの用語や概念なんかは覚えておけばgoogle検索するときなどにもかなり役に立つと思います。

ひさびさに技術書読みましたが、なかなか良い本でした。少し値段が高いですが、それに見合う価値はあると思います。

なおサンプルスクリプトはこちらで見られます。
http://www.futomi.com/books/dom/script/index.html

それと本書で取り上げられていたfirefoxのアドオンが3つあったので、とりあえず入れてみました。
今度コーディングするときに使ってみようと思っています。

DOM Inspector
JavaScript Debugger
HTML Validator

CSS+画像で作るタブメニュー

CSSと画像で作るタブメニューのサンプルを探していたところ、こちらのサイトを見つけました。

http://www.dezinerfolio.com/2007/10/17/creating-liquid-css-tabs-for-menus/

画像による解説がものすごくわかりやすいです。いい勉強になりました。