YAPC::Asia 2014でトークしてきた! #yapcasia

縁深いYAPCに今年もこんなに関わることができて、感無量です。来年もよろしくお願いします。

やったこと
  • コアコンセプト決め

実は、初期の初期に、ゆーすけべーさんマコピーさんの3人で、あーでもないこーでもないってワイワイさせていただいてました。
やっぱり原点に立ち返ると言ったらTIMTOWTDIじゃないですかね〜ってぽろっと言ったら採用されたりとか。

  • イベントスタッフ

かぞえてみたら3年目でした。コアスタッフのみなさまのおかげで今年も楽しかったです!
たくさんの人に支えられているイベントだとあらためて感じました。

  • 個人スポンサー

パーカー++

  • スピーカー

インタビュー・レビューにご協力くださった社内外のみなさま、聴きにきてくださったみなさま、本当に本当にありがとうございました!!
感想や質問などありましたらお気軽にご連絡ください。
今回得られたものを糧に来年もしゃべりたいな!
資料はこちら: モバイルアプリとAPIのありかたを考える2014 // Speaker Deck

  • イベント司会 (企業スポンサー)

@ikeayとおしごとできたのはとっても感慨深かったです。
遊びにきてくださったみなさま、弊社担当のみなさま、ありがとうございました!

そのほか

(・ω<)!

  • #yapcramen 準備中です!別記事にて。

スライドのプロトタイピングにApp::revealupがべんり

yusukebeさんのApp::revealupというモジュールがあるんですが
スライドのプロトタイピングにとってもよかったのでご紹介。


こんなぐあいにmarkdownで書いて、

revealup server -p 5001 --theme night --transition none yapcasia2014.md

こんなぐあいに立ち上げると、


こんなぐあいにプレビューできます。おてがる!

  • スライドの区切りを気軽に変えられる
  • 一枚のmarkdownを編集するかたちなので中身の移動やコピペがしやすい
  • 全体の流れを確認しやすい
  • すぐにプレビューできる

などなどがべんりポイントだとおもいます。

先日のYAPCのスライドはまずApp::revealupをつかってわーっと書き散らかしてからまとめて、keynote上で仕上げる、という過程で作っていました。
LiveReloadなどと組み合わせるともっとはかどるかもしれませんね!

Chrome Extensionのmanifest.json

はじめてChrome Extensionを作ってみたのですが、思っていたよりずっと取っつきやすかったので、メモがてら。

manifest.json?

こんなやつ。

{
    "name": "name",
    "version": "0.1",
    "manifest_version": 2,
    "description": "description",
    "permissions": [
        "https://github.com/"
    ],
    "content_scripts": [
        {
            "matches": [
                "https://github.com/*"
            ],
            "js": [
                "path/to/file.js"
            ]
        }
    ]
}

そのExtensionがなにをしたいのかがこのファイルだけでだいたい分かるようなつくりになっています。
http://dev.screw-axis.com/doc/chrome_extensions/ref/formats/manifest_file/

アドレスバー横にfaviconを置いてhtml windowを開く

はてブextensionみたいなやつ。browser_actionを設定しておく。
faviconをクリックすると設定したhtmlが表示される。
http://dev.screw-axis.com/doc/chrome_extensions/guide/browser_action/

あるサイトに処理をほどこす

octotreeみたいなやつ。content_scriptを設定する。
matchesに該当するページをひらくと、jsやcssをよしなに読み込んでくれる。
http://dev.screw-axis.com/doc/chrome_extensions/guide/content_script/


他にも、新しいタブを開いたときの画面を設定する、テーマを設定する、などなど。いろいろできそうです。

#yokohamapm #11にいってきた!

ヨコピーかハマピーかと聞かれたらハマピーだとおもいます。あらたまです。

きのうのyokohama.pmは、前半はid:songmu先輩のライブコーディング、後半はわいわいLT会のにほんだてでした。
会場はかながわ県民センター。空調きいていなくてみんなつらそうでしたが、会の雰囲気は前回より好みでした:)

前半

https://github.com/Songmu/p5-Acme-BeerSushi
shipit(minil release)まで見せていただいて、
minilの各種tipsとかGetOpt::Longの"getoptionsfromarray"メソッド(v2.39~)とか、テストとコードの対応づけの勘所とか、見ていてとても勉強になりました。
ありがとうございました!

以下ひとりごと、

https://github.com/Songmu/p5-Acme-BeerSushi/blob/master/lib%2FAcme%2FBeerSushi.pm#L55-L62
こういう書き方あんまり思いつけないなあと思いながら見ていました。

https://github.com/Songmu/p5-Acme-BeerSushi/blob/master/lib%2FAcme%2FBeerSushi.pm#L95-L97
あらためてevalしているのはなんでだろう。。

後半

テストを楽しくするためにアニメナイズするのはかどりそうですね。
Test::PrettyCureとかあったら更にはかどる気がしますね。
かるぱ先生のWAF楽しみですね。
もずにょん先生むちゃぶりしてすみません!ありがとうございました!

そしてわたしは、「モバイルアプリのAPI Serverはどういうふるまいをするのがいいだろうね」的な、コードが1行もでてこないLTをしました。
おもったより好感触だったのであとはひたすら作るのみです。

Wunderlist(Mac App)が起動時にクラッシュするのを直す

個人のタスク管理は Wunderlist | To-do list, Reminders, Errands - App of the Year! を使っているんですが、
起動後に突然死するようになって全く使えず困っていました。

探してみたらFAQに解決方法が載っていたのでメモ。
http://support.wunderlist.com/customer/portal/articles/1490719-mac-app-crashes-on-startup

cd ~/Library/Containers/com.wunderkinder.wunderlistdesktop/Data/Library/Application\ Support/Wunderlist
rm ./*

ずっと ~/Library/Application\ Support 以下を探してぐぬぬしていたんですが、なるほど。

ANSIで色付けされた文字をpagerに文字化けさせずにくわせる

うっかり忘れる→ググる→ああ…のループなのでいいかげんめもしておく。

lltsv -k key | less -R
--RAW-CONTROL-CHARS 

の略とのこと。
manにもきっちりANSIと書かれていた(-rとの違いも)。ググる前にmanにあたる癖をつけよう…