2009-01-01から1年間の記事一覧

Amazon Virtual Private Cloud

Virtual Private Cloudなるものがリリースされたようだ.要するに,Amazonのクラウドと自前のデータセンターの間にVPN接続を張り,自前データセンターの延長としてAmazonのクラウドを使える,というサービス.VPC内のインスタンスに対するネットワーク接続は…

Scala スケーラブルプログラミング

Martin Odersky, Lex Spoon, Bill Venners ついに出たScalaに関する日本語書籍.33章600ページ超と分厚いが,紙が薄めなので,それほど重くない.関数プログラミングスタイル,シンタックスから始まり,Javaとの連携,Swing プログラミングまでカバーしてい…

Google Apps Script

Google のblogによると,DocsでScriptが使えるようになるらしい.デモのムービーではスプレッドシートでマクロを定義している.ボタンを配置することもできる.スクリプトからメイルを送信したりすることもできるようだ.これでまた一歩Excelのリプレイスに…

クラウド大全 サービス詳細から基盤技術まで

日経BP社出版局編 さまざまなクラウド関連技術を広く紹介.著者はあちこちから集められている.1章は日経BPの中田敦さん.2章はクラウド研究会名義で浦本さんや石田さんが書いている.と思ったら,本の折り返しはIBM名義になってるなあ...大全ということ…

Google File System に関するインタビューのサマリ

ACMのacmqueueにGFS: Evolution on Fast-forwardと題した興味深い記事があったので,サマリをメモしておく.Berkeley FSの設計をしたKirk McKusickと,GFSのリードであるSean Quinlanの対談. GFSはシングルマスタ GFSは大規模なシステムであるにもかかわら…

FreemarkerをScalaで使う

Scalaの勉強の為に個人的なプロジェクトに使ってみようと思うのだけど,それにはテンプレートエンジンが必要.ということで,Freemarkerを使ってみた.FreemarkerはJavaのテンプレートエンジンなので,Scalaからそのまま呼び出すことはできるのだけど,Java…

Scala のXMLリテラル

ScalaにはXMLをリテラルとして書く機能がある.文字列としてではなく,XMLのオブジェクトとして直接解釈される.具体的には scala.xml.Elem という型になるようだ.しかも,Scalaの式を'{','}'で囲んで埋め込むことができる. 下記はReferenceからの引用. v…

Scala の改行

Scala言語のreferenceを読んでいたら結構びっくりだったので書いておこう.C系の言語では,改行はスペースと等価で基本的に意味を持たない.文字列の途中でもない限り,どこに改行を入れても大丈夫.Javaも分布的にはC系なので同じ.これがPython になると行…

Google App Engine for Java でBasic認証

Google App Engine for Javaは,Servletをベースとしている.Servletエンジンの多くには,Basic認証が組み込まれていて,設定ファイルを書くだけで使えるようなのだが,設定ファイルの書き方は,個々のServletエンジンに依存しているらしい.Google App Engi…

EC2とのネットワーク速度

都内某所から,ちょっと計ってみた. スループットはiperf,TCPで測定.1秒ごとに100秒測定 レイテンシはping.ただしec2側から測定 EC2はus-east-1c Image は x86 のfedora7 手元はx86 ubuntu 9.04 結果,スループット 78.1 Mbit/s, レイテンシ 199ms.予想…

EC2の起動速度

計ってみた.仮想計算機がrunningになるまでの時間と,そこにログインが可能になるまでの時間と,終了にかかるまでの時間.条件は下記の通り. EC2 は us-east running の確認は1秒ごとのポーリング.時間はリクエスト発行前から計測 running になってからss…

Google App Engine Pythonでtask queueがサポート

こちらの記事によると,AppEngine PythonのSDK1.2.3にタスクキューが試験的に実装されたらしい.下記のコードは上記の記事から引用 # ユーザにメイルを送信 for u in users: taskqueue.add(url='/work/sendmail', params=dict(to=u.email, subject='Hello ' …

Opera Unite

ブラウザのOperaが新しいコンセプトを打ち出してきた.Opera Uniteというもの.ブラウザにWebアプリケーションコンテナを内蔵するというコンセプト.Web アプリケーションは,JavaScript(!)で記述する. 職場内や,友達関係などの小規模の集団でなにかを共有す…

ThoughtWorksアンソロジー

ThoughtWorks inc. アジャイル界隈で有名なThoughWorks社のエンジニア14名による,それぞれテーマの異なるエッセイ(?)集.DSLをいろいろな方法で構成する話,多言語プログラミングのあたりは面白かった.「サービス進化パターン」で触れられている,「WSDLが…

自然言語処理

天野 真家,宇津呂 武仁,成田 真澄,福本 淳一,石崎 俊 自然言語処理に関する教科書.いかにも教科書的によくまとまっている.理論はともかく,言語の単語レベルにくると結局ヒューリスティクスと例外のかたまりになっちゃうのは,しょうがないのだろうか…

情報科学のための自然言語学入門

畠山雄二 期待していたものとはまったく違った.生成文法を帰納的に求めていく過程が,著者のいう「科学的」に,書かれているだけ.どこがどう「情報科学のための」なのか?導かれた文法も,「すごく奇麗に一般化できたんですよ,ここまで一般化しちゃうと使…

Google App Engine についてあなたが多分知らない10のこと.

Google App Engineのブログより.なんかスターとかいただいたので,もう少し丁寧に訳してみる. Google App Engine についてあなたが多分知らない10のこと. 1. アプリケーションのバージョンは数字ではなく文字列である. app.yamlやappengine-webのほとん…

グリーンIT 完全理解!

グリーンIT 完全理解! ネコも杓子もグリーン,ということで読んでみた.グリーンITは大きく分けて,IT「による」省エネルギーと,IT「の」省エネルギー,という側面があるわけだが,バランスよく書かれていて,資料としてもよくまとまっている.データセンタ…

Google App Engine と Senその後(2)

Google App Engine上で形態素解析機Senを使う試み.ようやくうまく行った.メモリが足りないせいじゃないか,というのは私の間違いで,メモリの問題ではなかった.問題をまとめておこう. App Engineの特性 アップロードできるファイルは1つ10Mバイトまで. 1…

Google App Engine for Java で使用できるメモリ量

Sen がうまく動かないので,実際どのくらいのメモリが使えるのかを調べてみた.具体的には,簡単な指定したメモリ量を確保するだけのサーブレットを書いて,手動2分法で限界点を探してみた.サーブレットはこんなだ. public class memorytest_gaeServlet ex…

Sen on App Engine その後.

Senの辞書ファイルアクセス部にちょっと手をいれて,辞書ファイルを分割できるようにしてみた.これで,App Engineにアップロードはできるようになったのだけど,やっぱり実行時に, Error: Server Error The server encountered an error and could not com…

Sen

有名な日本語の形態素解析プログラムに,茶筅がある.これは,奈良先端大で開発されたもので,日本語の文章を入力すると,品詞を解析してくれる. こんばんわ,ラッシャー木村です.という入力に対して, こんばんわ (こんばんわ) 感動詞(0,5,5) コンバンワ …

Using Google App Engine

Charles Severance Google App Engineの入門書.なのだが,ちょっと内容が変わっている. ほとんどゼロ知識の読者をターゲットにしているのだ. なにしろ,2章がHTMLとCSS,3章がPython,4章がHTTP... ようやくApp Engine固有の話になるのは99ページの5章か…

Amazon S3 Import/Export

Amazonからまた新サービス!どんなものかと思ったらこれがまた思いっきりアナログでちょっと驚いた.要するに物理的なデバイス(ディスクとか)でデータを入出力する,と言う話.巨大なデータをS3に入れるときにネットワーク越しにやると,トラフィックも食…

Cloud Watch, Auto Scaling, Elastic Load Balancing

またまたAmazon EC2周りにサービスが追加された.インスタンスのモニタリングと,自動的にインスタンスの数を調整するスケーリングと,ロードバランシング.これら3つはある意味独立しているが,連係動作することも可能. ロードバランサは,大規模Webサイト…

Cloud Application Architectures

George Reese 洋書.Web ApplicationをEC2/S3を用いたクラウド環境に移行する際の注意点を実践的に紹介している.著者は,EC2への移行を請け負うスタートアップ企業のCTOとのこと.O'REILLYからMySQL関連の本を何冊か執筆していることもあり,本の構成も手慣…

Google Web Tookit アプリケーション

ライアン・デュースバリー AjaxアプリケーションをJavaで書けるようにしてくれる仕掛け,Google Web Toolkitのチュートリアル本.サーバの書き方などを豊富な実例を含めて記述していて大変参考になる.おしいのは,対象としているGWTのバージョンが古いこと…

Cream + App Engine

Cream はThreadを用いて書かれている.これは,所与の制約条件を満たす解が複数ある場合,すべての解を求めると時間がかかりすぎたり,メモリ消費量が大きすぎることがあるので,1つの解ごとにユーザのプログラムに制御を移すためである.もちろんオブジェク…

Javaによる制約解消系 Cream

さまざまな制約(Constraint)を満たす解を求める枠組みを制約解消系(Constraint Solver)と呼ぶ.たとえば,Prologなんかは言語でもあるけれど,制約解消エンジンが組み込まれているとも言える.制約解消は,いろんな問題に使えるが,身近なところだとパズルが…

EC2のpython API boto を使ってみる

EC2にはさまざまな言語でAPIが提供されている,python用のバインディングとして,botoというものがある.botoはEC2だけでなくAWS全般へのインターフェイスを提供している.これをつかって,EC2のインスタンスがrunningになるまでの時間を計ってみた. botoの…