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呼び出しにどれだ…

App Engine 1.3.2 のeventually consistency read

forumのほうでRyanさん(中の人)が解説してくれたのでちょっとわかった. write の際にはprimary replica に書き出し,それがsecondary以降に伝わるようになっている. strong consistency readでは常にprimary replica から読み出す.secondary 以降には伝播…

eventually consistent read と strong consistent read

App engineの1.3.2から導入されるという,eventually consistent readのインパクトを知りたくて検索していたところ,Amazon SimpleDBの記事を見つけた.SimpleDBは,AmazonのWeb Services の一つで,NoSQLデータベース.この記事はSimpleDBに最近追加された…

App Engine 1.3.2 pre

最近,すっかり月一ペースのApp Engineに,1.3.2 pre-releaseがでた.いつもの例に習うと,来週あたりに正式リリースになるのだろう.速いペースで更新されるのはうれしいが,watcherとしては追うのが大変. Blobstore 1.3.1で追加されたBlobstoreは,大容量…

ニフティ・クラウドとEC2

ニフティ・クラウド ニフティがIaaS型クラウドサービスを始めた.先行するAmazonのEC2と何が違うのかちょっと調べてみた. ちなみに,ニフティ・クラウドと富士通クラウドは全くの別物らしい.前者はVMware ESXサーバ, 後者はXen.データセンターの建物は共…

App Engine アカウントの認証

App Engineのユーザ登録過程には,簡単なユーザ認証がある. メッセージをユーザに送り,メッセージに書かれた番号を入力させるというもの.App Engine相当はいろいろなことができるので,ユーザをある程度トラッキングできるようにしておくというのは当然だ…

App Engine おちた

日本時間の25日未明,App Engine が落ちた.しばらくread-onlyになっていたのだけど,その後アクセスできなくなった. ここによると,日本時間で0:53にトラブル発生,2:48分にread-onlyで復旧,3:09 に復旧した,とのこと.詳しい原因はまだわからないけど,…

はじめてのSlim3

AppEngine Ja Night 5 お疲れ様でした.こんなイベントをボランティアで開催くださる皆様には本当に頭が下がります.また,会場をご提供いただいたGree様,ありがとうございました.というわけで,今回のひがさんのトークはSlim3のGlobal Transaction. いか…

Cursorをつかったページング

1.3.1までは,データストアからの読み出し個数が1000個以下に限られていた.なので,1000個以上のデータを取り出すときに,rangeを使ってやろうとするとうまく動かなかった.というのは,range(990, 1010) とやると,0から1100までのキーをとりだして,その…

App Engine 1.3.1

でた.プレリリースが先週出ていて,その1週間後に予定通り本リリース.データストア周りが結構変わっていて,これまで苦労していた部分で苦労しなくて済みそうな感じ. Query Cursor いわゆるカーソルが導入された.RDBだと普通にあるのだけど,データスト…

Amazon S3にバージョニングが導入

AmazonのクラウドストレージサービスであるところのS3に,バージョニングが導入されたらしい.バケット単位でバージョニングを有効にすると,上書きすると自動的に過去のモノが別バージョンとして残るようになる.バージョンを明示的に指定すれば,古いバー…

App Engine の禁止クラス

App Engine ではJREに含まれているクラスであっても,white listに登録されているクラス以外は利用できない.Eclipseのプラグインを使っていると,書いているうちから赤バッテンがでて教えてくれる.それでも,無理矢理デプロイすれば出来てしまう.しかもク…

Scala で Google App Engine の続き

先日のブログには,Eclipse だけではエンハンスがとおらないので,外のbuild.xmlを使う必要がある,なんてことを書いた.が,いろいろいじっていたら,そんな必要は無いことがわかった...エンハンスに失敗するのは,scala関係のjarがビルドパスに登録され…