2014-01-05 [長年日記]
_ 2014年目標
本年もどうぞよろしくお願いします!今年も目標を立てました。
健康
去年もそこそこ健康でした。今年も1年健康でありたい。
講師業
あと少しなのでがんばる。資料が2年作って整ってきた。講義回ごとに分かれてるので、編集してRuby編とRails編にして公開したい。できれば教科書の形にしたい。
英語
前の目標読んだら、去年も一昨年も進まなかったって書いてある。がーん、2年も足踏みか・・・。今年はちゃんとがんばろう。進まなかった文法と構文解析本を引き続き。あと単語。最重点項目はひきつづきリスニング。RubyConfのセッションが聞けるようになりたい。
技術
Webサービスを作るようになったので、サービス作りの技術を上げたい。コーディングはOSSへ貢献できるようにがんばる。
卓球
去年は新しい打ち方をいろいろ覚えられた。裏面も振れるようになってきた。今年もいろいろ身につけたい。
日常
婚活・・・がんばります・・・。昨年、出雲大社で課金アイテム(縁結びお守り)買ってきたので、そろそろ効果が出てもいいころかと思います。
ここ2年、講師業もあったこともあり忙しく視野が狭かったので、今年はいろんなことに目を向けたい。ゆっくり過ごせるように練習したい。
2014-01-06 [長年日記]
_ Candy bottle & twitter gem streaming
休みで時間ができたので前から作ってみたいと思っていたtwitter のデータを貯めたり、自分の関心ある単語があったら通知するアプリを書いた。
https://github.com/igaiga/candy-bottle
名前は Candy bottle。名前をかわいく付けられた時点で勝ったようなものだった。(大学のルイス先生に相談したところ、 candy jar の方がお菓子屋さんに置いてあるアレっぽい感じとのこと。なのだけど、javaぽいのでbottle にした。)
ちょっと時間がかかったのはtwitter gem の streaming API の使い方。ソース読んで使い方を調べた。書きあがったコードを読むとすごくシンプルに書けている。ナイスライブラリ。 StreamingClient に .user で接続しっぱなしになって、自分のタイムラインが取れて、渡したブロックが繰り返し実行される。
2014-01-07 [長年日記]
_ zshell の入力行で文字を指定してカーソル移動したい
zshell で長いコマンドを打ったり、ヒストリーを呼び出したりしたときに、途中のあそこを変更したいのだけど・・・というので困ることが多かった。行頭だったらC-a、行末だったらC-e とかで移動してたのだけど、文字を指定して移動するのが楽じゃないかと思って調べてみた。
調べたら、zshell には(キーバインドされていない)いろんなコマンドがあった。(普段、emacsモードなのでviモード使わないから気づかない)
http://www.cs.elte.hu/zsh-manual/zsh_14.html
vi-find-next-char, vi-find-prev-char で前後検索が欲しかった機能。vi-repeat-find で繰り返しができるのでこの3つにキーを割り当てることにした。
bindkey "^f" vi-find-next-char
bindkey "^b" vi-find-prev-char
bindkey "^v" vi-repeat-find
上記を .zshrc に書けば良い。bindkey コマンドを単体で打つと現在のキーバインドが見れて便利。
2014-01-08 [長年日記]
_ Better Errors から emacs でファイルを開く
Railsのエラー画面を便利にしてくれる Better Errors は本当に便利で重宝してます。エラー画面のファイル名を見ると、mac だったらそのままTextMate で開けるようになってたので、emacsで開けるように設定しました。
Rails設定
config/environments/development.rb とかに
BetterErrors.editor = :emacs
とか書く。(全員違うので、うちのプロジェクトだと config/settings.local.yml に書いて読むようにした)
参考:http://dwradcliffe.com/2013/01/18/better-errors-with-sublime-text.html
emacs:// で開けるようにする
https://github.com/typester/emacs-handler
をDLして設定。
参考:Marvericsで開発元不明と言われる場合:http://number333.org/2013/11/03/mavericks-app-develop/
2014-01-13 [長年日記]
_ ファイアーエムブレム覚醒
昨年末に講義資料準備が終わって、ひさびさにゲームをやりたいなーと思い、3DS LL とセットで買いました。
さきほどクリアして、とても面白かったです!シリーズ作の醍醐味満喫。死んでも生きかえるカジュアルモードでやったけど、初代で生きかえらないルールが採用された訳がわかりました。戦略全然違いますね。(おとりにしたりできる)でも社会人には生き返らないクラシックモードは辛いのでこっちで良かった。w 難易度は3段階真ん中のハードにしました。ノーマルが簡単で途中でやり直しました。ちょうどよかった。カジュアルだったらルナティックでもいいのかも?
今回は「絆」がテーマで、キャラが隣接してたりダブル(重ねることができる)だとぐーんと能力が上がるのがシステム的には面白かったです。結婚の仕組みもヴィーナス&ブレーブスみたいでおもしろかった。
余談ですが、3DS LL って電源アダプタついてないですね・・・。追加で買ったアダプタが届くまで100円ショップでアダプタ買ってしのぐというライフハックで乗り切りました。
(以下ネタバレあり)
みなさんどのキャラが一番強くなるものなんでしょうか?私はマークとドニが強かったです。いま、いくつか攻略ブログを読んだら、みんなちゃんといろいろ転職させてパラメータ上げてるんですね・・・。なるほど。
音楽がよかったのでサントラ買おうと思ったけど高騰していて無理そう・・・。エメリナ亡きあとの雨の戦闘シーンで流れてる曲は感動しました。
B006QGGOGQ
B008DRISG0
2014-01-16 [長年日記]
_ 最終講義
今年も1年の講義が無事終了。最終日は3週かけて作った自由課題の発表会。ドーナツと珈琲を買い込んでみんなで食べながら発表を見ました。今年もこちらが驚くほどのクオリティでみなさんいろいろ作ってくれました。簡単に紹介するとこんな感じ。
- 世界遺産紹介ページ
- twitterのパーソナル解析
- 大学のポータルサイト
- プログラミング勉強支援(本情報や勉強会情報)
- TTCメカニズム(経済的で合理的なマッチング方法:複数人による交換ベース希望解決)
- サークル向け予定登録専用カレンダー
- 楽天ポイントをiPhoneへプッシュ通知
- 電車遅延情報をiPhoneへプッシュ通知
- 近くにいる人に気づけるアプリ
- Rubyで二度寝(休講情報取得)
- 駐輪場を地図上で検索
自分の身近な題材や、「ここがこうなれば良いのに」という課題を自分の力で解決しようとしているのがとても良かったです。島根大の高清水先生も見学に来てくださったのですが、すごく褒めてくださいました。
2年目の今年は資料は使い回すから楽だろうと思いきや、資料も直したいとかRubyとRailsのバージョンアップに追随したいとか欲が出て、やっぱりそれなりに準備は大変でした。でも、2年間の講義の経験を活かしてRWC2013で発表したり、Rails寺子屋やRailsGilrsで資料や経験を活かせたりして、去年以上に講師経験を活かせた1年間でした。
先生はこれで卒業。4月からはとても適任な方に先生業を引き継いだので安心です。(´▽`) 2年間、素晴らしい体験ができました。TAを2年近くやってくれたくれただけでなく、資料のレビューや講義のフィードバックもくれた濱崎さん、本当にどうもありがとう。おかげでなんとかゴールできました。いろいろ便宜を図ってくださった大場ご夫妻、万葉のみなさん、常駐先のみなさん、spicelifeのみなさん、ありがとうございました。twitterで応援してくれたみなさん、ありがとうございました。特に @yukie_18 さん、毎回応援してくださって本当に励みになりました。一橋大学のルイス先生、2年間大変お世話になりました。特に今年は二人三脚でやれてたのしかったです。Niftyの鈴木先生、宮内さん、ご支援ありがとうございました。最後に、受講した学生のみなさん、おつかれさまでした。プログラミングが動いたときのたのしさを味わってもらえたなら嬉しいです。みなさんの質問で私も実はかなり勉強になっていました。
資料はまとめて何かの形にできるといいと思ってます。先生の仕事もまたいつか機会があればやってみたいですね。とりあえずしばらくは、ぐてーっとします。
2014-01-18 [長年日記]
_ Rails寺子屋第3回
開催してきました。今回はクックパッドさんに会場提供いただきました。いつもながらクックパッドさんの会場はとても良いですね。
今回のワークショップコンテンツはRailsGirlsWorkshop出張所、一橋大学講義出張所、Githubぷるり道場、師範とマンツーマンの4つ。加えて、最後の枠は @sora_h さんと @ryopeko さんのぶつかり稽古と、みんなでコードを投稿して解説するコード大喜利。圧巻はぶつかり稽古で、URLを入力するとキャプチャして表示するアプリを1時間で完成させました。最後、ぎりぎり完成するかしないかのところで残り1分でなんとか動かし、魅せました。すごかった。解説の @mirakui さんもエンターテイナーでナイス司会でした。私も勉強になった!懇親会で反応を聞くとみんな楽しんでいたようで良かったです。
私のところは一橋大学講義の出張版で、Rails編の講義4回分を1日で押し込めました。みんな進みが速い。質問もたくさん出て進めやすかったです。 @machu さんが聞きながら補足資料を書いてくれたのが分かり易くて助かりました。なるほどなと。
Rails寺子屋は遠方から来てくれる学生さんもいて、こちらも気合いが入ります。次はいつものペースで5月頃にまたやりたいですね。
写真はsora_hさんより
2014-01-20 [長年日記]
_ コードのリレー
ぼくらはコードをリレーするのだ コミットから コミットへと そうしていわば交替でリポジトリを守る 眠る前のひととき 耳をすますと どこか遠くで push通知のベルが鳴っている それはあなたの送った pull request を 誰かがしっかりと受け止めた 証拠なのだ
古いメモから出てきたポエムです。
2014-01-28 [長年日記]
_ unicorn が USR2 シグナルで Gemfile の更新を反映しなかった
unicorn の設定が preload_app = true の場合、USR2 シグナルで設定反映される。コードのみの変更はこれで反映されていたが、Gemfile変更を伴った場合は、USR2 のみ及び HUP+USR2 でもダメで、stop+startしないと反映されない状態だった。
@satococoa さんと、 @mirakui さんに教えてもらった以下を追記して解決。これでUSR2を送るとGemfileの変更も反映してくれるようになった。よかったよかった。お二方ともありがとうございました!
config/unicorn.rb
before_exec do |server|
ENV["BUNDLE_GEMFILE"] = "/path/to/app/current/Gemfile"
end
2014-01-29 [長年日記]
_ Emacsで同じコマンドを連続実行したら繰り返したい
Emacsdで「1文字入力して、その文字まで移動」というコマンドが便利なのでネットから拾ってきてとても便利につかっている。ありがとうございます。
さらに、思った場所まで到達しなかったときには同じコマンドを連続実行したい。どうしようかと考えてこんなelispを書いた。
(defun move-forward-char-repeatable ()
(interactive)
(if (eq last-command this-command)
(command-execute 'previous-command)
(command-execute 'move-forward-char)))
move-forward-char が「1文字入力して、その文字まで移動」コマンド。last-command(前回) と this-command(今回) が一致したらprevious-commandを実行(繰り返し)。初めてのときは一致しないので move-forward-char を実行。コマンド実行の描き方が分からなかったので @hidaqa 先生に教えてもらった。ありがとうございます!!
コード全体はこちら。