タツオチップス

最近は https://note.com/tatsuosakurai に書いてるかもです

#senchabu 煎茶部(SenchaTouch勉強会) vol.1 に参加

1/30(水) "SenchaTouch勉強会@万葉(煎茶部)" http://atnd.org/events/36163

きっかけ

東京Ruby会議10 の片隅で、@ginkouno さんと SenchaTouch 使ってる人いませんかね、勉強会したいですね…みたいな話をしてました。

僕と SenchaTouch

2-3年前、SenchaTouch が 1.0 あたりのころ、iPad が日本でも発売されたくらい。とある iPad 用アプリの開発を SenchaTouch でやろうと決めて、開発をしていました。(そのアプリは大人の事情でお蔵入りになりました><)当時の他の候補は jpmobile とか jQuery Mobile とか。SenchaTouch に決めたのは、Webアプリ開発の知識が使えて、なんといってもネイティブアプリのように動くから、...だったかなあと思います。他の候補はだいたい見た目はそれっぽくできるけど、結局ボタンを押したりすると、画面が遷移する普通のWebアプリだったんですよねえ。SenchaTouch の KitchenThink をホーム画面に登録して、起動すると、ほぼネイティブアプリのように動くのが好きでした。その後、Titanium がリリースされ、すごい勢いで Titanium ユーザーが増えていったのを見ながら、SenchaTouch もいいのになあって思ってました。

煎茶部の雰囲気

発表資料もないし、初回で雰囲気も読めなかったけど、参加者それぞれが知ってることを出しあって、入れ替わり立ち代わり発表者になる感じになってとてもよかったです。こういう、持ち寄りの勉強会が好きです。SenchaTouch の最近の事情をいろいろ聞けてよかったです。

出てきた話題

SenchaTouch ってこういう感じだったよ
こうやって開発してるよ
こういうとこ見るといいよ
CoffeeScript で書くと読みやすいよ
Test ってどうするんだろう
ライセンスどうだったっけ? → @kotsutsumi さんが以前にツイートしてたから聞いてみよう→ "Sencha Ext JS と Sencha Touch の license について - Togetter" http://togetter.com/li/447635
そうそう、SenchaTouch の実践的な本がでるらしいよ → "書籍情報-Sencha Touch 2 実践開発ガイド | 株式会社ゼノフィ" http://www.xenophy.com/service/sencha_touch_guide

次回

好評だたったので、2回めもやろうってことになりました。
"煎茶部@万葉(SenchaTouch勉強会)- vol.2 : ATND" http://atnd.org/events/36595

Facebookグループ

作っておくと連絡とりやすいので、作りました。
"煎茶部(SenchaTouch勉強会)" https://www.facebook.com/groups/560998393919428/

#shinjukurb 13 に参加

今回で13回。一周年したみたい。
去年は「スタートアップRuby」の執筆活動をしていて、あんまり参加できてなかったのを思い出したりしつつ、一年早いような短いような感じですねえ。


shinjuku.rb は

  • 発表したい人の発表
  • Extream Fish Bowl (ワイワイしたにぎやかなペアプロ)
  • Rails3レシピブック写経会(レア)

だいたいこんな感じ。


今日は


感想など
bundler や rspec 地味なとこ便利になってる印象。

最初の設計みんなでワイワイできて面白かった。
"今日の設計過程 #shinjukurb Photo - ニシダマサタ | Lockerz" http://pics.lockerz.com/s/278862197

rspec の環境構築とか、なんか自分のカタみたいなのになっちゃっていて、なんか頭カタイ感じがあったのでよい刺激になりました。カタにハマっちゃってるとよくない気がする。カタにハメるのはよし。始めて rspec 触る人にもう少し説明しつつやってもよかったかなあ。(?_?)



おまけ
はてなダイアリーはてなブログ に移行してみました。

RubyMotionもくもく会#3に参加させていただきました

#1, #2 とキャンセルし、三度目の正直でようやく参加できました。
誘ってくれた @tosik はお仕事の都合で三度目のキャンセル>< もともと僕が RubyMotion を買ったのは、@tosik がたのしそうに開発してたので、興味を持ったからなのでした。
たしか #1 のちょっと前くらいに買って、hello world! してから、だいぶ放置してしまっていたので、今回はチュートリアルをもくもくできたらなあと思っていました。

会場は代々木の MUSE Associates さんのオシャレオフィスでした。自己紹介とモクモクすることを宣言して、もくもく開始。僕と同じくらいの RubyMotion 初心者の人も何人かいて、経験者の方々におすすめのチュートリアルを教えてもらいました。

  1. "Rubyist Magazine - RubyMotion のご紹介" http://jp.rubyist.net/magazine/?0039-IntroductionToRubyMotion
  2. "RubyMotion - naoyaのはてなダイアリー" http://d.hatena.ne.jp/naoya/20120831/1346409758
  3. "HipByte/RubyMotionSamples" https://github.com/HipByte/RubyMotionSamples
  4. "RubyMotion Tutorial: Make iOS Apps With Ruby" http://rubymotion-tutorial.com/

僕は1の @satococoa さんのチュートリアルをやりました。
チュートリアルを始める前に、motion update して最新の1.29にしました。
やった結果はこちら
"Commit History · tatsuo/rubymotion_tutorial_rubyma" https://github.com/tatsuo/rubymotion_tutorial_rubyma/commits/master
チュートリアルの内容は最新の1.29でも問題なく動きました。(もしも動かなかったら @satococoa さんに直接聞けるので安心ですね^^

チュートリアルやってみた感想

  • チュートリアルわかりやすい〜。よくできてるな〜。
  • RubyMotion のシュミレーターすごい〜。
  • おお、テストもちゃんとあるのね〜。
  • いや〜、RubyMotion おもしろいっす!

感想

  • ステッカー(写真)もらえた!嬉しい!
  • 初心者にもやさしい〜
  • 会場でネットと電源借りれて嬉しい!

もくもく会のみなさま、ありがとうございましたー!

Agile meets UX ジュンク堂トークセッションメモ

ざっとメモ書き。
@garden_tree さんに教えてもらって参加。とても素晴らしいトークセッションでした。あそこで Agile meets UX を体感した感じ。TokyoRubyKaigi05の発表を去年のデブサミの廊下で @bash07 さんとしにいった時に、樽本さんと川口さんがお話していて、そこから RubyKaigi2011 の「アジャイルUX公開実演」になって、それを受付スタッフやりながら、地下門番をしつつ、ちょこちょこ見ていたのを思い出しました。ストーリーというもの(いろんな文脈のストーリーがあるけど)が好きで、最近買ったユーザエクスペリエンスのためのストーリーテリングの訳者の脇坂さんと、角谷さんがでるっていうので、執筆業を抜けて参加させてもらったのでした。行ってよかった。


 人数的にアジャイルミーツUX。半分ちょい開発者、1/2〜1/3くらいUX
 人間工学。戦闘機のコックピット。操縦ミスをしないように。計器が見づらく墜落した。
 何十人でコストかけてやってた。
 ヤコブ・ニールセン:テストに何十人も不要。5人で85%の効果がだせる。
 実際どうなの?→5人で十分。
 アランクーパー。生粋のエンジニア。インタラクションデザイン。ペルソナを生み出す。
 D・ノーマン。学者。アップルにいた。jobsがいない時。
 ドキュメントを壁越しに投げるのではなくて一緒に作るようになった。
 チーム作りが変わってきた。
 同時多発でいろいろな手法ができてた。
 それらをまとめてアジャイルマニュフェストを作ってから広まった。
 売るために名前をつけたのでは?
 2005年くらいからスクラムが売れてきた。企業で広まり始めた。
 ウィンドウズは2−3年で作る。ウォーターフォールでできた。
 ドキュメントたくさん作った。でも読まないよね?
 いきなりドキュメント渡されても困る。
 最近はエンジニアと一緒に作るようになってきてる。
 15人でテストするなら5人で3回まわした方がよい。
 反復するなかで改善していくのがよい。
 アジャイルの一番の根幹が反復。
 アメリカのアジャイルカンファレンスでUXのセッションができるようになった。
 スーツがくるようになった。
 2002ケント・ベックvsアラン・クーパー
 アラン・クーパー:インタラクションデザインを最初で完璧にしておかないと。
 ケント・ベック:それ、ウォーターフォールじゃない?
 しかしクーパーはその後アジャイルの流れにのる
 2008アジャイルUCD→アジャイルUXと呼ばれるようになってきた。
 アジャイルの波がきて、UXの人たちもアジャイルを取り入れるようになった。
 納期近くでテスト。ダメだけど納期だ!
 今まで総括的評価だけだった。やりながら形成的評価が必要。
 勉強しないで期末試験だけ受けるようなもの。
 ディスカウントテストでも高い。
 ウィンドウズみたいなプロジェクトならできるが、予算のあるプロジェクトがない。
 どんなテストでもやらないよりはマシ。マシよりもっと良いなにかw
 ユーザビリティテストに専門知識は?この本だけあれば大丈夫ですw
 ユーザビリティテストで説明しちゃだめ。ゴールだけ示す。
 それってプログラマーは難しいですねwコンピューターで困っている人を見るとつい教えてしまうw
 UXの人は残酷w放って置くんです。
 1人だけ見て考えない、3人以上見てから何が問題か考える。その人特有かもしれない。
 ライトメソッドは1人テストして直して次へ。→それって問題ないんですか?→難しいところある。ブレないようにコンテキストが必要。
 週一でテストするなどが最近流行り。テストは2種類。スプリントレビューでユーザテスト入れる。その事前に本当に小規模なテストをやっておく。スカイプでスクリーンシェアでテストする。
 開発者が同席するのが流行り。後で報告とかしなくてよい。関係者みんなで見学する。見学のノウハウが必要。地蔵になる必要がある。被験者の顔を見ちゃダメ。モニターを見る。
 プロジェクトにユーザビリティテストいれていきたいんだけど、どうしたらよい?とっかかり、予算の取り方などあれば。→最初は練習が必要。スカンクワーク。自社の製品じゃなくてよい。既存のサービス・アプリでテストしてみる。少しずつ仲間をふやす。
 ユーザビリティテストをするとよいことがある、と認識を持つ人を増やしていくこと。
 ストーリ一つ一つだけでなく、流れをテストする。
 医者とか弁護士をテストに呼ぶにはコストがかかる。
 ストーリーとは。上から順にはできない。バラバラのものが全体としてどうなのかモヤモヤする。ソフトウェアは使ってもらわないとできてるかわからない。ソフトウェア開発には人間が必要。全体図ではわかりにくい。解釈の違いにより事故る。それらをつなげるのがストーリー。
 企画自体、コンセプト自体が間違えている場合の対処法は?→その段階では、止める方向に進めるしかない。もっと最初から一緒にやろうね。みんな一緒にやって、ドキュメントでなく、ストーリーを覚えておこう。



個人的に角谷さんの「上流工程」に対するツッコミがとてもすばらしかったです。なんだかうわーっと感極まって内容覚えてなくて上手く説明できない><

#tkbjs オフライン勉強会 #1

昨日、 #tkbjs( http://lingr.com/room/tkbjs/ ) こと、東京ボルダリング オンライン JavaScript 勉強会の初オフラインイベントをやりました。


もともとは、@vestige_ さんとオフラインイベントやりたいねえ、なんて話をなんとなくしていて、@azu_re さんの jser.info 一周年 atnd を見つけて、一緒にオフラインイベントでぜひ!という話をさせてもらって、快諾していただいのでした。


各方面からいろいろ方々に参加してもらえて、とても楽しかったです。それにしても @azu_re さんの発表("世界のJavaScriptを読もう@2012" http://azu.github.com/slide/offline_study/javascript_world.html#slide1)は凄かったなあ。「情報収集と発信はいつやってるんですか?」という問に対して、「いつもです:)」って答えていて、なるほどなあ!!と思いました。あと @azu_re さんは #tkbjs でマスター先生的な役をしてくれていて、勝手に40歳くらいの人を想像していたので、22歳という年齢を聞いて、すごくワクワクしました。とても楽しそうにお話をするので、(情報量の多さに圧倒されつつも)とても楽しい発表でした。@azu_re さんどうもありがとうございましたー。


node.js 方面の方々にも参加してもらえて、サーバーサイドのお話を聞けたのも嬉しかったです。ポジペと鳴り響くタイマー音も。そして初のオフライン js パターン本の読書会では、幅の広ーい意見が飛び交って、それはそれは楽しい読書会でした。


それと、いつもお世話になっている #tkbjs のみなさんにお礼が言えてよかったです。今こうして仕事で js を書いているのは、 #tkbjs のみなさんのお陰です。感謝感謝です。


ビアバッシュ時のピザはL1枚で3人くらいがちょうどよいことがわかりました。今回は15人で6枚+ポテトだったので、ちょっと多かったのでした。


@vestige_ さんと一緒に始めてから、もう1年半経ったんですねえ。。。("2010-07-08 - tatsuo.sakuraiの日記" http://d.hatena.ne.jp/t2os/20100708)長いような短いような。js Good Parts 本を終わらせるのに1年半くらいw 次のjs パターン本 も同じくらいですかねえ。相変わらずいつものゆるい感じでやっていきたいと思います。みなさん今年もよろしくお願いします:)

MacBook Pro にしました

だいぶ迷った

3年ほど前買ってもらった仕事用の初代銀 MacBook がそろそろ限界な感じでした。だいぶ前から、新しいマシン買っていいから申請だしてねーと言われていたんだけど、まあ、次のモデルかなーなんて思ってたら、新しい Pro がでて…


周りの人達はだいたい Air で、いいよーとは聞いてたんですが、メモリ不足でずっと困っていたので、8GB 積める Pro と悩んでたんですねえ。あと SSD 。(Pro はオプションで選べないと思っていた。)


で、次の新 Air を待つかなーって思ったんだけど、もうだいぶつらい感じだったので、Air に決めた!なんて思ってたら、15インチの Air の噂が…


まあ、結局やっぱりメモリ欲しいわーと思って、一度 Pro で見積しようって、やってみたら、SSD 選べる!しかも、旧マシンほんと限界!って感じだったので、クリスマスもあるし、Pro に決めました。


MacBook Pro
メモリ8GB
SSD 256GB
USキーボード

キーボード

会社用なので、USダメって言われてたんだけど、社長に相談したらOKもらえた^^前は日本語キーボードをソフト使って US 配列にするっていうのをしてたけど、ペアプロ時に嫌がられるので、普通の設定に戻しました、、、。今のチームはほぼ US で、HHK for Mac の US を買ったのでした。やっぱり、USの方が打ちやすいし、目ためも好きだし、スペースキー大きいし。

で、家に帰ってからとか、勉強会行った時とか、帰社日とか、キーボードの切り替えで、だいぶ弊害がではじめてたので、もうね US がいいなあと。

環境構築

だいぶ楽になりましたねえ。あと SSD 超快適♫
や、移行アシスタント使えばとっても楽なんですけどね、今回は開発環境を作って、データだけ後からもってくることにしました。それでも大して時間かからなかったなあ。楽チン。


躓いたのはだいたい以下で、各エントリーに助けていただきました。ありがとうございますm(_ _)m
JAVANetBeans で必要になります。


"MacでSSH公開鍵・秘密鍵ファイルをコピーして使ったら警告がでた - アインシュタインの電話番号☎" http://d.hatena.ne.jp/ruedap/20110404/mac_ssh_key_copy_error
"» LionにはJAVAが標準で入ってないので入れるの巻。 モカ式" http://mocabrown.com/blog/archives/1747
"【Ruby】【Mac】OSX Lion にRuby1.9.3をインストールする - ゆっくりブログ" http://d.hatena.ne.jp/masterpiyo/20111207/1323279751
"MacでRuby 1.9.3とrmagick - YC's Notebook" http://d.hatena.ne.jp/yc0120/20111216/1324054460


GitX
起動後、「SSHキー"id_rsa"のパスワードを入力してください。」と言われ続けられて困った。
コマンドラインから起動できなくて困った。
GitX -> Enable Terminal Usage... を選択したらOK。


Qt + jasmine-headless-webkit
Qt 4.8 だと jasmine-headless-webkit がうまく動かない。ので 4.7.4 に戻した。
"Homebrewでバージョンを指定してインストールする : フクロウの雪かき (beta)" http://blog.s-amemiya.com/development/homebrew%E3%81%A7%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/
ちなみに jasmine-headless-webkit も 0.8 系でうまく動かなかったで、0.7.3.2 に戻した。( jasmine.yml を細かく設定しなくてよくなるはずなんだけどなあ。。。)

Rails2とRails3の環境

んー、Railsの環境がちゃんと管理できていない。
プロジェクトと作っちゃえば bundler がやってくれるので気になってなかったけど、ちょっと整理しよう。

参考
"RVMで複数バージョンのRubyRailsを共存させる | Curiosity Drives Me" http://curiosity-drives.me/programming/rails/rvm_ruby_rails/

RubyやRVMは入っているので、僕に必要ものメモ

# rvmで必要なバージョンのRuby入れる
rvm install 1.8.7-p334

# gemset作る
rvm gemset create rails2
rvm gemset create rails3

# Rails3環境(とりあえず既存プロジェクト)
## gemset指定
rvm use ruby-1.8.7-p334@rails3
## bundlerを入れる
gem install bundler
## bundle install
bundle install

# Rails2環境(これから)
## gemset指定
rvm use ruby-1.8.7-p334@rails2
## rails2入れる
gem install rails -v 2.3.11