kumama go言語とかgolangとかGAEとかネットサービスとかその他色々・・・

28Dec/090

golang: 小ネタ集

・templateパッケージのデフォルトデリミタは"{","}"でJavascriptと相性が悪い
→さっさとSetDelims("{{", "}}");とかして変えた方がいい
(JavaScript外出しにしなさいって話もあるけど、それはそれでFileServerのハンドラが必要)
・htmlEscapeはtemplate.HTMLEscapeで
・Formの値は、req.FormValueで簡単に取得できる

goじゃなくてchromeだけど、
・ChromeのWebSocketはProxy環境下だと GET じゃなく、CONNECTで接続。
→ポート443(つまりhttpsのポート)使えばほとんどの環境で接続可能(なはず)

Filed under: golang No Comments
27Dec/090

AVATAR観て(ネタバレなし)

ストーリー的なところはさておき、リアリティというか現実感が凄い。ドキュメンタリー見てたようなそんな感覚が残った映画でした。あとは最後のスタッフロール。山のように人の名前が・・・。すっごい巨大プロジェクト、成功お疲れ様でしたとPMP的な事考えたりするのは職業病w。

3Dがどうこうとかも有るけどそういうの抜きにしておヌヌめです。

Filed under: etc No Comments
27Dec/090

golang: ARM用バイナリのクロスコンパイルに挑戦

cgoは試してない(クロスコンパイラの設定が面倒w)けど、ごく普通に動きましたよ。環境変数を、

export GOARCH=arm

にしてgoをコンパイル。5a 5c 5g 5lができたのを確認して、
$ 5g hello.go
$ 5l -o hello hello.5
$ file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped

をを。

BeagleBoardに持っていて実行。
# ./hello
hello, world
# cat /proc/version
Linux version 2.6.29-omap1-00007-gdebf08f-dirty (ku....@kumama) (gcc version 4.4.1 (0xlab) ) #8 Wed Dec 23 04:06:34 PST 2009

をを。

当たり前と言えば当たり前だけどなんか凄いw

Filed under: golang No Comments
27Dec/090

来年はタブレットの年(たぶん)

既に始まっているといえば始まってるんだけど。

BIGLOBEがAndroid端末販売へ、アプリのマーケットプレイスも開設
Camangi、Android搭載の7型タブレット端末「WebStation」
”Win/Linux/Android”トリプルブート対応『Smart V7』
幻のタブレット「CrunchPad」、新名称「JooJoo」で発売へ
キーボードが外せるタッチスクリーン式ノートPC「Touch Book」
後、噂ながら、
Appleが1月にイベント開催 Macタブレット発表か?
などなど。

個人的にはリビングでごろごろテレビ見たりしてるときにちょっとネットしたいけどPC立ち上げるのは面倒(というかPCは立ち上がってるけどPC触るのが面倒)。とかいうときに、まともな(HTML5がサポートされてる)ブラウザが動くガジェットというかデバイスが有ればいいなぁと思ってて。(
BeagleBoardにHDMIでって思ってるけどEclairでマウスサポートをごにょごにょ中で実現に至ってなかったり。今はちょっとkernlいじってnfsrootにしてごにょごにょ中だけどBlog書いてる裏でCalendarSyncAdapterがNullPointerExceptionで落ちてますw)イメージ的にはタブレットPCというよりもどちらかというと大き目のデジタル時計とかフォトフレームの進化版?というか、そんな感じ。基本つけっぱなしで能動的にブラウザで検索したりっていうのも有りだし受動的にウイジットで天気予報とかRSSとかTwitterのフィード表示させたりとかもあり。

一般的にも携帯とPCを埋めるデバイスが有れば売れるはず。って今までもそういうところを狙ったデバイスは数多く有ったけどそんなに流行ってなかった。のは多分ブラウザが今一だったりできる事と比較して高価だったから。だけどandroidとARMでかなり状況は変わってくる。PCが3~4万で買える時代だけど、ARMベースで2万切る市場での争いになる気がする。

現在のメディアプレイヤーがAndroidでネットと融合っていうか。

後、大きな要因はNVIDIAのTegra。
NVIDIA Tegraベースのネットブック elan、重さ836gでHD動画10時間再生
NVIDIA Tegra
microsoftがXPのタブレットを仕掛けた時とは状況が違う。

アップルのタブレットも含め物欲との戦いになりそうな予感。Android+HDMIってとことでは”Android搭載の携帯ゲーム機「ODROID」”も良いなぁと思うんだけど。さてはて。

そういうデバイス向けの何かをWebSocket使って作れたら良いなぁと思ったり。goでarmで動くバイナリも作ってみたいし。

Filed under: android No Comments
25Dec/090

WebSocket:golang chat

メーリークリスマス!

と、言う事で(笑)WebSocketのchatを色々と実装。
って言っても切り貼りでベースは、WebSocketでChatを作ってみた

http://kumama.org/chat/
で実際に動かしています。
メッセージをDBに書いてたりWSサポートしてないブラウザでも一応掲示板として動いたりといった実装を追加。
# 止めました

HTML5の規格ではあるもののWebSocketは、
現状Chrome β(release 4.0.249.0から)でしかサポートされていないので、
βを入れるかChromiumのdaily buildを突っ込まないとWebSocketのお試しには成りません。
ブラウザを2つ立ち上げて片方で書き込んだメッセージがもう片方に届くさまを見てください。

メッセンジャーとかも作れそうな感じ有ってFlashとかAdobe Air使うよりは全然まともな気がします。

コードは以下に。

template使ったりsqlite使ったり色々やってみるとgo言語の理解が進む感じ。

書いていて「をを!」って思った事は小ネタ集として明日にでもまた書きます。
あー、sqliteは微妙に下記の方がいい感じだったので前に紹介したのは使ってなかったりw

http://github.com/phf/go-sqlite3
http://github.com/phf/go-db

cgo経由でのCライブラリの呼び出しは色々疑問も有るものの、現状DBが無いので仕方なし。っていうか、presistent storegeが欲しいって事かなぁ。

嗚呼、golangもreleaseブランチじゃなくてdefaultブランチじゃないとだめですよ。

Filed under: golang Continue reading