ravelll の日記

よしなに

tech

Vim で日本語の文字化けを防ぐ

業務で触っているサービスにはUTF-8でないファイルが山ほどあります。 そういったファイルをナチュラルに開きグリッチされた日本語を見ては日々IQを下げていました。 そんな折、Vim の fileencodings を複数設定すると良いことを知りました。 vimの文字コー…

sudo.vim を直感的に使えるコマンドを書いた

書き込みに管理者権限を必要とするファイルを一般ユーザ権限で開いて編集してからそういえば sudo.vim の使い方を知らないなと気づく、みたいなことが何度かあった。 今は使い方を調べたから大丈夫だけど、使う機会少ないからまたすぐ忘れると思う。 なので…

プロセスを peco で便利に kill する

何かプロセスを kill するとき、今まで ps -ef | peco して PID 調べて kill コマンドをタイプしていた。 昨日のこと、いよいよその不毛さに嫌気がさして peco で選択したコマンドを kill する zsh widget を追加した。 dotfiles/kill.zsh at master · gs3/d…

Module#prepend と Module#include

Module#prepend をあまり知らなかったので Module#include と比較しつつコードを書いて確かめた。 Module#prepend はモジュールを継承チェーンの先頭に追加するメソッド。 一方で Module#include はモジュールを継承チェーンのひとつ手前に追加する。 module…

新卒エンジニアに Vim とかについて座学をした

弊社には先輩エンジニアが新卒エンジニアに好き勝手に座学をする習わしがある。 Git の話 by @kenchan 余暇プログラミング概論 by @morygonzalez コードレビューの話 by @hisaichi5518 素晴らしい話を色々な方がしている中恐縮だったのですが、Vim と…

Nested Resources 時に親モデルのルーティングはしたくない

どういうことかと言うと、 User has_many Products のような 2つのモデルがある POST /users/:user_id/products のルーティングがしたい けど、/users/ についてのルーティングはしたくない のような状況。より具体的には以下の感じです。 resources :users,…

アセンブリで Hello, World を書く

今日は普段より遅めに起きて出社したにも関わらず睡眠障害の一連の症状によって体調があまり芳しくなく早く機械の体になりたいという気持ちがあったため昼休みにアセンブリ言語を書いていた。 コードを書く hello.asm として以下のコードを記述する。 sectio…

Shell-Shock: rbenv で環境変数に仕込んだコードを実行してみる

rbenv の shebang が /usr/bin/env bash なので ruby 実行するだけで環境変数に仕込んだコマンド実行される— Kazuhito Hokamura (@hokaccha) 2014, 9月 25 わああと思ったので試してみた。 再現環境 Mac OSX 10.9.5 デフォルトシェル /usr/local/bin/zsh GNU…

なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ

新人エンジニアとの読書会でシグナルの話が出た時に色々知識が曖昧なことに気づいたので読んだ。(Spyglass についてはまだ触っていない) 社内の別の読書会にこれの原著を読むものがあったんだけど、 当時 Ruby や UNIX について知識がなさ過ぎたり英語読むの…

Terminal 上の URL をマウスクリックで開く

ターミナルに表示されたURLはcommand + ダブルクリックで開ける。 これは知らなかった。 ブラウザはデフォルトの物が使われるようです。 これで pinboard をいい感じに使う CLI 作れそうと思ったけど、 OSX なら open コマンドで open http://google.com の…

tmux でカレントディレクトリをデフォルトとしてウインドウやペインを開く

日頃頻繁に tmux で画面分割していて、rails server したくなったら新しく window 開いて実行、みたいなことをよくやる。 で、それをバババッとやるとホームディレクトリで rails s して rails の Help が表示されてる新 window が生まれる。 これが地味に心…

Prevent N+1 Query Problems in index action on Active Admin.

Active Admin is a Ruby on Rails plugin that provides administration web page. Our development team uses it for our service. Few days ago, we bring in bullet gem, then we found N+1 query problems in some administration index pages. I search…

Chrome を Vimize する拡張を Vrome から Hometype に乗り換えた

Chrome を vim のように操作したいという欲求があって、しばらく前まで Vrome を使っていた。 Vrome はキーバインドの設定が柔軟に記述できたり、Web 上にある設定ファイルを読み込めたりできて便利だったんだけど、ビジュアルモードがなかったり、ヒントモ…

Golang をようやく書きだした

今まで Golang 書いてなかったんだけど、あんちぽくんさん や monochromeganeさん が社内で Golang 製の某を様々作られていて、想像以上になんでもできそう且つ楽しそうだったのでやりだした。 具体的には、とりあえず基礎をばばっとやろうということで A To…