2011年8月15日月曜日

第8回中国GTUG勉強会@岡山を開催しました。

一昨日の事ですが、第8回中国GTUG勉強会@岡山を開催しました。

詳細は中国GTUGのサイトを見て頂ければ、写真と合わせて見ることが
できるようになっています。

第8回中国GTUG勉強会@岡山
http://sites.google.com/site/chugokugtug/event/8

ここでは、私のチームの事について掘り下げておこうと思います。
私のチームでは、「作業用BGMを再生するアプリケーション」を作ろうと
考えました。私が欲しい物だったのですが、作業用BGMを再生するために
毎回YouTubeやニコニコ動画にログインしたりするのは、ちょっと面倒だと
思っていました。そこで、YouTube Data APIとカスタムプレーヤーを使えば
いちいちYouTubeのサイトに行かなくても何とかなるかな?と考えたわけです。

第8回は初心者向けということで、ノープランの人の為に、チームに誘って
私ともう一人の方の2人のプロジェクトになりました。

カスタムプレーヤーの件については以前のエントリーに書いてある通りで
httpを経由してデータを受け取らないとコールバック関数が呼ばれない
現象があるようなので当日はGAE/Gの開発サーバを使ってhttpでの経由をさせました。

カスタムプレーヤーが置いてあるだけでは面白味がなかったので、
テレビの絵を描いて頂いて、テレビのように見せることにしました。

結局、HTML5的要素としては、DOCTYPEとscriptタグにtypeを付けないだけに
なってしまいましたが、早くYouTubeのカスタムプレーヤーがvideoタグで
実現できるようになってくれれば良いなあと思っています。

ソースコードも公開していますので、興味がありましたら
以下のURLから取得して下さい。

作成したテレビアプリケーションのソースコード(github)
https://github.com/tyokoyama/chugokugtug_tv

(2011/08/31追記)
忘れていましたが、秋葉さんにCSS3の本にサインをして頂きました。
良い本だと思いますのでよろしければ。





2011年8月11日木曜日

YouTubeのカスタムプレーヤーAPIのコールバック関数の件が解決しました

以前、以下の件で苦戦していた事について、一応の解決をしたのでメモ。
http://takashi-yokoyama.blogspot.com/2011/07/youtubeapionyoutubeplayerready.html

どうやら、YouTubeのカスタムプレーヤーのコールバック関数はファイルを直接開くと
(file://というURLで開く場合)
onYouTubePlayerReady()が呼び出されないようです。
仕様の記述を見つける事ができていないのですが、
Webサーバに配置してhttpアクセスをした場合は関数が呼び出される事が確認できました。
Webサーバはapacheでも良いし、GAE/Gの開発サーバを使っても良いです。

ということで、利用する場合はWebサーバに配置した状態でアクセスする必要があります。

これはブラウザの仕様なのか、httpの仕様なのか、まだまだ勉強が必要なようです。

2011年8月2日火曜日

Google App Engine Goでは"_"(アンダースコア)に気をつけろ

Google App Engine for Go SDK1.5.2のローカル環境で発生しているのですが、
アプリケーションの初回ビルド時にGo言語のソースファイルに"_"が含まれていると、
ビルドは正常に通るのですが、レスポンスが404になってしまいます。
※MacOSX(32bit版SDK)とUbuntu11.04(64bit版SDK)で現象を確認しました。

例えば、以下のような構成で、
app.yaml
compiletest(ディレクトリ)
  compile_test.go

app.yaml
application: helloworld
version: 1
runtime: go
api_version: 2

handlers:
- url: /.*
  script: _go_app

compile_test.go
package compiletest

import (
 "fmt"
 "http"
)

func init() {
 http.HandleFunc("/", handler)
}

func handler(w http.ResponseWriter, r *http.Request) {
 fmt.Fprintf(w, "Hello World!")
}

中身はただのHelloWorldですが、この構成で初回ビルドを行うと、404が返ってきます。これが、ファイル名から"_"を削除した状態にして
アクセス(コンパイル、実行)した後、再度、"_"を付けた状態にしても正常に動作するようになります。

ということで、バグなのか、仕様なのか(多分バグだと思います)わかりませんが、ファイル名に"_"を付けた命名は
今の所、気をつけた方が良いと思います。

ちなみに、本番環境では試していないのでわかりません。

2011年8月1日月曜日

vi、emacsにGoのソースコード設定を追加する。

Go言語のソースコードを読んだり、書いたりするためには、
今の所、私が知る限りでは、vi、emacs、その他テキストエディタで開いて中身を見るしか
方法がありません。
ということで、Go言語のソースコードをダウンロードすると、一緒にvi用、emacs用の設定ファイルが
ついてきます。それを導入したので、メモを残しておきます。

●viの設定(on Ubuntu11.04 64bit版)
設定ファイルの場所:$GOROOT/misc/vim

1. sudo apt-get install vim
初期状態のvimだと2の設定が有効にならない(エラーになる)ので最新の状態にしておく。

2. ~/.vimrcに以下の記述を追加する。
filetype plugin on
filetype indent on

2.5. Mac OSXだと、.vimrcに以下の記述も追記する必要がある。(2011/08/31追記)
syntax on

3. ~/.vim/に$GOROOT/misc/vimの設定ファイルをすべてコピーする
例)
$ cd $GOROOT/misc/vim
$ cp -rp * ~/.vim

4. Goのソースコードをviで開いて、以下のように色が変わっていれば成功



●emacsの設定(on Mac OSX)
設定ファイルの場所:$GOROOT/misc/emacs

1. $GOROOT/misc/emacsにある設定ファイル(*.el)を~/emacs.dにコピーする
例)
$ cd $GOROOT/misc/emacs
$ cp -p *.el ~/emacs.d

2. .emacsに以下の設定を追記する。
;;これはお好みに合わせて。。(初期値は8)
(setq-default tab-width 4)

(add-to-list 'load-path "~/emacs.d")

(require 'go-mode-load)

3. emacsでGoのソースファイルを開き、以下のように色が変わればOK