You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLやRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt
twitter上の議論で、GAEでランキングを実現する方法について盛り上がっていました。 んで、俺も思いついたのでさらします。 準備 まず、例えば以下のようなリストをTaskQueueを使って事前に用意します。 これは単純に、得点の上位から1000人区切りでキリ番の人がそれぞれ何点なのかを記録してます。 1000人目 98432点 2000人目 83563点 3000人目 68779点 . . . これが基準点となります。 ポイントは「人数」で区切っていること。 これで得点の分布がどうであろうと関係なくなります。 そしたら実行。 1 例えば77777点の人が自分は何位なのか知りたい場合、 まず、上の表で77777点より一つ上の基準点を探します。(点asc, limit 1で見つかる) この場合は、83563点が見つかってその時点で自分が2000位より下であることが分かります。 2 後は、実
DI コンテナの起動が遅いなら、起動が速いのを作ればいいじゃない 何度か書いているとおり、DIはテストをしやすくすることが一番のメリットであり、オンプレミスの世界では、今でもある程度有効です。ただ、appengineの世界では、テストする環境が整えられているので、DIを使う必要はないということです。 http://d.hatena.ne.jp/higayasuo/20091115/1258245284 DIを使ったことがある人はわかると思うけど、DIには、ある程度のめんどくささがあります。appengineの世界では、DIがなくてもテストが簡単にかけるので、わざわざめんどくさいことをする必要はないでしょう。 appengineの世界でテストがどれくらい書きやすいのかは、次のustをみればわかります。 http://www.ustream.tv/recorded/6377235 技術的には、
Google App Engine Java のアプリを作ってみました。 ちょっと前に検索エンジンの開発に触れる機会があったので、今回の手習いは、形態素解析器を GAE/J で動かすことをテーマにしました。 まずは、下記ページに書かれている 「Eclipse を使用して(または使用せずに)App Engine Java プロジェクトを作成する方法」 にしたがって開発環境を作成します。 http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/introduction.html そして、ひと通りチュートリアルを試して、開発環境に慣れてしまいます。 実は、最初はチュートリアルは試さないで、他に GAE/J を紹介している記事を参考にして、必要なことだけをやろうとしたんですけど、後から考えると、先にチュートリアルを通し
以前、Google App Engine Java で形態素解析器を作成しました。以前の記事はこちら。 今回は、これに改良を加えました。 改良前に使用していた辞書は、IPAdic でしたが、これを NAIST-jdic に入れ替えてみました。 そして、せっかくなので、IPAdic と NAIST-jdic の違いを見てみようと、両方の辞書で解析して、結果を並べて表示するようにして、それをやるなら、ついでに、Yahoo!JAPAN WEB API の日本語形態素解析の解析結果も並べて表示できるようにしました。 ご興味のある方、試してみてください。 http://agolabs.appspot.com/ * IPAdic と NAIST-jdic の違いで、一番わかりやすいのはアルファベットです。 ◇ 辞書について 形態素解析器といえば、ChaSen や Mecab ですが、これらのエンジ
GAE/JでのScalaのSpinUp時間を計ってみました。 appengine ja night #6 Beer Talk : ATNDでLTしたときに言っちゃいましたのでね。 java-ja温泉第2回の成果その1ですお。 測定方法 測定パターンは以下の4パターンです。 simplescala Scalaで書いた単純なFilterで、Responseに直に"Hello World"を出力 listscala Scalaで書いた単純なFilterで、Listを使って1から10までResponseに直に出力 slim3scala ScalaでSlim3のControllerを用意し、Responseに直に"Hello World"を出力 slim3listscala ScalaでSlim3のControllerを用意し、Listを使って1から10までResponseに直に出力 単純なコードだ
第4回 PHPでGAE上に社員検索アプリを作る 萩原 巧 リトルソフト株式会社 中越 智哉 株式会社ナレッジエックス 2010/3/18 Web アプリケーション開発者にとって、魅力的な環境に映るGoogle App Engineだが、データの永続化などで落とし穴が存在する。これまでの開発手法を変えずに使えないだろうか(編集部) 第1回から第3回まで、Google App Engine(GAE)上で動作するリレーショナルデータベース「SQL4G」の紹介と、GAE上でPHP/Rails開発を行うために必要な環境設定を説明しました。 今回は、GAE上でPHPを実行するために必要なライブラリの説明をします。 また、それらを活用したアプリケーションを作成しながら、PHP+リレーショナルデータベースとGAEの連携という新しい世界へ皆さんを招待したいと思います。 ライブラリの説明 PHP4Gでは、GA
いまコーディング中の案件で、Task Queueにぴったりハマる要件があったので、飛びついてみました。 課題:Datasource上の大量のデータをクライアントにダウンロードしたい。30秒内では終わらないので複数のリクエスト/レスポンスに分割してダウンロードする実装にした。しかしデータ量によっては何10分もかかってしまう。 原因:データ量の多さもあるが、それを取得するためのDatastoreのクエリ、および関連エンティティの取得にもっとも時間がかかっている 書こうとしているソリューション:クエリと関連エンティティ取得をTask Queueのタスクに分割して並列処理(map)し、取得したデータを集約(reduce)してクライアントに渡す …んん、これってMapReduceではないですか。1つのリクエストでは重い処理は、たくさんのタスクに細切れにして、キューにどんどん入れる。App Engin
Slim3をGAE/Jに対応させました。 デモサイトはこちら。 http://higayasuo.appspot.com/ ソースコードをチェックアウトしたい場合はこちら。 http://code.google.com/p/slim3/source/checkout https://slim3.googlecode.com/svn/を指定してチェックアウトできます。デモ用のプロジェクトは、slim3-demoです。 SAStrutsのチュートリアルをやったことのある人なら、デモサイトが、そっくりだということがわかるでしょう。Slim3 Struts(SAStruts相当)がGAE/Jで動くわけです。 素のStrutsだとGAEではファイルアップロードに失敗しますが、Slim3 Strutsはその辺も対応してます。 やってみて感じたのは、GAE/Jは、制限が結構厳しいので、高度なフレームワー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く