タグ

slim3に関するt-horikiriのブックマーク (23)

  • #appengine 1.4.3の #slim3 単体テスト環境でQueueへのAddで例外が発生する場合

    追記このエントリを書いた数時間後に、この問題に対する対策が実施されたslim3-1.0.10がリリースされています。このエントリは無視してそれを使いましょう! Slim3の単体テスト環境で、先週リリースされた Google App Engine SDK 1.4.3を適用するとQueueへTaskをaddする処理で次のような例外が発生します。 java.lang.IllegalArgumentException: Task name does not match expression [a-zA-Z\d-]{1,500}; given taskname: 'null' at com.google.appengine.api.taskqueue.TaskHandle.validateTaskName(TaskHandle.java:103) at com.google.appengine.ap

  • Google App EngineとSlim3で始める携帯Web入門

    Google App EngineとSlim3で始める携帯Web入門:クラウドとフレームワークで超簡単ケータイ開発(1)(1/3 ページ) 数年前に比べケータイ向けサービス構築を支援するフレームワークやノウハウがたまってきて、そして無料または、格安でサービスを公開できる仕組み(クラウドやVPSなど)も普及している今こそ、ケータイ向けサービス開発を始めるチャンスではないでしょうか 環境が成熟した今ならケータイ向けサービスは簡単だ はじめまして、森俊夫と申します。徳島でフリーランスのプログラマをしております。最近、モバゲータウンやGREEなどのソーシャルゲーム/アプリのCMが多いですね。iPhoneAndroidを代表とするスマートフォンもいよいよ普及段階に入ってきおり、いまや、PCよりも携帯電話やスマートフォンでインターネットにアクセスする人たちの方が多いともいわれています。今ほどモバイル

    Google App EngineとSlim3で始める携帯Web入門
  • #slim3 1.0.6 のSimpleControllerを使った場合のテスト方法 #appengine

    先日、slim3-1.0.6がリリースされました。たくさん機能追加がありますが、最近の自分的に嬉しい機能のひとつにController内でInputStreamが使えるissue62への対応があります。 Support for Controller#createRequestHandler(): http://code.google.com/p/slim3/issues/detail?id=62 この機能を使用する際のテストケースの書き方の例を書いておこうと思います。あと、ついでにMetaクラスにJson->Model、Model->Jsonを行うユーティリティメソッドが追加されているのでそれも使っています。@takawitterさんの仕事です、ありがとうございます、便利です。 まずはController Httpメソッドとリクエストパラメータによって追加・修正・削除と1件返却、リスト返却

    t-horikiri
    t-horikiri 2010/12/28
    SimpleController
  • Channel APIで他のユーザーにプッシュ通信でアラートメッセージを送るサンプル - sifue's blog

    今日は久しぶりの外出がない休日だったこともあって、GoogleAppEngineのChannel APIを使ったサンプルを作ってみました。GoogleAppEngine SDK Java 1.4.0ではChannel APIが標準搭載されて、プッシュ通信を使ってネトゲーっぽいことができるようになるらしいので、ちょっと調べてみようかなと思ったのが発端です。 ちなみに1.4.0は現在prerelease中で、まだローカル環境でしか実行できませんが、githubの方にソースは上げておきました。1.4.0が正式リリースされた暁には、ちゃんとサーバー上で動くはずです。 https://github.com/sifue/channelsample 仕様は、同じURLを開いている人にプッシュ通信で突然メッセージをアラートを使って送りつけるというサンプルです。Channel APIがどういう仕組なのかほん

    Channel APIで他のユーザーにプッシュ通信でアラートメッセージを送るサンプル - sifue's blog
    t-horikiri
    t-horikiri 2010/11/26
    Channel API
  • Java Cloud Meetingに参加した - rabbit2goのブログ

    昨日はJava Cloud Meeting(2010 in Kansai)に参加してきた。Javaをメインにクラウドを取り上げるイベントだったので、Google App Engine(GAE)だけではなくAmazon Web Services(AWS)に関する話題も多く、質疑応答も活発で熱気にあふれたイベントとなった。一口にクラウドと言ってもバズワード化しているので色々あるけれど、AWSとGAEの両方を自分の手で動かしてみて、その長所と短所を理解した上で最適な方を選ぶべきという指摘は尤もだと思う。以下、講演より参考になった点を抜粋してみた。 Java Cloud Meeting 「Google App EngineはTDDに向いているんだぜ」「AppEngineとソーシャルアプリ」(ひがやすをさん) テスト駆動開発(TDD)では開発リズムが重要。GAEではKVSのDataStoreを使うた

    Java Cloud Meetingに参加した - rabbit2goのブログ
  • Java Cloud Meeting 2010 in Kansaiに行ってきたよ! - えいのうにっき

    行ってきました! スピーカーのうちのお一人である(そしてのちにベストスピーカー賞ともなった)@shin1ogawaさんのツイートを見て、今回のこのミーティングがあると知ったのが開催日2日前のこと。近い開催地であるとはいえ大阪であるということと、ここんところ休日をゆっくり過ごせていなかったこともあり、15分くらい迷ったんですが・・・。ひがやすをさんをはじめとしてこれだけの方々のお話を聞ける・これだけの規模の会が、行こうかどうか迷えるロケーションで開催されるということ自体が今後何度あるだろうか?・・・ということで、参加を決めましたー。 結果、やっぱり行ってよかったです!!こういう会に参加すること自体初めてで、いろんな心配があったんですが、いろんな知識も吸収できたし、新鮮な刺激を頂くこともできました! せっかく行ったんでってことで、当日お話を聞きながらPCでメモってたことをここでも載せておこうか

    Java Cloud Meeting 2010 in Kansaiに行ってきたよ! - えいのうにっき
  • Slim3プロジェクトをMaven2でGAEにデプロイする方法 - matsukaz's blog

    Slim3公式サイトのMavenのページでSlim3プロジェクトをMaven2で作成する手順がまとまっていますが、このままだとGAEへのデプロイは失敗します。以下の対応により、Maven2からGAEへのデプロイも可能となります。 pom.xmlの修正 <build> <finalName>slim3-maven</finalName> ・・・ <pluginManagement> <plugins> ・・・ <!-- maven-gae-pluginの追加 --> <plugin> <groupId>net.kindleit</groupId> <artifactId>maven-gae-plugin</artifactId> <version>0.7.2</version> </plugin> </plugins> </pluginManagement> <plugins> ・・・ <!

    Slim3プロジェクトをMaven2でGAEにデプロイする方法 - matsukaz's blog
  • slim3を改造して、モデルのJSON変換機能を追加する

    Google App Engine for Java用のフレームワークと言えばslim3です。シンプルで非常に使いやすいフレームワークですが、その特徴はアノテーションプロセッサとして実装されている、Metaクラスジェネレータ(slim3-gen)にも当てはまります。拡張性が考慮されていて、簡単に機能を拡張することが出来るようになっていて、実際にアノテーションの情報を元にソースを生成するサンプルも公開されています(リポジトリの、slim3-gen-extention-sample)。 そのサンプルを参考に、slim3-genが生成するメタクラスにjson変換を行うメソッドを追加する拡張、slim3-gen-jsonicを作ってみたので、紹介します。 使い方slim3-gen-jsonicのバイナリを、ここからダウンロードして下さい(現在最新版はslim3-gen-jsonic-1.0.5.j

  • AppEngine/Jのspin-upを劇的に改善する方法 - ひがやすを技術ブログ

    AppEngineは、アクセスがあったときにアプリケーションを起動し、しばらくアクセスが無ければアプリケーションを終了させ、また次のリクエストで再起動するという仕組みを導入しています。 そのため、アプリケーションを起動(spin-up)する時間がとても重要になってきます。このspin-upの時間はpython(webapp)で60cpu_ms以下。(cpu_msはcpuが使う仮想的な時間ですがmsと同じ感じで捉えてもらってもとりあえずは大丈夫です)JavaのServletだと600cpu_msくらいです。PythonでもDjangoような大きなフレームワークだと1000cpu_msくらい(アプリによる)かかりますが、許容範囲内。JavaだとSlim3で1300cpu_ms、Springだと早くて7000cpu_msという感じで、Slim3がギリギリ許容範囲内でしょうか。ほんとうは、1000

    AppEngine/Jのspin-upを劇的に改善する方法 - ひがやすを技術ブログ
  • AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ

    AppEngineは、万能なプラットフォームではありません。むしろ、かなり使い道は限定されていると言ってもいいでしょう。 向いていないアプリで使うとかなりはまって、アプリが完成しないリスクがあります。 一方、向いているアプリで使うとこれまでよりかなり費用を節約できたりとか、儲けにつなげることができます。 AppEngineにどのようなアプリが向いているかというと、AppEngineがGoogleの既存のインフラをそのまま利用していることをまず知っておく必要があります。 Googleのインフラは、(極端に単純化すると)大量のデータを多くの人に同時に見せるために最適化されています。 AppEngineも同様で、大量のデータに大量にアクセスがあっても大丈夫なように、BigtableというKVSを使っています。また、自動でスケールアウトするWebのFront Endも既存のインフラをそのまま使って

    AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ
  • Slim3に触っていたら、日本のソフトウェア産業になんとなく失望した « エンピツとキーボード

    最近、slim3というGoogleAppEngine/Java上で使用できるフレームワークを触り始めました。 http://sites.google.com/site/slim3documentja/ 一言で言ってこれはすごい。 Eclipseと連動させたら、苦もなくテストライクな環境で開発ができるようになります。 チュートリアルも丁寧に作られています。 MVCモデル、TDDの要素をしっかりと盛り込んで、フレームワークの使用方法が説明されます。 ちょっと開発に携わったことのある人であれば、 “Creating a Slim3 application is easy, and only takes a few minutes” (Slim3のアプリケーションを作るのは簡単、数分しかかかりません。) という言葉に偽りなし、と実感できるでしょう。 webサービスで儲けようと思ったら、早

  • #slim3 のテスト環境で投入したデータを削除せずファイルに保存する #appengine

    AppEngine/Javaで、開発サーバで実行するときのテストデータの初期状態を作っておきたい時、私はよくAppEngine SDKのLocalServiceTestHelperを使ってテスト環境を作成してデータ投入し、そこで作成したファイル(local_db.bin)をwar/WEB-INF/appengine-generatedフォルダにコピーしていました。これと同じことをSlim3のAppEngineTesterを使ってできないかなー?と思って試してみました。 Slim3のAppEngineTester#tearDown()はテスト中に投入されたデータは全部消してしまう(それが便利なわけですが)仕様です。これはtearDown()をオーバーライドして削除処理をしないようにすれば回避できます。 それだけだと良いんですが、環境終了時にApiProxyLocalImpl#stop()を呼

  • appengine ja night #7に行ってきた。 #appengine #ajn7 - あおうさ@日記

    今回は@shin1ogawaさんの尽くしの一日。shin1ogawa ja nightが開催されました。shin1ogawaさんは恐らく日で一番appengine/javaに詳しいと思われる人です。そんな人のライブコーディングが見れるとあって楽しい一日でした。 また、@kazunori_279さんがUstを録画して公開してくれています。id:kazunori_279さんは今回のust撮影のために機材の調達や編集ソフト購入、ustのリハーサルなど、もろもろ準備をして下さいました。おかげでみんな動画が見れます。当に感謝!!それと新しい試みとして京都会場とのサテライトが行われました。 おしながき 編 @shin1ogawaさん:appengineアプリケーションの自動テスト -最新java sdk版- @shin1ogawaさん,@higayasuoさん,@kazunori_279さん,@

    appengine ja night #7に行ってきた。 #appengine #ajn7 - あおうさ@日記
  • はてなブログ | 無料ブログを作成しよう

    うめぇヨーグルトソースでもいかがですか。個人差にもよりますが。もしよろしければ。 お久しぶりです。 最近うんめぇ〜と思ってるヨーグルトソースがあるので、書いていこうと思います。 ヨーグルトとハーブ類をもりもり使うので、そういうのがべられない方にはうんめぇソースではないです。ごめんなさい…。もしよろしければお茶だけも…旦~ 【用意する…

    はてなブログ | 無料ブログを作成しよう
  • #ajn7 へ行ってきた - n593977のブログ

    今回で6回目の参加。 この勉強会は、ATNDをチェックしていないと応募者多数で参加できないので、かなりの幸運に恵まれてる。 #今回は無線LANがつながらなかった。同じ会場で前回は繋がってたのでなんでだろう 今回もメモ程度だけど、一応まとめておく。 appengineでのテストに関して @shin1ogawaさんのお話。appengineテストに関してご人のblogを参考にさせてもらっている。 で、今回の目玉はライブコーディングだった。eclipseのショートカットを駆使し、ショートカットの質問が出るほどw サンプルとなるアプリはサーバーがslim + json、クライアントがhtm5 + jQueryの構成。 appengineでこの構成のメリットは以下のとおり。 spin upにかかる時間が目立ちにくい 1回のリクエストにかかる処理がちいさくなる サーバー側のエラーをハンドルしやすい

    #ajn7 へ行ってきた - n593977のブログ
  • プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを技術ブログ

    App Engineではどの言語を使えばいいのか - yvsu pron. yasで書いたとおり、App Engineで使う言語は、素のSDKで比べるとPythonの方がJavaより断然出来がいい。 ただ、仕事で使う場合は、素のSDKで開発することはなく、何らかのフレームワークを使うことが普通です。App Engineに特化したKay frameworkやSlim3のレベルで比べるとそんなに違いはありません。 これは、単純なリクエストの処理だと、Javaの方が10倍速いが、実際に行われている処理で比べるとそんなに違いはないのと似ています。 私は、Javaを使っているので、Javaへの評価が良くなりすぎないように、意識的にJavaのデメリットを強調し、Pythonのメリットを強調していますが、実際の仕事で使うレベルにおいては、差はほとんどないということです。 んんーーーー。 たまには音を書

    プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを技術ブログ
  • DIコンテナの必要性 - ひがやすを技術ブログ

    DI コンテナの起動が遅いなら、起動が速いのを作ればいいじゃない 何度か書いているとおり、DIはテストをしやすくすることが一番のメリットであり、オンプレミスの世界では、今でもある程度有効です。ただ、appengineの世界では、テストする環境が整えられているので、DIを使う必要はないということです。 http://d.hatena.ne.jp/higayasuo/20091115/1258245284 DIを使ったことがある人はわかると思うけど、DIには、ある程度のめんどくささがあります。appengineの世界では、DIがなくてもテストが簡単にかけるので、わざわざめんどくさいことをする必要はないでしょう。 appengineの世界でテストがどれくらい書きやすいのかは、次のustをみればわかります。 http://www.ustream.tv/recorded/6377235 技術的には、

    DIコンテナの必要性 - ひがやすを技術ブログ
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

    App Engineで使える言語は基的にはPythonJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonJavaも同じ

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

  • Slim3 for GAE/J ひがさん - uehaj's blog

    エントリは、エントリ「JJUG CCCいってきました」の一つです。 (補足)のところが主に自分で考えたところ。でも他にも暗に補完してると思うのでそこんとこよろしくお願いいたします。 はじめに Amazon EC2は仮想化サービスであり既存技術と連続 Google AppEngineは既存技術に対する制約が大きく連続性がない 制約とは Threadが使えない ContextClassLoaderが使えない セキュリティが厳しい。seculity.policyの設定が厳しい。 → Spring 2.5からコンポーネントスキャンというのをやってアノテーションを読み取るのだがそれは動かない。 Struts2の式言語はOGNLを使うがセキュリティマネージャを設定していると駄目 → nullにすれば良い ファイルに書き込みできない Apache Commonsのファイルアップロードはテンポラリファイ

    Slim3 for GAE/J ひがさん - uehaj's blog