#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にあたる癖をつけよう…

MySQLSandboxでbinlogを無効にする

普段ローカルで作業するときはMySQLSandboxをたちあげて、さくっとテストを流したりしているんですが、
あるときから突然

Binary logging not possible. Message: Statement cannot be logged to the binary log in row-based nor statement-based format [statement: ~~~~ ]

と出てコケるようになってしまいました。

原因はメッセージに出ているように、binlogのフォーマットがstatementになっているからなのですが、
~/.my.cnfは置いてないし、プロジェクトのmy.cnfにはbinlogの設定書いてないしと何が原因か分からず。binlogは出さなくていいので、ただ設定をオフにしたい…

そこでそういえばと思ってps aux | grep mysqlしたら、--defaults-fileに設定されている~/sandboxes/version/node*/my.sandbox.cnfに
log-bin=mysql-binが書かれていて、これや!とコメントアウト&restart_allしたら無事動くようになりました。

my.sandbox.cnfを生成しているところがきっとあるはずなので、なにかオプションをくわせたら or EXPORTしたらいいかんじにしてくれそうなのですが、時間切れ。
もうちょっとみてみます。

さくらVPSで環境構築

普段webアプリケーションの中身ばっかり書いていて、その周りにはふわふわっとした理解しかないので、もう一度自分で組み立てて理解を深めようシリーズ。
ずいぶん前に取得したさくらのVPSを、よい機会!とまっさらにして始めてみています。
備忘録というか、作業メモというか。

やりたいこと

ドメイン

さくらのドメイン設定でゾーン設定をする→ムームードメイン(で取得した)でネームサーバの設定をする→まつ
このあたりあんまりよくわかってない。宿題。

ユーザを追加してsshログインできるようにする

http://blog.myfinder.jp/2010/09/vpsssh.html
done!

perlbrew

perlbrewをいれておく。
あとはcpanmでよしなに。

nginxのインストール

自分からnginxさんとふれあうのは初めてだったりする。

はじめからyumにあったのは1.0.15-5だったので、
stableのURLを探してきて、
http://nginx.org/en/linux_packages.html#stable

$ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
$ sudo yum install nginx

してから、

$ sudo nginx
$ ps auxf | grep nginx

いるいる。

起動したらすでに80番ポートが開いているらしい。
ブラウザで叩いてみる。

_人人人人人人人人人人_
> Welcome to nginx! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

おお。

/etc/nginx/ にconfファイルがあった。読みやすいですね。
ここで、80番で受けて別ポートで立ち上げたpsgiを呼んであげれば(proxy_pass http://127.0.0.1:5000; とか?)いいのかな…?
きょうはここまで。

shipitするときに忘れがちなBuild manifest

$ perl Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Product name' version 'version'

$ ./Build manifest  

./Buildがたたけないよー><とかやりがちなので、備忘録としてぺたり。