ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

画像について If-Modified-Since ヘッダーの処理を実装

前に実装した(と思ってた)自作コードを引っ張り出してきて、組み込んだりしてた。 まぁ、時刻表記のGMTに振り回されたり組み込んだコードの変数名で惑わされたり少し嵌ったけど、ようやく画像については304を返せるようになった。あと、前に作った自作コー…

Jakarta Commons FileUpload の 1.1 で、RFC1867見ながら作ったmultipart/form-dataを送りつけたらFileUploadExceptionで怒られた。

The client might send back the following data: Content-type: multipart/form-data, boundary=AaB03x --AaB03x ... --AaB03x-- http://www.ietf.org/rfc/rfc1867.txt これをそのままコピペして適当にHTTPのPOSTデータ頭にくっつけて送るプログラムを動か…

CookieヘッダをWinInetのHttpAddRequestHeaders()で指定しても送られない件

疲れてきたので一言で済ませます。 InternetOpen() の dwFlags に INTERNET_FLAG_NO_COOKIES を含ませす。InternetOpen() : http://msdn.microsoft.com/en-us/library/ms918368.aspx InternetOpen()のdwFlagsで指定可能な定数 : http://msdn.microsoft.com/e…

WinInetのInternetGetCookie()で何度ブラウザで取れているのを確認してもERROR_NO_MORE_ITEMSが返されてしまう件

お仕事でVB6でActiveXでユーザーコントロール作ってHTMLに埋め込んでHTTP(S)通信させるまぁよくあるプログラムを組んでいるわけです。一昔前ならともかく、もはや組み合わせとしては「枯れた」感のある技術群だけあって、Googleに片端から目に付いたAPI名と…

YakiBikiではTrackBack機能は当面、実装しません。

なんでか、という理由を長々と書いた将来また気が変わった自分用のエントリが、保存したと思ったら確認しかしてなくて、うっかりFirefox閉じちゃったので私の記憶の一部が蒸発しました(つд⊂)。えっと、とにかくYakiBikiの基本ポリシーは「招かれざる者、コン…

GoogleとYahoo!のブログ検索を、自分のBlogを引用しているサイトの更新一覧にするには。

先ほど書いた件を実際にやってみたメモ。なお、表示文言や検索パラメータは2008/11/10時点のもので、将来変更される可能性があります。以下の情報は自己責任でどうぞ。・Googleのブログ検索(2008/11/10時点でBETAバージョン) http://blogsearch.google.co.jp…

GoogleMap用のWikiプラグイン、出来た。あとsetup.php周り直した。

検索一覧画面での複数表示も上手く行った。 HTML/Wiki両プラグインのヘルプページにも追記した。結局、丸一日かかっちゃったなぁ・・・。途中、子安武人+アイマス実況中継MADで2時間ほど笑い転げていたのもあるけど。あとsetup.phpで、初期データがおかしか…

GoogleMap用のHTMLプラグイン、出来た。

MapTypeControlが、見慣れた文字列の四角い枠の表示・・・じゃなくて、何か潰れた線みたいになってる。 ちょっと気になるけど、後回しにしても問題無さそうな感覚があるので、とりあえず引き続きWikiプラグイン(HTMLプラグインへのラッパー)を作ってみよう。…

GoogleMapで、現在表示中のマップの中心緯度・経度を取得する為のカスタムコントロール

適当にGoogleMapのサンプルとかAPIドキュメント見ながらでっち上げたやつです。GoogleAJAX API経由でロードする方式に併せてます。あと、コードピースですので、実際に組み込む時は自己責任の上で、適宜足りない部分を想像等で補って下さい。"WhereAmI?"カス…

Google AJAX API 経由で GoogleMaps APIを jQuery と併せて使う時のメモ。

最近はGoogleのAJAX APIというのを使う事で、MapsとかSearchとかDataとか、統一されたロードAPIや区分けされた名前空間を使って利用する事ができるようになってるみたいです。・「Google Maps API の概念」 http://code.google.com/intl/ja/apis/maps/docume…

今日の分のメモ。

済: login/logout時のリダイレクト先のURLチェック(_YB('url')で指定されたURL範囲内である事) template日時置換 protector.phpで文字コードチェック さらに、$_REQUESTに$_GETと$_POSTのみ入るよう上書き処理 バージョンがモデレートされている時に、編集…

文字エンコーディングをmb_check_encoding()でしようとしたらmbstring.substitute_characterとかmbstring.encoding_translationを設定していた為にうまく動かなくて少し嵌ったのでメモ。

基本的にmbstringモジュールが無い環境を想定しているYakiBikiですが、入っていればちゃんと文字エンコーディングのチェックをしておきたいなぁとずっと思ってまして、入れたのですが。 昔設定した mbstring.substitute_character とか、mbstring.encoding_t…

outlineのバージョン未検知の件修正。あとTODOとか。

結局Wikiプラグインで、ページのソース全体を取得し直しているのはoutlineプラグインのみだと分かった。ということで、yb_Wikiクラスのstaticメソッドとしてオリジナルのソースデータを保持するメソッドを用意し、yb_Wiki::convert()メソッドを呼ぶ時にここ…

imageプラグインでのメモ

なんかSF.netのSVNサーバにつながらない。夜中とかすごい重くてつながらない時がある。CodeReposに移そうかなぁ。imageプラグインでメモ。これまではimageプラグインとしてタイトルも指定可能にしようと思ってまして、alpha-2まではそうなってます。 &image(…

これを買えば、PHP5.3の名前空間の区切り文字(バックスラッシュ)をどの環境でも入力できるネ!

USB接続で「バックスラッシュを入力する為だけの外部入力装置」。 画像は元ネタ参照。 However rescue is near in the form of a USB device that allows you to enter the backslash character in a smooth and easy way. First pictures of this device th…

Wiki書式用のCSSを追加した。

KinoWikiとか、方々のサイトをあちこち参考にしつつ、ようやくWiki書式用のCSSをまとめ終えた。 HTML用のプラグインのCSS設定とやっぱり干渉して、ぽろぽろHTML直したりHTMLプラグイン用のCSSを直したりした。そして、かなりヤバイミスが発覚した・・・。Wik…

Singletonはすごい取り扱い要注意なデザパタとつくづく実感した。

YakiBikiのHTMLプラグインでHTMLエスケープが抜けてそうだったので一通り見直し掛けてる内に、みょうな現象が発生した。 "sys"ロールユーザーでログイン中に、 1. を実行し、 2. を実行するようなHTMLドキュメントを表示してみる。 具体的にはこんなHTMLテキ…

PHPの象さんにフォークが突き刺さってる(笑)

PHP

元記事参照。MOPBやってたStefan Esserさんのブログから。 Being a man of actions the first thing I did today was to fork PHP. http://www.suspekt.org/2008/10/31/php-got-forked/ ウホッ。象さんのお尻にーーーーっ!!forkと言う意味では、id:rsky氏…

HTMLプラグイン修正、その他

yb_naviのコードが古かったので直し始めたら、テスト用のページを作ったりしていく過程であっちにもこっちにもバグが見つかってへこんだ。 テキスト型テンプレートを元に新規作成しようとした時に、テンプレートに設定したフォーマットやテキストが新規作成…

Barry Boehmがインクリメンタル開発を研究していたのは本当だった。

http://en.wikipedia.org/wiki/Barry_BoehmWikipediaに「Spiral Model」という項で紹介されているように、インクリメンタルな開発手法を研究していたのは本当だった。また、よくよく読み直したら「人月の神話(新装版)」の16章の 漸増的開発 - ソフトウェアを…

ベームがインクリメンタル開発を推奨していたのは本当?

・「リーンソフトウェア開発」 http://www.amazon.co.jp/dp/4822281930/これを今更読んでるんだけど、そこでかなり吃驚した箇所に突き当たった。ちょっと長めだけど引用する。・「リーンソフトウェア開発」(日経BP), p83 1987年にバリー・ベームはこう書いて…

コメント機能、一旦実装完了。

最新のコメントN件一覧をHTMLプラグインとWikiプラグインで実装できたので、ようやくコメント機能をひとまず実装完了とします。 <yb_newcomments 件数 /> : HTMLプラグイン版 &newcomments(件数) : Wikiプラグイン版Wikiプラグインは、HTMLプラグインのラッパーです。動的に変わりま</yb_newcomments>…

TrackBack、YakiBikiだと難しい点がいくつかあるなぁ。

・「トラックバック技術仕様書」 http://lowlife.jp/yasusii/stories/8.html↑を見ながら簡単なサンプルスクリプト書いて、送ったり受けたりをはてなダイアリ相手に試したりしてました。で、アプリとして配布するYakiBikiの場合幾つかスパム判定周りで難しい…

コミニュケーション

昨日(土曜日)会社の研修があって、コーチングのプロの講師を招いて午前中〜午後3時位までコーチングのイロハや体験などをした。 で、体験のところで「コミニュケーションで困っている事」を30人前後の参加者から挙げて貰ったら、まぁ色々出てくる。 大凡「コ…

やっぱりみんな、こういうソフトを作りたがるんだなぁ。

MySQL/PostgreSQL/SQLiteに対応しており、データ構造を見ながら項目を追加したり削ったり、順番を変えたりすることができる。 Webアプリケーションは管理画面から作成するのだが、その時点で枠組みは自動生成され、後はコマンドラインで中身の構築を行う。 …

今更 PHP4.4.9 にアップグレードしたら、"LIBPQ.dllが見つかりません" でへこんだ。

PHP

仕事上PHP4に触る機会がまだまだあります。またPHP4のサーバー自体はあと1〜2年はしぶとく生き残ると見ていますので、YakiBikiとかも相変わらずPHP4で動作確認したりしてます。で、PHP4.4.8からPHP4.4.9にアップグレードしたら "LIBPQ.dll"が見つからない…

コメント機能実装・・・8割くらい出来た。

途中、リビジョン393で投稿済のコメントの「編集」機能を追加したのだけれど、よくよく考えたら不要。いや、だって過去のコメントを修正されたら、コメントでやり取りしている場合に話の流れが分からなくなるから。 というわけでCSSとかHTMLの調整と同時に、…

駄目。やっぱ、TrackBackは実装しない。

勢い込んでDAO作って、tb_addなるモジュールをコピペして中身を書いていた途中。 簡易spam判定でURLをGETしたコンテンツから検索する所を書き始めた瞬間。「・・・あれ?YakiBikiのURLって、URLクエリ使ってるから、パラメータの順番変わった瞬間に判別不能…

ブラウザ上にPCのローカルファイルをドラッグ&ドロップする技法のメモ

お仕事の関連で調べる事になった。で、ブラウザ上で動くので多分Appletで良いのかな?ということでGoogleに「Java Applet Drag and Drop」、さらにPC上のローカルファイルなので「Desktop File」を付け足す。Java Applet Drag and Drop Desktop File - Googl…

検索機能修正終わった。あと新規作成時の挙動を修正。

検索機能を新しいコードで入れ替えて、あとHTMLとかCSSも少し直した。 新規作成時、データの「型」が指定されていない時の挙動も直した。今までは「データ型無効」のメッセージで終わらせていたけど、データ型選択画面を出すように直した。