2023年5月3日、愛車BURGMANに乗って愛知県名古屋市にある名古屋港 ワイルドフラワーガーデン ブルーボネットに春のお花を見に行ってきました。 往路は、名古屋市内を避けて庄内川の堤防を走り、渋滞もなく目的地には10時前に到着しました。...
![Oh!Happy.JP](https://cdn-ak-scissors.b.st-hatena.com/image/square/d5f81c6a5922e010e1abbe86f5ac8388bf9eb7d9/height=288;version=1;width=512/https%3A%2F%2Fohhappy.jp%2Fwp-content%2Fthemes%2Fcocoon-master%2Fscreenshot.jpg)
2023年5月3日、愛車BURGMANに乗って愛知県名古屋市にある名古屋港 ワイルドフラワーガーデン ブルーボネットに春のお花を見に行ってきました。 往路は、名古屋市内を避けて庄内川の堤防を走り、渋滞もなく目的地には10時前に到着しました。...
Java開発者が知らないと損するPaaSクラウド8選:ユカイ、ツーカイ、カイハツ環境!(25)(1/3 ページ) 進化・激変するJavaクラウドの現状を知る、まとめ 本連載「ユカイ、ツーカイ、開発環境」では、Javaが利用できるクラウドコンピューティングのPaaS環境について、いくつか紹介してきました。最近では、レッドハットの「OpenShift」とヴイエムウェアの「Cloud Foundry」などのPaaSクラウドのβサービスが提供され始め、また、いままで紹介した各クラウドの事情も変わってきました。 本稿では、Javaで利用できる以下の8つのPaaSクラウドの最新動向をお届けします。 機能を拡充し続ける「Google App Engine」 「Stax」はCloudBeesに買収され「RUN@cloud」に Morphの「AppSpace」は「mCloud」に .NETだけじゃない「Wi
ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基本的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un
The 1000 file limit has created a problem for folks working outside of the golden path provided by GAE, or even for folks with lots of modules outside of the Web application plumbing. To alleviate this problem, you can create a zip archive of files you need and import module from these like so: import sys sys.path.insert(0, 'cherrypy.zip') sys.path.insert(0, 'mako.zip') import cherrypy fro
以前、Google App Engine で無料サイトを作ろう(ただしマック限定) というブログを書きましたが、せっかくなら、無料の Google Apps Standard Edition に登録して、独自ドメインで運用してみましょう。ドメインを取得する料金以外は、無料です。 ですので今回は Mac な人向け限定という訳ではありません。 ドメインの取得は、今時、一年で 1000円もあれば済みます。自分のドメインをとるのもお手軽です。 必要な条件: 自分で取得したドメイン名 取得したドメインに対して CNAME レコードが設定できる DNS Google Apps Standard Edition の登録(無料) 1 は、自分でドメイン名が取得できるサイトから取得してください。残念ながら、現状ドメイン取得は無料ではないのでドメイン料だけは必要になります。 2 の意味は、自分で DNSサーバ
GoogleAppEngineで開発をしている時にDatastoreのデータを直接扱いたい場合、管理コンソールを使えばだいたいの事は可能です。ですが、Keyの編集やBlobデータのアップロードなど細かい事は出来ませんし、ウェブのインターフェイス故に限界もあります。また、テストデータを作りたい場合などは、Excelのようにコピーをしながら簡単に作り、保存なんかもしたいわけです。 そこで新しいプロジェクトKotanを作ってみました。スクリーンショットはこんな感じ。 デモサイトはこちら。 ただし、Java Web Startで起動し嘘証明書を許可しなければ使えません。また、データアクセスをする為にGoogle Accountによる認証も必要になります。 技術的には、単純なSwingのクライアントアプリです。Commons Http Clientを使いサーバと通信を行いますが、GoogleのAcc
News, notes, tips and tricks from the Google App Engine Team Since this blog's inception, Google App Engine has gone from the primary component of our nascent Cloud Platform to one of the many services we offer developers building in the cloud. In recognition of the growth of the platform in both usage and number of components, it's time to take a more holistic approach to our communications chann
メールアドレスがこのグループでは匿名化されているか、メンバーのメールアドレスを表示する権限がないため、元のメッセージを表示できません the issue: it looks like we may not be getting all of our log entries when when pull the logs from app engine. first, a little context. there's a lot here, so bear with me. we need to record event lines for metrics. normally, we would write the lines to a local file on each app server and then pull those logs every few minutes from
Song of Cloudで送金のトランザクション処理パターンが紹介されていました。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 同様のpython版がこちら Distributed Transactions on App Engine - Nick's Blog 上記のやり方で基本的には問題はないのですが、バージョン管理による楽観的排他制御を行っていないので、送金だけを考えるなら、残高を差分で更新しているので大丈夫ですが、これを一般的なパターンに拡張しようとすると、楽観的排他制御は必要になります。 楽観的排他制御とは、エンティティにバージョン番号を持たせておいて、メモリ読み込んだときのバージョン番号と書き込むときのバージョン番号が等しいことを確認する方法で、RDBMSの場合は、次のようなSQLを実行することで実現しま
最近google app engineを使用した仕事をしてる。 そこでカーソルを使うことがあったのでメモ。 Low Level APIを使用したときのカーソル とりあえずソース。 DatastoreService service = DatastoreServiceFactory.getDatastoreService(); Query query = new Query("Hoge"); PreparedQuery pq = service.prepare(query); FetchOptions fo = FetchOptions.Builder.withOffset(0).limit(2); //データを取得。0番目から2つデータが取得 QueryResultList qr = pq.asQueryResultList(fo); //カーソルの取得 Cursor c = qr.get
決まった時刻や間隔で定期的に何か処理をしたい場合はCronを使用しますが、直前になるまで時刻が分からなかったり、突発的に発生するイベントの処理にはTask Queueを使います。 Task Queueはプログラム上から実行する時間を指定して登録できるCronに似たシステムです。CronがGETメソッドでパラメータ無しで呼び出されるのに対して、Task Queueは基本的にPOSTメソッドで呼び出され、パラメータも渡すことができます。 ちなみに、Task Queueはまだ実験的なシステムで現在はgoogle.appengine.api.labs.taskqueueというパスになっていますが、正式サービスに昇格する際にgoogle.appengine.api.taskqueueに変わる予定なので注意してください。 呼び出し元がユーザではなくGAEのシステムというだけで、それ以外は普通のCGIと
昨日一昨日、Google App Engine (GAE)に関する日本最大の勉強会(だと思う)appengine ja night #7 (ajn7)が行われました。 その中で『ランキング問題』が話題に上がりました。『ランキング問題』とは、何十万件もの点数のデータがあるときに、App Engine上で、「◯点は何位です」と高速に求めることは難しい、という問題です。(◯ページ目を表示、というページングもこれと同じ種類の問題になります。) ajn7では「上位でない限り正確な順位は必要ないのではないか」という話になりましたが、Skiplistを用いた検索アルゴリズムを使えば正確かつ高速に順位を求めることができるのではないかと思い、実装&検証してみました。 ランキング(順位取得)のデモ 下記ページで順位取得のデモを動かしています。スコア(点数)を入力すると順位と取得にかかった時間が表示されます(時
※2010/4/23 sessionのクリアについてご指摘頂き、追記しました。Google App Engine for Java(GAE/J)にて、どんなアプリを使う場合でも (自分的に)ほぼ必須となる設定ファイルのまとめ。 ていうか、リファレンス読めばいーんだけどさ 1.sessionを有効にする & クリアの設定をする Javaでsession使わないケースなんてあるのか? appengine-web.xml に 下記を追加 <sessions-enabled>true</sessions-enabled> GAE/Jでsessionを使う場合、このままだとDatastoreにsession情報が残ったままなので定期的にクリアするcronを設定する web.xml に 下記を追加 <servlet> <servlet-name>_ah_sessioncleanup</servlet-
はじめに 最近、 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ http://d.hatena.ne.jp/kazu0620/20100412/1271071223 というエントリーが話題になりましたね。自分もwebプログラミング素人でmixiアプリを作ってみたので、ちょっと便乗して、自分がmixiアプリを作るまでのプロセスをまとめてみました。 これからアプリを作る人の参考になれば幸いです。 kazu0620さんは、個人で作っていたみたいですが、自分は会社で作りました。会社といっても、自分含め従業員数3人の超零細企業でフリーランスの延長線上みたいなかたちでやっている会社ですが。 ちなみに会社のサイトはこちら。 作ったアプリ 「ふしぎな生き物 ふにゃもらけ」 http://mixi.jp/run_appli.pl?id=9443 リリース日:3/23 実質開発期間:8ヶ月 週間
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く