Google

node.js で Google Closure Library を使う。

node-goog を使おうとしたときにエラーがでたのでメモ。 GitHub - hsch/node-goog: Server-side Google Closure with Node.js まず、npm で node-goog をインストール。 $npm install goog で、環境変数でClosure Library が置いてあるディレクトリを設定す…

Google Plugin for Eclipseなしで、AppEngine/Java+GWT+Slim3 を弄る。

会社のプロキシのせいだと思うけど、Google Plugin for Eclipse が、インストールできない。 なので、SDKでやるべく頑張った。 そのメモを残す。 用意したものとバージョン Eclipse 3.6(Helios) (http://www.eclipse.org) Google App Engine SDK 1.3.5 (http…

GAE上に、Twitter API プロキシを作る。

以下を参考に、GAE上に、Twitter APIのプロキシを作った。 Twitter APIの回数制限をGAE上のプロキシで回避する方法 | Web Scratchその際に、エラーに出会ったので、メモしておく。上記ページのとおり作業していると、ttp://localhost:8080/api にアクセスし…

GAEのトランザクションについて個人的なまとめ

今、GAEで何か作ろうとしているわけではないけど、分散トランザクションの勉強になりそうなので、自分の言葉でまとめてみる。 エンティティグループとは。 エンティティグループは、親子関係にあるエンティティのあつまりのこと。ヘッダ・明細とか。http://d…

Go はレキシカルなクロージャもいける。

package main import "fmt"; func main() { count := 0; counter := func() int { count++; return count; }; repeat10(counter); } func repeat10(f func() int) { for i := 0; i < 10; i++ { fmt.Println(f()); } } 実行すると。 1 2 3 4 5 6 7 8 9 10

Google Go で ping pong

Google の Go で Erlang の 3.2 Message Passing にある ping pong を作ってみた。 package main import "fmt"; func main() { pongCh := make(chan string); pingCh := ping(3, pongCh); quit := pong(pongCh, pingCh); <-quit; } func ping(count int, pon…