スティルハウスの書庫の書庫

はてなダイアリーで書いてた「スティルハウスの書庫」を移転してきました。

メモ

AS3Unitで非同期なコードをテストする

Flex/AIRでも単体テスト書きたいなぁ。。しかも非同期なコールバックとかも含めて。。という私の希望を叶えてくれたすばらしいツールがありました。AS3Unit AS3UnitはActionScript 3.0上で単体テストを行うためのフレームワークで、JUnit4の移植です。Action…

twitterの「appengineja」アカウント作ってみました #appengine

「appengineja」というtwitterアカウントを作ってみました:http://twitter.com/appenginejaこのアカウントは以下のような情報をつぶやきます: appengine java night関連の告知 RedditのApp Engine Jaページの新着 皆さんが見つけた日本語のApp Engine関連…

RedditにApp Engine Jaページを作りました

RedditにApp Engineの日本語の情報を集めるページを作ってみました。ブログやスライドなど、なんでも投稿お待ちしてます!http://www.reddit.com/r/AppEngineJa/

MacRubyについてまとめ

昨日の深夜になぜか私のTLの人たちがMacRubyのVM実装についてつぶやき始めたのでまとめておく。@shudoさん: RT @wtakuo: MacRuby 0.5 beta 1 はすごい.YARVからLLVMに変更.それによってGILの心配がなくなる.さらに並列処理はGCDを利用.AOTも提供.もは…

ejabberd、EC2、GoogleTalkまわりのメモ

前回にひきつづき、GAEとFlashをXMPPでつなごうとしてます。 Amazon EC2でejabberdを動かす ejabberd on Amazon EC2 Ubuntu AMI My first problem came when I tried to communicate with users registered in other Jabber servers like Jabber.org and Goo…

AS3で動くXMPPクライアントを探す

GAE/Py+FlashでXMPP接続したい! この目標に向けていろいろ調査中です。 GAE/PyとGoogle Talkをつなぐ これはとても簡単にできました。特に参考になったのは、civicさんの Google App Engine の XMPPをPythonで書いてみる-1というページ。これをまねして、 …

PydevでApp Engineプロジェクトを作る

GAE/Jとの戦いをくぐり抜けてなんとかproductionリリースしたところ、モリアの坑道を抜けたガンダルフが白くなったように、気がついたら私もJava使いからPython使い(※見習い)へと変身してしまいました(まあまたJava案件になれば戻ると思いますが)。Pytho…

Datastore/Memcacheフリーズで消費されたCPU時間のグラフ

MLのやりとりでJasonさんに見せるためにここにアップ。

sun.misc.Unsafe#parkって何?

Datastoreやmemcacheが固まる時によく出てくる「sun.misc.Unsafe#park」って何だろ?と思ってググってみたら(←なぜか変換できた。ATOKすばらしす)、以下のページによると「Object#wait」みたいなもんらしい。。http://d.hatena.ne.jp/freebeans/20080509/p…

Multihomingというより、もうグローバルな単体計算機の気がす

http://home.att.ne.jp/sigma/satoh/diary.html (個別記事にリンクがない〜) 分散アルゴリズムに多少知識がある方ならば、Paxosを含む3相トランザクションプロトコルは遅いことは常識。だから遅延が大きいことは当初から予想されたことだと思います(個人…

Seasarカンファレンスの「Bigtable脳」を見たメモ

Seasar Conference 2009 Autumnのひがさんのセッション「SQL脳からBigtable脳へ」を見てきました。おおこれはB脳だ!と思った部分: レンジスキャンがBigtableのかなめ Bigtableは単なるKVSではなく「ソートされたキー」があるKVSという点が重要 自分の要件…

金融HPCって面白い

わけあって金融グリッド/金融HPCをにわか勉強中。。なかなか面白い。金融分野における計算機のグリッド技術 金融業界では、特にリスク管理の分野において多くの適用事例があります。例えば、数学的に厳密な解を求める方法が見つかっていないデリバティブ商…

OODBはこんなことができた

イリジウムのシステムをOODBで構築した話。昔、JavaWorldにOODB特集を書いたときにもちょっと取り上げました。Iridium - Object Oriented Databases vs Relational Databases The system includes over 66 low -earth-orbit (LEO) satellites, in order to w…

CISCはこんなことができた

http://h50146.www5.hp.com/products/software/oe/openvms/manual/vax_to_i64/HTML/DOCU_020.HTM 複雑命令セット・コンピュータ (CISC): メモリ内の位置に対して直接実行される複雑な操作も含めて,個別の命令で複雑な操作を実行するコンピュータ。このよう…

クラウド構築はどんだけ大変かメモ

Underneath the Covers at Google: Current Systems and Future Directions The Joys of Real Hardware Typical first year for a new cluster: ~0.5 overheating (power down most machines in <5 mins, ~1-2 days to recover) ~1 PDU failure (~500-1000 m…

大規模サイトのスケーラビリティ確保について

スケーラビリティに関するベストプラクティス:eBayからの教訓 Facebookのデータセンターに見るMySQL活用事例 - MySQLカンファレンス QCon Tokyo 2009 に行ってきました。二日目のメモ

KVSのメモ

http://d.hatena.ne.jp/shozzy/20090302/1235962175 そう考えると、先にも書いたとおり「開発効率という点でどうなのかなぁ?」と思ってしまう。Javaで業務アプリ書くときに、「RDB、SQLは使わないで、Mapをファイルに永続化させるようにしてね」とか縛られ…

Big Table: A Distributed Structured Storage Systemを見たメモ

Big Table: A Distributed Structured Storage System <Googleの典型的なクラスターノード構成> クラスターノード構成 クラスターノード Intelベースの安いPC Linux OS Scheduler slave GFS chunk server Cluster scheduling master Lock service (Chubby)…

The Softer Side Of Schemas - Mapping Java Persistence Standards To the Google App Engine Datastoreを見たメモ

The Softer Side Of Schemas - Mapping Java Persistence Standards To the Google App Engine Datastore Datastoreについて Datastoreとは トランザクショナル パーティション化されている 階層化データモデル スキーマレス Bigtableベース RDBやSQL DBでは…

Offline Processing on App Engine: a Look Aheadを見たメモ

Offline Processing on App Engine: a Look Ahead 背景 バックグラウンド処理やバッチ処理の要求がとても多い cronはあるが、たくさんの処理や高頻度の処理には向かない 概要 現状はApp Engine Labsの扱い:APIが未確定。課金方法も未定 Python版が6/18にリ…

App Engine: Now Serving Javaを見たメモ

App Engine: Now Serving Java Servlet API HTTP Sessionは永続化され、どのクラスタノードからでも同じセッション内容を取得できる App Engine API jar パッチリリースのアップグレードは自動的に行われ、再デプロイの必要はない ApiProxy APIコールはApiPr…

Building Scalable, Complex Apps on App Engineを見たメモ

Building Scalable, Complex Apps on App Engine List properties 01:40 List propertyとは何か? 複数の値を持てるプロパティ 順序付きリスト LPのメリット one-to-many関係にあるデータをコンパクトに扱える tupleやlistのようなデータを簡単に保存できる …

From Spark Plug to Drive Train: Life of an App Engine Requestを見たメモ

From Spark Plug to Drive Train: Life of an App Engine Request <Google App Engine Stackの構成(引用元)> Life of a request リクエストの受信 0:15 リクエストはクライアントから最も近いGoogleデータセンターに到着 Google内部ネットワークを経由し…

Working with Google App Engine Modelsを見たメモ

Working with Google App Engine Modelsを見たメモ Bigtableにできないこと joinできない (非正規化するか、ループを回して自前でjoinするしかないか?) (「正規化するな、JOIN済みのでっかいテーブルを作れ」) (List Propertyを使う) (merge join、…

Building Scalable Web Apps with App Engineを見たメモ

Google I/O 2008 - Building Scalable Web Apps with App Engine を見たメモ 書き込みはコストが高い 0:06 アプリケーションのパフォーマンスを決めるのは、書き込み処理の実装方法 読み込み処理は桁違いに速いので、あまり重要ではない Entity Groupを使わ…

Google I/OのGAE関連ビデオとそのメモ一覧

()内は個人的に面白かった度 Google I/O 2008 http://sites.google.com/site/io/google-io-sessions Working with Google App Engine Models(☆☆)メモ Datastore/Bigtableのデータモデルとその制約などを紹介 Best Practices - Building a Production Qua…

Bigtable論文を読んだメモ

Bigtable: A Distributed Storage System for Structured Dataをざっと読んだ感想: Bigtableは単なるソートされたkey-valueペアだ Multidimensionalという言葉に惑わされない方がよい レコードをイミュータブルにして履歴を残し、たまにGCするのはpgsqlやIn…

ひが氏「GAEは“老害”のリトマス試験紙」

Seasarカンファレンスのひが氏の発言より: Bigtable(の制約)を見て、またはサンドボックスの制限を見てGAEはダメだと思ったら「老害」の危険性がある ガツンと言われた。 GAEの制限には意味がある。... 犠牲を払うことでスケールするサービスを提供する。…

GAEのDatastore解説ビデオを見たメモ

http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastoreこのビデオを見たときのメモ(気になったポイントだけ): scan: 2 types of scan prefix scan range scan (Bigtableはscanがミソ、というかscanしかできない) entit…

Under the Covers of the Google App Engine Datastore

ひがさんのblogより: http://d.hatena.ne.jp/higayasuo/ http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastoreもう既に見ているかもしれないけど、一応ご報告。Google App Engine(Bigtable)の内部のデータのもちかたが詳し…