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

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

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

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

Google Maps APIで図形を描くサンプルを追加

少し前にGoogle Maps API (v3)にDrawingライブラリが追加されたので、いつか使うときのためのチュートリアル的メモも兼ねて、Drawingライブラリを使って地図上に色んな図形を描けるサンプルを作ってみました。

Google Mapper V3で長方形や円や自由図形や折れ線を描くサンプルです。

いつものように地図の表示にはGoogle Mapper V3を使っていますが、今回はGoogle Mapperはあんまり関係ないです。

サンプルページで描ける図形の種類は下記の通りです。

  • 長方形
  • 任意の点を頂点とする多角形 (Polygon)
  • 任意の点をつなぐ折れ線 (Polyline)

PolygonとPolylineはGoogle Maps API V2でも編集可能だったのでおなじみです。逆に言うと、やっとV2でできたことがV3でもできるようになったとも言えます。(V2でできてV3でできなかった機能はこれが最後かな?)
Drawingライブラリとしてはこの他にMarkerもサポートしているのですが、Markerは図形とはちょっと違うので今回のサンプルからは除外しました。

Drawingライブラリがやってくれるのは図形の新規追加をしやすくすることだけで、他の編集・削除は自分で書かなくてはいけませんでした。
とはいっても編集はsetEditable()を呼ぶだけ、削除はsetMap()を呼ぶだけなので簡単です。

しかし、1つだけ困ったのはPolygonやPolylineの頂点の削除です。Google Maps API V2でもそうだったのですが、頂点にイベントリスナーを登録できないので、他のものでクリックイベントを拾わなければなりません。
しかも、V2では編集中の頂点に表示される白い四角形で発生したイベントの緯度経度は頂点と同じ値になったのに、V3ではそのような気の利いたことはしてくれないので、閾値を決めてクリックされたのが頂点かどうか判断するような処理を書かなければなりません。(参考:Polygon verteces events – Google Maps JavaScript API v3 | Google グループ
さらに、IE8では大丈夫なのになぜかIE9では白い四角上のイベントをイベントリスナーが拾ってくれませんでした
このあたりはそのうちAPIが改良されるような気もしますが、V3ではPolygon・Polylineの編集機能の実装に時間がかかったこと(そしてその背景としてそもそも需要が少ないのではという推測)を考えると、放置されるような気もします。

なにはともあれ、Googleの中の人にはお疲れ様と言いたいです。お疲れ様!

Pryn 1.0、デビュー。

長い雌伏のバージョン0.2.xの時期を経て、Pryn 1.0をリリースしました。

PrynはJavaScriptとCSSのファイルを1つずつ読み込むだけでWebサイトのユーザービリティを向上させる、つまり「おもてなし」度を上げるツールです。

内容的にはJavaScriptの方はクロスブラウザに特にフォームまわりの使い心地を楽に良くすることを中心に書かれています。それに対してCSSの方は学んできたTipsの集積地という感じです。

最初にこれを作った頃は、JavaScriptのフレームワークはまだPrototype.jsが一番手で、それに対してjQueryがカウンターテーゼとして台頭してきたという頃でした。他にもDojoやMootoolsがコアなファンに後押しされて、JavaScriptライブラリ群雄割拠という感じでした。
そんな状況で、どのフレームワーク/ライブラリにも依存しない、かつどのフレームワーク/ライブラリとも併用できるようなライブラリが欲しくなり、作ったのがこのPryn.js & cssです。
当初はクロスブラウザなイベントリスナーの追加やclass属性の追加・削除、それにいくつかのフォーム部品等のおもてなし向上とYUI2 CSSのインポートとシンプルな内容でしたが、老舗の鰻屋のタレのように、じっくり時間をかけてじわじわ知り得た知識や経験を足していき、旨みを凝縮させました。(忘れないようにメモがわりにしつつ、かつ、実験場にしてきたとも言います。)

なにはともあれ、Pryn.js & css、可愛がってやってください。

jQuery UIの各テーマの色が人目で分かる便利ツール

jQueryのサブプロジェクトであるjQuery UIは、豊富なテーマとDatepicker等のウィジェットが用意されていて、なかなか便利です。

しかしウィジェットに比べて、class属性の指定だけで簡単にサイトを彩ることが出来て便利なThe jQuery UI CSS Frameworkの存在が意外と知られていない気がします。
そしてその原因は、jQuery UI ThemeRollerで簡単に見た目を確認できる各ウィジェットに比べて、その効果がすぐに分かるページが用意されていないからではないでしょうか。

そこで、各テーマを適用した時にそれぞれのCSSクラスがどんな背景やフォントになるかをひと目で確認できるツール、名付けてThe Colors Viewer for jQuery UI CSS Frameworkを作りました。

これがあれば、着せ替え感覚で気軽にテーマを選んだり、classを変更したりできると思います。ぜひご活用ください!

未公開のまま溜まっていたPHPとJavaScriptのライブラリ的なものを公開した

PHP

JavaScript

だいぶ昔につくったのから、割と最近作ったのまで、まとめて公開した。

ちょっとしたものが多い。

それから、PHP x APIsの方もいくつか追加した。

Google App EngineでOAuthを使ってTwitter APIを扱えるライブラリを公開した

本体はこれ。使い方等も下記リンク先を参照。

Google App Engineで手軽にTwitterアプリを作成!(OAuthにも対応!) – AppEngine-Twitter [ゼロと無限の間に]

OAuth関連の部分は別のclassに抜き出した。

Google App Engineで手軽にOAuthアプリを作成!(Twitterとか!) – AppEngine-OAuth [ゼロと無限の間に]

ついでにGoogle App EngineのRequestHandlerを拡張+ちょっと便利な関数群 – AppEngine-BaseHandler [ゼロと無限の間に]もどうぞ。

OAuthをったサービスを作りたいなら、別途Twitterに申請が必要。(簡単なフォームに書き込むだけだけど。)

それにしてもGoogle App Engine Python版の開発しやすさは素晴らしい。SDKでひととおりできてしまう。軽いし。RDBMSが使えないという点さえなければ…