2008年12月18日木曜日

chm版PHPマニュアルの文字化け対策 UTF-8対応版

http://www.bluefocus.jp/archives/4

この記事で、文字化け対策を書きましたが、2008.12.12付けの日本語版マニュアルで同じ作業をしたら文字化けだったので、
ちょっと調べてみた。(検索タブの文字化けは未対応)

デコンパイルしたとき、吐き出されるコンテンツファイル(.hhc)、インデックスファイル(.hhk)、およびHTML群の文字コードがShift-JISからUTF-8に変更されています。
なお、プロジェクトファイルについては、そもそもASCII文字ばかりなので関係ないです。

っで、おそらくHTML Help Workshopが作られたのがUTF-8が基本になる前の時期だからなのでしょうが、
これらのファイルをShift-JIS決めうちで開くようです。
本来は、これをUTF-8として開かせるべきなのでしょうが・・・とりあえずまだその方法がわからないので・・・
じゃぁ逆に、コンテンツファイル、インデックスファイルをShift-JISに変換してやりましょう
テキストエディタなり何なりでUTF-8からShift-JISへ変更して保存してください。
# 改行コードもLFだったので、念のためCRLFに変えましたが、必要ないかも。
やってみた結果、HTMLファイル群については、変更しなくても大丈夫みたいです。
たぶん、chmの仕組み自体が、HTMLを表示している部分はIE依存なんでしょう。

っで、Shift-JISに変更したファイルを使ってHTML Help Workshopで再コンパイルすると、
無事、文字化けのないchmが出来上がりました。
めでたしめでたし。

検索タブを利用して検索した場合に結果が文字化けしますが、これは、基本的にソースのHTML群をShift-JISに変換するしかないかもしれません。
当然ファイル内のmetaタグも書き換える必要がありますし、なにより、一部UTF-8に定義されていて、Shift-JISに未定義の文字が文字化けします。
これはどうしたもんかなぁ・・・

2008年11月27日木曜日

クライアントの表示領域を得る

FireFoxなら、何も考えずに
window.innerHeight
で取得できる。
IEの場合が厄介で、標準モードと互換モードで取得方法が異なる・・・・
標準モードの場合、
document.documentElement.clientHeight
互換モードの場合は
document.body.clientHeight

標準モードで
document.body.clientWidth
を使用すると、値は返ってくるけど、どうやら、表示領域ではなく、レンダリングされたBODYエレメントの高さを返すっぽい。

ある意味、本来の動きなんだろうけど、それなら
window.innerHeight
を実装してくれと・・・
if(typeof window.innerHeight == "undefined"){
   window.prototype.innerHeight = function(){
      if(document.compatMode=='CSS1Compat'){
         return document.documentElement.clientHeight;
      }else{
         return document.body.clientHeight;
      }
   }
}
とかやっておいたらいいのか・・・
とりあえず関数化。


function getWindowHeight (){
   if(typeof window.innerHeight != "undefined"){
      return window.innerHeight;
   }else if(document.compatMode=='CSS1Compat'){
      return document.documentElement.clientHeight;
   }else{
      return document.body.clientHeight;
   }
}

2008年5月29日木曜日

ツバメさん巣を放棄(´・ω・`)ショボーン

ツバメさんは巣の付近からいなくなっちゃいました。
(´・ω・`)ショボーン

気がついたら蛍シーズンになってるのでちょっと撮ってきた。


2008年5月11日日曜日

5/11 巣に変化が無く、巣に入らないので

巣の近くを飛び回ったりしてます。

どうも1匹を2匹が追いかけているような・・・

雌の取り合い??

巣を写してもつまらないので、その辺に止まったところの写真でお茶を濁すことにしてみる。

2008年5月10日土曜日

2008年5月9日金曜日

5/8 今日のツバメ

座り込み中です。座り込み中です。

卵うんでくれそう?

 

あと、夜ここにいないっぽいけど、どこに居るんだろう?

2008年5月8日木曜日

2008年5月6日火曜日

5/6 今朝のツバメ

巣がでっかくなってました。
巣ってどのくらいで完成なんでしょうか

[gallery]

2008年5月5日月曜日

5/5 今朝のツバメ

巣を作ってる記録

しかし、撮影が続くのか?俺・・・

[gallery] 

まだ巣作り中。

2008年4月23日水曜日

javascript dataスキーム

秋元さん@サイボウズラボのブログJavascriptによる動画プレーヤーが紹介されてた。
これすごいわ・・・

しかし、どうやって動画作ってるんだ?と思って、ちょっとコード追ってみたら気になるコードを見つけた

imgエレメント.src = "data:image/png;base64,~~~"

何だこれ?と思って調べてみたら、dataスキームってのがあって、スクリプト中に画像データ埋め込めるらしい。
なるほど、こうやって動画作ってたわけか
そして、IEで動かない理由は、そもそもIEがdataスキームをサポートしてないからって事か。

しかし、すごいな・・・

2008年4月14日月曜日

2008年2月26日火曜日

Element.offsetTopの挙動

どうも狙った値が取れないので調べたら、こういうことらしい。

http://d.hatena.ne.jp/susie-t/20061004/1159942798

っで、この誤差を埋めるコードを書いたら、、、prototype.jsが持ってた・・・
もっと早く気づけよ、俺・・・
Position.cumulativeOffsetがそれに当たります。
返り値は
{
   x,
   y,
   left : x,
   top : y
}
配列でもプロパティでも好きな方どうぞ。
相変わらず必要なものがそろってますね。

2008年2月6日水曜日

WordPressに変更

b2evoよりこっちの方がはるかに流行りだしたので乗換え。

情報量違いすぎ・・・

ある程度の記事だけ移行した。

IE7が信用できない人向け

まもなくIE7がwindows updateの重要な更新に入ってくるわけですが、
嫌われてることがわかっているのか、この更新を無視するツール(だと思う)を
Microsoftが公開しているみたい。

http://www.microsoft.com/downloads/details.aspx?FamilyID=4516a6f7-5d44-482b-9dbd-869b4a90159c&DisplayLang=en

ぱっと見ただけなので、詳細読んでないですが。

超メモ

オラクル SQL Plusでトリガーの内容を表示


SELECT TRIGGER_BODY FROM USER_TRIGGERS WHERE TRIGGER_NAME='トリガー名';

ただし、システム変数 longの長さで切り詰められるので、
set long int;

適当な大きな数字に変えておくこと。
確か、テーブルやストアドも同じようだったような・・・

IE Developer ToolBar

ベータが取れて、正式版になったようです。
Web開発者の方々はぜひ。

http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en

XHTML+AJAX メモ

XHTML
タグはオプションも含め全部小文字。閉じタグは省略できない。
<ul>
<li>123    ←ダメ
<LI>456</LI> ←ダメ
<li>789</li> ←正しい
</ul>
空要素タグ(閉じタグのないもの)は" />"で閉じる。
<br /><meta ~ />など。
オプションは値を省略できない。
<option value="1" selected>1</option>
こう書いてたのを
<option value="1" selected="selected">1</option>
くらい?
あと、html内にjavascriptを埋め込む場合
<script type="text/javascript" language="javascript">
//<![CDATA[

//]]>
</script>
のようにCDATAセクションにする。(<,>,&などをエンティティにしなくていいように)

↓XHTML雛形
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=shift_jis" />
<title></title>
</head>
<body>

</body>
</html>

DOM扱う時・・・というか、AJAXやろうと思うとprototype.jsが便利すぎです。
多分、prototype指向に慣れるのに多少時間がかかるかも?

なれるとすごい便利ですよ。javascriptの組み込みオブジェクト拡張できるし。
参考になりそうなのおいておきますね。

http://codezine.jp/a/article/aid/222.aspx
http://blog.hawklab.jp/index.php?tag=prototype.js&blogid=1
http://web.paulownia.jp/script/index.html

AJAXやるのに大事なの忘れてた
XMLだけでやってもいいけど、サーバと通信する場合には、JSON記法を理解していると楽できます。
レスポンス受ける側でeval("(" + response.responseText + ")")してやるだけでいいので。

http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/006/

IE Developer Toolbar
http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en

DOMツリー見えたり、エレメントのアウトライン取れたりするので、動的にHTML書き換えたりとか、描画がおかしいときとかの原因特定が一気に早くなります。

Firefoxなら
Web Developer
http://www.infoaxia.com/tools/webdeveloper/
ついでに、非同期通信の確認用にパケットキャプチャ(EtherealとかWireshark)立ち上げるのが面倒なら、
Live HTTP Headers
http://livehttpheaders.mozdev.org/installation.html

CDATAセクション中に ]]> を書きたい

そもそも書くなってのは置いておいて、どうしても書きたい場合、CDATAセクションを分けるしかないらしい

<!CDATA[[]]]]><CDATA[[>]]>
こんな感じ

]]&gt;でエスケープにならない理由とか、詳細はリンク先が詳しいです

http://lowreal.net/logs/2005/07/07/2.html

chm版phpマニュアルの日本語版

20081212以降のcmhはこの方法では不足です。
http://www.bluefocus.jp/archives/55
こちらもあわせてご覧ください。


オフィシャルで配布されてるのが相変わらずキーワードが文字化けして使い物にならないので、以前どこかで見つけた解消法を書いておくメモ。


具体的な作業は、chmのデコンパイル→再コンパイルです。
必要なもの
Keytools
http://www.keyworks.net/

HTML Help Workshop
http://msdn2.microsoft.com/en-us/library/ms669985.aspx
(URL変わっていたので変更@20070914)

まず、phpの公式サイトからchm日本語版マニュアルをダウンロード
http://www.php.net/download-docs.php
適当なところに保存。

keytoolsを起動して、Decompileを選択
・source fileに落としてきたマニュアル
・Destination folderに作業用フォルダ(適当)
で、OK.
デコンパイルが完了すると、作業フォルダに
php_manual_ja.hhp
php_manual_ja.hhc
php_manual_ja.hhk
ja/ 中に大量のHTMLファイル
ができている(はず

HTML Help Workshopを起動し、File→Openで今のhhpファイルを選択。
Contentsタブ、Indexタブを選択すると、それぞれhhc,hhkをどうするか聞かれるので、
既存のファイルを使うほうを選択して、さっき作ったやつを選択。
あとは、File→Compileで再コンパイルすれば作業完了。

出来上がったchmファイルからはたぶん文字化けがなくなってます。

Eclipse + PHPEclipse + Aptana環境構築のメモ

1.Eclipse ProjectからEclipse SDKをダウンロード。
2.解凍して、適当なフォルダに放り込む。
3.Eclipseの日本語化(不要なら飛ばしても)NLpack1をダウンロード。
4.解凍して、Eclipseのフォルダに放り込む。
5.Eclipseを起動し、ヘルプ→ソフトウェアの更新→検索およびインストール
 インストールする新規フィーチャーを検索
 新規リモートサイト
  プロジェクト名:適当にphpEclipseCSVとか
  URL:http://phpeclipse.sourceforge.net/update/cvs
  もうひとつ追加
  プロジェクト名:適当にphpEclipseとか
  URL:http://phpeclipse.sourceforge.net/update/releases
 追加したリモートサイトにチェックを入れて「終了」で後は適当によさそうなの選べば、適当にインストールされます。
6.同様に新規リモートサイト
  プロジェクト名:Aptanaとか
  URL:http://update.aptana.com/update/
  で「終了」
7.Eclipse再起動
多分これで、パースペクティブにphpEclispeとAptanaがあるはず。

Welcome to WordPress

WordPress の世界へようこそ。
このテスト用の投稿は、インストールが問題なく終了したことを意味しています。早速この内容を編集、もしくは削除してあなた自身のブログを始めてください。