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

Amazon S3 1ファイルの容量拡大

また、Amazonから We are excited to announce ..で始まるメイルが来た。しょっちゅう興奮してるな。今回の機能強化は、S3に納める1オブジェクト(ファイル)の上限が5G から5Tになった、とのお話。うーん。。。すごいたしかに5Gでは入りきらない場合もある…

JavaによるRESTfulシステム構

Bill Burke JAX-RSを使ったRESTfulアプリケーションの実装について書かれている。JAX-RSはアノテーションを多用した近代的なフレームワーク。なかなか使いやすそうだ。簡単にXMLとJSONを切り替えたりできるのも便利そう。クライアント側のライブラリは標準化…

jQueryによるWebサービス活用ワザ実践サンプル集

葛西 秋雄 JSONPを使ってクロスサイトでWebサービスから情報を取り出して活用するサンプル集。まあ、たしかにjQueryは使ってるけど、基本的にJSONPのために使ってるだけ。こんなに「jQuery」を大きく表紙に書いておいてそりゃないんじゃないの、と思ったり思…

Cluster GPU Instance

TOP 500というスーパーコンピュータのリストに231位で乗ったEC2のCluster Computing Instanceだが、さらにもう一手打ってきた。GPUだ。これは、おそらく、今日から米国ニューオリンズで行われる SC 10という国際会議に合わせてのアナウンスだろう。ようする…

Concurrent Cプログラミング言語―並行プログラミング入門

ナイレン・ゲハーニ, ウィリアム・D. ルーム 職場の本棚で発掘。そういえばこんなのあったなー、と。CSPベースの通信を行うCの並行拡張、という意味でGoに似ている。Goのgoroutineの代わりにプロセスという概念があり、プロセスに対して「トランザクション…

Amazon Web Serviceに無料使用分が導入

Amazon に*新規ユーザ限定で*1年間の無料使用が設定された。無料で使用できるのは以下の通り。一月あたり、 EC2 micro instance 750時間分 Elastic Load Balancer 750時間分、15GB Elastic Block Storage 10GB S3 5GB In/Out それぞれ15GBのデータ転送 Sim…

Go のチャンネルオーバヘッド

go

Goではチャンネルをいろいろな目的に使うことが推奨されている。pythonならgeneratorで書くようなこともgoroutineとチャンネルでやる。確かに書きやすくはなるのだろうけど、どの程度オーバヘッドがあるのか調べてみた。 調べること プロデューサとコンシュ…

初めてのコンピュータサイエンス

Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson 大学1年生の教科書。Pythonを教えると同時にコンピュータサイエンスの初歩、たとえばソートアルゴリズムのオーダだとか、ハッシュテーブルとか、さらにはオブジェクト指向とは、みたいなことま…

Effective Go 野良翻訳(4)

go

これでおわり。並行性、エラー、Webサーバ。 並行性 通信による共有 並行プログラミングは大きなトピックだ。スペースの関係上、Go固有の特徴的な話だけに絞る。多くの環境において並行プログラミングが大変なのは、共有される変数へのアクセスを巧妙に正し…

Effective Go 野良翻訳(3)

go

続き。これで3/4かな。初期化、メソッド、インターフェイス、埋め込み。 初期化 Goの初期化は、CやC++の初期化とそれほど違わないようにみえるが、よりパワフルである。複雑な構造体も初期化で作ることができるし、複数パッケージ間のオブジェクトの初期化順…

Effective Go 野良翻訳(2)

go

続き。関数とデータ。これで半分ぐらい。 関数 複数返り値 Go特有の機能として関数やメソッドが、複数の値を返せることが挙げられる。この機能を使うと、Cでよく出てくるカッコ悪い書き方を改善することができる。エラーステータスを(-1やEOFなどの)特殊な…

Effective Go 野良翻訳(1)

go

Effective Goが面白いので勉強のため翻訳してみる。意外に長いのでちょっとづつ。 はじめに Go は新しい言語だ。Go は既存言語からアイディアを借用しているが、変わったところもあるので、実際のGoプログラムは、Goの親戚言語で書かれたプログラムと異なる…

Go から Cを呼び出す

go

Go には2つコンパイラの系統がある。6gなどのgcと呼ばれるものとgccgoと呼ばれるもの。前者はcと呼び出しのコンベンションが違うので、Cのライブラリを直接呼び出すことはできない。後者はgccへのトランスレータ?なので呼び出すことができるようだ。6g系列…

Go 勉強中

go

いまさらGo 勉強中。なかなか、いい。好みだ。言語仕様がリッチじゃないところが好き。コンパイラの質が上がれば、システム用言語として本当に使えるんじゃないだろうか。 感覚としてはCとPythonの間って感じ。Pythonと違って型があるので、コンパイル時の…

App Engine java 1.3.6の新機能 app.yaml

1.3.7も出てしまっているけど、1.3.6で追加された機能の調査のつづき。app.yaml。 app.yaml とは JavaのApp Engineは基本的にサーブレットコンテナなので、サーブレットのお作法でいろいろなことをしなければならない。そのお作法の一つが、サーブレットクラ…

Amazon EC2 Micro Instance

Amazon EC2 に新しいインスタンスの種類が加わった。Micro Instanceというもの。従来のSmallでも大きすぎるという人向けのものらしいけど、実は結構いろいろ変わってる。 Small との違い メモリ まず、眼につくのはメモリ。smallが1.7GBなのに対して、 613MB…

AppEngine SDK 1.3.7 リリース、ただしバグフィックス

1.3.6が出たばっかりなのに、SDK 1.3.7が出た。1.3.6にあったバグがとれた、ということらしい。Python版、Java版にそれぞれバグがあったとのこと。 Python版 こちらは結構な大バグ。google apps上で使った場合にユニークな名前空間を 返す関数google_apps_na…

Googleクラウドの核心

ルイス・アンドレ・バロッソ、ウルス・ヘルツ 著 日経BP中田さまからいただいた。ありがとうございます。ながらく待望されていた、Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machinesの翻訳。原著はWeb上にPDFがあり、た…

Google App Engine 1.3.6 のNamespace API

先日プレリリースされていたApp Engine 1.3.6が正式にリリースされた。今回の目玉は Namespace APIによるマルチテナント ブロブストア上の画像の高速サムネイル化 カスタムエラーページ データストアの1000エントリ制限の解除 小ネタとしては Java でもapp.y…

オープンソース徹底活用 Slim3 on Google App Engine for Java

ひがやすをさんと小川信一さんによる本。Slim3は、App Engine上で動くウェブアプリケーションフレームワーク。タイトルに反してSlim3の話は結構少なく、全7章のうち、2章と6章のみがSlim3関連。ページ数にすると1/3程度。Slim3はフルスタックのウェブアプ…

デコンパイリングJava ―逆解析技術とコードの難読化 (Art Of Reversing)

Godfrey Nolan Javaはバイトコードインタプリタで稼働し、アプレットというバイトコードをさらす形での運用を前提としていたことから、Javaの登場の直後から逆コンパイラと逆コンパイラの動作を難しくするための難読化ツールが公開され、発達してきた。いま…

AWS Cluster Compute Instance

AmazonのクラウドEC2にCluster Compute Instanceなるものが追加された。 EC2でHPC EC2のインスタンスをたくさん使っていわゆるHPC (High Performance Computing) をやってみる、というのはあちこちで試している人がいたのだけど、これまではあまり芳しい結果…

App Engine SDK 1.3.5

1.3.5が正式にリリースされた。Python版ではプリコンパイルが有効になって、ただでさえ結構速かったスタートアップがさらに速くなったりしているみたいだが、Javaに限って言えば今回の更新はそれほど大きくない。Java版のリリースノートはこちら。 タスクキ…

すっきりわかるGoogle App Engine for Javaクラウドプログラミング

宣伝です。拙著がようやく形になりました。AppEngineの本はすでにたくさんあるのですが、1.3.4までをカバーしているものは、(まだ)ないのではないかと思います。 各APIに関してはなるべくそのまま利用できるサンプルを多く含むようにしたつもりです。サン…

App Engine 1.3.4 のOpenID 認証

月刊 App Engine SDK の6月号は1.3.4。Google I/Oではfor business とか、VMware との協業とか、mapper APIとかchannel APIとかもっと面白い話しがあったようだけど、SDK 1.3.4の最大の売りは、OAuth対応とOpenID対応の二つのユーザ認証機構。ここではOpenID…

ホワイトクラウド

先日クラウドExpoでホワイトクラウドの資料をもらってきたのでまとめておこう。Web上ではオプションなどの値段が明らかになっていないのようなので。 ホワイトクラウドとは ソフトバンクテレコムの提供するIaaS。ソフトバンク的にはシェアードHaaSと呼んでい…

1.3.3 pre release

数日前に1.3.3 prereleaseが発表された。来週には本リリースということだろう。本当に月刊 Google App Engine という感じになってきた。今回はバグフィックスという感じであまり大きな変更はないようだ データストアでidを自動的に採番する際の、idのレンジ…

Blobstore fetchData

App Engine には通常のデータベース的に利用するDatastoreの他に、Blobstore と呼ばれるストレージがある。このストレージに対しては、サーブレットを仲介せずに直接アップロード、ダウンロードができる。Blobstoreに格納されたデータに対するアクセスは限定…

初めてのGoogle Androidプログラミング

ジェローム・ディマジオ かなり前に購入してそのままにしていた.SDK 1.0 対応とか言ってるけど,いまは 2.1 だ...とはいえ,基本的な内容しか書かれていないので,その範囲ではあまり変わっていないのかもしれない.初心者が対象らしく,xxxクラスのイン…

App Stats for Java

これまでPython版にしかなかった App Stats が1.3.2でJavaに導入されたので試してみた. App Statsとは App Stats は各リクエストごとにApp EngineのAPIサービスの利用状況をモニタリングする仕掛け.どのAPIをどれだけ使ったか,個々のAPI呼び出しにどれだ…