2010年12月31日金曜日

Ichiroという User Agent

ロボットのUserAgent(UA)を弾く(14) | サラトガIT日記
これは、NTT レゾナント株式会社が運用している Web クローラみたいですね。goo のヘルプページに説明がありました。

gooの検索エンジンボットらしい。

2010年12月27日月曜日

PostgreSQLではユニークキーを作成すると INDEXも作成される

PostgreSQLで自動的にインデックスが生成される条件 - sternhellerの日記
インデックスが生成される場合

* PRIMARY KEYを指定する
* UNIQUE NOT NULLを指定する
* UNIQUEを指定する

いつもどっちだったか忘れる。

2010年12月24日金曜日

インストールしようとしたらProgram too big to fit in memoryと言われた

WindowsでPostgreSQLのインストーラのexeをダブルクリックしたら、一瞬だけ黒窓(コマンドプロンプト)が表示されてすぐ消えた。
何が起きてるのかとコマンドプロンプトからexeを実行したら、「Program too big to fit in memory」というエラーメッセージが表示されてすぐ終了。

で、調べてみたらこれらしい。

MSDN Web サイトから入手した Visual Studio .NET 製品のインストール ファイルをインストールしようとすると、エラー メッセージ "Program too big to fit into memory" が表示される
"Program too big to fit into memory"

インストーラがおかしいと。
インストーラをダウンロードし直したらたしかに正常に起動した。
色々並行でやらせすぎたからかしらん。

PHP 5.3.2以降では flock()で取得したロックを fclose()時に解放しない

PHP: flock - Manual
PHP 5.3.2 より前のバージョンでは、fclose() でロックの解放も行います (これは、スクリプトが終了した場合にも自動的にコールされます)。

スクリプト終了時には解放するだろうから、大抵の場合は影響ないだろうけど...
ロック期間を短くするなら明示的にLOCK_UNした方がいいんだろうね。

PostgreSQLで グループごとに連番を付けて SELECTする方法

Window関数を使うと便利。

Window関数 — Let's Postgres
PARTITION BY と ORDER BY は同時に使用することもできます。以下の例では、地域ごとに身長の低い順に番号付けしています。

SELECT id, 地域, 身長,
rank() OVER (PARTITION BY 地域 ORDER BY 身長)
FROM tbl;

これはいい!

2010年12月22日水曜日

PostgreSQLで 数字をフォーマットする方法

SQL 文字関数 - 連結、空白削除、置換、切出、検索、長さ、数値変換他 - SAK Streets
■数値から文字列へ変換 (数値フォーマット、書式変換) ・to_char() 関数は、数値を文字列型に変換します。

これは使い方によっては便利。

数字形式の文字列の日時をフォーマットする場合はこんな感じで。
select to_char(cast('201001020304' as decimal), '9999/99/99 99:99')



Windows用の PHPでスレッドセーフ / ノンスレッドセーフ、VC6 /VC9のどれを選ぶべきか

PHP5.3どのビルドを使うのか - なんたらノート 第二期
http://windows.php.net/download/
にて、計4種類のPHP5.3 Windowsバイナリが配布されています。というか、すでに5.2の時点で2種類ありましたが。これらのうち、どれを選ぶべきかという基準について、軽く調べたり推測したりしたメモです。

普通はスレッドセーフのVC6、Apache Lounge等のVC9でビルドされたApacheの場合はスレッドセーフのVC9を使う、ということらしい。

2010年12月17日金曜日

Reset CSSの移り変わりの歴史

[CSS]ブラウザのスタイルを初期化するスタイルシートの総まとめ -2010年版 | コリス
ブラウザごとに異なるデフォルトのスタイルを初期化するスタイルシートの歴史を振り返りつつ、2010年の最新のCSS Resetまでのまとめを紹介します。

YUI2やYUI3はどこに入るんだろう?

2010年12月16日木曜日

Firefoxの Awesome Barとは?

Mozilla Links 日本語版: Firefox 3 Beta 2 レビュー
Beta 1 と Beta 2 の間に、 location bar (非公式に“awesome bar”と呼ばれています)は オールマイティになりました。

Location barが高機能化された時のコードネーム(ニックネーム?)のようだ。

AwesomeBarというアドオンもあるのでややこしい。

faviconを取得できる APIいろいろ

リンク先のFaviconを取得・表示できるWebサービス(API)とJavaScript・プラグインまとめ : web memo.Ver.2
自分用に外部リンクのFaviconを表示できるサービスを探す必要があったので、発見できたもので2009年11月現在でも使えるAPIサービス・JavaScript・プラグインを一通りピックアップ。

いろいろあるんだー

2010年12月15日水曜日

PostgreSQLの場合、 PDOStatementの rowCount()で SELECTした件数を取得できた

直近の SQL ステートメントによって作用した行数を返す - PHP 5.3 日本語マニュアル
ほとんどのデータベースでは、PDOStatement::rowCount() は SELECT 文によって作用した行数を返しません。

ってPHPのマニュアルには書いてあるけど、手元のPostgreSQLではSELECT件数をrowCount()で取得できたよ。
.

2010年12月13日月曜日

postgresで数値型で LIKE演算子を使ったらエラーになる場合の対策

PostgreSQL - bugs - BUG #4055: Using Like in PostgreSQL 8.2.7 and 8.3.1
ERROR: operator does not exist: bigint ~~ unknown
LINE 1: select * from movimientos where idmovimientos like '178'
^
HINT: No operator matches the given name and argument type(s). You might
need to add explicit type casts.

PostgreSQL 8.2で動いてたSQLが、PostgreSQL 9.0にしたら↑と同じように、bigintでLIKEを使う箇所でエラーになった。
ERROR:  operator does not exist: bigint ~~ unknown
(略)
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.

PostgreSQL8.3からは型の使い方が厳密になり、暗黙の型変換をしてくれなくなったために発生したエラーらしい。

キャストを追加してバージョン互換性を保つには — Let's Postgresに対策が書いてあるが、ユーザー定義のCASTではレスポンスが少し心配?(標準のCASTとそれほど変わらない?)

影響箇所が少ない(そもそも数値型にLIKE文なんてレアだ)から、個別対処にしようかな。

2010年12月10日金曜日

PostgreSQLは次期バージョンの 9.1で MERGEをサポートするらしい

PostgreSQLのこれまで、9.0、そしてこれから
9.0 9.1 PostgreSQL 9.0 α ( : ) ?? PostgreSQL 9.1 ( , ) MERGE : UPDATE, INSERT REPLACE, UPSERT SQL “MERGE” Predicate Lock SE-PgSQL : , SQL/MED : , DB , JSON PGCon 2010 http://wiki.postgresql.org/wiki/PgCon_2010_Developer_Meeting JPUG 2010 25

これは朗報

コマンドプロンプトからWindowsのユーザーを削除する方法

PostgreSQL上にMediaWiki環境を構築 (3) — Let's Postgres
net user postgres /delete

こまったちゃんのpostgres君は削除!

2010年12月9日木曜日

Windowsユーザー管理画面に postgresが表示されない問題の対策

PostgreSQL上にMediaWiki環境を構築 (3) — Let's Postgres
インストーラに任せて postgres ユーザを作成した場合、「コントロール パネル > ユーザー アカウント > アカウントの管理」で表示される一覧に postgres ユーザのアイコンが表示されないと思います。これは異常な動作ではなく、この一覧には Administrators や Users グループに所属するユーザのみが表示されるためです。インストーラが作成する postgres ユーザは、そのままでは何のグループにも所属していません。管理などを行うため一覧に表示させたい場合には、コマンド プロンプトから net localgroup コマンドを使用します。

Windows 2003の頃は普通に表示された気がするけど、Windows 2008あたりで変わったのかな?

Windows XPの起動を速くできるらしい

Windows XPの起動時の長いディスクアクセスは、Windows Updateの履歴が溜まりすぎていたせいだった?! - 全力HP
遅くなっていた理由

 Windows Updateの履歴が溜まっていて、Windows開始時にアクセスしにいくせいらしい。私の場合はおよそ100メガのファイルが出来ていた。
具体的なやり方

 Windows Updateのサービスを止めてから、c:\windows\SoftwareDistribution\DataStoreの中身を削除し、Windows Updateサービスを再開する。

後でやってみる。
Vistaはできないのかな?
動かなくなったらやだな。

IEで印刷プレビューを表示すると、 window.closeが効かなくなる

Internet Explorer で印刷プレビューを終了すると、Web ページ中の Jscript の window.close メソッドが動作しなくなる場合があります
Microsoft Internet Explorer で印刷プレビューを表示し、以下の方法で印刷プレビュー終了すると、Web ページ中の Jscript の window.close メソッドが動作しなくなります。
印刷対象のページが JScript の windows.close メソッドを実行する場合、コンテンツの記述方法により、この現象を回避することができません

普通に印刷プレビューを閉じると駄目らしい。
close()できなくてもJavaScriptのエラーが出るわけでもなく、何も起きない。

おいおい。

IE9正式版のリリース時期(推測)

ASCII.jp:最新版「PP7」に見るIE9の性能と互換性の高さ|あなたの知らないWindows
スケジュールとしては、2010年内もしくは2011年の年明けにIE9 RC版がリリースされ、IE9正式版は、4月12日に米国ラスベガスで開催されるマイクロソフトのウェブ開発者向けカンファレンス「MIX11」でお披露目となると予想される。ただし開発に何かのトラブルがあった場合、中途半端にリリースするよりも、スケジュールを遅らせる可能性はある。

4月にリリースしたとして、普及するのはいつ頃だろう?
Windows Updateによる配布はいつからかな。

Apacheで特定のディレクトリをアクセス不可にする設定

Apache で .svn を見えなくする設定を 3 種類ほど - miauの避難所
今までこの方法で対策していたんですが、Directory やら Location やらは適用順序が面倒ですし(セクションの設定 - セクションのマージ方法 のページを何度参照したことか・・・)、他に IP アドレスの制御なんかもやりたいのに Satisfy Any にすると .svn が見えてしまったりとか、何かと取り回しが面倒なので、他の方法に切り替えようかと。

DirectoryMatchでDeny from allだけでなく、mod_rewriteを使ったりRedirectMatchを使ったりする方法も書いてある。

2010年12月8日水曜日

go-pearを実行すると does not have a signatureというエラーになる場合の解決方法

Manual :: マネージャの取得
> phar "//go-pear.phar" does not have a signature

php.iniのphar.require_hashがOnになっているとPEARをgo-pear.pharからPEARをインストールできないようだ。
(デフォルトではコメントアウトされている = Onになっている)
.

Windows 2008で IISの SMTPサーバの設定を変更する方法

SMTP 電子メールを構成する (IIS 7)
IIS マネージャを開き、管理するレベルに移動します。 IIS マネージャを開く方法については、「IIS マネージャーを開く (IIS 7)」を参照してください。 UI の特定の場所への移動については、「IIS マネージャーでのナビゲーション (IIS 7)」を参照してください。

管理ツールから「インターネットインフォメーションサーバ(IIS)マネージャー」を開く。
Win2003までと違うので分かりづらかった。

Windows Vista以降で常に管理者権限でテキストエディタを開く方法

Windows Vista/7 でメモ帳を管理者として実行したい
常に管理者として実行するには、メモ帳のアイコンを右クリックし、「プロパティ」をクリックします。

サクラエディタはこの「特権レベル 管理者としてこのプログラムを実行する」にチェックを付ければ常に管理者として実行できるようになった!
毎回確認ダイアログが出るのはじゃまだけど、それでもだいぶましになった。

2010年12月7日火曜日

Google Maps API V3のマーカードラッグの仕様変更

JavascriptMapsAPIv3Changelog - gmaps-api-issues - A changelog that shows the releases for JS API v3. - Project Hosting on Google Code
Markers now lift when dragged, and bounce when dropped.

移動するときにヒョイと持ち上げる感じに見えるってこと?

Amazonが APIから操作可能な DNSサービスを開始

【AWS発表】 AWSのドメインネームサービス、Amazon Route 53を発表 - Amazon Web Services ブログ
本日、我々はAmazon Route 53という新しいサービスを発表いたしました。これは、プログラム可能なAPIを用意したアマゾンクラウド上のDNSのサービスです。

AWSのサービス群の中で、機能を表すだけの実直な名前でないサービス名は初めてじゃないだろうか。

これを使った安いDNS業者がたくさんでてきそう。既存のDNS業者もこれを使うようにすれば安く済む?

2010年12月2日木曜日

VMware Server 1に Windows Server 2008の VMを作ったらネットワークに繋がらない

Windows 2008、インストールしてからネットワークに接続するまで - cyberarchitect
「ネットワークの構成」は、アダプタが「検出されませんでした」になっていることあり。VMWare環境なら、VMWare Server ConsoleでVM→Install VMWare Toolsを実行し、インストールする。再起動するとアダプタが認識されている(はず)。

そうなのか。やってみよう。

PHPの SimpleXMLを文字列に戻す方法

SimpleXML 要素に基づき整形式の XML 文字列を返す - PHP 5.3 日本語マニュアル
SimpleXMLElement::asXML — SimpleXML 要素に基づき整形式の XML 文字列を返す

asXML()で元のXMLのテキストデータを取得できる。

ブログ アーカイブ

カテゴリー