2011-11-15

Android Make Days in 明星和楽

2011-11-12 に、博多駅の近所の福岡県Ruby・コンテンツ産業振興センターにて開催された、 Android Make Days in 明星和楽に参加してきました。

実家が福岡ということもあって、両親の様子を見るのを兼ねて福岡のイベントに参加してきました。福岡に戻ることも念頭に入れて (長男なのだ) 。

今回は旅費を抑える目的もあって、西鉄バスのはかた号で。八千円のエコノミーシートがないバスだったので、往復で二万七千円 (片道一万五千円の一割引) の通常シートを利用しました。なんかすごくヘビーな旅だと某テレビ番組で取り上げられて有名だったらしいですが、そんなの知らないしー。というか、結構快適だったけどね。シートは水平までとはいかないけど水平から二十度から三十度程度くらいまで倒れるし。利用したのが、盆暮れや週末週始めでもなかったので、わりと空いてたし。博多→東京の便では、前も後ろも空席だったから最大限シート倒せたし。前後が空いていたのを良いことに確認してみたけど、前後の座席間隔がかなり広いので、最大限シート倒しても後ろの人にはほとんど迷惑にならない気もします。盆暮れ正月は混みそうだし遅れそうだから利用しないけど、それ以外の時は結構良いんじゃないかしら。

という話は置いておいて、 Android Make Days in 明星和楽です。今回の Android Make Days は明星和楽という一連のイベントの一環として開催されました。テクノロジーとクリエイティブの祭典、という三日間のイベントの博多会場が Android Make Days と言う感じかしら。 Android Make Days のセッション及び展示は、二日目にあたる 2011-11-12 に行われました。

ちょっと誤解していたのだけれど、 Android Make Days と銘打たれていたので、いわゆる Make 系のイベントかと思っていましたが、それに限ったものという訳ではなかったのでした。それはそれで多様であり面白いものになっていました。しかじろうさんをはじめとするスタッフの方々の頑張りの賜物でしょうね、やはりっ!

キーノートの丸山先生はいつもの用に時間が足らなくなってみたりして、良い感じ。その後のセッションは、佐々木さん、青山さん、あんざいさん、渡嘉敷さん、 JuJu さん、ソニエリさんの話など聞きまくり。展示も企業から個人まで様々なものがあり、興味は尽きず。やっぱ JuJu さんの光り物には人が集まっていました。

最後は 24 Make コンテストのプレゼン及び授賞式。 Unity を使ったグループが目立ったかも。

そして懇親会。最後までかなりの盛り上がりでした。また参加したいネ。

ところで、なんか地方自治体で Ruby を支援する的な物いくつかある気がするけど、なんでかな。

2011-11-05

Google Developer Day 2011 Japan だだだだん!

なんか、気がついたらほとんど写真を撮ってなかったよ。ま、いっか。

https://lh3.googleusercontent.com/-3XNwWUnFlUc/TrAX29yParI/AAAAAAAATfA/b8-7oW0u7RE/s1152/IMG_20111101_094716.jpg

最初

https://lh6.googleusercontent.com/-syS9oXpz_7A/TrAX9zo-TCI/AAAAAAAATfA/4jNrZ5AfTK4/s1152/IMG_20111101_121508.jpg

お弁当

https://lh4.googleusercontent.com/-dfbUeBPnrWQ/TrAYSljh1qI/AAAAAAAATfA/nIg0N2ZmeXA/s1152/IMG_20111101_194113.jpg

最後

というわけで、十一月一日にパシフィコ横浜で行われた、年に一度の Google Developer Day に参加しました。今年はもっぱら Android 関連と Google+ 、そして Google Apps Script のセッションに。去年は Google+ は影も形も無かった訳ですが。

Android 関連で気になったのは、もちろん Ice Cream Sandwich の情報もあったのですが、それに関連して UI/UX の向上をと言う話が繰り返し出てきたことでしょうか。以前から多少なりともそういった話はありましたが、今回はその比率が高かった気がします。

あと、これ。去年はラテンダンス部(?)でしたが、今年は WORLD ORDER 。

2011-10-30

BootCamp 2011 (Tokyo GTUG 主催) に参加しました

昨日 (2011-10-29) 、グーグル東京オフィスにて Tokyo GTUG 主催の BootCamp 2011 Japan が開催されました。 で、今回は開催に気がついて (去年は気がつかなかった…) 参加しました。「ブログを書くまでが BootCamp です」という訳で。

会場名で言うと、 Hanabi / Kabuki / Bar の三トラックに分かれていました。私は終始 Kabuki に陣取ってました。 Kabuki はもっぱらハンズオン。また、 Bar では App Engine コーナーということでしたが、結局行かずじまい。

残る Hanabi では、各種セッションが行われていました。 近日中にビデオも公開されるはずです。おそらくは YouTube でしょうが、どこに上がるのかな。 GoogleDevelopersJA でしょうか。 twitter の hash tag を追ったり、公開された資料を参照したりで、多少は内容に触れられるかと。とりあえず、わかっている範囲で資料等のリンクを置いておきます。

Hanabi 会場の資料など

セッション: Fragmentを使ってみよう

#an1 あんざいゆきさん (@yanzm) 資料

セッション: Google SketchUp モデリングの初歩

#sk1 田中雅子さん

セッション: はじめての Chrome Extension

#chr1 吉川徹さん (@yoshikawa_t) 資料

セッション: App Engine 倹約のすゝめ

#gae1 小川信一さん (@shin1ogawa)

ハンズオン: 新聞風の1ページを作ってみよう!

#chr2 一條美和子さん (@ichijo3) 資料

Kabuki 会場のハンズオン

で、自分が参加したのは Kabuki 会場の三つのハンズオンです。なんだかんだで、一日同じ席を確保してのハンズオン三昧。

ハンズオン: Google Apps Script

#gas1 中村敦さん (@atusi) 小川信一さん (@shin1ogawa) Yoshifumi YAMAGUCHI さん (@ymotongpoo) 伊藤千光さん (@webos_goodies) 資料: [入門編] [基礎編 Plan A] [基礎編 Plan B]

まず、朝一は Google Apps Script のハンズオン。 Google Apps Script は GDD 2011 の DevQuiz の問題にもあったし話は聞いていたのですが、使ったことはなかったのでした。 DevQuiz でもその問題は解かなかったし (スライドパズルにかまけてた) 。

ぶっちゃけ、 Excel のマクロの Google Docs 版? みたいな認識でした。

VBA の Google 版的な見方はあるのですが、他のサービス (Google Sites とも) と連携ができるとか、 JavaScript でかけるのはありがたい点ですねぇ。まだできないことも多いし、 GUI エディターにも制限がある様ですが、その辺は順次改善されていくでしょうし。

話に出たデメリットや制限等は、

  • GUI Builder で GUI リソースを開いたときにエラーが出て編集できなくなることがある!? そして、そうなったらもう二度と開かない!?
  • GUI リソースはスクリプトに付随するけど、スクリプトをコピーしても GUI リソースはついてこないらしい。
  • GUI はコピーしたスクリプトに対して再度作る必要があるとか。
  • ソースコード管理システム無いし、大規模開発に不向き。

などなど。他はスライド参照。

Google Sites の Gadget として、ちょっとした機能を追加してみたりできたり、 spreadsheet, document を連携しての作業の自動化とかがちょちょいとできる感じ。いろいろ工夫の使用はありそう。

ハンズオン: Spike WebView & Tough ICS

#an2 江川崇さん (@t_egg) 資料

最初、通りがかりの ICS ユーザー (謎) による Galaxy Nexus を用いた Ice Cream Sandwich の紹介がいろいろと。

で、 WebView を使ってのハンズオンは、ソースを読むと挙動がわかるよ、というのが名んかしら。確かに WebView に限らずドキュメントだけだとちょっと謎な振る舞いに感じられること、多々ありますしね。おや、って思ったらソースを読むのが近道だったりします。ドキュメントだけで事足ればそれが一番なのでしょうが。

ハンズオン: Google+ APIの体験とHangoutsの紹介

#ggp1 田中洋一郎さん (@yoichiro) 伊藤千光さん (@webos_goodies) 中嶋信博さん (@nakajiman) 小川信一さん (@shin1ogawa) 資料 blog

最後のハンズオンは Google+ の API を使ってみようというもの。ちょうど前日に品川の Microsoft で Windows Azure AppFablic ACS の話を聞いてきたので、 OAuth 2.0 で云々の話はわかりやすかったかも。 Google+ の API も OpenSocial 系の仕様にそったものになってたのね。現状は情報の取得のみ (それも public なもののみ) で追加/更新/削除系は利用できないので、できることは限られています。そのうち、機能は追加されるでしょー、多分。

後半は Hangouts を実際に試してみたり。テーブル毎で Hangouts を行い、 Hangouts の extension を使ってみたりというのは、かなり盛り上がってました。というか、部屋の中が超騒がしい状態に。

Google Hangouts API を使っての Hangouts extension は Google Gadget と同じ仕組みとなり、作り安いかも。マイクからの入力を拾うこともできるようで、拾った音の音量にあわせて画面上のキャラクターを動かしたりとか、いろいろいろいろ。

懇親会 & クロージング

一日終了したのちは、同じフロアで懇親会。

今回は丸一日ハンズオンに参加した訳ですが、手を動かしてのセッションは、聴くだけのセッションよりも面白いですよね。部屋ががやがやしてると質問もなんとなくしやすいしね!

GTUG と Google とボランティアで運営に当たってくださった方に感謝しつつ、せきとばらないように帰路についたのでした。

2011-10-24

VMware Player 4.0 上に ubuntu 11.10 の環境を作る


ここのところ、 ubuntu 11.10 の (android 用) 環境を作ったりこわしたりしているので、最低限の初期設定の自分用メモ。多分、誰の役にも立たないけど。
VMware Player 4.0 と ubuntu 11.10 (64bit, desktop) の iso file を用意して、フツーに仮想マシンを作って簡易インストール。インストール後 X が起きない状態で login prompt が出るので、 login して以下を実行。これは、 Ubuntu Japanese Local Community Team の web にあるものと、 source.android.com にあるものを持ってきただけ。ただ、 lib32readline5-dev は無いぞって言われるので lib32readline-gplv2-dev に置き換えてあります。
sudo dpkg-reconfigure tzdata

## http://www.ubuntulinux.jp/products/JA-Localized
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/oneiric.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y install ubuntu-defaults-ja

## http://source.android.com/source/initializing.html
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get -y update
sudo apt-get -y install sun-java6-jdk
sudo apt-get -y install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils

dpkg -l > installed_package.`date +%Y%m%d%H%M%S`
# sudo shutdown -r now
再起動すると X が起きてくるので、ログイン。 “Language Support” の “Install / Remove Languages...” で日本語を追加。 “User Accounts” で自分の “Language” を “Japanese” に変更。 /var/lib/AccountsService/users/hoge が書き換わるはず。
ここまでで、一度 reboot して日本語環境を生かします。起動してログインすると、標準フォルダの名前を変更するか、って言われるので、次回から表示しないにチェックを入れて、古い名前のままにするをクリック。 (このあたりは好みなんだろうけど)
何はともあれ Chrome をインストールします。 http://www.google.co.jp/chrome/ から拾ってきて
sudo dpkg -i google-chrome-stable_current_amd64.deb
で、インストール。依存関係が云々言われるので、
sudo apt-get check
してみて確認の上、
sudo apt-get --fix-broken install
で完了。
google-chrome-stable をインストールすると、 /etc/apt/sources.list.d/google-chrome.list が生えるので、
sudo apt-get install google-chrome-unstable
などとすれば google-chrome-beta とか google-chrome-unstable に入れ替えも可能です。
他、適当にいつも使うものをインストール。私はこんな感じ。
sudo apt-get -y install aptitude
sudo apt-get -y install procinfo
sudo apt-get -y install vim
sudo apt-get -y install emacs
sudo apt-get -y install tmux
sudo apt-get -y install cvs
sudo apt-get -y install subversion
sudo apt-get -y install mercurial
sudo apt-get -y install lv
sudo apt-get -y install lynx
sudo apt-get -y install nautilus-dropbox
sudo apt-get -y install python-sphinx
...
あとは、 eclipse 入れたり、 android-sdk 入れたり、 source.android.com から色々持ってきたり、といういつも通りのことをしてふにふにしてやるだけ。

2011-10-23

「ブック40」が届いたよ

ブック40 という格安の書籍裁断機があるという話を Google+ で聞きまして、ちょっと悩んだもののとりあえず買ってみようということで。注文後、五日ほどで届きまして、そのふぁーすといんぷれっしょんというか、開封の儀っぽいのをば。

ちなみに価格は本体と替刃一枚のセットで一万五千円でした。


箱。化粧箱は有りません。これがブック40の箱。直接送り状が貼られてました。
箱を開け説明書を取り除くと、こんな感じ。
刃には「上海なんたら有限公司」の文字が。というわけで、上海モノらしい。届くまでは、大阪の町工場が集まって作った製品なのかなー、とか思っていましたが違ったようです。って、いまよく見たら「輸入品のため、箱および本体に若干の汚れや傷がございます。」ってしっかり書いてあった…。
アマゾンなどでよく似た格安裁断機のレビューにも有りましたが、このブック40も刃のあたりに油が付いているので拭き取る必要があります。刃は鋭いので、十分に注意が必要。 ちょっと拭いても、手の入らないところから染み出してきたりするので、しばらくは断裁前にチェックする必要あるかも。じゃないと、紙にシミが出来てしまいます。
箱から出したところ。レンチ等の工具がついてきます。写真右側の裁断機のコア部分がやたらに重い。重い上に刃があり、さらには油が垂れてきたりするので、取り扱いには十分に注意。
付属のスパナとレンチで、ネジ止め。
ハンドルを取り付けて、黒い金具を穴に打ち込み固定します。金槌はさすがに付属しないので、別途用意する必要があるのと、細かいところに細いものを打ち込むので、この工程が一番難易度高そう。
貫通するまで打ち込まないとダメだよと説明書には書かれていますが (じゃないとハンドルの取り付け部分が破損する恐れあり、とのこと) 完全に貫通させるまでには至りませんでした。
このハンドルを回して本を固定するのですが、がっちがちに固定する必要は無く、紙がたわまない程度まで固定すれば良いと説明書に書かれていたので、無茶に力を入れなければ破損することもないだろうということで、ちょっと様子見。
レバーは挿し込むだけ。スポンとね。
完成 (ハンドルの取っ手を付け忘れたまま写真を撮ってしまった…)
刃は、まっすぐ下にではなく、微妙に斜めに落ちてきます。じゃないとスパッとは切れなさそげ。
このあたりでは、結構斜めになっています。
刃が降りてくるにつれ、水平に。
このあたりでは、ほぼ水平。
とりあえず、試し切り。
ズッパシ!
油シミができているのがわかるかも。しばらくは油と対決しないといけないっぽ。
断面は本の最初のページから最後のページにかけて微妙に斜めになりますが、端が糊止めされているところをぶっとい刃が通るので、これは仕方ないところ。気になるほどのズレは生じませんでした。
どうしてもまっすぐに切りたい場合は、二段階裁断をすればよいとのことです。 一度目の裁断で糊付け部分をカット。 二度目の裁断でまっすぐにカット。
このあたりは、ブック40のウェブにも説明があります。
ビスがにょきにょき生えていて、民生品っぽくはないですね。
重たいのと、カドが綺麗に処理されているとは言いづらいので、組み立てるときには作業場所に注意しましょう。特にフローリングなどでは何か下にひいて作業したほうが吉。
ダンボールひいておいたのだけど、一箇所引っ掻いてしまった…。
結構でかいので置き場所に困るかも。分解して箱に戻せば良いよ、ってなことが FAQ に書かれていたような気がしますが、分解組み立てが一仕事なので…。

現状、まだ油シミができるので雑誌類しか裁断していませんが、かなり楽に切れますね。

今まではカールのローラーカッターを使っていましたが、このブック40ではそこそこの厚みのものでも一発で裁断できるので良いかも。また、ローラーカッターだとどうしても出てしまう、細かな切りくずも出ないしね。

難点はやはり収納でしょうか。床面積的には A3 対応のローラーカッターとあまり変わりませんが、重量が 10kg オーバーなので。あとは油。油に関してはそのうち気にならない程度になると思いますけど。

ともあれ、切り刻みまくりだだだ。

ブック40

2011-10-21

eclipse で android.jar の source を参照したいぞ

というわけで、 framework の source を拾ってきて eclipse から普通に見れるようにしましょう、という話。これに関しては Browsing Android Source in Eclipse およびその他いろいろな所で説明がなされていると思いますが、自分用のメモということで。

細かな説明は端折って、まずは android.googlesource.com から git clone してきます。 kernel.org の方に戻るってことは無いのかしら、とか思いつつ。

$ git clone https://android.googlesource.com/platform/frameworks/base.git

タグ一覧をチェック。

$ git tag -l

でもって、適当なものを checkout して、 android-sdk/platforms/android-nn/sources に copy 。 symbolic link でも良いでしょうが複数の version を参照したいと思ったら copy するしかないかなー。

$ git checkout android-2.3.3_r1.1
$ cp -a core/java ~/android/android-sdk/platforms/android-10/sources

$ git checkout android-2.2_r1.3
$ cp -a core/java ~/android/android-sdk/platforms/android-8/sources

$ git checkout android-2.1_r2.1s
$ cp -a core/java ~/android/android-sdk/platforms/android-7/sources

honeycomb や ice cream sandwich はまだ公開されていないので、とりあえず gingerbread まで。

2011-10-08

VMware Player で Windows 8 Developer Preview

VMware Player 3.x で動かなかった Windows 8 Developer Preview だけど、 VMware Player の 4.0 では動作可能になった模様。でも何も考えずに動かせるというわけではないみたい。

新規 VM を作るときに install 用の iso を最初から指定していると何故か途中で止まるという現象が発生したので、まずは空の「後で OS をインストール」を選択して空の仮想ハードディスクを作ります。ゲスト OS の選択では Windows7 x64 とかでよさそう。 VirtualBox 4.1.4 だと Windows 8 も選択肢に現れるのだけれど VMware Player 4.0 では Windows 8 は選択肢に無いので。

後は、ハードウェアのカスタマイズでメモリーの割り当て等適当に設定たのちに、仮想マシンの再生を実行。当然、 OS が無いよと言われるので、「CD/DVD の設定を変更」で ISO image file を指定して、「仮想マシンを再起動」。後は言われるがままというか、普通にインストールするだけ。アカウント情報は local のものを作成するか live ID を使うか、現状はどちらでも大した違いはないのかな。

うちの環境 (iMac で bootcamp の Windows 7) だけかもしれないのだけれど、 VMware tools をインストールすると Windows 8 に login した後に画面がブラックアウトしてしまいます。ディスプレイドライバー周りでしょうけど。

以下、適当に取ったスクリーンショットをペタペタ

2011-10-05

PhoneLauncher と COMException とID_CAP_PHONEDIALER

.NET の開発に慣れている人だったら、考えるまでもないことなのだろうけど、 PhoneLauncer.Show() で COMException が throw され落ちてしまい、なんでかなと少し悩んだ。

おそらくはパーミッション (Capability) 関係だろうというのはわかっていたので、 WMAppManifest.xml の <capabilities> を眺めて結局は <capability name="ID_CAP_PHONEDIALER"> を追加することで動作するようになった。

それは良いとして、もう少し直接的なエラーメッセージなりログなりを取得することってできないものかしらん。例外の詳細を見てもよくわかんないのよねー。

2011-08-05

Galaxy Tab 10.1 が起動アニメーションを繰り返すばかりで起動しない

気がつくと Galaxy Tab 10.1 が起動しなくなってた。起動時のアニメーションを、延々と繰り返すだけという状態に。適当にググッてみたら、同様の症状が起きたという報告と解決策を発見。というわけで、備忘録を兼ねてぺたぺた。

参考にしたのはこちら→Samsung Galaxy Tab 10.1 - Stuck on Boot

起動アニメーションを繰り返している状態で adb shell して logcat してみると

E/AndroidRuntime( 2441): * FATAL EXCEPTION IN SYSTEM PROCESS: android.server.ServerThread
E/AndroidRuntime( 2441): java.lang.RuntimeException: Unable to get provider com.android.providers.settings.SettingsProvider: android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file
[snip]
E/AndroidRuntime( 2441): Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file
[snip]
E/AndroidRuntime( 2441): ... 9 more

というのをひたすら繰り返している状態。

accounts.db が壊れているらしい。

shell@android:/data/system$ ls -l accounts*
ls -l accounts*
-rw-rw---- system system 50176 2011-08-03 12:52 accounts.db
-rw------- system system 0 2011-08-03 12:52 accounts.db-journal

というわけで、 volume down + power on で起動して、 usb アイコンを選択し fastboot に入り、 android-sdk/tools/fastboot を使って userdata と cache を削除。

C:\>fastboot -w
erasing 'userdata'...
OKAY [ 12.448s]
erasing 'cache'...
OKAY [ 0.468s]
finished. total time: 12.918s

そののち再起動で無事復活。復活というか、ファクトリーリセット状態だけど。 google account で backup をとっているのであれば、 login して restore すれば、インストールしていたアプリとかも勝手に入るはず。 google account で backup していなければ、適当に入れてたアプリを再度手で入れれば okay 。

2011-07-25

Samsung Chromebook の First impression っぽいの

Google I/O 2011 のお土産であるところの Chromebook が届いたので、 First impression 的な物を少し。もっとも、届いたのは十九日だから、もう一週間も前の事になります (日本には直接発送してくれなかったので、転送業者を経由して)。


■ 外箱。 amazon.com からの荷物のはずですが、 amazon の箱には入っておらず、この箱の周りにぐるぐる包装されて来ました。一部ガムテープが箱にくっついちゃって開封がちょいと困難に。


■ 開封〜。


■ 入っている物はこんな感じ。この他に AC アダプターとモニター出力用アダプターがついてきます。


■ 初回起動中。この後ネットワークへの接続を要求され、おもむろにアップデートが始まります。


■ ctrl+alt+t で terminal が開きます。 alt+< / alt+> でウィンドウのサイズを変更できるので、このように画面に分割レイアウトにすることも可能。 terminal だけでなく、 Chrome のウィンドウ二つを並べたり重ねたりすることもできます。その他 keyboard shortcut の一覧は ctrl+alt+/ で。


■ Samsung Chromebook の最大の欠点だと思うのが、この重量。ちょっと重いよねー。まぁ、 AC アダプターを持ち歩かずに済むのでその分を考慮に入れれば...。



で、雑感。

起動はちょっぱや。電源オフから五秒くらい? サスペンド状態からだと、一秒くらいというか、開いたら即使える状態になってます。

使い勝手は、ぶっちゃけ Chrome の使い勝手と同じなので。 PC 等で使っていた設定や bookmark 、 extention 類は、 (Chrome の設定でどこまで同期するようにしているかにも依りますが) そのまま引き継がれるので、最初から使い慣れた環境になっています。日本語入力も Settings -> System -> Languages で設定するだけ。

Chrome だけで、 Explorer / Finder が無い世界ですが、 ctrl+n で複数のウィンドウを開くことはできます。ウィンドウの切り替えは alt+tab で。 CPU power はネットブック並なので、ホイホイ tab や window を開いていると、さすがにちょっと動作が鈍くはなります。

総じて、 Chrome を使っている人だと特に混乱することもなく、自然に使えるかな。ただ Chrome しかない世界というのはちょっと異質で、同じ web app 使っていても感触がちょっと違う気がしますね。気分の問題ですが。

あー、あともうひとつ。ネットワークにつながっていない状態だと、ほぼ何もできないに近いので注意。データは基本 cloud 上に (local storage も一応ありますが) 、アプリはすべて web app だから当然といえば当然。 Angry Bird はオフライン対応しているらしいので遊べるかもだけど〜。

2011-07-18

Android 関連書籍 (和書、翻訳書、ムック)

Android 関連書籍 (和書、翻訳書、ムック) っていっぱい出てるねぇ。というわけで、ちょこっとリストにしてみた。まだ抜けはいっぱいあるけど、とりあえずということで。

2008-03-11Google Android 完全解説江川崇、竹端進、山田暁通、麻野耕一、山岡敏夫、藤井大助、窪田康大、藤田泰介、佐野徹郎
2008-05-25Google Android 入門嶋是一
2009-05-15初めての Androidエド・バーネット
2009-06-08Google Android アプリケーション開発入門木南英夫
2009-07-02Google Android プログラミング入門江川崇、藤井大助、麻野耕一、藤田泰介、山田暁通、山岡敏夫、佐野徹郎、竹端進
2009-09-21入門 Google Android プログラミング柴田文彦、藤枝崇史、伊原頌二
2010-01-18コードからわかる Android プログラミングのしくみフランク・アンブルソン、チャーリー・コリンズ、ロビ・セン
2010-02-05基礎から学ぶ Android SDK吉井博史
2010-02-26iPhone & Android クロスプラットフォームアプリケーション開発鈴木晃
2010-05-25Android 2.1 プログラミングバイブル布留川英一
2010-07-29Flex & Flash Builder 4 による Web アプリケーション開発ガイドブッククジラ飛行机
2010-08-20Android SDK 開発のレシピ塚田翔也
2010-08-25Google Android アプリ開発ガイド 第二版クロノス・クラウン、柳井政和
2010-08-31Android Hacks株式会社ブリリアントサービス
2010-10-28スマートフォンのための HTML5 アプリケーション開発ガイドクジラ飛行机
2010-11-01iPhone / iPad & Android プログラミング入門正健太郎、安生真、松前健太郎、 adamrocker 、藤田泰介、麻野耕一、荻原剛志、竹内彰吾、武部健一
2010-11-21初歩からわかる Android 最新プログラミング安生真、柴田文彦、藤枝崇史
2010-11-29プロフェッショナル Android ゲームプログラミングウラジーミル・シルバ
2010-11-29Android アプリケーション技術者認定試験 ベーシック 対策実践問題集石井勇一、小林明大、末石吾朗、中島秀典、仲哲生、橋爪香織、藤野敬行、古澤宣治、森本良平、山本昭弘、吉田俊介
2010-12-06Android アプリ UI デザイン & プログラミング渡嘉敷守
2011-02-22iPhone + Android スマートフォンサイト制作入門たにぐちまこと
2011-02-2410日でおぼえる Android アプリ開発入門教室寺園聖文
2011-03-02Android アプリ怪しい開発術嶋崎聡、渡部綾太
2011-03-11Android Layout Cookbookあんざいゆき
2011-04-01Google Android アプリ開発ガイド 第三版クロノス・クラウン、柳井政和
2011-04-01Google Android WebAPI プログラミング入門横山隆司
2011-04-04クラウド活用のための Android 業務アプリ開発入門出村成和
2011-04-05アンドロイドプログラミング最初の一歩佐藤浩
2011-04-11OpenGL で作る Android SDK ゲームプログラミング中島安彦、横江宗太
2011-04-25HTML5/JavaScript で作る Android アプリ開発ガイドブッククジラ飛行机
2011-04-25Android プログラミングバイブル布留川英一
2011-04-25Flash ではじめる Android アプリ開発入門池田泰延、古堅真彦
2011-05-06Android SDK 逆引きハンドブック中西葵、内村祐之、高橋良司
2011-06-01スマートフォンアプリのための UI & グラフィックデザイン中野広明
2011-06-06Android 2.3 Only Hacksわかめまさひろ、あんざいゆき、西岡靖代、北本虎吾郎、山崎誠、山内洋典、山下盛史、足立昌彦、桝井草介
2011-06-09Titanium Mobile で開発する iPhone / Android アプリ北尾雅人
2011-06-10Android UI デザイン & データベースプログラミング間顕次
2011-06-11スマートにプログラミング Android 入門編堀切堤
2011-06-21徹底攻略 Android アプリケーション技術者認定試験 ベーシック 問題集磯部康、奥崇、神庭幸枝、尾日向洋皓、加藤恒規、小林明大、橋爪香織、原正人、藤野敬行、山本昭弘、吉田俊介、吉永彰成
2011-07-20初めての OpenGL ES山下武志

2011-06-24

PHPでTDD&CIワークショップ

先日、「PHPでTDD&CIワークショップ」に行ってきました。

ノートに入れて持っていった PHPUnit が微妙に古かったりしてちょっと迷ったりして。それ以前に PHPUnit 自体をあまり使ってなかったりして。

ワークショップは、 TDD と CI (Jenkins) の二種類あり、 TDD に参加。 FizzBuzz を題材にテスト書いて、仮実装して、実装して、リファクタリングして、というのをペアプロしてみましょうというもの。会社ではペアを組む相手が居ないので、実のところペアプロ初体験でしたが、 @JP_tomo さんと組んでみました。

PHPUnit をごそごそいじっていて、正しい型で返ってきているか調べたいよねー、という話になり、型そのものをみるには assertInternalTypes() が使えるけど、 PHPUnit 3.4 では使えないねー、とか、 assertEquals() のかわりに assertSame() を使えば型を含めて一致しているか見れるねー、とかそんな感じのことやってました。しかし、 @t_wada さんの「仮実装はテストのテスト」というのは、良い標語だなぁと思ってみたり。

後に twitter 上で、型のチェックに関して @yuya_takeyama さんに、PHPUnit 3.4 の assertType() は、 3.5 以降では assertInternalType() と assertInstanceOf() を使ったほうが良いとの話を伺いました。 assertType() は 3.6 で廃止され 3.5 は移行期間(?)という事のようです。

2011-06-05

第四回 Symfony2勉強会 スライドとかのURL一覧

第一部 基礎編

@uechoco さん
第4回 Symfony2 勉強会 基礎編ワークショップ
http://www.slideshare.net/uechcoco/symfony2-0
http://www.slideshare.net/uechcoco/symfony2-1
http://www.slideshare.net/uechcoco/symfony2-8203902


第二部 実践編

@hidenorigoto さん
今日から始めるBDD (Symfony2編)
http://www.slideshare.net/hidenorigoto/symfony2-behatbdd-symfony2study-4
https://gist.github.com/997514

@fivestr さん
しんふぉにー2のフォームフレームワーク
http://www.slideshare.net/fivestar/symfony2-8203873

@brtriver さん
PHP Microframework Silex 入門
http://www.slideshare.net/brtriver/silex-8204780
Silex ユーザーガイド
Silex 公式

@iteman さん
Symfony2でより良いソフトウェアを作るために
http://www.slideshare.net/iteman/symfony2-8228893


LT 三連発

@Kiske さん
はじめてのSymfony2
http://www.slideshare.net/tmitsu/symfony2-8203825

@madapaja さん
Symfony2でMongoDBと仲良くする方法
http://www.slideshare.net/madapaja/symfony2mongodb
https://github.com/madapaja/MadapajaMongoWikiBundle

@hnw さん
PHPUnitのMockObjectの紹介
http://www.slideshare.net/hnw/phpunitmockobject-8203941


+1

@yuchimiri さん
モテるPHP女子力を磨くための4つの心得
「symfony1.4を使えない女をアピールせよ」
http://www.slideshare.net/yuchimiri/php4-symfony14


参考資料

symfony 1.4によるWebアプリケーション開発
テスト駆動開発入門
エリック・エヴァンスのドメイン駆動設計

写真集
https://www.facebook.com/media/set/?set=a.1560798999388.64873.1817723189

しんふぉにゃん
http://twitpic.com/56q4mg

めんま
あの日見た花の名前を僕達はまだ知らない。
めんまフォント
みんなで書こうきょうのめんま

2011-02-24

SwapSkills 2011 vol.2 スマートフォン向けサイト&アプリケーション ~ディレクション+企画のための基礎知識~

すまべんの次の日の二十日、大阪を朝に発ち、昼から SwapSkills 2011 vol.2 に行ってきました。行ってきましたが、うーーん、 twitter を見ると評判は良かったみたいなのですが…、という感じ。

すまべん特別編「Windows Phone 7 開発ブーストアップ」

十九日の土曜日、すまべん特別編ということで Windows Phone 7 での開発の勉強会があったので、出かけてきました。この Windows Phone 7 特別編は二回目らしいのですが、前回も今回も大阪ということで、格安一泊出張パックを使っててくてくと。時間がなかったので、他をいろいろ観て回ることもなく、行って帰ってきたという感じ。次はゆっくりしたいものです。

で、勉強会は三部構成で、 伊勢シン (@iseebi) さんによる Windows Phone 7 の概要と最近のトピック等の紹介、しばやん (@shibayan) さんによる Reactive Extensions の話、蜜葉たん (@mitsuba_tan) さんによる Expression Blend による開発実習 + @iseebi さんによる開発実習。

伊勢シンさんの話は、今後予定されているアップデートの紹介に始まり、 Windows Phone 7 らしいアプリを作りましょう、デザインも考慮に入れましょう、という話。このあたり、先日のデブサミでの女子部の発表に通じるところもあるかも。

しばやんさんの Reactive Extensions は、 thread まわりの話でした。

0.5秒固まったら「使いにくい」、3秒固まったら「バグだ」、10秒固まったら「パソコンが壊れた」と言われる。 (by @ufcpp)

ということで、 UI Thread を止めないようにするための道具立ては、いろんな OS でそれぞれ用意されていたりしますが、 Reactive Extensions は .NET での幾つかある道具立てのうちの一つ。

例えば、非同期にいくつかの動作を順次実行させようとした場合、 invoke して callback で受けて、その callback の中で invoke して、 callback で受けて、その callback の中で...、と invoke / callback の入れ子が深くなってかなりイヤンな感じになったりします。そこで、 Reactive Extensions ってのがあるよ、ということ。このあたり、話の途中で迷子になっちゃって、詳細は把握していないのだけれど (てか .NET もあまり良く知らないという…) 、概念は分かりやすいものだし、使い勝手もよさそうです。実のところもっと奥は深そうなのですが、今のところそこまで理解できてませんです、はい。

蜜葉たんの Expression Blend 実習は、 C# のコードを書かないでもここまで出来るよー、というあたりが主眼でしたでしょうか。そして、それを引き継いで伊勢シンさんによる実習が続きました。そこでおもむろに用意してきたコードを Reactive Extensions を用いて書き換えるという流れになったあたりで、私は迷子に。うん、あとでゆっくり復習しましょう。

いつもの雑なメモ: https://docs.google.com/document/pub?id=1627e3fLzOcMp0nXLrN2r2IrCR5zLh9D8hwiADT2KMD4
例によって誤字脱字、内容の誤りはそのままです。

おまけ。今回は参加者の半数以上が実機を持っているという、おそらく日本で一番 Windows Phone 7 端末が集まった場になったのではないかと。で、懇親会での集合写真。懇親会に参加されなかった方もいらっしゃいましたから、実際に集まった数はもっと多かったのですが。

2011-02-22

デブサミ 2011

今年のデブサミは、結局二日目の午後だけの参加となって、ちょっとしょんぼりです。主に「RIA + Smartphone」に参加して、及川さんと北村さんの話もチェック、という感じで。轟さんの Flex の話は何度か聞いたことがあったので、及川さん、北村さんの Chrome OS の話を聞きに行ったら、こちらも概ね HTML5 とか勉強会で聞いた話だったりして、てなことがあってみたり。

Blend + SketchFlow の話が面白かったかな。そっか、 SketchFlow ってそういう風に使うツールなんだという感じで。単に今まで使ってなかったからなのだけど。仕事でも使ってみたい気はするのだけれど、今いるところは例によって Adobe で固められている風味なので、なかなか使ってはもらえないかなぁ。

2011-02-16

Sphinx + 翻訳 Hack-a-thon 2011.02 に参加しました

先週の土曜、 2011-02-12 、翻訳ハッカソンに参加してきました。

公式サイトのレポートはこちら。 togetter はこちらです。

翻訳ハッカソンというか、一応の主題は Sphinx なのかな。 Sphinx というのは、 Python で書かれたドキュメント生成ツールです。っていってもナンノコッチャって感じかも。超大雑把に言うと、特定の書式 (wiki っぽい書式に python っぽいお約束をトッピングした感じ?) で書いた大元となるドキュメントから、 html や ePub などの形式でのドキュメントを生成するものです。私の手元のマシンにインストールした状態だと、こんな感じ。

C:\Users\toshihiro\workspace\github\symfony-docs-ja>make
Please use `make ` where  is one of
  html       to make standalone HTML files
  dirhtml    to make HTML files named index.html in directories
  singlehtml to make a single large HTML file
  pickle     to make pickle files
  json       to make JSON files
  htmlhelp   to make HTML files and a HTML help project
  qthelp     to make HTML files and a qthelp project
  devhelp    to make HTML files and a Devhelp project
  epub       to make an epub
  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
  text       to make text files
  man        to make manual pages
  changes    to make an overview over all changed/added/deprecated items
  linkcheck  to check all external links for integrity
  doctest    to run all doctests embedded in the documentation if enabled

で、この Sphinx を使って、 OSS (には限らないけど) のドキュメントをもくもくと翻訳しようというハッカソンでした。私は、外様の PHP チームとして Symfony2 のドキュメントの翻訳での参加でした。 Python や Sphinx の集まりで PHP (やその他 python 以外の人) が多く参加することって、やっぱ少ないっぽいらしく、それはそれで面白いものだったようです。

で、 Symfony2 のドキュメントは原文が Sphinx なので、原文を拾ってきて文章を置き換えるだけなら Sphinx の事は知らなくても何とかなります。ただ、ドキュメントの原文と翻訳とはそれぞれ github 上にあるので、 git および github の使い方がよくわからないと、翻訳以前のところで引っかかっちゃうかも。私も午前と昼食後しばらくは環境構築にちょっと時間を取られました。 Sphinx および git に関しては済んでいたので、主に github の使い方に関してですが。このあたり、まとめておいたほうが良さそうですが、それはいずれ。

ちなみに原文の repository はこちら、翻訳の repository はこちらです。また、翻訳の手順等に関してはこちらを参照か、日本 Symfony ユーザー会、あるいはそのメーリングリスト (google group)まで。

翻訳だけやってたわけじゃなくて、 LT では先日の PyCon Mini JP で行われた発表などなど、かわるがわる行われ、翻訳を進めつつ見入ってみたり。 Sphinx ベースのプレゼンツールとか、 Sphinx ベースのダイヤグラム作成ツールとか、興味深すぎるものがてんこ盛り。 @takuan_sho さんの Ren'Py の紹介とかとか。

来月も行われるのかな? それまでには何かネタを仕込まないといけないかも!?

Symfony2 ドキュメント翻訳の成果は、順次日本 Symfony ユーザー会のサイトで公開されますので、参照いただければ幸いであります。

2011-02-15

『jQueryモバイルで簡単! スマートフォンサイト作成』に参加しました

先週の水曜日、九日にアップルストア銀座で行われた、 jQuery Mobile のイベントに行ってきました。イベントというか、セミナーというか、 jQuery Mobile の紹介っぽいもの。allWebクリエイター塾というところの主催で、定期的に行われる SwapSkills という勉強会シリーズの第一回目だったようです。

いつもの調子でのこのこと出かけて行ったところ、なんか、超満員。少し早めについたので運良く座れましたが、立ち見も結構な人数ということで、サイトのスマートフォン対応への関心の高さが伺えます。 cssnite でも感じたことですけどね。

送信者 2011-02-09 jQueryモバイルで簡単! スマートフォンサイト作成

内容は、吉川さんによる jQuery Mobile の紹介と、その後白石さんによるライブコーディングという感じで、気分は HTML5 とか勉強会 プチ。

先日の cssnite での取り上げられ方と、多少温度差を感じました。 jQuery Mobile は、スマートフォン向けの web サイト全般にというよりも、スマートフォン向けの web application に適しているということなのかな。

日本アンドロイドの会 二月定例会に参加しました

七日の月曜日に駒場で、日本アンドロイドの会の二月定例会が有ったので、参加してきました。

今回は CES 2011 の土産話(?)を中心に、スマート TV と Windows Phone 7 の話でした。取り上げられたトピックによるものなのか、いつもとはちょっと雰囲気が違ったかも。 Android の新端末の Touch & Try がある時は若い人が多いのだけれど、スーツ組ビジネス組が多かったかも。

私の目的は、そっちじゃなくて Windows Phone 7 でした。 Touch & Try もあったしね。で、どの端末がくるかなーと思ったら HTC HD7 が回ってきました。それ、持ってるッス。

送信者 日本アンドロイドの会 定例会 2011-02

あとは、懇親会で高橋さんから色々とお話をうかがってみたり。近々、日本マイクロソフトで WP7 の開発者イベントをやる予定があるようです。どういうものかは不明ですが、ちょと楽しみかも。

2011-02-11

CSS Nite LP, Disk 13 reprise に参加しました

五日の土曜日、午後丸々つかったセミナー "CSS Nite LP, Disk 13 reprise" に参加してきました。

ウェブデザイナーやマークアップエンジニアといった方向けのセミナーなのかな。ほかの勉強会/セミナーと違い、女性の方が非常に多いという印象です。ノリも結構違うもんですねぇ。

今まで知らなかったのですが、最近はフロントエンドエンジニアという括りが出来ているのですね。 HTML5/CSS3/JavaScript を駆使して、 web application のサーバー側ではなくブラウザー側で開発を行う人ということでしょうか。

セミナーの内容自体は、スマートフォン対応するときの viewport や media query の話、 PhoneGap の話、などなど。有料イベントなので、資料等はしばらくの間公開されませんが、私が適当にとったメモは以下のとおり。これくらい雑なメモなら公開しても怒られないかな。誤字脱字間違いその他がおそらく含まれていますが、手直ししてません。あと、電源が確保できなかったので、最後の方はメモれなかったりしてます。

https://docs.google.com/document/pub?id=1gMo7AgVnDRf1IR9wcvDY1de5IxbvF9FhFMXVHmlobVE

今回は iPhone/iPad 対応を主題としたもので、 Android 関しては LP15 で取り合えるとのことです。

2011-02-06

『masuidriveと学ぶ「60分で覚えるAndroidアプリの作り方」』に参加しました

これまた、結構前の事になりますが、『masuidriveと学ぶ「60分で覚えるAndroidアプリの作り方」』に参加しました。

実のところ、増井さんによる Titanium Mobile の勉強会が名古屋で行われて、それと近い日程でこの勉強会があったので、こちらの勉強会も Titanium Mobile がメインとばかり勘違いして参加しちゃったのです。 Titanium Mobile の話は、終わりしなに五分ほどちょっとだけ紹介という感じでした。

Titanium Mobile に関しては、二十五日に勉強会があるのでそちらに参加予定です。

それはさておき、 Android での開発の触りの部分を一時間で概観するというセッションで、それはそれで面白いものでした。百五十人 over の人が来ていた様で、ノート PC を開くのはちょっと無理っぽという大盛況。 Android の開発はまだという方も多く来られていたようで、昨今の Android 界隈の盛り上がりが感じられるものでした。
masuidriveと学ぶ「60分で覚えるAndroidアプリの作り方」

LT では山本さんによる twitter4j の話、というか、 Android の Dalvik と Java との違いの話があり、あぁ、結構使えない package とかあるのよねー、とか思ってみたり。
Androidの本当にあった怖い話

2011-02-01

第二回 Symfony2 勉強会に参加しました

第二回 Symfony2 勉強会が実施されたのはもう二週間も前の一月十五日のこと。

二週間は長いか短いか。一般的に二週間というのはそう長い時間ではない気もしますが、 Symfony2 では長いと言えるのかも。このメモを書こうとしているうちに、テンプレートファイルの名前の形式が変わってみたり(勉強会当日の夜に判明)、 sandbox のディレクトリー構造が変わってみたり(これは昨日)、まだまだ正式版リリースに向けて大きく手が入りそう?

そんなわけで、最新の情報は第三回 Symfony2 勉強会 @ 名古屋でも出るでしょうから、そちら参照で。


これまで、まともに使えるノート PC がなかったので、ワークショップ形式の勉強会って参加したことはなかったのですが、なかなかに楽しいかも。けっこうスパルタだったのは日本Symfonyユーザー会のレポートにも掲載されているワークショップシナリオを見てもわかるかも。 Symfony2 の予備知識がない状態でうんうん唸りながらシナリオを消化していくのは、なかなかに楽しいものです。テーブル毎にグループになって取り組んでいくので、何とかなりましたけど。

勉強会のあとは、懇親会。そして、Symfony Midnight #3。私は、 midnight には参加せずに帰りましたが…。なんにせよ、みなさんなかなかにパワフル!

2011-01-14

第14回 HTML5とか勉強会に参加しました

昨日 (2011-01-13) 、第14回 HTML5とか勉強会に参加してきたので、そのメモ。

スライド見ながら、話聞きながらのメモなので誤字、脱字、内容の誤り等あるかもしれないけど、とりあえず
そのまま。余裕があれば修正するかな。

https://docs.google.com/View?id=dgwhn5wk_3723x8k2dz

Titanius Mobile は、 html+css ではなく、 JavaScript でゴリゴリと書くということらしい。 Android 等のアプリケーションとして作られるパッケージの中に JavaScript インタープリターも入って、それで Titanium Mobile の JavaScript を動かすとか。 OS ネイティブの UI 部品を使うとか、 OS の機能の多くを使えるとか (Android だと Intent とかも) 、そのあたりうれしいかも。

Chrome Web Store は、 web application の showcase 的な使われ方をされるかもだけど、よりデスクトップアプリケーション的な web application の登場を促進するかも。

とかとか。

懇親会では、 Cr-48 をいじってみたりとか。