fugafuga.write

日々のログ



Hex に自作ライブラリを登録する

github.com を作った。 Hex に登録して escript.install すると作ったコマンドをすぐ共有できてよさそうなのでやる。 環境 Elixir 1.5.2 Hex にユーザー登録する mixコマンド は elixir に同梱されている。 > mix hex.user register By registering an accou…

'no'コマンドについての本当にちょっとした話

この記事に触発されて、Elixir の練習として似たようなコマンドを作った。 Unixコマンド”yes”についてのちょっとした話 | コンピュータサイエンス | POSTD この世の全てを否定するコマンドno 記事内ではyesコマンドが扱われていたがそのまま作ってもしょうも…

neovim & tmux で escape するのに時間がかかる

環境 tmux 2.5 nvim v0.2.1 neovim 導入後に発生した # tmux.conf set -g escape-time 0 を設定して解消 github.com

Vimが重いのでつらい

vim

Ruby 書いてる時に Vim が too slow で つらい スクロールが遅い カーソル異動が遅い syntax off にしてみる 軽くなる が、syntax highlight なくなるのは論外 原因は syntax の解析か fold method の設定を見直す 【Vim】Ruby書くときにVimが重くてつらいと…

Ruby: Rangeと配列展開

なんじゃこれと思ったやつ [7] pry(main)> [1..12] => [1..12] [8] pry(main)> [*1..12] => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

ssh private key の pass phrase を解除する

ssh

ssh-keygen -p -f ~/.ssh/id_rsa

@var について

Programming Phoenix やってたら唐突に出てきた template の中にある @var は一体何か。 まず、@に3つの目的がある。 アノテーション 定数 コンパイル時の一時モジュールストレージ 今回のは2つめの定数だった。 モジュール内で共通して値を利用できる模様。…

iex で複数行入力中にやっぱりやめたくなった場合

#iex:break iex(2)> def hoge(foo) do ...(2)> #iex:break ** (TokenMissingError) iex:2: incomplete expression

render の cached オプションを development 環境で有効にする

本番環境で再現して、開発環境で再現しないバグに出会ったときの話。 問題はページキャッシュだったので、開発環境でキャッシュを有効にしたかった。 原因はrenderメソッドのオプションcached: true キャッシュ有効化の方法は、Rails 5ならこれでいける rail…

スプリントレビューとリリースの関係について

スプリントレビューに合格しなければ リリースできないという固定観念をなくす リリースはいつしてもよい スプリントレビューはフィードバックを得る場所として機能させる フィードバックが必要になりそうなタスクはスプリントレビュー対象にする

MacOS ls の代替コマンド exa 入れる

exa とは Rust で書かれた ls の代替コマンド github.com インストール brew install exa 使い方 exa -la alias 設定して使ってます alias l='exa -hla --git' alias ls='exa'

Capybara hidden 要素を find する

Capybaraさんが全然チェックしてくれなくてハマった。 find('#checkbox', visible: false).trigger("click") visible:falseを指定するとhiddenの項目も検索の対象になる

PostgreSQL Array型のindex

indexは 1 から始まる 参考 Why is postgreSQL using 1-based arrays? - Database Administrators Stack Exchange

PostgreSQL 予約語がカラム名に使用されている場合

ダブルクォートで囲む SELECT "result" FROM table_name;

tig ブランチの切り替えとチェックアウト

ブランチ切り替え main view で r 選択したブランチのチェックアウト ref view で ブランチ選択して C

git ブランチ間で差分とってパッチをあてる

git

# 現在のブランチとmasterとの差分をパッチファイルとして抽出 git diff master > diff.patch # 新しいブランチ作成 git co master git co -b new_branch # dryrun patch --dry-run -p1 < diff.patch # 問題無さそうならパッチあてる patch -p1 < diff.patch…

git 他の人のブランチを持ってくる

git

git co -b <ローカルブランチ名> origin/<他の人のブランチ> 他の人のブランチをローカルブランチとしてcheckoutする。 co は checkout の alias

ghq SSHでclone

ghq

ghq get -p <リポジトリ>

Chrome XPath を取得、検証

XPath の取得 ブラウザの検証したい要素を右クリック->検証 検証ツールで選択されている要素の上で右クリック->Copy->Copy XPath XPath の検証 検証ツールのコンソールに$x('<検証したいXPath>')を入力

Rails Capybara 対象を絞り込んでから検証する

Rails の feature spec 書いてるときに調べた。 こうじゃなくて expect(page).to have_content "検証したい文字列" こう expect(find('#element_id')).to have_content "検証したい文字列" 本当に検証できているか意識することが大事 参考 http://qiita.com/…

fish shell rbenv init で setenv: Too many arguments が出る

rbenv の バージョンを上げる(1.1.1)ことで解決 $ brew unlink rbenv $ brew install rbenv --HEAD fish 2.6.0, setenv: Too many arguments · Issue #1010 · rbenv/rbenv · GitHub

zsh 自分用の.zshrcがあったら読み込む

zsh

zshrc の末尾に書いておく [ -f ~/.zshrc.mine ] && source ~/.zshrc.mine 端末を共用している場合などに便利

zsh 予測入力を設定する

zsh

autoload predict-on predict-on history から探して自動的に入力してくれる。 source .zshrc が history にあれば、 s をターミナルに入力した時点で source .zsh まで補完される

zsh history の設定

zsh

zshrc # history histfile=~/.zsh_history histsize=1000000 savehist=1000000 setopt hist_ignore_dups #ignore duplicate command setopt share_history #share command history

tmux 新しいセッションを名前付きで作成

tmux new -s <session-name></session-name>

zsh 補完機能を有効にする

zsh

補完への第一歩

zsh コマンド履歴を絞り込み

zsh

コマンド履歴を絞り込む

bootstrap で sidebar を固定する

固定したい

Rails で material-design-icon を使う

マテリアルアイコンを使う

さくらVPSに Debian jessie をインストール

CentOS 6.4 だと Docker がサポートされてなかったので