2005年07月04日(月) [長年日記]
■ [unix][shell] coreファイルができない場合
Fedora Core 3でcoreファイルが作成されなくて困った。
こんなときは、bashを使っているなら
$ ulimit -a
を実行し、「core file size」に小さな値が設定されていないかどうかをチェックする。もし0などと設定されているとcoreファイルが作成されないので、
$ ulimit -S -c unlimited
などと設定すれば、coreファイルが作られるようになるはず。
cshの場合はlimitコマンドとunlimitコマンドを使うようだ。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
家賃健康保険料税務署
2005年07月06日(水) [長年日記]
- 昨日は洗濯物干しておいたのに雨降ってガッカリ。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
2005年07月10日(日) [長年日記]
■ [tdiary] [tDiary-devel] コメントspamフィルタ
- http://www.tdiary.org/ml/devel.rb?key=/mailarchive/forum.php%3Fthread_id%3D7698210%26forum_id%3D8349
多機能なフィルタと設定用のプラグインみたい。
■ [dev] 「「作業量ではなく、機能で買う」、KDDIがシステム調達で新方針」 (IT Pro)
6月の記事が少ーしだけ気になったのでメモ。
機能量を測る方法自体は、ファンクション・ポイント(FP)法という昔からあるものを採用する。すでに、3人の情報システム部員がFP法によるデータ取得と分析に取り組み始めた。ITベンダーからもFP法で計測したデータを取得している。
■ [java] 「RCP Tutorial: Part 1」 (Eclipse Japan Working Group)
RCPのチュートリアルの日本語訳。新・たけぞう瀕死の日記より。
この Tutorial では EclipseCon 2005 で行われた Tutorial をサマリで Part 1, Part 2 に分けて紹介します。Eclipse 3.0 から導入された RCP (Rich Client Platform) を使って、RCP によるリッチクライアントの世界とその開発の COOL さを垣間見ていただけると思います。
Hyadesによるプロファイリング入門てページもある。
■ [web][javascript] 「JavaScript」 (DevGuru)
JavaScriptのリファレンス。ベイエリア情報局より。
他にASP、CSS2、HTML、WSH、XHTML、XSLTなんかのリファレンスもある。
■ [security][web] 「クロスサイトリクエストフォージェリ(CSRF)対策がいまいち進まなかったのはなぜか」 (高木浩光@自宅の日記)
CSRFに関する考察。CSRFってXSSなんかに比べてどのようなことに気をつけないといけないのかピンときていなかったのだけれど。
たとえば、4月19日の「水無月ばけらのえび日記」などにも書かれているように、パスワード変更機能で旧パスワードの同時入力がないと、CSRFによってパスワードを強制的に任意の文字列に変更されてしまうという脅威があることになる。
という例が分かりやすかった。今関わっているシステムが該当するから。
改めて、どんなページにCSRF対策が必要なのかをきちんと認識しておく必要があると感じた。で、それは以前にメモした高木さんの4月の日記に
CSRFを防ぐ必要があるのは、Webアプリケーションに対して何らかの恒久的なデータ変更を発生させるアクセスとなるページ(登録情報変更、設定変更、退会処理、注文実行、取り消しなど)である。
と分かりやすくまとめてあった。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
2005年07月13日(水) [長年日記]
- 今日はreturnした後でもう一度returnしているPHPのコードを見た。こんなのでも動くんだなあ。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
2005年07月14日(木) [長年日記]
- Fedoraでルートパーティションのジャーナリングモードをwritebackにしてみようと/etc/fstabを書き換えてリブートしたらルートパーティションがread onlyでマウントされてしまった。CD-ROMからレスキューモードで起動して復旧。慣れない事はしない方がいい。
■ [unix][php] 「RPMでPHP」 (よくきたwiki)
PHPのRPMを作る話をちょっとメモ。PHP-users MLより。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
2005年07月17日(日) [長年日記]
■ [book] レベル7 (宮部みゆき)
読んだ。記憶喪失の青年が記憶を取り戻そうとする裏で真行寺さんが人探しをして、殺人事件の真相が明らかになる話。つまらん。どうも宮部みゆきは合わないなあ。2点。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
2005年07月18日(月) [長年日記]
■ [web] テーブルにスクロールバーを付ける
HTMLで、ヘッダは固定でデータ部が縦スクロールするテーブルを作成したい。
にうまく実現している例があったのだけど、これはテーブルの幅が固定だ。幅を固定しないでなんとかできないか色々やってみた。
でも、結局だめ。色々なブラウザでうまくいくようにはできない。ブラウザの種類を特定すれば少しはできた。
Firefox(1.0.4)だと、<tbody>を使うことで大体できる。ただ、スクロールバーの分だけ横幅が狭くなってしまう。
IE6の場合は、スクロールする<div>の中にテーブルを埋め込むしかないみたい。なので、テーブルの幅は固定にするかブラウザの幅に合わせることしかできなそう。
(追記)
marsのメモでTable with fixed Header & Column on Internet Explorerというのが紹介されていた。後でどう実現しているのかを調べたいのでメモ。
(追記2)
全面JavaScriptのようだからちょっと違うけど、ActiveWidgets Gridもメモ。
(追記3)
冒頭のページがオブジェクト倶楽部のMLで紹介されていたのでなんとなくメモ。
■ [dev] 「Hungarian Notation」 (Radium Software Development)
- http://www.radiumsoftware.com/0507.html#050704 → http://www.radiumsoftware.com/hungarian_notation.html
本物のハンガリアン記法は役に立つという話。よく考えられたコーディング規約が必要だ。
しかし,先日の Joel Spolsky 氏のエッセイ "Making Wrong Code Look Wrong" は,世に広められたハンガリアン記法が実は誤解を含むものであり,その正しい意図を提示したうえで,必要性の再認識を促すものとなっていた。
(追記)
これってあのJoelさんのエッセイだったのか。日本語訳があったのでメモ。
- 間違ったコードは間違って見えるようにする (Joel on Software)
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
2005年07月19日(火) [長年日記]
■ [security][web] 「安全なWebアプリ開発の鉄則 2004」 (Internet Week 2004)
ビデオ付き。これが最新版なのかなあ。
ほかにもInternet Week 2004での気になる資料を今更ながら以下にメモ。
■ [net] 「間違いだらけの無線LAN」 (Internet Week 2004)
無線LANは使っていないけれど気になる。
いままで多く取り上げられてきた無線 LAN のセキュリティーだが、実はかなり誤った情報が伝えられているのが実情だ。本セッションではそれらの「誤解」を解き明かし、無線 LAN のセキュリティーを正しく理解していただくことで、安心して「線のない」ネットワークを楽しんでいただけるよう解説を行う。
■ [net] 「IPv6 Advanced Features」 (Internet Week 2004)
一応気になる。
このセッションでは主にモビリティ(MobileIPv6, NEMO)、セキュリティを実現するIPsecなどの拡張機能について取り上げ、より先進的なIPv6の利用方法や標準化の最新動向についてもふれます。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
- クリーニング
- 清掃用具
- 銀行へ行け
2005年07月20日(水) [長年日記]
■ [web][windows] IE6でダウンロードダイアログが2回表示される
問題
ウェブアプリケーションでHTTPヘッダに
Content-Disposition:attachment; filename="foo.csv" Content-Type: application/octet-stream
を付与することでウェブブラウザにファイルをダウンロードするかどうかを問い合わせるダイアログを表示させようとした。
で、手元のIE6だと「開く」「保存」「キャンセル」「詳細情報」を選ぶダイアログが表示されるのだけれど、ここで「開く」を選んだときに再度同じダイアログが表示されてしまう、という問題に遭遇した。2度目のダイアログで「開く」を選ぶと正しくファイルの内容が表示される。
調査
別のウェブアプリケーションで試すと、ダイアログが2回表示されるという問題は発生しない。HTTPヘッダを比べると、問題が発生する方だけCache-Controlヘッダなどが付与されておりこの辺が怪しい。
で、テスト用に
<?php header('Content-type: application/octet-stream'); header('Expires: Thu, 19 Nov 1981 08:52:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); header('Pragma: no-cache'); header('Content-Disposition: attachment; filename="test.csv"'); echo 'test,test,test'; ?>
というPHPコードを書いて再現させようとしたが、
Internet Explorer では、xxx.xxx.xxx.xxx - xxx.xxx をダウンロードできません。
このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直してください。
というエラーになってしまった。マイクロソフトのサイトにあるContent-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題が発生しているように思われる。(追記:本件はInternet Explorer が SSL 経由によるファイルのダウンロードで "No-Cache" ヘッダーを処理できないが原因かもしれない。当時SSLを使用していたかは覚えていないが、エラーメッセージはこちらと一致する。)
では何故件のウェブアプリケーションではこのエラーが表示されないのか。どちらのプログラムが返すHTTPヘッダも同じに見えるのだが。
これ以上先に進めなくて、結局どのような場合にダウンロードのダイアログが2回表示されるのかは分からなかった。
回避方法
現象はよく分からないままだが、回避方法はある。Content-Dispositionヘッダの値を「attachment」以外の文字列に設定すればよい。attachmentと書きたいけれど、こう書くと変な動作をするのだから仕方ない。
(追記)
@IT会議室に同じような話題があった。
ここに、POSTだと発生しGETだと発生しないという説が書かれていた。あと、マイクロソフトのサポート技術情報にもあるんだな。
ここには
この問題を解決するには (Internet Explorer 5.5 のみ)、Service Pack 2 にアップデートします。
とあるけど、IE6で起こっている。現象は同じでも原因は違うのかも。
(追記2)
はてなにも話題があった。
- 送信方法が POST の場合、HTTP ヘッダの Content-Disposition を外すかレジストリを操作することにより回避可能
とあるけどレジストリのどこを操作すればいいのだろう。
(追記3)
2002年のPHP-users MLに、session_cache_limiter()を使用して解決したという話があったのでメモ(ダイアログが2回表示される問題ではないが)。
あと、Content-DispositionヘッダについてはRFC2183で規定されていたのでその日本語訳をメモ。
- インターネットメッセージ中にて示される提示的情報: Content-Disposition ヘッダフィールド (Studying HTTP)
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
- クリーニング
- 清掃用具
- 銀行へ行け
2005年07月22日(金) [長年日記]
- 職場で席替えがあった。窓際から階段傍へ移動。
■ [php] DB_Pager
PEARにDB_Pagerというのがあって使えそうなのでメモ。ドキュメントはあまりない。
- PEARのDB_Pager (Nega Diary)
- Class: DB_Pager (APIドキュメント)
- Pear DB Pager (作者のページ)
2002年からバージョンアップされていないのがちと心配。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
- クリーニング
清掃用具銀行へ行け
2005年07月30日(土) [長年日記]
- 相変わらず毎日毎日他人の作ったPHPプログラムのバグ取りをしている。もう飽きた。心に余裕がない。
■ [java] 「JavaプログラマーのためのCSP 第1回」 (developerWorks)
マルチスレッドプログラミングの話。CSPというので数学的に平行性の問題をチェックできるみたい。
つまりデッドロックやライブロックに関しては、CSP(Communicating Sequential Processes)として知られる、スレッド同期に関する厳密な数学理論を使って、設計時に処理するのが最善なのです。1970年代後半にC.A.R. Hoareによって開発されたCSPでは、CSP構成体やCSPツールを使って構築されたシステムには並行性に関する一般的な問題が無い、ということを効果的に証明できるのです。
でもCSPの説明はこの文書にはない。続編の翻訳に期待。
■ やること
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
- クリーニング
- 健康保険料納付
2005年07月31日(日) [長年日記]
- 図書館に本を返して、いくつかの歯科の外観を見てきた。外観からじゃ何も分からない。
- サッカーとか世界水泳とか見てたらあっという間に週末おしまい。やりたいことが全然できていない。心に余裕がない。
■ [tdiary] リファラエディタプラグイン
地味にリンク元にspamが来る。リファラエディタプラグインをインストールしてリンク元を削除。
■ やること
- オーブンレンジ用べんり棚(46x30)
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 請書
クリーニング健康保険料納付- 腕時計
- でっかい封筒
- tDiaryバージョンアップ
- ブックカバー
● 通りすがりの者 [ダイアログボックス2回表示の問題で、同様に困っています。 このページはとても参考になりました。 ありがとうございまし..]
● 感謝してます男 [「黒い画面⇔白黒の縦じま」を繰り返していたのですが、 1時間ほど置いていましたら、正常に動作するようになりました。 ..]
● 感謝してます男 [投稿ミスです。すいません。]