slim3

TimeZoneを扱う

国内で国内向けのアプリケーションを作っている限りは、タイムゾーンを意識することはほとんどありません。しかし、Google App Engine等を利用する場合、多国対応のアプリケーションを作るためにはタイムゾーンを正しく扱うことが必要不可欠です。というわけ…

Scenic3のAppUrlsに関するテスト

sue445さんのエントリーにもあるように、Scenic3の弱点の1つにAppUrlsに各ページクラスを個別に登録しなくてはならないという事があります。これは、ページクラスからAPTを使ってControllerクラス群を生成し、さらにそれらのControllerをディスパッチするMa…

Scenic3-0.4.1 リリース

Slim3 1.0.8 のリリースを受け、Scenic3 0.4.1 をリリースしました。 また、ブログのコメントで指摘された不具合に対応しています。 この所、利用している方が増えてきてるようでTwitter等でも声をいただいております。それほど大きなライブラリではありませ…

Scenic3 0.4.0 リリース

Slim3を薄くラップし、T2Framework風に1つのページクラスに複数のコントローラメソッドを記述することのできるライブラリ「Scenic3」のバージョン0.4.0をリリースしました。 変更点は次の通りです。 REST風のページクラスのサポート 不足していたController…

Scenic3 によるRESTサポート

Scenic3はSlim3のController層を薄くラップした拡張ライブラリです。Slim3では1アクション(URL)に対して1つのControllerを作成するシンプルなデザインですが、どうしてもControllerの数が多くなってしまいます。関連するアクションは1つのクラスにまとめ…

Slim3 に Scenic3 と PirkaEngineを使う方法

ここの所、随分とAppEngineへの関心が高まってきているようです。Slim3の周辺も活発になってきている事もあり、Scenic3に注目していただく方もチラホラと出てきました。注目されるということは非常にモチベーションが高まります。 今回は前回に予告した通り…

Slim3 pluginでScenic3の使い方

Slim3には簡単にプロジェクトを作成する為に使えるEclipse pluginがあります。@tomotaro1065 さんが中心になって作られていますが、ご厚意でScenic3の対応もしていただいています。ですが、自分で使ってみて使い方が解らないのではないか?と気付きました。…

pirka-mobileによるGAEのモバイル対応

1月に入ってからGoogle App Engine/Javaで必要最低限の実装でモバイル対応をするためのライブラリを書いてました。 やれることとしてはシンプルに次の3点。 絵文字の出力 キャリア判定 UID/GUIDの取得 機能てんこ盛りにすることもできますが、それならば既…

pirka-slim3 0.1.0 リリース

pirka-slim3はテンプレートエンジン pirkaengine をGAEで利用する為のモジュールです。slim3を使ってJSPを利用したくない人にオススメです。 特徴 pirkaengineの最大の特徴は、JRE以外に依存ライブラリがない点です。したがって、GAEを扱う上での最大の問題…

EtupirkaCMS 0.1.0 リリース

昨晩、Google App Engine/ JavaをプラットフォームとするCMS、EtupirkaCMS 0.1.0をリリースしました。 EtupirkaCMSはちょうど1年ほど前から開発をはじめたプロジェクトで、フレームワークにSlim3を採用し、GAEに最適化された設計になっています。当初はSpin-…

05-美はシンプルさに宿る

「プログラマが知るべき97のこと」の5つ目は、シンプルさに関する話です。簡単にまとめると「シンプルなコードは、可読性に優れ、個々の箇所の責務も適切に最小限になっており、テストもしやすく、保守も容易」であるという事です。きのこ本はどのエピソー…

GAEのChannel API で対戦ゲームの開発がどの程度難しいか

かなり前(SDK1.3.4-5)の頃の話題なのですが、Google App Engine でCometを実現するAPIが試験的に導入されました。デモとしてAndroidのロボットが動くやつを見た人も多いでしょう(http://dance-dance-robot.appspot.com/)。 現在、Channel APIは申請し承認…

Scenic3を可変長のURL引数に対応してみた

slim3のMLでこんなURLに対応できないの?という話があがっていました /foo/bar/a/very/long/long/long/long/long/long/long/path/ つまり、パスでIdか何かが区切られていて、かつ可変長なパターンです。 正直な所あまりないのかな?と思いつつも、ファイルの…

単純な処理の単体テストが重要

先日、appengine SDKが1.3.8にアップデートしたのですが、ローカル環境のSDKを1.3.8にした所、EtupirkaCMSの単体テストが1/3くらい失敗するようになりました。原因の1つはプロトコルバッファを使って画像加工の部分を単体テスト用に細工しているところで、A…

scenic3 0.2.0 リリース

slim3をT2Framework風に記述できる拡張ライブラリ Scenic3の0.2.0をリリースしました。とはいっても、単体テストを追加して不要なクラスなどを整理しただけです。 0.1.0には随分とゴミコードが残っていたので・・・・。詳しくはドキュメントサイトを参照くだ…

ajns1関連の資料や感想ブログのまとめ

資料や感想のブログなどのまとめ(随時更新) ブログ sak's Android Avenue 北から南や西を見て思うこと 徒然日記・本館 やさしいデスマーチ 以下、資料とかust

AppEngine Ja Night Sapporo #1 完了しました

札幌でも35℃近い気温を記録した8月6日に札幌での初AJN(AppEngige Ja Night)が開催されました。参加人数は、前半のセッションが約30名、BT(Beer Talk)が約25名です。開催を告知すると一晩で100名以上の参加希望者が殺到する本家AJNには遠く及びませんが…

scenic3 0.1.0 リリース

slim3を薄くラップして、t2 framework のようなPageクラスでコントローラを記述できる拡張ライブラリscenic3をリリースしました。まだ、トライアル版に近くテストなどが十分ではありませんが、slim3の「1コントローラ=1アクションクラス」がしっくり来な…

Google App Engine アプリケーション開発

オープンソースカンファレンスにて札幌Javaコミュニティ枠で、GAEのセッションを行いました。内容としては、GAEの特徴についてと、slim3の紹介、spin-upとDatastoreのTipsという構成です。45分しかないので駆け足になってしまいましたが、なんとか(3分程度…

AppEngine ja Night #8 のBeer Talkで話します

銀座なう。 ということで、札幌からAppEnginge ja Nightに参加するために飛んできました。折角と言うことでここ半年ほど色々といじっているAppEngine上で動くCMS(開発中)etupirkacmsの開発で得た経験を元にspin-up関連のネタで話をすることになりました。…

64bitのJVMでslim3を使った開発をする方法

正式には32bitしかサポートされていません。とはいえ、Javaの設定でいちいち切り替えるのも面倒です。しかし、MacのJavaには-d32という特別なオプションがあり、これを指定すれば32bitで動作してくれます。 以下設定。 Eclipse - 環境設定 - Java - Installe…

Datastoreのデータを表示・編集したい

GoogleAppEngineで開発をしている時にDatastoreのデータを直接扱いたい場合、管理コンソールを使えばだいたいの事は可能です。ですが、Keyの編集やBlobデータのアップロードなど細かい事は出来ませんし、ウェブのインターフェイス故に限界もあります。また、…

単体テストで ImagesService#applyTransform を使う方法

slim3ではGAEの環境に依存するような単体テストもかなり簡単に行う事ができます。例えば、Bigtableへのアクセスはテストの実行毎にリセットされる、グローバルトランザクションに対応など至れりつくせりです。ところが、画像を加工してサムネイルを作る時な…