最新 追記

いがいが日記


2017-07-10 [長年日記]

_ 北海道を旅してきた

5年ぶりくらいに北海道へ行ってきた。北海道は住んでいたことはあれど、やっぱり何かきっかけがないとなかなか行くことがない。今回は何もきっかけがないけれど、思い立ったので思い切って行ってみることに。リモートで仕事ができることもあるので1週間ほど滞在することにした。飛行機はバニラエアで片道7000円くらいで安い。うちからは成田まで2時間かかるので、羽田の1時間と比べると遠い。羽田から安く飛べるAirDoやスカイマークも今度は探してみようと思う。宿はAirbnbで学生が使ってそうなアパートを借りて1泊4000円くらい。オーナーさんが優しい人で過ごしやすかった。 仕事はえにしテックさんのオフィスに居候させてもらう。みなさんと技術的な議論もできてめっちゃ勉強になる。しかもあれこれおもてなししてもらえて、ランチに寿司やカレーを案内してもらったり、アイスをもらったり、セイコマの良さを教えてもらったり。えにしテックさん最高である。 休みの日は洞爺湖へ行ってきた。しあわせのパンという洞爺湖畔のカフェを舞台にした好きな映画があるが、その撮影で使われたゴーシュというカフェへ。本当に映画の中の風景がそこにあった。素晴らしかった。映画のマーニのように宿泊もできたら最高だろうなぁ。人もいなく、高速の渋滞もなく、天気も最高で大満喫だった。 涼しいのを期待したものの暑い日ばかり。(4日連続真夏日で、それは125年ぶりとのこと。イガ岡修三と呼ばれた。)そのぶん天気が良くて良かった面もあるが、冷房がないことも多いので涼しい過ごし方を模索することに。北大の芝生でガリガリ君を食べたりした。仕事場所としても北大は良くて、エルムの森という正門付近のインフォメーションセンターにカフェがあり、ここのオープンテラスで風を受けながら作業するのが心地よかった。 大学の同期やひさびさに会う人たちといろいろ話して、おもしろいこともたくさん聞けた。みんなのおかげで行く前に考えていたよりもずっと充実した旅になった。自分の中では変革と表現してもいいくらい新しい気づきがあった。時間があれば今後はもっと積極的に旅をしようと思った、良い旅だった。


2017-07-11 [長年日記]

_ capistrano3でrollback時にソースを消さなくする対応

server_starterを利用して新旧unicornプロセスを継ぎ目なく切り替えているのだが、cap deploy:rollback時にうまく動作しないことがあることが分かった。rollback時にcapistranoが対象のソースを消してしまうので、旧unicornプロセスは存在するのだけどソースがない、という状態になって、白い画面になったりCSSなどassetsが取れなかったり。

そこでrollback時にはソースを削除しないようにしようと思ったのだけど、capistrano3でそのやり方が分からない。rakeタスクで登録するスタイルなので、Rubyのソースコードで上書きもできない。うーん、と思ってオプションで削除ON/OFFできる機能のPRを送ったけど、複雑性が増すからいれたくなさそうな空気。その代わりにタスクの削除の仕方を教えてくれた。あー、タスクの削除できたのか!

namespace :deploy do
  Rake::Task[:cleanup_rollback].clear_actions
  # capistrano内部で定義されてるrollback後のソース削除タスクをクリア
end

消す対象のタスクはこの辺 https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/deploy.rake#L170

参考ページ http://capistranorb.com/documentation/advanced-features/overriding-capistrano-tasks/


2017-07-15 [長年日記]

_ パンデミックサバイバル2017予選会

去年も参加したが、4戦全て敗退して日本代表決定戦には進めず、その晩はパンデミックの盤面が頭から離れないという悔しい思いをしてから1年。今年もcheri*さんが神戸から来てくれて一緒に参戦した。今回が予選で、勝ち抜けば日本代表決定戦、さらに勝てばアムステルダムでの世界選手権。 パンデミックは協力型のボードゲームで、この大会は2人1組で参加、最短手数でクリアした1組が勝ち抜けのルール。1戦の参加チームは12チームだけど、参加希望チームは14チーム。抽選で1戦目から出られるようになりラッキーだった。 1戦目はアジアの悲劇が起こり、赤コマ切れであえなく敗退。役職は私が標本管理官(都市カード拾える)とちぇりさんが防疫の専門家(ウィルス駒2個以上の都市へ入ると1つ除去)。 2戦目の前にチーム亀本家の2人も一緒に観想戦して対策。2戦目は3手目でウィルス3個の都市1つを放置して都市カード(赤のマニラ)使って拠点を作ることに。読み違いもあったのだけど、結果これが勝利を決める1手に。途中でも黒の都市を見殺しのリスクを取りにいったら、見事に感染してアウトブレイク連鎖、これはもう黒コマ切れかと思ったら0個でギリギリ踏みとどまった。運がよかった。その後、赤の都市の上にアウトブレイクで乗った黒3個を除去しない判断がこのゲームの私の一番良かった判断だったと思う。 黒のワクチンを作ったあと、2つ目は黄色ワクチンをマニラで作り、赤のマニラを拾う。次のターンで赤ワクチン作成、さらにアトランタへ移動して青のアトランタを拾って待つ。ちぇりさんが受け取って青ワクチンができてクリアした。トップ1組だけが勝ち抜けなのでクリアが見えた最後の4ターンは他のチームが勝つんじゃないかとヒヤヒヤしたし、同点のときに備えて他の条件を整えたりもしたが、単独トップで勝ち抜けた。とてもとても嬉しかった。ちぇりさんとハイタッチして最高の気分。 今回はちぇりさんの発想のキレがとても鋭く、それに乗っかっていったら勝てた。他のチームに聞いたら1手差だったので、ちぇりさんの発想のおかげだ。あと、亀本家の2人には事前の予習や当日の感想戦でお世話になってありがたかった。亀本家も4戦目で勝ち抜いていためでたい。 ということで10月の日本代表決定戦に出れることになった。パンデミックも気づけばもう10年近くプレイしている。去年勝てなかったこともあって、はじめて公式の大会で勝ててとても嬉しい。打ち上げでも盤を広げてずっと観想戦できて、とても良き日だった。

https://twitter.com/igaiga555/status/886119875172855808

https://twitter.com/HobbyJAPAN_GAME/status/886057644418400256


2017-07-18 [長年日記]

_ Railsで全endpointを取得

Rails5.1で全endpointを取得するのに

ActionDispatch::Routing::RoutesInspector.new (Rails.application.routes.routes).format(ActionDispatch::Routing::ConsoleFormatter.new )

って感じでrake routesのconsoleの結果をstringで取ってきてパース、みたいないけてない処理を書いてしょんぼりしてたのだけど、twitterで聞いたららいっくんさんがスマートな方法教えてくれた。raw_routes = Rails.application.routes.routes.map{|route| ActionDispatch::Routing::RouteWrapper.new(route)} で取れる。取れたRouteWrapperクラスにpathとかverbとか便利なメソッド群があるので、それを使えばいい。

raw_routes = Rails.application.routes.routes.map{|route| ActionDispatch::Routing::RouteWrapper.new(route)}.map(&:path)
p raw_routes
#=> ["/rails/info/properties(.:format)", "/rails/info/routes(.:format)", "/rails/info(.:format)", "/rails/mailers(.:format)"...]

ありがたや〜。(-人-)

https://twitter.com/igaiga555/status/887240780707905536


最新 追記