2011年3月28日月曜日

Google App Engineのインストールで 2908エラー

Google App Engine SDK for PythonをバージョンアップしようとしてダウンロードしたMSIを実行すると、インストールの途中でエラー発生。
The installer has encountered an unexpected error installing this packege. This may indicate a problem with this package. The error code is 2908.
このエラーが出続けて止まらない。仕方ないから強制終了。Windowsを再起動しても駄目。

調べてみたら情報があった。

Issue 3884 - googleappengine - Installing SDK 1.3.8 fails : Error 2908 in Updating Component Registration phase - Google App Engine - Google Project Hosting
Running installation again and choosing "Repair" option seems to work.

レジストリうんぬんも書いてあるけど、その前の「Repairすればいいみたい」を実行したら確かにいいみた。バージョンアップされた。

2011年3月25日金曜日

OAuthについての参考記事

OAuth 2.0でWebサービスの利用方法はどう変わるか(1/3)- @IT
OAuthの現状と1.0の問題点、2.0での特徴などを解説し、2.0の例としてFacebookのAPIの利用例を紹介します

分かりやすくまとまっている。

フローについても分かりやすいが、人のアイコンを「Webブラウザ」、「クライアント」を「OAuth利用サーバ」とか表現した方が分かりやすいかも。

IE9で Google Maps API V3の OverviewMapControlが表示されない問題が解消するらしい

Issue 3187 - gmaps-api-issues - IE9 Support for Overview Map Control - Google Maps API bug reports and feature requests - Google Project Hosting
Status: FixedNotReleased

FixedNotReleasedってのは、解決したけどまだリリースはしてないよ、これからリリースするよ、ってことかな?

HTML5ではスペルチェックの可否を指定できる

Firefox、Chrome、Safari、Operaはテキストエリアに英語を入力すると親切にスペルチェックをしてくれる。Safariの場合、それに加えてテキストボックス(input要素でtype属性がtext)でもスペルチェックしてくれる。
しかし、日本語で使う時にはこのスペルチェックがかえって邪魔と感じる人も多い。
(Firefoxではabout:configのlayout.spellcheckDefaultを0にすればスペルチェックをオフにできる。たぶん他のブラウザでもできるんだろうね。)

HTML5の新属性"spellcheck"を使えば、このスペルチェックをHTML側でオフに指定できる。

spellcheck 属性 - グローバル属性 - HTML5 タグリファレンス - HTML5.JP
element . spellcheck [ = value ]

要素がスペルおよび文法のチェックを受けることになっていれば true を返し、そうでなければ false を返します。

値をセットして、デフォルトを変更し、spellcheck コンテンツ属性をセットすることができます。

各要素においてこの属性は親要素の値を引き継ぐ。つまり、body要素にspellcheck="false"を書いておけば、全ての要素でスペルチェックがオフになる。

ただし、Safariだけはなぜかbodyに書いても効かなかった。(textarea要素に直接spellcheck="false"を書いたら効いた。)

Google Maps API V3にはポリゴン・ポリラインの作成・編集機能が無い

Issue 2432 - gmaps-api-issues - Feature Request: Add support for enableDrawing and enableEditing in V3 - Google Maps API bug reports and feature requests - Google Project Hosting
Being the person who started that rumour I can confirm that we are continuing to work on this, but the scheduled has now slipped a little to mid Q2. Apologies for the delay.

V2にはあるポリゴンやポリラインの作成・編集機能がV3にはまだないらしい。
あれはかなり強力な機能だけど、需要はなさそうというか狭そう。
mid Q2ということは5月頃リリース?

2011年3月24日木曜日

Windows用の Libavバイナリが動いた

POSTORO: Libav (FFmpegから改名)が Windows用バイナリの配布を開始
exeをダブルクリックしても起動しない。レジストリに登録とかあるのかな?

エラーが出るDLLを削除して、代わりにリビジョン付きの方を改名(例:avcodec-52.114.0.dll → avcodec-52.dll)するという作業を一つずつやったら動くようになった。(少なくともコマンドプロンプトからヘルプ等を見られるようにはなった。)

Libav (FFmpegから改名)が Windows用バイナリの配布を開始

Libav
Moreover, we are proud to accompany this source release with executables and libraries for the win32 platform. These binaries include H.264 encoding using the bundled x264 library. Enjoy!

7-Zipで解凍して中を見たら、まだFFmpegの名前が残っていた。(互換性のため?)
exeをダブルクリックしても起動しない。レジストリに登録とかあるのかな?

suは何の略? sbinは?

sbinのsは何の略ですか? - 人力検索はてな
suはswitch userではなく、substitute userの意味だったはずです。
substitutionが代理、代用なので、一時的に他のuser idを代用する、という感じです。

suを使うのは、ちょっとだけroot権限ユーザーになって何か作業するときが多々あるので、
Super Userの略だという勘違いは昔からみたいですね(私も最初はそう思ってた)。

suはsubstitute userの略。switch user説もあるけど、英語のmanを見たら
su - run a shell with substitute user and group IDs
って書いてあった。

また、sbinはsystem binaryの略という説が有力だが、staticのsだという説もあるようだ。


Firefox4に対応した はてなブックマークのアドオンが動いた

POSTORO: Firefox4に対応した はてなブックマークのアドオンは動かなかった
Firefox4に対応したバージョン2.1.2とバージョン2.1.2b2を両方試してみたが、少なくともGoogle検索結果にはてなブックマーク数を表示する機能は動かなかった。(それ以外の機能は試してない。)

動かなかったと思った2.1.2だが、気がついたらGoogle検索結果にはてなブックマーク数が表示されるようになっていた。なぜ?いつから?
もしかして、はてなのサーバ側の問題だったのか?

YSlowで CDNが CDNとして認識されない問題の対策

YSlow FAQ
Unfortunately, the list of "known CDNs" are the ones used by Yahoo!. Most likely these are not relevant to your web site, except for potentially yui.yahooapis.com. If you want an accurate score for your web site, you can add your CDN hostnames to YSlow using Firefox's preferences. Here are the steps to follow:

デフォルトではYSlowは身内の yui.yahooapis.com しかCDNとみなさないらしい。
せめて ajax.googleapis.com くらいはCDNとみなして欲しいものだ。

設定の変更方法は、
  1. about:configを開く
  2. 適当なところで右クリックしてコンテキストメニューから「新規作成」「文字列」を選択
  3. 設定名に「extensions.yslow.cdnHostnames」と入力
  4. 値にはCDNとして登録したいドメインを登録(複数ある場合はカンマ区切りで)
  5. Firefoxを再起動

これで反映された。

Firefox4に対応した はてなブックマークのアドオンは動かなかった

POSTORO: Firefox4に対応した はてなブックマークのアドオンが既にあった
バージョン番号から"b"は取れてるけどまだベータ版なのかな?(既知の不具合があるし。)


Firefox4に対応したバージョン2.1.2とバージョン2.1.2b2を両方試してみたが、少なくともGoogle検索結果にはてなブックマーク数を表示する機能は動かなかった。(それ以外の機能は試してない。)

やはりまだ正式版ではないのだね。

Firefox4に対応した はてなブックマークのアドオンが既にあった

Hatena Bookmark :: Versions :: Add-ons for Firefox
- Firefox 4 に対応
- Google 検索結果でのマイブックマーク全文検索結果表示が乱れていたのを修正

既知の不具合
- Firefox 4 において、コメント文字数の多いブックマークが存在するとき、コメントビューワーの幅が大きく広がることがある

バージョン番号から"b"は取れてるけどまだベータ版なのかな?(既知の不具合があるし。)

それとも、もしかしてリリースしたつもりがLatest Version扱いになっていない?!
.

2011年3月23日水曜日

Rails2のドキュメント

Rails3がリリースされてから公式サイトのRailsのドキュメントがRails3のものに変わってしまった。



でもRails2のドキュメントも残っていた。

Ruby on Rails Documentation
Modified: Thu Aug 19 22:56:35 +0000 2010

Firefox4で TweetsCounterV2が動かない問題の対策

これと同じ原因みたい。

Firefox 4.0b8~b9 でLDRize (Minibufferの修正) - wltの日記
どうもXMLオブジェクトを渡すのがいけないらしくてtoString()メソッドで文字列にした。

同じように「<><![CDATA[」~「]]></> 」を()で囲んで.toString()したら動くようになった。

Firefox4はステータスバーがなくなった

Firefox 4 アドオンバーの中にリンク先URLの表示を移動させてみた | Firefox Fan Club + More Browsers
Firefox 4 からステータスバーが廃止になって代わりに「アドオンバー」となった。


探しちゃっよー

Firefox4 非互換レポート その4:はてなブックマーク Firefox拡張が動かない

はてなブックマーク Firefox 拡張
はてなブックマーク Firefox 拡張は、Mozilla Firefox ブラウザ専用のブラウザ拡張です。はてなブックマークの様々な機能をブラウザに組み込むことで、はてなブックマークをより便利に利用することができます。

Google検索結果のリンクに、はてなブックマーク数が表示されない。
その他の機能については未確認。

Firefox4 非互換レポート その3: VMware Infrastructure Web Accessが一部動かない

VMware Server の FAQ、無償の仮想化によるサーバ統合
VMware Server は、サーバ仮想化を実現するための無償製品です。 VMware Server は、一般のアプリケーションのように、あらゆる既存のサーバ ハードウェアにインストールできます。また、1 台の物理サーバをパーティショニングして、複数の仮想マシンを作成することができます。 今回リリースされる次世代のバージョンでは、直感的な Web ベースの管理インターフェイスが導入されており、Windows または Linux ユーザーに継続的な管理環境を提供します。

VMware Server2のVMware Infrastructure Web Accessの表示はできたが、VMを選んでも詳細が表示されない。
まあ以前から別の一部の機能(何だっけ?VM作成時の何か)は動かなかったが。

ちなみにAmazonのAWS Management Consoleは大丈夫そう。

Firefox4 非互換レポート その2:Wescriptが暴走

Wescript
ウェブをもっと便利にする
ユーザスクリプトを
発見しよう

Mozilla製アドオンのAdd-on Compatibility Reporterを入れれば、Firefox4未対応のアドオンでもたいていは動く。
でもこれでWescriptを動かしてしまうとFirefoxの動きがあちこちでおかしくなるので注意。既に動かしてしまったら、セーフモードにして無効にするか削除を。

Firefox4 非互換レポート その1:TweetsCounterV2が動かない

TweetsCounterV2 for Greasemonkey
displays a tip indicating how many tweets on the current page(URL) / 閲覧中のページに関するつぶやきの件数を表示。クリックで一覧を表示
Version: 0.0.5.0

表示中のページについてのTweetを表示してくれるTweetsCounterV2がFirefox4で動かないようだ。

2011年3月21日月曜日

URL短縮サービスはフィッシング対策すべき

floatingdays: 大手サイトがやっている自サイト専用のURL短縮サービス
日経新聞のサブドメインを使うやり方は好感が持てる。

bit.lyのようなURL短縮サービスは、フィッシング対策のために短縮URLに短縮前のドメインを含むようにすべきだと思う。

こんな感じで。
↓
http://bit.ly/www.example.com/xxx

長いから嫌なんだろうな。ながーーいドメインとかあるしね。

2011年3月18日金曜日

EBSは Terminateしても消えないらしい(オプションによるが)

EC2におけるIPとストレージ(Ephemeral,EBS)の変化タイミングまとめ | TecTec Cloud
DBサーバには通常EBSを用いる為、障害にて強制terminateされてもデータが失われることはない。

device-mappingオプションというのがあって、通常のインスタンス(オンデマンド)の場合はインスタンスをTerminateしてもEBSは削除されないらしい。

(2011/3/18 追記)
EBSブートのインスタンスをterminateしたらEBSは削除された。上記の話はブートでないEBSの話かも。

Twitter APIで ReTweet済みの Tweetを ReTweetしようとしたらどうなるか

Twitter API Wiki / Twitter REST API Method: statuses retweet
Twitter will ignore attempts to perform duplicate retweets.

無視されるらしい。

AdSenseの表示が高速化されたらしい

Inside Adsense - 日本語: すべてのコンテンツ向け AdSense サイト運営者様のウェブ表示速度を高速化
現時点では、Google Chrome、Mozilla Firefox、Microsoft Internet Explorer 8 で高速化を導入しておりますが、この他のブラウザにも順次導入する予定です。

Chrome、Firefox、IE8限定の高速化って、技術的には何をしたんだろう?

ApacheLoungeの PHPが公式に推奨されていた

php.internals: PHP 5.3.6 Released!
Windows users: please mind that we do no longer provide builds created with Visual Studio C++ 6. It is impossible to maintain a high quality and safe build of PHP for Windows using this unmaintained compiler.

For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual Studio C++ 9 version of Apache. We recommend the PHP builds as provided by ApacheLounge.

今までWindow用のバイナリはVC6、VC9のそれぞれで作ったものが提供されていたが、PHP5.3.6からはVC6版の提供が無くなったらしい。
普通にApacheをインストールするとVC6版なので、困る人は多いと思う。

で、代わりに推奨されているのがApacheLounge版。たしかにApacheLoungeはリリースが素早く、eAcceleratorなどの周辺ツールも充実しててよいのだが...
以前サイトが一時落ちてて、寄付を募集してたのが心配。アクセスが集中してたらまた落ちちゃうんじゃ...

urllib.urlencodeで UnicodeEncodeError: 'ascii' codec can't encode characters

urllib.urlencode に unicode を渡すとエラー - Pythonで遊ぶよ - pythonグループ
そういうときは urllib.urlencode を使って

import urllib
print urllib.urlencode(args)

とするみたいなのだが、unicode が混じってると使えない。

おーすばらしー!ありがとー!
.

2011年3月17日木曜日

Google Maps API V3の OverviewMapControlが公式に発表された

Google Geo Developers Blog: A new angle on the world with 45° imagery
overviewMapControl: true,
overviewMapControlOptions: {
    opened: true
}

In three weeks the Overview Map Control will be added by default to all Maps in its minimized state.

デフォルトでは初期表示時には閉じた状態(矢印アイコンのみに縮小された状態)だが、上記のように「opened: true」を指定すれば開いた状態になる。
3週間以内には「overviewMapControl」のデフォルトがtrueになるようだ。

いつのまにかGoogle Chart APIも HTTPSでアクセスできるようになっていた

Getting Started With Charts - Google Chart Tools / Image Charts (aka Chart API) - Google Code
https://chart.googleapis.com/chart?chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World

以前のURL
 http://chart.apis.google.com/...
↓
今のURL
 https://chart.googleapis.com/...

ちなみに、今のURLはhttpでもアクセスできる。

2010年の12月にはもう使えるようになっていたみたい → HTTPS access via https://chart.googleapis.com - Google Chart API | Google グループ
知らなかった。

Amazon EC2にサインアップしたら使えるサービス

Amazon EC2にサインアップしたら、AWS Management Consoleに表示されるサービスのうち、下記のサービスが使えるようになった。

  • S3
  • EC2
  • VPC
  • CloudWatch
  • SNS

それに対して下記のサービスは別途サインアップが必要なようだ。(また電話かかってくることは無いかもしれないけど。)

  • Elastic Beanstalk
  • Elastic MapReduce
  • CloudFront
  • CloudFormation
  • RDS

境界線はなんだろう?
CloudFormationはEC2とセットだから有効になってもよさそうだけど。
逆にSNSが使えるようになるのは意外だった。

Google Maps API V3が HTTPSでアクセス可能になった

Google Geo Developers Blog: Maps APIs over SSL now available to all
To load the Maps API v3 over HTTPS, the API must be loaded from the hostname maps-api-ssl.google.com. For the Static Maps API and Web Services, please use maps.googleapis.com.

こんな感じか。
<script type="text/javascript" src="https://maps-api-ssl.google.com/maps/api/js?sensor=false"></script>

maps-api-ssl.google.co.jpではアクセスできなかった。


Google Chart APIはどうなんだろ?

2011年3月16日水曜日

Googleでリアルタイム検索にするためのパラメータ

銀河の歴史がまた1ページ - 2010.10.01
オプション「tbs=mbl:1」でリアルタイム検索になるのかな?

余談だが、オプション「tbs=vid:1」にすると、動画のサムネイルも含めて検索結果に表示されるようになるらしい。

試したら「tbs=mbl:1」でリアルタイム検索になった。
ちなみに「tbs=mbl:0」や「tbs=mbl:2」というのはなさそう。

2011年3月15日火曜日

IEがイントラネットで互換表示するのを回避する方法

IE8が互換表示になりバグと誤解するのを回避する方法 | エンタープライズ | マイコミジャーナル
ここで問題になるのは何をもって「イントラネットにあるコンテンツ」と判断しているかだが、Craig Buckler氏は自分が実施した調査範囲内だと前置きしたうえで、どうやらドットを含まないドメイン名を使ってコンテンツにアクセスしている場合にはイントラネットだと判断しているようだと説明している。またlocalhost、127.0.0.1、192.168.x.xのようなIPやドメイン名でのアクセスはイントラネットとは判定されなかったという。
試してみたらそのとおりだった。
IPアドレスで指定すればいいんだ。

HTML5は標準モードになる

HTML5でマークアップしてみよう-そろそろ、HTML5
HTML5におけるDOCTYPE宣言は、あまり意味を持たないとされていますが、 DOCTYPE宣言が無いとブラウザのレンダリングモードが、互換モード(Quirks mode)となってしまいます。 ブラウザに標準モード(Standards mode)で解釈させたい場合には、DOCTYPE宣言を記述する必要があります。 IE6も含めて、主要なブラウザでは文書の先頭に と記述することで標準モードとなります。

あんなDOCTYPE宣言でも標準モードになるんだー

IE8で LAN内の Webページを IE7互換表示で表示する方法

IE8でLAN内のWebページを表示すると、普段は表示している「互換表示ボタン」が表示されない。
IE7での見栄えを確認したい時に不便。
調べてみると設定で変えられるようだ。

IE8の互換表示モードの罠! Peaceful Paradise Life
それは互換表示設定(ツール→互換表示設定)で下記の項目にチェックが入っているからだった。

上記はMSの要互換表示サイトリストによる適用をやめる場合だが、同じダイアログにある「互換表示でイントラネット サイトを表示する」の方のチェックを外せばOK。

2011年3月12日土曜日

Google Maps API V3で面積や距離を計算する

Google Maps Javascript API V3 Reference - Google Maps JavaScript API V3 - Google Code
google.maps.geometry.spherical namespace

Utility functions for computing geodesic angles, distances and areas. The default radius is Earth's radius of 6378137 meters.

V2のようにPolylineやPolygoneになかなか実装されないと思っていたら、これを使えばできたのか。

Google Maps API V3にOverview Controlが追加された

Issue 1470 - gmaps-api-issues - Add overview map control - Project Hosting on Google Code
overviewMapControl: true

公式ドキュメントにはまだ書いてないが、V2の時のようなOverview Controlが追加された。(少し小さくなったような?)

上記リンク先のコメント35によると、まだ未完成(バグがある)なのでGoogleは発表していないのではないか、とのこと。

2011年3月9日水曜日

VMware Authorization Serviceが自動起動しない問題の対策

VMware Server2の話。
サービスの設定で自動起動にしているのだが、VMware Authorization Serviceが起動に失敗し、それに引っ張られてVMware Host Agentも自動起動されない問題。

原因は意外にもDropboxだった。

OneNote的な VMware Serverのサービスが自動で起動しない
同時期に、しばらくPCを起動しているとDropboxがフリーズし、エクスプローラーの操作が非常に重くなるという現象が発生していたが、Dropboxを再インストールすると解消し、VMware serverのサービスも正常に起動するようになった。どうやらDropboxが原因だったようだ。

自分のところでもDropboxを0.7.110から1.0.20にバージョンアップしたら問題が解決したみたい。(Windowsを再起動してもVMwareのサービスはきちんと自動起動された。)

Dropboxを 1.0にバージョンアップする方法

Dropbox - Downloading Dropbox - Online backup, file sync, and sharing made easy.
Downloading Dropbox...

ダウンロードしたexeを実行するだけで、0.7.110(ぐらい)から1.0.20にバージョンアップできた。
既存のDropboxの停止も不要だった。完了通知もなくあっけなく終わった。

PHPの file_get_contents()で失敗した時に Warningを出さない方法の注意点

POSTORO: PHPの file_get_contents()で失敗した時に Warningを出さない方法
こうなっていると、4xxや5xxのステータスコードであってもWarnningを発生させず、本来のレスポンスボディが返ってくるようになります。

ステータスコードが返ってくればWarningは出ないんだけど、ホスト名の名前解決ができない場合はWarningが出るので注意。gethostbyname()とかでチェックするかー?

PHPの file_get_contents()で失敗した時に Warningを出さない方法

[メモ] PHPのfile_get_contentsを、HTTPリクエストに使うときのTIPS ::ハブろぐ
過剰なエラー反応や、2xx&3xx以外のレスポンスボディを取得しない問題は、PHP5.3系であればコンテキストにignore_errorsを与えることで解決します。
(中略)
こうなっていると、4xxや5xxのステータスコードであってもWarnningを発生させず、本来のレスポンスボディが返ってくるようになります。

こんなパラメータあったんだ。
Manualによると5.2.10から追加されたらしい。

2011年3月4日金曜日

MySQLで GROUP BYにない列を SELECTした場合、グループ内のどの行の値になるかは分からない

MySQL :: MySQL 5.5 Reference Manual :: 11.16.3 GROUP BY and HAVING with Hidden Columns
When using this feature, all rows in each group should have the same values for the columns that are ommitted from the GROUP BY part. The server is free to return any value from the group, so the results are indeterminate unless all values are the same.

MySQLではSQL標準に反して、GROUP BY句にない列をSELECT句やHAVING句で使うことができる。想定しているのは上記リンク先のように、複数のテーブルを結合した場合等にGROUP BY句にあるキー列により一意に決まる(どれも同じになる)従属項目を使うこと。
これによりMySQLは処理を高速化できる。

しかし、違うデータが入っているかもしれない列を使うと、どの行のデータが使われるかは決められていない。(たぶん「物理的に」一番最初のデータとかが使われそう。)


PostgreSQLも9.1から同様のことができるようになるらしい(MySQLに合わせるため)。

PostgreSQL 9.1 の新機能 — Let's Postgres
標準SQLでは必ず GROUP BY にも列名を書く必要があるのですが、MySQL では許されているため、「なぜ PostgreSQL
では受け付けないのか?」という質問が良くありましたが、互換性が向上したと思われます。ただ、プライマリキーが必須であること、つまり省略した列がラン
ダムに選択されることはないよう制限しているのは、PostgreSQL の設計思想が反映されていると言えるでしょう。


プライマリーキーが必須っていうのは、JOINした場合の親テーブルの従属項目を使うことのみを想定しているということかな?

2011年3月3日木曜日

Webブラウザで PHP等のコーディングができるテキストエディタ

Webベースのソースコードエディタ「ecoder」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
ecoderはPHP製のソフトウェアで、Webベースでファイルの作成、編集ができる。Ajaxを使っており、操作はスムーズだ。データベースを用意する必要はなく、手軽に利用できる。PHP/HTML/CSS/JavaScriptなどのハイライトが組み込まれており、行番号も表示してくれる。

拡張子がlogとかだとファイルツリーに表示されないので、用途によってはソースの変更が必要かも。
アクセス制限には注意。

Facebook is the internetになったら

F's Garage:Facebookがインターネットになると困る
Web2.0がプラットフォームビジネスの基礎だったすれば、Facebookやtwitterこそが、Web2.0の完成系と言える。もしかしたら、Web3.0と言われる世界なのかもしれない。

今まで見たFacebookに関する文章で一番しっくりきた。
Facebookはインターネットのサブセットだと思うけど、それがスーパーセットを飲み込んだときには、いままでインターネットに住み込んでいた人たちの一部はまた別の世界に飛び出す(あるいは弾き出される)んだろうね。「Facebookの10年」が終わるまで。

2011年3月2日水曜日

jQuery UI Tabsの仕様が 1.9から変わるらしい

Tabs API Redesign « jQuery UI Blog
We know that API changes like this are not without cost to our users, so we’d like to make it clear that except where specifically noted, jQuery UI Tabs in 1.9 will support the 1.8 API as well, and the deprecated APIs will not be removed until jQuery UI 2.0.

けっこういろいろ変わるようだ。

現行の1.8までのやり方は、当面(バージョンが1.xの間)は使えるようにするとのこと。(ただしrotate()だけは1.9で削除される。)

2011年3月1日火曜日

Amazon EC2を実際に利用している人たちのアンケート

AWSで気になること4つを聞いてきた – 第1回 JAWS Osaka勉強会 - Shin x blog
せっかくAWSエバンジェリスト、さらに識者の方達が集まる場なわけですから、日頃AWSを使っていてふと気になる疑問、「自分はこうしているんだけど、他の人はどうやっているのかなー」という質問を逆に聞いてしまおうと思い、通常の発表とは逆にみなさんに質問を投げかけるという内容にしました。

なかなか興味深い。
自分の意見も書いてみる。(感想か。)

RegionがUS WestとAsiaというのは想定通り。普通のWebならUS Westでも遅いとは感じない。

AMIは意外にもRightscaleが人気みたい。自分で一から入れてる人が多いと思ってた。
Rightscaleは確かに楽だが、Rightscale用の要らないツールも入れられるのが嫌。
Amazon Linuxはいいんだが、情報が少ないこと(ほぼCentOSだとは思うけど)と他の環境への移行が不安かな。

EBSを使うのは当然。遅いと感じたこともない。(ストレージがボトルネックになるような処理も走らせてないが。)

2011年2月28日月曜日

IEには br要素を連続すると偶数個目の brが無視されるバグがあるらしい

スタイルシート[CSS]/テキスト・フォント/文字の間隔を指定する - TAG index Webサイト
【IEの不具合について】

このスタイルを設定した要素内でbr要素を連続させると、2つ目(偶数個目)のbr要素が無視されてしまいます。例えば、5つのbr要素を連続させた場合は、2番目と4番目のbr要素が無視され、3つ分の改行しか入らなくなります。

br要素に対して letter-spacing: 0 または letter-spacing: normal を指定すると、この不具合を回避することができます。

※IE 8では、上記の不具合は発生しないようです。

上記のようにbrのletter-spacingに0かnormalを指定することでこの現象は起きなくなる。
上記にはIE8では発生しないと書いてあるが、手元のIE8では発生した。(互換モードとかの関係?)

印刷用CSSのフォントサイズ等の単位は ptがいいらしい

印刷用CSSの文字サイズ単位はpt? | アイビーネットblog
この事からわかるとおり、ptの場合はモニター解像度(dpi)が変わっても印刷サイズは変わりませんが、pxの場合はモニター解像度が変わると印刷サイズが変わります。

mmとかはどうなんだろ?

ウィザード形式でAmazon EC2で Webアプリを立ち上げられるサービスが開始

【AWS発表】 AWS CloudFormation: 複雑なシステムもクラウドレシピからワンクリックで作成可能に! - Amazon Web Services ブログ
さて、まとめますと、CloudFormationを使うことにより、アプリケーションスタック全体を非常に簡単に、作成、管理、破棄することができます。AWSが、重要な基盤レベルについては面倒を見ますので、皆様は、素晴らしいアプリケーションを作成することに、集中することができます。

上記では難しく説明しているが、具体例を見たほうが分かりやすい。
他にも下記のサンプルテンプレートが提供されている。
  • Drupal
  • Gollum Wiki
  • Joomla
  • PHP Hello World Application
  • Rails Hello World Application
  • Tracks Management System
  • Insoshi Social Networking Platform
  • Amazon ElasticBeanstalk Hello Wolrd
Gollum、Tracks、Insoshiは聞いたことないけど海外では有名なのかな?WikiはGollumしかないのが意外。
Hello World ApplicationsはDBも入れてくれるのかな?


起動や管理はおなじみのManagement Console(Amazonが提供しているAWSを管理できるWeb画面)からできる。(Management Consoleのタブがどんどん増える...)
↓
AWS Management ConsoleのAWS CloudFormationサポート - Amazon Web Services ブログ

2011年2月25日金曜日

本当は奥深いユニコードの世界

UTF-8コード表(1)
e38bb0 ㋰ ㋱ ㋲ ㋳ ㋴ ㋵ ㋶ ㋷ ㋸ ㋹ ㋺ ㋻ ㋼ ㋽ ㋾
e38c80 ㌀ ㌁ ㌂ ㌃ ㌄ ㌅ ㌆ ㌇ ㌈ ㌉ ㌊ ㌋ ㌌ ㌍ ㌎ ㌏
e38c90 ㌐ ㌑ ㌒ ㌓ ㌔ ㌕ ㌖ ㌗ ㌘ ㌙ ㌚ ㌛ ㌜ ㌝ ㌞ ㌟
e38ca0 ㌠ ㌡ ㌢ ㌣ ㌤ ㌥ ㌦ ㌧ ㌨ ㌩ ㌪ ㌫ ㌬ ㌭ ㌮ ㌯
e38cb0 ㌰ ㌱ ㌲ ㌳ ㌴ ㌵ ㌶ ㌷ ㌸ ㌹ ㌺ ㌻ ㌼ ㌽ ㌾ ㌿
e38d80 ㍀ ㍁ ㍂ ㍃ ㍄ ㍅ ㍆ ㍇ ㍈ ㍉ ㍊ ㍋ ㍌ ㍍ ㍎ ㍏
e38d90 ㍐ ㍑ ㍒ ㍓ ㍔ ㍕ ㍖ ㍗ ㍘ ㍙ ㍚ ㍛ ㍜ ㍝ ㍞ ㍟

こんな(誰も使わないような)ものまであるんだ...


一番驚いたのが1文字の「㍿」。「㈱」や「㏍」ならまだわかるが...

2011年2月24日木曜日

jQueryで動的に CSSファイルを追加する方法

他の要素と同じようにappend()とかappendTo()しても、CSSファイル(link要素)の追加ができない。(IE8のみで確認。)

でも下記で紹介されているやり方ならなぜかできた!

How-To: Load Javascript and CSS dynamically with jQuery | TopSecretProject
$("head").append("<link>");
css = $("head").children(":last");
css.attr({
    rel: "stylesheet",
    type: "text/css",
    href: "/javascripts/jwysiwyg/jquery.wysiwyg.css"
});

append()の後、メソッドチェーンしないでchidleren(":last")で取得するのがポイントらしい。
メソッドチェーンでappend(..).attr(..)ってやるとうまくいかない。
なぜかは分からないが。link要素だけ特別なのか?

ちなみにchildren(..).attr(..)の方はメソッドチェーンしてもOK。

IEが width / heightを無視してボックスを拡大してしまうバグの回避方法

要素のはみ出しの処理の不具合(IE/overflow):スタイルシート(CSS)辞典 - HTMLタグボード
しかし、IEでは要素やボックスに「widthとheightプロパティ」を設定していて、かつ「overflow」プロパティが指定されていない、または「overflow:visible;」を指定している場合でも、文字が要素に収まりきらないとき、本来なら文字がはみ出て表示されるはずのボックスが勝手に拡大してしまうという不具合があります。

枠線の中に表示して、はみ出す場合はそれが分かるようにしたいのに、IEがボックスを勝手に大きくしてしまうのではみ出すはずがはみ出さない問題が発生。

今回はボックスで囲うのを諦めて、下記のような枠線を表示にすることにより回避した。
div#waku {
    width: 100px;
    height: 100px;
    z-index: -1;
    position: absolute;
    top: 10px;
    left: 10px;
    border: solid 1px black;
    background-color: white;
}

z-indexを付けてるのは枠内の背景を白にしたら他の要素が見えないように塗りつぶされたので、他の要素の後ろにするため。

jQueryで HTML文字列から DOM要素を生成する場合の注意点

jQuery(html, [ownerDocument]) - jQuery 日本語リファレンス
また、スラッシュを含むような文字列(imgタグのパスなど)を渡す場合は、これをエスケープしてやる必要があります。

$('<a href="foo">bar</a>')のようにDOM要素(jQeury要素?)を生成できるけど、文字列にスラッシュがある場合はエスケープが必要らしい。
何でエスケープ?バックスラッシュ??

JavaScriptで動的に CSSファイルを追加する方法

floatingdays: JavaScriptによって動的に CSSを追加する場合のブラウザごとの挙動の違い
var link2 = document.createElement("link");
link2.rel = "stylesheet";
link2.href = "test2.css";
document.getElementsByTagName("head")[0].appendChild(link2);

このやり方でないとIEが対応していないらしい。

JavaScriptファイルを追加する場合は → floatingdays: JavaScriptによって動的に script要素を追加する場合のブラウザごとの挙動の違い

AdSenseポンパレ祭りは終了か?

2011年2月21日月曜日

Windowsで Apache + PHP5.3が動かない場合の対処法

Andante PHP、Windows+PHP5.2.6以降でPostgreSQLに接続できない
Apacheを再起動後、
と記述したスクリプトにアクセスし、pgsql(PostgreSQL)の欄があるか確認します(駄目な場合はOSを再起動して再確認)。

Windows環境変数のPathにPHPのフォルダのパスを追加して、Apache再起動、それでも駄目ならWindowsを再起動。

Twitter検索の Topsyに待望の 公式Widgetが登場!

Topsy ウィジェットの設定について | Unformed Building
Topsy で検索すると、検索結果の詳細ページの右側にウィジェットが表示されています。
この下にお持ち帰りコードがあるので、ちょっと使うだけならそのまま貼れば OK です。

これはよいかも。
Twitter本体でやればいいのに。@Anywhereなんて中途半端なのやってないで。

Topsyの検索結果が少ないと思ったらメンテナンス中だった

Index maintenance and fresh results only mode from Feb 18th to Feb 22nd. - Topsy Service Status
This maintenance operation that will start Feb 18th at 9AM PST and is expected to finish within 96 hours. During this maintenance window, search queries will be answered by a fresh index that is based on tweets posted after Feb 17th 2011.

日本時間の2011/2/19深夜2時に始まり、予定通りなら2/23の深夜2時に終わるということか。

2011年2月20日日曜日

表示しているページを含むTweetを表示する例

デジモノに埋もれる日々: Topsy APIで「言及tweet」をブログに表示 - ブログへの言及はブログ外で行われる時代
今回はこのAPIの 「trackbacks」 というメソッドを使い、
URLを渡してその言及tweetをjsonp形式で取得、それをそのまま
表示用のjavascript functionに喰わせて表示するようにしました。

TopsyのAPIはKEYが要らないのか。これはシンプルでよさそう。

2011年2月9日水曜日

Eメールの終わりの始まり

ティーンはもうメールを使わない–メッセージングに賭けたFacebookは正しかったかも
“高校生たちはメールを使わない。SMSを大量に使っている。お互いにメッセージを送り合いするためには、SMSやIMのような軽いものがよいようだ。”

そもそもEメールは(もともとは)内輪で使う程度の仕様しかなくセキュリティに無防備で、その場凌ぎの仕様追加が歴史的に積み重なって仕様はもはや後戻りできず、かつ実際の現状としてはその過半がSPAMであるという出来の悪いシステムであるにも関わらず、その代替がないため今まで生き残ってきたものだ。
(Google Waveがそれに立ち向かおうとして砕け散ったのは記憶に新しい。)

アメリカでは以前からBlackberryのSMSが主流で、Facebookのメッセージングを使うという素地はできていた。かつAndroidの普及により、PC FreeでFacebookが使える(のだろう多分。知らないけど)。
日本では携帯キャリアの都合で異なるキャリアとのショートメールができないためSMSはいまいちだが、その垣根をFacebookが打ち破ってくれたらうれしい。

ただ問題は、Facebookのメッセージングが結局Eメールのように仕様追加を繰り返してスパゲッティになってしまう恐れがあることと、もう1つは(そして最大の問題は)既にミニ・インターネットであるFacebookに、さらに社会的インフラを預けても大丈夫かという問題がある。
(Googleに替えがない以上に、Facebookに替えはないかもしれない。いや、やってみれば他のものが充分に替えになるかもしれないが。)

まあ米Yahooが退場しつつあるように、10年後にはFacebookもないかもしれないけどね。

Google Maps API V3についに AdSense登場

Google Geo Developers Blog: Monetize your Maps API v3 application with AdSense for Maps
In response to this we are happy to bring AdSense for Maps to Maps API v3. The Maps Ad Unit overlays a set of AdSense ads on the map, in any of the supported formats.

地図上にAdSenseを表示できるようになった。

これにともない、V3にV2のGoogleBarを付けて欲しいという要望は却下された。(Issue 1697 - gmaps-api-issues - GoogleBar & AdSense - Project Hosting on Google Code)
これはまた論議を呼びそう。GoogleBarは独特な検索だけど割りきって使えばそれなりに便利だからなあ。

2011年2月8日火曜日

Apacheでリダイレクトさせる時に URLのパス部分を引き継がせる設定

まったりSE備忘録 » サイト移転のための Apache でのリダイレクト
apache でリダイレクトする主な方法は以下2通り。

* Redirect を使う。
* Rewrite を使う。

mod_rewriteでやる。301になる。

Googleの 新しい検索用API

JSON/Atom Custom Search API - JSON/Atom Custom Search API - Google Code
Important: The JSON/Atom Custom Search API requires the use of an API key, which you can get from the Google APIs console. The API provides 100 search queries per day. If you need more, simply request additional quota from the console.

Google AJAX Search APIがDeprecatedになって、こっちがそれを引き継ぐAPIらしい。
まだLabsだけど。

(前にもメモったっけ?)

「1行で IEの JavaScriptを高速化」は IE9では動かない問題と解決策

一行で IE の JavaScript を高速化する方法 - IT戦記
/*@cc_on _d=document;eval('var document=_d')@*/

これがIE9だと動かない。

下記のやつなら大丈夫。(「ダウンロード」リンクからダウンロードできる最新版に書いてあるやつ。)

読み込むだけでWebページの「おもてなし度」を向上 - Pryn.js & Pryn.css [ゼロと無限の間に]
/**
 *  IE(8-)高速化(IE9ではエラーになる)
 *  @see http://d.hatena.ne.jp/amachang/20071010/1192012056
 */
/*@cc_on
if (@_jscript_version < 9) {
    var _d = document;
    eval("var document = _d");
}
@*/

(追記)
あれ?今使ったらエラーが出ずに使えてる...?

2011年2月7日月曜日

YUI 3 reset.cssの問題点と対応策

hail2u.net - Weblog - YUI 3: CSS Resetの問題
ブラウザごとのデフォルト・スタイルシートの違いを吸収するためのスタイルシートをメンテするのが面倒になったので、YUI 3のCSS Resetを使うことにした。が、このサイトではちょっとした問題が起こった

メモメモ。
背景画像がおかしくなったらここを見よう。対策も書いてある。

Google CDNの YUI3 CSS Toolsの URL

とりあえずメモ。

https://ajax.googleapis.com/ajax/libs/yui/3/build/cssreset/reset-min.css
https://ajax.googleapis.com/ajax/libs/yui/3/build/cssfonts/fonts-min.css
https://ajax.googleapis.com/ajax/libs/yui/3/build/cssgrids/grids-min.css
https://ajax.googleapis.com/ajax/libs/yui/3/build/cssbase/base-min.css

httpでも可。
バージョンはマイナーバージョン以下の指定も可。

URL等の半角英数字が続く文字列を強制的に改行させる CSS

自動改行(word-break・word-wrap・white-space プロパティ)をコントロールして、テキストがボックスから飛び出さないようにしたい。 | 乱雑モックアップ
divにも指定するとしたら word-wrap: break-word; のみがいいのかな?

preは強制改行させたことないからいいとして、divとtableは別なのか。

2011年2月5日土曜日

WordPressを高速化するなら Quick Cache?

WPのキャッシュプラグインQuick Cache | スラックラインの歩き方
なのでQuick Cacheというのを入れてみました。プラグインのマニュアルを読むと、後発だけあってWP Super Cacheとの比較やこっちが優れている点なども書かれていてなんだか良さそうです。

定番のWP Super Cacheよりさらにいいらしい

2011年2月4日金曜日

jQuery UIが 並び替えなどが可能なリッチな表(Grid)をサポートするらしい

Unleash The Grid « jQuery UI Blog
There are already a number of high quality jQuery grid plugins. We recognize they each have an impressive set of features, capabilities, and a level of use by members of the jQuery community. We are studying and applying practices and techniques from today’s most popular grid and data table plugins, including current favorites, SlickGrid, jqGrid, DataTables and a few that have not been updated in a while, like Tablesorter, Flexigrid, and Ingrid. We invite all authors and users of these and any other grid plugins to get involved in the design of the jQuery UI Grid.

同様のものは、日本で人気なのはFlexigridか。
Grid Tableに限らず、jQueryを使ったUIライブラリはいろんなところで作られてるけど、jQuery UIはそれらを飲み込んでいくつもりなんだろうか。

Railsで 422エラー

アンケート - %!zt! diary (2008-06-28)
The change you wanted was rejected. Maybe you tried to change something you didn't have access to.

cookieを拒否した場合もこのエラーが出るらしい

2011年2月1日火曜日

node.js用ライブラリ

node.jsの開発時に役立つモジュール : アシアルブログ
■今回紹介するもの
・nvm
・node-dev
・node-inspector

nvmとnode-devは便利そう。

node.js入門にちょうどよさそうな記事

node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず
ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。

インストール、expressフレームワークの簡単な説明、MySQLへの接続やテンプレートエンジンまで少しずつ解説してあって分かりやすい。

Amazon EC2の Amazon Linux AMIに Sambaをインストールする例

AmazonEC2 で samba を動かしてみる | むメモ
レスポンスは良くないだろうな、と思いつつ samba を入れてみようと思いました。yum 一発で入るかなと思っていたのですが、立ち上げた「Amazon Linux AMI」というディストリビューション?のレポジトリには samba はありませんでした。

amazonリポジトリには無いんだ?
普通のCentOSのリポジトリからyumで入れられないのかな?

レスポンスは少し悪いらしい。

PHPで Amazon S3にバケットを作ったりファイルをアップロードするサンプルコード

ECナビ エンジニアブログ : Amazon S3 を PHP から使ってみた
そのなかで今回は Amazon S3 を PHP から利用する方法について簡単に紹介をしていきたいと思います。

こんなに簡単にできるんだ。これは便利そう。

Amazon CloudWatch導入の参考ページ

実際にやってみた方が注意点を書いてくれている。
いつかやってみたいのでメモ。

Amazon CloudWatchでインスタンス死活監視 - log4moto
しばらく動かしてみると解るのですが、INSUFFICIENT_DATAのアラームが鳴ります。

これはBasic monitoringが5分単位なので、タイミングによってはデータが取得できないからではないかと思う(要確認)のですが、とりあえず気持ち悪いのでアラートの間隔を広げます。

その場合は、AverageじゃなくてMaximumにしてみたほうがいいかもしれません。
.

2011年1月31日月曜日

Apacheの設定で FollowSymLinksは入れておいたほうがいいらしい

最速最安WEB画像サーバ構築術 - nginx + ServersMan - 新・浅く広くをモットーに | 一人WEBサービス屋メモ
SymLinkを許可する(許可しないとアクセス毎に通常ファイルかシンボリックリンクかの判断が入ってしまいます)

たしかデフォルトで入ってるからあまりきにしてなかったけど、今度機会があったら確認しておこう。

KeepAliveは Offでも良さそう

間違いだらけのWEBサーバ Keep-Alive - 新・浅く広くをモットーに | 一人WEBサービス屋メモ
クライアントにとって優しいのはあくまで、Keep-Alive onであることに間違いありません。やり取りするパケット数が単純に減る、もしくは減る可能性があるからです。ただサーバサイドのことを考えると、ブロードバンド環境が当たり前になった昨今、KeepAlive onに設定する意味はなくなりつつあると言えます。

Offにしても体感できないかも。試してみよう。
まあサーバ側もOffの恩恵を受けるほどトラフィックのあるサイトでないことが多いが。(むしろ過剰にパワーがあったり。)

ExplorerCanvasは内部的に VMLを使っているらしい

グラフを描く(canvas編)
残念ながらIE(IE 9より古いもの)はcanvasが使えません。canvasをIEのVMLでエミュレートするGoogleの Explorer Canvas は必需品です。

VML!昔XMLが出始めた頃に本で読んだことあれか!(「これからの普及が期待されるXML」って感じで扱われてた...)

YUI 2.9が 2系の最後のメジャーアップデートになるらしい

YUI 2.9.0 Release Update » Yahoo! User Interface Blog (YUIBlog)
YUI 2.9.0 will be the last major dot-release of the 2.x codeline, and the team will be aggressively reviewing all open tickets against the YUI 2 project and either assigning them to be a part of the 2.9.0 release, closing them as “WON’T FIX”, or moving them to the YUI 3 project.

これが終わったらGoogle JavaScript Libraries APIも3系に移ってくれるのかなー?

2011年1月26日水曜日

Google AJAX Search APIが Deprecatedになっていた

で、代わりがJSON/Atom Custom Search APIらしい。
でも1日100リクエストまで。

JSON/Atom Custom Search API - JSON/Atom Custom Search API - Google Code
Important: The JSON/Atom Custom Search API requires the use of an API key, which you can get from the Google APIs console. The API provides 100 search queries per day. If you need more, simply request additional quota from the console.


.

Google Docsの旧バージョンの新規入力画面を開く方法

Google Docsの文書(ドキュメント)は、今までは設定で「新バージョンを使う」にしない限り旧来のバージョンが使用できていたが、ついに設定にこの選択肢が無くなっていた。
そして新規文書を作成してみたら、やはり新バージョンになってしまっていた。
...
使えない...。

しかし、下記のURLから開くと、引き続き旧バージョンが使えた。


floatingdays: Google Docsの 新規ドキュメントを開くURLの変更
これまでのURL
https://docs.google.com/DocAction?action=newdoc



というか、普段はこのURLをブックマークして使っているから、切り替わったのに気付かなかった!

もうそろそろ別のサービスを探したほうがいいのかな...?

2011年1月25日火曜日

PHPの for文の書き方忘れた!

PHP: for - Manual
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

foreachばっかり使うからかな...

2011年1月24日月曜日

Amazonの Beanstalkで PHPを動かす方法

PHP on AWS Elastic Beanstalk | Cameron Stokes’s Blog
However…using Quercus, a “100% Java implementation of PHP 5″ from Caucho, we can run PHP using AWS Elastic Beanstalk.

こっちも → AWS Elastic Beanstalk を使う その10 - Flex Coder

でも普通にEC2でインスタンス作ってPHP動かしたほうが簡単な気が...

BackTweetsの RSSは動かないし Twitter Searchの RSSは登録できないし

BackTweetsが提供してくれていた、短縮URLも含めたTwitterのつぶやき内の指定URL検索結果RSSが数日前から動かなくなっていた。

代役として考えたのが、どうやら短縮URLでも検索できるようになったらしいTwitter Searchの検索結果のフィードだけど、なぜかこっちはGoogle Readerに登録できない。なぜ?Google Readerの方の問題かなー?

2011年1月21日金曜日

郵便番号から住所を検索するJavaScriptのライブラリ(決定版?)

郵便番号から住所を検索するJavaScriptの再々発明 - Webtech Walker
jQuery.zip2addrはGoogle日本語入力APIを利用して郵便番号から住所を検索するという画期的アイデアのスクリプトなんですが、これのjQueryとかHTMLに依存してない版です。

おお素晴らしい!
ところでGoogle検索の郵便番号と住所のデータってどれくらいの頻度で更新されてるんだろう?

2011年1月20日木曜日

Amazon RDSは MySQL GUI Toolsで接続できるらしい

Webyog » Amazon RDS – The Beginner’s Guide
Here’s the best part about Amazon RDS: It has native MySQL 5.1 support. (Well, at this time, it supports no other RDBMS, but may be it will in the future.) This means that I can use my favorite MySQL GUI tool to connect to the Amazon RDS database instance.

それは便利かも。でもパスワードだけで接続できちゃっていいのかな?
DBのバックアップとか気にしなくていいなら(案件がマッチすれば)Amazon RDSは使ってみたいなあ。

AWS Elastic Beanstalkとは

AWS Elastic Beanstalk
The first release of Elastic Beanstalk is built for Java developers using the familiar Apache Tomcat software stack which ensures easy portability for your application.

Amazon EC2を中心とするAWSで手軽にJavaのWebアプリを稼動させるための仕組みのようだ。
DB定義とかはどうするんだろう?

それで、もしこれのPHP版があれば人気になりそうだ。
PHPファイルのエディタとMySQLのGUIツールをAWS Management Console内に作って、もうすべてManagement Consoleだけで済むみたいな。

2011年1月18日火曜日

WebMatrixの PHP専用板があれば人気になりそうなのに

マイクロソフト、無償のWeb開発環境「WebMatrix」を公開。HTML/CSS/JavaScriptエディタ機能、PHP対応、FTP機能など手軽で便利な統合ツール - Publickey
# Web開発ツール
HTML/CSS/JavaScript/PHPなどに対応したテキストエディタを含む開発ツール。FTPによりファイルをホストへボタン1つで転送できる
# HTTPサーバ
IIS Express 7.5により、Webブラウザですぐにブレビューできる。しかも(追加インストールにより)PHPにも対応する。当然ASP.NETにも対応
# データベースサーバ
SQL Server Compact Edition 4により、データベースを利用するWebアプリケーションもローカルで開発可能。MySQLも追加インストール可能

IISという時点で萎えてしまう。(でも意外にApacheとそんなに変わらないのかな???)
エディタはいいとして、これにApacheとMySQL/PostgreSQLがついていれば人気になりそうなのに。
XAMPPとテキストエディタとデプロイツールを組み合わせた感じ?

HTML5では submitボタンごとに個別の form送信先 URLを指定できるみたい

HTML5 input formaction Attribute
The formaction attribute overrides the action attribute of the form element.
This attribute is used with type="submit" and type="image".

JavaScriptで振り分けなくて済むわけね。
同様にtargetやmethodも指定できるようだ。

HTML5では textareaでも maxlength属性が使えるようになった

HTML5 textarea Tag
maxlength New number Defines the maximum number of characters allowed in the textarea.

HTML5ではtextareaでもmaxlength属性が使えるようになったようだ。
ChromeとSafari5では既に実装されていた。IE8とFirefox3は未実装。

2011年1月17日月曜日

postgresで pg_stat_statementsが見つからない場合

スロークエリの分析 — Let's Postgresを参考にpostgres9.0でスロークエリを分析しようとしたら、エラーになった。
ERROR:  relation "pg_stat_statements" does not exist

デフォルトでは使えない見たい

pg_stat_statements
このモジュールは追加の共有メモリを必要とするため、postgresql.confのshared_preload_librariesにpg_stat_statementsを追加してモジュールをロードしなければなりません。 このことは、このモジュールを追加もしくは削除するには、サーバを再起動する必要があるということを意味しています。

よく見たらスロークエリの分析 — Let's Postgresにもそのことが書いてあった...
.

Windows Vista以降 (2008も)はサービスの遅延開始ができる

Windows と C++: Windows サービスの機能強化
Windows Vista では、Windows がスタートアップ プロセスを完了するまで自動開始サービスの開始を遅延させる機能が提供されたことにより、Windows の起動時間が短縮されました。具体的には、遅延された自動開始サービスは、通常の自動開始サービスの約 2 分後に開始されます。

通常のサービスの開始から2分遅らせてスタートできるみたい。
DBの起動を待ってからサービスを開始とか、いろいろ用途はありそう。
2分という時間は変更できないのかな?

2011年1月14日金曜日

ExplorerCanvasの動作サンプル

javascriptの勉強中 : xingang
早速触ってみようってことで、アニメーションの簡単な練習作を作ってみたんだけど、IEで見るとメチャクチャ重い…。使えねえじゃんExplorerCanvas…。

動くものの数が多いから遅いのかな...?

2011年1月13日木曜日

Amazonアソシエイトで商品ページ以外の URLを作る

Amazon アソシエイト(アフィリエイト) - ヘルプ
トップページへのリンク

http://www.amazon.co.jp/?tag=[ASSOCIATE_TAG]&linkCode=ure&creative=6339

例) http://www.amazon.co.jp/?tag=ASSOCID-22&linkCode=ure&creative=6339

tag=XXXXX-22を付けとけばいいのかな???

Firefoxで検索窓に移動するためのショートカットキー

キーボードショートカット | How to | Firefox Support
Web 検索
Ctrl+K or Ctrl+E

すぐ忘れちゃう!

2011年1月12日水曜日

VMwareの VMを Amazon EC2へ移行する方法

下記に書いてある。

【AWS発表】 VMwareイメージをAmazon EC2上へ持ち込めるVM Importの発表 - Amazon Web Services ブログ
現時点で、32/64ビットのWindows Server 2008 SP2イメージをインポートできます(Standard、Enterprise、Datacenter エディションをサポート)。Windows Server 2003やWindows Server 2008 R2については現在対応中です。Linuxについても、CentOS、RHEL、SUSEの対応を進めています。

でもまだWin2008 SP2しかできないみたい...

ビジネス向けのGoogleデスクトップ?

企業向けデスクトップ
生産性の向上に役立つ機能:
* メール、ファイル、メディア、ウェブの履歴、チャットをすばやく検索
* オフラインでも閲覧済みのウェブページを表示
* イントラネット、Google.com、デスクトップの検索結果を 1 か所で表示
* Google ガジェットにカレンダーや無線 LAN インジケータなどのミニアプリケーションを表示
* 改善された新しいサイドバーにターゲットを絞った最新の情報を表示 New!

Google デスクトップの社内への導入および管理をサポート:
* ユーザーの機能や設定を一元的に管理
* コンテンツの管理とドキュメントの保有ポリシーの実装
* ユーザー データおよび検索インデックス ファイルの暗号化
* MSI ベースのインストーラによる配布
* インデックス登録の負荷パラメータを管理

Google AppsのGmailとかが使いやすくなるといいんだが。試してみよう。

2011年1月7日金曜日

Yahoo! Japanではどうやって警告無しでhttpsからのリダイレクトをさせているか

ブラウザから文句言われずにHTTPSからHTTPのページに移動させたいって話、まだあるんですね - r-weblife
上リンク先でも話に出ている、Y!のログイン直後の挙動を注意深く覗いてどーやっているかをまとめておきます。

http status code 301/302のリダイレクトでなくJavaScriptを使うのは王道だけど、JavaScript無効対策としてmeta refreshも併用してるんだ!

PHPでバッククォート演算子を無効にする方法

実行演算子 - PHP 5.3 日本語マニュアル
注意: バッククオート演算子は、セーフモード が有効な場合 もしくは shell_exec() が無効な場合は無効となります。

抜かりはなかった。

disable_functionsで禁止する候補の関数

「PHPバグ月間」への対処法,危険な関数を無効にしよう - 最新Windowsセキュリティ事情:ITpro
危険な関数には,exec関数とshell_exec関数のほかにも,suexec,passthru,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,system,popen,pclose,dl,ini_set,virtual,set_time_limit,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,escapeshellcmd,escapeshellargがある。ここに挙げた以外の潜在的な危険のある関数については,「PHP Builder」のWebサイトにある「Functions restricted/disabled by safe mode」という記事を参照してほしい。

phpinfo()だけ禁止しても、抜け道は他にもある、と。むしろphpinfo()よりexec()の方が強力か!
phpinfo()が禁止されやすいのは、危険なだけでなく本番環境では禁止しても害が無いからか。

Apacheで HTTP Headerに X-Content-Type-Options: nosniffを追加する方法

X-Content-Type-Options: nosniffのつけ方 | へぼい日記
mod_headersでできます

メモメモ。
.

ブログ アーカイブ

カテゴリー