[Ubuntu]古いバージョンのdockerのインストール方法


ある機能が現バージョンは動かなかったりで、昔のdockerをインストールすることがあった。
パッケージレポを設定して、apt-cache policyでイントールできるバージョンを確認して、現行のをアンインストールして、該当パッケージを入れるだけ。


Crostini(Ubuntu)でping/nslookupを使う


Crostiniというより、Ubuntuなのですが、nslookupがなくて名前解決できなくて辛い。
hostコマンドを使うところなんだろうけど、気づけばnslookupを打ってるのでやはり欲しい。

dnsutilsというパッケージに入っているので、これを入れるだけ。

あとpingは普通に使うでしょってことでこれもapt-getで。


[Chromeos]localhost:portをCrostini VMのIP:portにフォワードする方法


Crostiniがstableにきた!と思ってbetaからstableに変更したらLinuxVMが無くなりました。気をつけてください。。
stableに変更したのが理由なのかわかりませんが、socatでcrostiniのlocalhostのポートへのマッピングがうまくいかなくなりました。
例えば、開発時にlocalhost:3000をcrostini vm上で立ててもホストのchromeosのchromeからアクセスできなくなりました。

下記のようなエラーでうまくいきません。

解決方法をさがしているとRedditで同じようなことを聞いている人がいました。

Connection Fowarderdというextensionを入れ、forwardingを設定します。

ifconfigでVMのIPを調べてDestinationを適宜変更してください。


Vimの検索単語ハイライト時の背景色の変更方法


/で検索しているときにどれがハイライトされているかわからなかったので調べてみた。.vimrcに下記を追加。

色は下記で確認。

参考:https://stackoverflow.com/questions/7103173/vim-how-to-change-the-highlight-color-for-search-hits-and-quickfix-selection


Golangをgoenv経由でインストールする方法


一度、rbenv, nvmなどの言語環境設定ツールを使うとそれなしではバージョンのアップグレードなどが不安になってしまいます。
Goの場合はgoenvというものがあるようなので、これを使ってgolangを入れることにしました。


2018年のVimファイル検索・文字列検索はfzfとripgrep(rg)で決まり


sublime2 -> atom -> vscode -> sublime3 を経て5年ぶりぐらいにVimに帰ってきたわけですが、当時から色々変わっていて軽い浦島太郎状態です。ともかく大変なのはプロジェクト内のファイル検索と文字列検索。一度、sublimeのようなテキストサーチを経験してしまうとこれなしには開発できなくなってしまいました。

deinをパッケージのインストールに選び、deniteを試すも大きなプロジェクトではその遅さに困り、ctrlPとfzf両方試し、fzfを利用することに決めました。決め手はその速さ。Blazing fastというやつです。

deinを利用しているので、.vimrcにjunegunn/fzfjunegunn/fzf.vimを追加。

あとはショートカットを追加。ctrl-Pでファイル検索。ctrl-gで文字列検索です。私はバッファ検索はタブを利用しているのであまり使わないと思っていますが、一応追加。\\でvimコマンド一覧を表示できます。

私はタブを利用してて、かつ私のtmuxのprefixキーのctl-tが被って利用できなそうだったので、ctrl-oで新しいタブを開くに変更。

文字列検索はripgrep(rg)を採用

ripgrepをインストールして、Rgコマンドにpreviewを追加。ctrl-gで:Rgが出て、検索する文字列を入れて、Enter。それから?を押すとpreviewモードスタート。ファイルが右側に表示されて便利の極みです。

私の整理されてないvimrcはこちら


[Ubuntu] grepからSilver Searcher(ag)。2018年はRipgrep(rg)をインストールする


昔は、find . | xargs grep 2>/dev/nullを使ってました。agに変更後、その速さに驚き。2018年はそれよりも早いRipgrepを採用しています。

Ubuntuでのインストールは、下記の通り。

使い方はシンプルでrg 検索ワード


[Rails] Action Cableの実装方法


JQueryは古いテクノロジーとはいえ、さくっと動くものを作るときは異常に簡単です。
古いテクノロジーは悪ではなく適材適所で使っていくのが大事だと思っています。

まずは、最初からあるapp/assets/javascripts/cable.jsを該当layoutで読み込みます。

全部のViewでApp.cableを呼ぶ必要はないのでcontent_forでActionCableとの通信をとるViewだけJSを走らせるようにします。

JSでは、App.cableにイベントを登録していきます。 引数のchannelにはクラス名、引数を渡すとparamsに入ってサーバ側で処理できます。this.performを使ってクラス内のメソッドを呼ぶことができます。development環境では別プロセスで動作確認ができないのでsetTimeoutを用いてテストしています。

HTML部分は下記のような感じ。

で最後になりますが、ActionCableを継承したクラスです。subscribedがconnectionとともに走ります。 stream_for MODELでモデルに関係したチャネルが接続されます。 そして、broadcast_to(MODEL, object)でそのモデルへの接続を確率したチャネルにプッシュすることができます。

これでダイナミックにDOMを操作できるようになりました。


Scroll to top