サーバをAmazon EC2に移行しました

何となくグズグズして先延ばしにしていたのですが、一念発起してサーバをAmazon EC2に移行しました。下記のように、大幅なグレードアップです。スッキリしました。

  • ハードウェア:ドスパラのミニPC → Amazon EC2
  • OS:Windows XP → Amazon Linux
  • Webサーバ:Apache 2.2 → Apache 2.4 + mod_pagespeed + mod_security
  • PHP:PHP5.2 + eAccelerator → PHP5.4 + APC
  • DB:MySQL 5.0 → MySQL 5.5
  • DokuWiki:最新化、テーマは新テーマ”dokuwiki”

ドスパラのミニPCはカレコレ6年近くもほぼ連続稼動していたわけで、よくもまあ壊れなかったものだと思います。(内蔵ファンは動かなくなったので外付けファンを付けて冷やしてましたが。)

その他の感想としては、

  • Amazon LinuxはデフォルトのyumでApache2.4とかPHP5.4とか入れられるのが良い。ダウンロードが速いし。
  • mod_pagespeedは面白いけど、deflateとexpiresは自分できちんと設定したほうが良い。(対象が狭いので。)
  • mod_pagespeedのGoogle Analytics自動挿入は便利。
  • mod_securityのデフォルトのルールはDokuWikiと相性悪い。(デフォルトで使うものではないのだろうけど。)
  • PHP5.2から5.4への移行でエラーが出まくるとかと思ったけど、意外に大丈夫だった。
  • DokuWikiの新テーマは見やすくて使いやすくて良い。

 

GCalendar Holidaysを Datepickerの複数カレンダーに対応させました

匿名さんからのコメントで、jQuery UI Datepickerの複数カレンダー(numberOfMonths)の場合にGCalendar Holidaysで1つ目の月しか祝日が表示されないことを教えてもらったので、複数カレンダーでも祝日が表示されるようにアップデートしました。バージョン0.5.0です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

GCalendar Holidaysの更新は久しぶりです。

それにしても、Googleカレンダーの祝日から今年の春分の日が消えているのはなぜだろう。この間まで表示されてた気がするけどなあ…。

JAXのバグを修正しました

PHPで手軽に配列・JSON・XMLを相互変換するライブラリJAX.phpにバグがあるというメールを頂いたので修正しました。修正後のバージョンは0.1.1です。

バグの内容は、XMLに変換するデータに「&」等のXMLで許可されない文字を含んでいる場合にエラーになるというものです。

こういうご連絡をもらえるというのはありがたいですね。 :-)

AppEngine-TwitterとRT_reportをTwitter API 1.1に対応させました

Twitterが2013/3/5をもってTwitter Search APIを廃止し、OAuthによる認証が必要なTwitter REST API 1.1に統合したことへの対応として、AppEngine-Twitterの検索機能で使うAPIをSearch APIからREST API 1.1に変更しました。(でもまだいまだにSearch APIも生きてる気がするけど…)
バージョン0.3.0です。

もともとsearch以外のほとんどの操作はOAuthを前提としていたので、変わったのは主にsearchのとこだけです。

また、それに合わせてRT_reportも対応させました。ギリギリ間に合ったようです。
Rate LimitがIP単位からユーザー単位になったおかげで、たくさんのユーザーが同一IPに同居してすぐにLimitに達してしまうため事実上検索等のAPIは使えなかったGoogle App EngineからのTwitter APIの利用ができるようになったのは喜ばしいことです。

東京通勤道中をTwitter API 1.1のOAuthに対応させました

Twitter Search APIが2013/3/5をもってTwitter API 1.1に統合されるとのことなので、これまでTwitter Search APIを使っていた+東京+通勤+道中+をTwitter API 1.1を使うよう変更しました。

Twitter Search APIと違ってTwitter API 1.1では検索をするだけでもOAuthによる認証が必須なので、これまではブラウザからJavaScriptにより気軽に検索できていたのが、サーバサイドでAPI を叩かなくてはいけなくなったのが面倒です。(回数制限も考慮してサーバでキャッシュしたりとかも。)

ただ、主にバックグラウンド側の変更なので、見た目も使い勝手もあまり変わってないと思います。

さりげなくjQeury Mobileのバージョンを1.3に上げたりもしましたが、新機能を使っていないのであまり影響ありません。

次はRT_reportかなあ…

Greasemonkeyの「Google検索 日本語のみボタン」をリリースしました

FirefoxのGreasemonkey用ユーザースクリプトとして、「Google検索 日本語のみボタン」を作りました。
Userscripts.orgからインストールできます。

Google検索 日本語のみボタン for Greasemonkey

 

Google検索結果ページのデザイン変更により、以前はサイドバーにあり1クリックで使えた「日本語のページを検索」が3クリックしないとできなくなったのが不便なので作りました。

インストールするとGoogle検索結果の右上に「日の丸」が表示されます。これをクリックすると、検索結果を「日本語のページを検索」で絞り込みます。
ようするに、3クリックするのが面倒な人のための単なるショートカットです。

検索結果以外のページにも日の丸が表示されてしまうのは、ご愛嬌ということで…

Google Chromeでも@includeのあたりをいじれば(tldがChromeでは使えないのと、アスタリスクの扱いが違った気がする)、Chromeでも使えるようになるかなと思いますがやってません。Chromeは野良スクリプトを入れるのが少しだけ面倒ですしね。需要はあるのかな。

 

PHPのスニペット集的ライブラリと、予約語取得スクリプトを公開しました

久しぶりの新作公開です。

痒い所に手が届く、PHPの文字列系関数を中心としたスニペット集的ライブラリのTe.phpと、PHPの予約語をまとめて取得するスクリプトを公開しました。

2012年も終わりですね。去年(2011年)はスマホ元年でしたが、来年(2013年)はタブレット元年です。Webの作り方も変わってくるでしょうね。何はともあれ、良いお年を!

Google Search Date LimiterがGoogle画像検索に対応しました

Google検索で手軽に日付範囲を選択できるようになるGreasemokeyの「Google search date limiter」を更新しました。バージョン0.5.0です。

変更点は下記です。

  • Google画像検索にも対応。(通りすがりさんのリクエストに応えました。)
  • 日付範囲選択のプルダウンとGoogleアカウント表示・選択が重なってしまうのを回避。
    (Googleアカウントを上に移動させた。)

 

画像検索にも対応させたことにより、Googleの他の検索でも(結果的に)対応することになるような気がします。(未検証。)
何か気づいたら教えて下さい。

Titanium MobileにSQLヘルパーを!

Titanium Mobile用のライブラリPrometheus.jsに、DB(SQLite)を簡単に扱えるSQLヘルパーを追加しました。バージョン0.2.0です。

SQLヘルパーのオブジェクトは、Pr.db(dbName) で取得できます。後はselect()したりinsert()したり、update()、remove()したりしてください。Ti.Database#execute()と同様に、execute()することもできます。
しかも、DatabaseやResutsetのclose()は勝手にやってくれます。(execute()した場合は除く。)

DBアクセサですが、O/RマッパーではなくSQLヘルパーです。

WHERE句の生成は今のところイコール条件しかできませんが、そのうち必要に迫られたら追加します。