2016-01-01から1年間の記事一覧

`wkhtmltopdf-binary` のバージョンに注意

最新の 0.12.3.1 だと、どうもサーバに中華フォントがインストールされている場合、IPAより中華フォントが優先されてしまう模様 一旦 0.9 系に戻すことで対応した

`each_with_index` が使えるのになんで `with_index` が使えない?

with_index は Enumerator のメソッドだから、ただ Enumerable を継承しているクラスからは使えない。 map をかませると、Enumerator のオブジェクトが返ってくるから使える module Enumerable (Ruby 2.3.0) CSV::Row でインデックスを1から始めたいんやが…

zsh のtabキー押下時の挙動が変

zsh

例えば、 rspec まで入力して、spec/mode のように入力しながら tabキー で補完していく動作をすると、 (eval):1: command not found: といって荒ぶり出す。肝心の補完は当然できない。 rm ~/.zcompdump で直った。 zshrc で compinit の位置を変えたりした…

wicked_pdf が Command Error になる!

ローカル開発で突然PDF生成が死ぬようになった。 エラーはこんな感じ RuntimeError - Error: Failed to execute: ["/workspace/some_project/bundle_bin/wkhtmltopdf", "-q", "--margin-top", "0", "--margin-bottom", "0", "--margin-left", "0", "--margin…

zsh-syntax-highlighting が効かなくなった?と思ったら zplug のバージョンアップで設定方法が少し変わっていた

zsh

zsh プラギンの棚卸しをしていて、 「なんかコマンドのハイライト効かなくなってない?」と感じて調べてみると、 最近の zplug の更新で nice が deprecated になって defer になったので、 そのまま置換してみたけど動かない。 どうも zplug のドキュメント…

neovim 設定周り続き

denite.nvim 複数選択できないので一旦諦めていたが、複数選択を可能にするPRが出ていたので、ブランチを指定してテスト開始 [RFC] Revise action implementation by Shougo · Pull Request #105 · Shougo/denite.nvim 複数選択がノーマルモードしかできない…

NeoVim いれてみた

NeoVim Installing Neovim · neovim/neovim Wiki 移行を少しだけ検討開始。インストールしてみた Vimで使っているプラグインが全部移行できないとまだ普段ユースで辛みはありそう。 ただ、高速化が著しいのであれば、生産性向上できそうなので試してみる。 b…

GitHub に追加された Reviewer とは。

今までの assignees じゃダメなんですか? Introducing review requests acted_by ってなんやねん とあるエンジニアの備忘log: git の Acked-by と Reviewed-by イメージとしては、不特定多数のレビュワーより権威が少し上なレビュワーというニュアンスっぽ…

newrelic が 422 エラーまで拾っているので400番台は拾わないようにしたい

自分たちでエラーハンドリング時に明示的に newrelic に情報を飛ばす方式 Sending New Relic handled errors | New Relic Documentation 飛ばさないエラーをymlファイルで個別にフィルタリングする方式 これはつらいw Ruby agent configuration | New Relic…

direnv のログが毎回うざい件をなんとかする

公式でもまだ方針が定まってナサソウだけど、とりあえず export DIRENV_LOG_FORMAT= をzshrc に書いとけば黙ることがわかったので一旦これで。 Reference How to turn down verbosity? · Issue #68 · direnv/direnv How best to quiet direnv? · Issue #203 ·…

tmux 2.3 にしたら "unknown key table: vi-copy" というエラーがでるようになった

tmux.conf にこういう設定を書いていたものが動かなくなった ## http://robots.thoughtbot.com/tmux-copy-paste-on-os-x-a-better-future ## Setup 'v' to begin selection as in Vim bind-key -t vi-copy v begin-selection bind-key -t vi-copy y copy-pip…

date_validator gem を使ったバリデーションにおいてオプションで Date.current を指定する際に気をつけること

date_validator に限らず validations のオプションの指定の仕方に注意が必要なやつ。 何が問題か Rails の validation のオプションで validates :birthday, date: {before_or_equal_to: Date.current} のような指定をしていて、 (要するに今日より未来の…

Rails にJSONでリクエストを投げた際に発生する JSON::ParserError をハンドリングする

何が問題か API として公開している Rails Server に対して、Invalid な JSON データを送信した場合、 parse error が発生した場合は、適切にリダイレクトやエラーメッセージの制御を行いたい。 だけど、挙動としては、Controller に到達する前の Rack Layer…

Railsのマイグレーションファイルで add_index する際、 using オプションまで指定する必要があるのか

インデックスの方法を明示的に指定したい場合のみ指定する。 Rails で using オプションを提供しているのはDBによって、インデックスの貼り方を指定できるためで、 MySQL の InnoDB を使っているのに using: :btree する意味は全く無い(してもしなくても結…

Ruby の `Enumerable#all?` が empty array にたいして `true` を返す

[].all? => false が返ってもヨサソウなのに・・という疑問 チャットで聞いたりググったりして、数学的に正しい方向に倒している結果、今の挙動である true を返していることがわかった。 ruby's "any?" and "all?" methods behaviour on Empty Arrays and H…

TIL

rake の補完が遅くてイライラするのを解消した 古いけどRails公式でこんな記事書いてた Riding Rails: Fast Rake Task Completion for Zsh で、これを zsh のプラギンにしたものをいれた unixorn/rake-completion.zshplugin: rake task tab completion plugi…

Redcarpet の辛いところ

TOC(Table Of Contents) を生成する機能があるのだけど、 見出しに日本語が含まれていると、完全にスルーされてしまう点。 ## これは概要です これを redcarpet のレンダリング処理にかませると・・・ <h2 name="">これは概要です</h2> といった具合。 ## This is overview だ…

204 No Content について

前回の記事 prmd の辛いところ で「手続きクラスをコールするだけのAPIの返り値は No Content で構わない」と書いたものの、 もし今後なんらかの JSON を返却する必要がでてきたら?と考えると、 最初から HTTP/1.1 200 OK としておくべきな気がしてきた。 R…

prmd の辛いところ

HTTP/1.1 204 No Content HTTP/1.1 200 OK + Response は empty みたいな表現ができない。 いや、正確にはカスタム erb テンプレートを全部自分で用意すればできるのだけど、 templates 全体をコピーして持ってくる必要があったりして、保守観点でやや懸念が…

prmd と jdoc で JSON Schema の解釈が微妙に違う問題

要するに JSON Schema を解釈して何かするライブラリによって方言が存在する状態になっている。 jdoc は 204 を表現できるけど、prmd は 202 となっている他、 status code の表現に使う場所が def has_response_body? @raw_link.media_type != "null" end #…

Mac (El Capitan) で nokogiri のインストール @Ruby 2.3.1 でハマった

いつものように $ ~/.rbenv/plugins/ruby-build $ git fetch origin $ git rebase origin/master $ rbenv install 2.3.1 $ rbenv global 2.3.1 $ gem install bundler $ rbenv rehash ここまでは全く問題なし。 つづいて Rails ディレクトリへ、 $ ~/projext…

何回も調べてしまう attribute? の定義箇所

ここを見ると query methods と書かれているので、 https://github.com/rails/rails/blob/master/activerecord/lib/active_record/base.rb # == Attribute query methods # # In addition to the basic accessors, query methods are also automatically ava…