ブログ

読んで思い出す。忘れるために書く

Q. Bash で補完したときに表示される文字の色設定を変えたい

A. colored-stats を on にして、LS_COLORS設定値を自分好みに変更する

BashINPUTRC環境変数設定がなければ ~/.inputrc を読みに行くので、そこに設定値を書く

~/.inputrc :

colored-stats On

環境変数は適当な場所 (~/.bash_profile, ~/.bashrc) に書く

~/.bashrc :

# MacOS のターミナルの場合に色設定を変更する
if [[ $(uname -s) -eq 'Darwin' ]]; then
  export LS_COLORS="di=36;40:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=36;42:ow=30;43"
fi

ls -G も色設定をしたければ LSCOLORSgxfxcx... 形式で値を入れる

Links

Q. インデントに表示している文字の色を設定したい (vim-indent-guides)

A. ドキュメント を参照して IndentGuidesOdd, IndentGuidesEven のハイライト設定の値を変更する

autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=Grey11 ctermbg=234 guifg=Grey42 ctermfg=242
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=Grey19 ctermbg=236 guifg=Grey35 ctermfg=240

Links

Q. Vim でタブ文字表示にわかりやすく文字を設定したい

A. listchars に値を設定する

set listchars=tab:»・

その他の制御文字に対しても文字表示を設定できる

set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣

Links

Q. Google Chrome で日本語 Web ページが文字化けする (Docker 環境)

A. 追加でフォントをインストールする

RUN apt-get -qqy update \
      && apt-get -qqy --no-install-recommends install \
      libfontconfig \
      libfreetype6 \
      xfonts-cyrillic \
      xfonts-scalable \
      fonts-liberation \
      fonts-ipafont-gothic \
      fonts-wqy-zenhei \
      fonts-tlwg-loma-otf

gouf.hatenablog.com

過去記事で、日本語を含むページのスクリーンショットを保存したら豆腐になってるのを確認できたので、今回の記事で対応した

Link

Watir を Docker 環境で動かして Web ページのスクリーンショットを撮る

リポジトリを作った : gouf/watir_in_docker_demo - GitHub

詳しくはそちらを参照のこと

今回は最小限の環境で動くのを確認するのが目的だった

もし次のステップを設定するなら、Watir を絡めたコードをもう少しモリモリ書いて動かしてみたい

Links

refine で簡易的に西暦から元号に変換する

module RegnalYear
  module JP
    refine Integer do
      def to_regnal_year_jp
        case self
        when 1868..1912
          '明治'
        when 1912..1926
          '大正'
        when 1926..1989
          '昭和'
        when 1990..2019 # acutualy: 1/8/1989 - 4/30/2019
          '平成'
        end
      end
    end
  end
end

using RegnalYear::JP

pp 1988.to_regnal_year_jp
# => "昭和"
pp 2018.to_regnal_year_jp
# => "平成"

Links

Q. Rails の params.permit に関わる最小限のコードを書きたい

A. ドキュメント ActionController::Parameters#permit を参照して、サンプルコードを動かす

require 'active_support/core_ext'
require 'action_controller/metal/strong_parameters'

params = ActionController::Parameters.new({
  person: {
    name: "Francesco",
    age:  22,
    pets: [{
      name: "Purplish",
      category: "dogs"
    }]
  }
})

permitted = params.permit(person: [ :name, { pets: :name } ])
permitted.permitted?                    # => true
permitted[:person][:name]               # => "Francesco"
permitted[:person][:age]                # => nil
permitted[:person][:pets][0][:name]     # => "Purplish"
permitted[:person][:pets][0][:category] # => nil

(非 Rails 環境の場合は当該ファイルを require して読み込む必要がある)

(ドキュメント上では params.permit についての説明なので require は省かれている)

これで Rails 環境でなくても「params.permit が上手く動かない」といった話を調べることができるようになった

Link