KisoJava

本日発売。

Amazonでは、まだ書籍のカバーイメージがアップされていませんが、出版社の編集者さんの話によるとコントロールできない部分だということで、しばらく用意されないかもしれません。クリック数がある程度いかないと表示されないのでしょうか。よくわかりません。

近くの書店へ見に行きましたが、H書店にはありませんでした。T書店には1冊だけおいてありました。売れ筋のシリーズものは平積みされているのですが、今回の書籍が同等になるには道のりは遠いかもしれません。デザインとかは結構気に入っていて、見劣りはしないですが、中身に魅力を感じてくれる人がどれくらいいるのかが最大の問題です。

しかし、いつもながら、書店に自分が執筆した本が置かれていると、なんとなく嬉しくなってしまうものです。無事、出版までいけて良かったです。

ps2pdf

ps2pdfコマンドを使って、PSファイルからPDFファイルを生成するWebアプリケーションをPHPで実装してみました。ファイルアップロード、PDFファイル生成、ダウンロード用リンクの表示、という単純なものですが、結構使えると思います。あとは、3日たったらアップロードされたPSファイル、PDFを削除するcronを走らせておけば完成です。一応、複数名が使う事を想定すると、ログイン名や時刻を使ったりしてファイル名が衝突しないようにする必要がありますが、そのあたりはもう少し時間がとれてから対応しようと思います。PHPは簡単にLinuxコマンドを呼び出せるので、その点では重宝するのですが、フレームワークがなかなかこれ、というのがないので、それなりのWebアプリにするのは、意外と時間がかかるような気が最近はしています。生産性が高いようで低いのではないだろうか、とさえ思ってしまいます。ちなみに、参考にした本は「PHP ポケットリファレンス」です。

サンプルコードをざっとみているだけなので、資料として良いのか悪いのかまでは把握していませんが、インターネット上でバージョンやら環境やらを断片的な資料だけで判断しながら試行錯誤するよりは、速くプログラムができます。PHPはバージョンごとの差や、環境(使用するDBなど)ごとの差が大きいような気がしますから、どれか一冊購入して、その環境で対応するというのが現実的な気がしています。とはいえ、rpmなどで提供されているものを使う場合は、どうしても環境に合わせてコードを用意するしかないので、そのあたりは難しいところです。

ところで、今回はFedora 6 を使ったのですが、SELinux周りで若干はまりました。アクセス権まわりはすぐに忘れてしまっていけません。とりあえず checkpolicy とか setool をインストールして、それらに付属しているコマンドやツールを使って対処しました。日頃から慣れておかないと、実際にSELinuxベースで稼働させているサーバを管理するときに大変だからなのですが、やはり面倒くさいですね、SELinux。毎回、うまくいかないたびに、コマンドを確認して作業をしています。

その際に役に立っているのは、「Fedora7で作るネットワークサーバ構築ガイド」です。Fedora 7 ですが、Fedora系では同じなので、有用です。SELinuxについて、それほど詳しく書いてあるわけではありませんが、運用するにあたって最低限知っておくべき点は押さえられているので、重宝しています。

Java Book

執筆した書籍がAmazonに登録されたようです。

2/29発売予定です。オーソドックスな内容でありつつ、BeanShellを使っていたり、デザインパターンを意識したコードとなっていたりと、チャレンジしています。基本を理解してもらうという視点から、初心者にとっても、経験者にとってもサンプルは面白いと思うのですが、基礎体力をつけるみたいなところがあるので、立ち読みとかしたときには難しそうだと勘違いされてしまうかもしれません。

JBoss Seam Book

JBoss AS, Seam 本ということで、注目しています。どんな内容でしょうか。どきどき。

Fedora7 book

「Fedora7で作るネットワークサーバ構築ガイド」はなかなか充実した内容ではないかと思います。

カテゴリー: Book

Book

Servletに関する書籍を読んでいるのですが、セキュリティ上の問題点がたくさんあるような感じがします。読み進めていくと、対策がでてくるのかもしれませんが…。具体的には、JavaScriptでチェックしてある値については、サーブレット側ではチェックしていなかったり、SQLインジェクション対策がされていなかったりします。直接POSTされることもあるので、まずいのではないでしょうか。

idの数値が渡されることが前提となっているところへ「1; delete from tableName; select * from tableName where id=1」なんてのがきたら表のレコードが全部消されてしまうので、数値かどうかのチェックとかは必須だったような記憶があります。

もちろん、基本的な処理の流れを理解することが大切なので、それらについて理解してからセキュリティ対策を技術を説明するというのもありだと思いますので、それでもいいのですが… とりあえず一通り読んでみようかと思います。

ちなみに、下記の@IT の記事とは別で、ちょっと古い参考書籍です。時代が古いからプログラミングも甘いのかも。

D

魔道衆が出ていた。その前の刊を読んでいないことにも気付きましたが、どこにも売ってなさそう..