3月 18, 2006 0

MySQL 良書候補 もう1冊 (現場で使えるMySQL)

By in Diary, MySQL
現場で使える MySQL
現場で使える MySQL
posted with amazlet on 06.03.18
松信 嘉範
翔泳社 (2006/03/17)

本日新宿紀伊国屋で購入してきました。

いままでは、MySQL の良書と言えば、MySQL全機能リファレンスと、実践ハイパフォーマンスMySQLが取り上げられてきましたが、この「現場で使える MySQL」もその候補に加えられそうな1冊となってます。
(まだ本書はパラ見した程度で、DBマガジンでの連載を数回読んだことがあります)

特に良いのが、バックアップ/リカバリ、レプリケーション、パフォーマンスチューニングに大量のページが割かれ、懇切丁寧に説明してあるところではないでしょうか。

これは実際に MySQL で Web アプリなど運用したことのある人間ならばわかると思うのですが、非常に頭を悩ませたり、苦しんだりする部分だったりしますよね…

アプリを作るまではあっても、その後の運用まで触れている解説書はなかなかないので、まさに現場で働いている人間、あるいはこれから働こうという人間は、一度は軽くでも目を通しておくと、どこかで役に立つことがありそうな書籍です。

3月 10, 2006 0

WordPress 2.02 リリース

By in WordPress

WordPress 2.02 リリースされたようですね。

公式サイトのアナウンス
ダウンロード

内容は、XSS 脆弱性の対策の模様。
ということで、自分も海外版を使用しているので早速アップグレードしました。

ついでに、TigerAdministrationもインストール。これは管理画面が、Mac OSX 風になるプラグインです。ごっちゃごちゃの管理画面が超すっきりしました。

配布先のサイトにスクリーンショットもあるので、見たら絶対にインストールしたくなるはずです…
(1.5系、2.0系両方対応版があります)

3月 3, 2006 0

はじめての青色申告

By in Diary

つい先日行ってきました。
税金周りについての知識も全くなく、青1年目なので、勉強も兼ねてPCソフト買って自分でセコセコつけてみたんですが、それにしても、いやー、実に面倒くさかった…

自分の業種(SE, PG)だと取引先によって、源泉徴収するところとしないところがありますが、一番の取引先が源泉の徴収をしない会社だったので、還付金は一切無し、逆に支払いを数万… 自分の周りには、還付金もらってホクホクしている友人がいますが、あれはあれでうらやましいなぁーと思いつつ、まあ納得の納税でした。
(でも最近の国会のばたばたや、国会議員、役人の汚職とか見ていると、税金払っているのが馬鹿馬鹿しくなりますがね…)

あ、あともし知らない方がいたらお得情報ですが、去年から今年の3月一杯まで「少額減価償却資産」という制度があって、30万円未満の資産を購入した場合は、一括償却が可能です。
(参考URL:国税庁の通達)

これを知っているのと知らないのでは結構違ってくるので、是非適用しましょうw

この制度を利用すれば、Mac Book Pro を購入しても今ならなんとかなるなぁ…

2月 23, 2006 8

php マニュアル(chm版) 文字化け解消方法

By in PHP

皆様は、phpオフィシャルサイトから、Windowsヘルプ形式のchm版のマニュアルをダウンロードしたことはありますでしょうか?
多分一度でも使ったことのある方は、非常に便利だ!って思っている方が多いと思います。

ただ、それでも実は 1 点大きな欠点があります。もちろん使用されたことのある方は知っているかと思いますが、ダウンロードしたままだと、マニュアル内のキーワード(マニュアルに含まれるキーワードをインクリメンタルサーチが出来る部分)が、文字化けしているんです。

実は結構悩んでいて、ただそのために随分古い文字化けの無いバージョンを使用していたのですが、解消する方法がわかったのでメモ残しておきます。

【方法】
ダウンロードした chm ファイルを、自分の PC 上で再コンパイルする。
【必要なツール】
【手順】
  1. KeyTool を起動
  2. メニューバー [Tools] → [Decompile] から、chm ファイルを自分の好きなフォルダに decompile (元のファイルに解凍?ってイメージに近い) する。
  3. そうすると、php_manual_ja.hhc、php_manual_ja.hhk、php_manual_ja.hhp、ja というフォルダ(中に数千の、.html) が作成されます。
  4. 今度は、HTML Help Workshop を起動。
  5. メニューバー [File] → [Compile] → [さきほどの php_manual_ja.hhp] を選択。
  6. Compile(数千の html ファイルをまとめ、chm ファイルを生成) が始まるので、しばらく待つ。
  7. 完了! キーワードの文字化けが解消した chm マニュアルが完成します。

オフィシャルの方は、何故うまくいってないかは想像でしか判断出来ませんが、自分で再コンパイルしてでも、キーワード検索は利用出来たほうが良いです(キッパリ)。

(おまけ)
でも、chm ファイルも便利ですが、つい先日のはてな勉強会で知った、
http://api.rails2u.com/
のインターフェイスのほうがさらに今風でかっこいいよなーと思います。

2月 20, 2006 0

php で YAML

By in PHP

いまさらながら、YAML。簡単かつわかりやすくて良いですねぇ。
日本 ruby の会によるるびまでも YAML についての記事がありましたが、php でも spyc というライブラリで簡単に扱うことができます。

spyc
http://spyc.sourceforge.net/

もし、schema.yml というファイルを読み込む場合、

$dat = Spyc::YAMLLoad(‘schema.yml’);

とやるだけで、$dat に 配列として、schema.yml を読み込むことが出来てしまいます。
これはもう簡単というかなんというか、便利すぎです。

実は最近、symfony という PHP5 のフレームワークをいじっているのですが、このフレームワークも、YAML を最大限利用して作られているんですよね。

その中で出てきた propel という O/R マッパー(?)なんかも含めもうちょっと理解できたらまとめたいと思います。

普段自分は情報を追っかけているつもりでしたが、全然追えていないし、自分が知らないだけで便利な技術っていっぱいあるんだなーと改めて思いました。

2月 16, 2006 1

pear コマンド alpha、beta バージョンのインストール方法

By in PHP

なんだかたまに詰まる pear コマンドの使用方法。
まれに、依存性の関係やらなにやらで、beta が必要になる時があります。

以下コマンドで普通にインストールすると、stable 版がインストールされてしまいます。
(例として、パッケージを phpdocumentor とします)

> pear install phpdocumentor

それを回避したい場合は、以下の様にコマンドを打つことで回避できます。

beta バージョン

> pear install phpdocumentor-beta

alpha バージョン

> pear install phpdocumentor-alpha

わかっちゃえば簡単なんですが、ついつい引っかかったりしちゃうんですよねぇ…

<<追記>>
ホント無知であれなのですが、予め以下のコマンドを打っておくと、-beta 無しで行けるようです。
(stable ではなく、開発途上バージョン[beta等] を優先する)

>pear config-set preferred_state beta

2月 6, 2006 0

東プレの問い合わせフォーム

By in Diary

ちょっと前、一部のキーボードマニアの間で有名な東プレのホームページの問い合わせフォームより一つの質問をした。

3 週間近く経ったいま、未だ返事を頂くことが出来ない。

内容は、あるキーを傷つけてしまったので、1つのキーだけで購入することは出来るのか?またその場合の金額は?
ってたったそれだけの内容である。なのに、未だに返事はない。

ネット上に問い合わせフォームはおいたものの全く内容は確認されてないのであろうか。
web 制作会社に進められるまま作ってしまったもののメンドクセーから放置なのであろうか。
自分でも問い合わせしたことを忘れてしまいそうだ。

別に電話して聞けばいいじゃんと思うが、それもなんだか今更感がある。
ただの愚痴なのだが、好きなメーカーだけにちょっと悲しい。

自分もクライアント様の意向で web サイト構築の際に、よく問い合わせフォームを作成する。
客の立場にたって考えると、返事がこないこと程悲しいことはない。

web サイト作って納品してしまえばそれでいいではなく、運営方法までうまく指導しつつ上手なサイト運営を推進して行かなければと改めて思った出来事だった。

1月 31, 2006 0

PSP Firmware 2.5 over でも、自作ソフト動作? [GTA Exploit]

By in Game

なんだかんだ言っても非常におもしろそうな PSP Hacks 。

当初はファームウェア 1.5、2.0(1.5にダウングレード) でないと動かせなかったはずの自作ソフトが、2.5 以上でも動作させる事が出来るようになったそうです。

必要になるのは、

ソフトは海外版なので購入するのは難しいのでは…と、ちょっと躊躇してましたが、楽天で購入出来る店舗を発見したので、売り切れないうちに即購入致しました。

また、PSP は海外版のソフトも動作するらしく普通に遊ぶことも出来るので、普通に GTA シリーズが好きな人なら、二度お得かもしれません(w

PSP をひたすら追いかけている Hacker Fangita に敬意を表しつつ、久々にプログラマとしての血が騒ぎます。

Grand Theft Auto : Liberty City Stories

1月 25, 2006 0

Amazon ECS 日本語チュートリアル

By in Diary

を、いまさらながら見つけた(2005年8月バージョン)。

Amazon.com XML Developers

この下の発言の中に、pdf へのリンクが張ってある。

ちなみに、英語のオフィシャルドキュメントは以下 URL。

http://www.amazon.com/gp/browse.html/?node=3487571

1月 25, 2006 5

PHP5 の fgetcsv() で読み込み内容が腐る現象

By in PHP

こんどは、PHP5.1.2 の fgetcsv() ではまった…

fgetcsv() で読み込もうとする csv ファイルの文字コードと、PHP の内部文字エンコーディングが違う場合、fgetcsv() で読み込むと、どうしても文字が腐る …
(PHP4 時代[少なくとも 4.3 系統は]は、問題なかった)

【以下みたいな場合】

  • CSV: Shift_JIS (Windows の Excel で作成されることを想定するとこれ)
  • PHP内部コード: UTF-8 (最近は自分プロジェクトはこれで統一している)

で、試しに、CSV のエンコードを UTF-8 にして試すと、うまくいんだよなぁ。

色々調べると、PHP5 からどうやらロケール? に左右されるらしい… (参照URL: PHP-devML)

ただ、上記 ML のスレッドでも解決方法(いや解決してないようだが)を試しても、やっぱりダメ。
なら、PHP を ShiftJIS にすればいいじゃん!と思ったが、さすがにそれはプログラマとしてするわけにはいかない。

なので、そもそもバグなのかはわからないけど、いずれ修正されることを期待しつつ、今回も力業で取り急ぎの対処。以下、ソースコードと手順。

$buf = mb_convert_encoding(file_get_contents(“$CSV FilePath”), “utf-8″, “sjis”);
$fp = tmpfile();
fwrite($fp, $buf);
rewind($fp);

手順としては、

  1. CSV ファイルを一度読み込む
  2. 文字コードをコンバート
  3. テンポラリファイルを作成
  4. コンバートした内容を書き込む
  5. 書き込んだファイルの、ファイルポインタを先頭に戻す
  6. で、fgetcsv で読み込みを行う

これでうまくいった。
コード+4行で動作するのならば、まーいいかな…とは思うけど、相変わらず泥臭い対処方法だと思う。