サクラエディタによるBOM判定

Windows標準のメモ帳ではUTF-8にして保存時に有無をいわさずBOMがついてしまうが、まっとうなエディタであれば保存時にBOMの有無を選択できる。

秀丸エディタはシェアウェアなので、フリーのエディタ代表格であるサクラエディタによるBOMの設定方法(判定にも使える)

サクラエディタで該当ファイルを開き、「名前を付けて保存」すると以下の画面となる。右下すみにBOMのチェックボックスがあるのがわかるだろうか。
もしBOM付きファイルを開いた場合、チェックボックスがONとなっているはず。

サクラエディタ保存時BOM選択

カテゴリー: 未分類 | 2件のコメント

ブルースクリーン Stop 0x0000000A

不安定だとこの間取り上げたばかりの職場のPC Dell OPTIPLEX980

今日の朝、電源が付いているのでなんでかとおもったらタイトルのとおりブルースクリーンがでてシャットダウンできない状態であった。

残念ながらブルースクリーンがでたらほぼ諦めるしかないんだね。マイクロソフトのページによると新しいハードウェアを追加したなどのドライバーが原因であるとあるけど、導入してから一切ハードウェア変えてないし。MSのページってまったくもって役に立たないブルースクリーン対策だよな。

ブルースクリーンの根本対策は再インストールして、また再発するようなら諦めてマシンを替える!
これが良いでしょう!

会社のマシンだから入替はどうしようもないけど・・・
ドライバーを最新にしてみるかな・・・

カテゴリー: Hardware, Windows | コメントする

CakePHP An Internal Error Has Occurred

CakePHPでDBにテーブルを新しく追加して、ModelとControllterを作成してアクセスしたときに遭遇したエラー。

通常Modelは自動生成されるのだが、本番モードだとどうもキャッシュがきくのか自動生成されないようだ。というわけでapp/config/core.phpのデバッグモードを一瞬だけ有効にする。

        Configure::write('debug', 1);

たぶんこの回避策がベストではないけど、取り急ぎ回避できるので困っている人のためにあげてみた。

カテゴリー: CakePHP, PHP | タグ: , , | コメントする

CentOS 5.6サーバパッケージアップデート

さすがに半年もたつとアップデート対象のパッケージが200を超えてとんでもないことに。

本来であればアップデートパッケージを一つ一つ吟味して影響確認を考えながらアップデートしなければならないけど、自分のサーバだから気にしないで一気にアップデート。

yum update

リストがでてくるのでyを入力。あとは適用終了まで気長に待つ。

カテゴリー: CentOS | コメントする

徹底究明 「致命的: 以前のエラーのためにコンテキストの起動が失敗しました 」 Filter編

どきっとするTomcatのエラー「致命的: 以前のエラーのためにコンテキストの起動が失敗しました」の徹底究明講座スタート

Filterの設定でエラーが起きたときに上記エラーが起きるのだが、具体的にはフィルタークラスはFQDN(パッケージ名を含む長いクラス名)で指定するため、パッケージ名やクラス名が間違っていると以下のようにエラーメッセージが出るはず。

■エラーログの例

致命的: フィルタ UrlRewriteFilter の起動中の例外です
java.lang.ClassNotFoundException: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)

・・・中略
致命的: Error filterStart
2011/07/25 11:31:53 org.apache.catalina.core.StandardContext start
致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/コンテキスト名]

■対策

まずクラス名が正しいことを確認する。正しかった場合はクラスパスに該当するクラスが含まれているかをチェックする。
コンテキストルート/WEB-INF/libにjarファイルを放りこんでおけば該当コンテキストのクラスパスに自動で含めてくれる。

これらのエラーはweb.xml読み込み時に発生するため、起動してすぐにエラーメッセージが出るはずである。
(他にコンテキストがなければの話だけど)

ほかにコンテキストが存在する場合エラーメッセージが流れてしまうので、「致命的」などのキーワードが出ている場所を探してみること!

カテゴリー: Java, Tomcat | コメントする

Tomcat起動時に[sealing violation: package oracle.jdbc.driver is sealed]で落ちた場合の対策

複数アプリ開発を同じTomcatに載せてローカル開発環境構築中に遭遇したエラー。

コンテキスト起動中のエラーなので、「以前のエラーのためにコンテキストの起動が失敗しました」とでて該当コンテキストが利用できない状況になってしまった。

原因としてはoracleのjdbcドライバーが複数あることが原因らしい。
良く調べてみると今回のアプリ用にTOMCAT_HOME/lib/odbc14.jarを配置した。
以前まで動いていたアプリには別のOracleドライバーが配置されていた。これが競合しておりエラー発生の原因となった模様だ。

というわけで以前まで動いていたアプリはローカルではOracleドライバーは不要なのでこちらのTomcat開発用クラスローダーからOracleのjarを外した。

再起動したところ問題なく起動できた。
もうちょっとメッセージを分かりやすくして欲しいもんだね。

カテゴリー: Tomcat | コメントする

スワップ増加によるパフォーマンス劣化?

最近Apacheのレスポンスが遅い時がある。そんな時にvmstatコマンドでみてみるとスワップイン、スワップアウト(si,so)が発生している。

やっぱりメモリが512MでApache+PHPのプロセスが大量に発生すると、メモリが不足気味でスワップが発生しまくるようだ。

多分Wordpressを高速化しないと、プロセスの滞留が起こってしまうね。ちょっと本格的に調査と対応にとりかかろう。

カテゴリー: サーバ管理 | コメントする

BASIC認証の掛かっているページをwgetで取得する方法

wgetで認証のかかったページを取得する場合はオプションを付けなければならない

wget --http-user=ユーザ名 --http-password=パスワード http://www.rutake.com/

余り使うこともないので覚えておくべき程でもないwgetのテクニックでした。

カテゴリー: Linux, コマンド | コメントする

ちょいと不調なDELL OPTIPLEX 980

2011/02月に会社のPCが一斉にOPTIPLEX 980にリプレースされた。
しかしこのPC周りと自分含めてなんかトラブルのもとを抱えているようだ。

今までに起きた事例
・SATAのHDDを認識しない(再起動で治った)
・メモリ不良の自己診断結果(再起動で治った)
・正常終了時の謎のスキャンディスク
・突然OSのマウスカーソルも動かなくなるフリーズ

うーむ、自分以外にも複数台でいろんな不具合が起きていると、一年後には完全故障がありそうだな。。。
不良ロットなのかな?

前のPCもDELLでその時はこんなトラブル無縁だったので、この先ぶっ壊れやしないかととても心配。

カテゴリー: つぶやき | コメントする

2011/07 ブラウザシェア

2011年7月の定点観測

一位はIEの48.10%、二位はFirefoxの27.20%、三位はChromeの18.23%、四位はSafariの2.43%で五位はOperaの2.23%となる。それ以下は1%に満たないので5位までの壁は大きい。

IEの内訳は8が57.50%、6が17.77%、7が15.18%、9が9.51%となっている。IE6がまだこれだけ残っているのに驚き。企業ユーザかな?

カテゴリー: 統計情報 | タグ: | コメントする