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

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

AWS Load Balancer(ALB)経由だとコネクションが切れる問題を解決する

ALBにはタイムアウトが設定されており、デフォルトでは60秒でwebsocket経由のアプリなどはがんがん再接続が起きてしまう。単純にこれを変更すれば良い。1-4000秒の値を設定できる。

Web UIからLoad Balancer、該当Load BalancerのDescriptionの下のeditを編集すればよい。

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 検索ワード

[ChromeOS] Crostiniで日本語入力する

ここ何年もLinuxに触ってなかったので久しぶりに日本語入力系の話。昔は、Cannaとか使ってましたね。SKK/Anthyで院生のときは過ごしてたと思います。

Crostiniでも日本語入力を扱いたいのでGoogleの日本語入力のMozc(モズク)を初インストール。

fcitxというのも初めて。apt-getでプロセスが上がってくる(確か)

XMODIFIERSを設定しろと言われたので下記のコマンドで環境変数を設定する。

fcitx-configtoolでGUIから設定できる。

inputメソッドにmozcを追加。

英語キーボードなのでLayoutを指定。

firefoxか何かをあげてctrl+spaceで入力が表示される。

[ChromeOS] Crostini VMの再起動方法

crostiniのXがよく落ちるのでCrostini VMを再起動するケースがよくある。手順は簡単で、

  1. croshを起動
  2. vmc stop termina
  3. vms start termina

AWS Ruby SDKでCost Exploreの情報を取得する方法

aws-sdk version3での話です。

1. aws-sdkのCost Exploreのモジュールを読み込む

2. IAMユーザに請求情報のアクセス権を与える

上部のナビバーのアカウントをクリックして、請求情報のアクセスのeditをクリックしてIAMアクセスのアクティブ化をチェックして保存。

3. IAMユーザに必要なロールを設定して追加する

下記のロールを作成し(今回はGEtCostAndUsageのみ)、該当ユーザでロールを追加する

4. REPLでテスト

Rails cでコンソールを呼び出しテスト。各キーは設定済みとする。

初期化。us-east-1でのみ提供されている

BlendedCostとUnblendedCostの差がわかりづらい。Unblendedの方が割引などを除いた実際の数値に近いという理解で良いのか。

ドキュメントを読み試行錯誤の結果、タグに紐づいたコストを引くことができた。

注意

Cost ExploreのAPIリクエストにはお金がかかりそう。。

tmuxで指定したwindow/paneから始める方法 [再起動も安心]

PCの再起動後にTmuxのwindowやpaneを自動的にある所定のものにしたい。tmux-resurrecttmux-continuumを試した試したがうまい具合にシャットダウン前の状態にしてくれないケースがあったので、それなら常に同じ状態からスタートした方が効率が良い気がしてきたので、そのような運用にしてみる。

tmuxのwindow作成などはtmuxコマンドから呼べるので設定ファイルを書くことができる。starttmux.shというスクリプトを作ってこれを.bashrcから呼べば良い。

*C-mはtmuxでの改行

でこれを.bashrcの末尾追加すれれば毎回同じtmuxからスタートできる。

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

本家のバージョンがどんどん上がっているくが、現状問題ないならあえて追従する必要はないように思う。(セキュリティに重大な問題等なければ)

新しい環境を設定するときに、古いバージョンをインストールするのは少し面倒臭い。

https://www.elastic.co/jp/downloads/past-releases でProductとVersionを選び。ダウンロードボタンをクリックし、該当リンクをコピペ。

ちなみにconfigがないと怒られるので

またrootで起動できないとも言われるので

localhostにPublic IPをマップして、リモートでの開発をあたかもローカルで開発してるようにする方法

ずっと知りたかったlocalhostへのマッピング方法がやっとわかった。

例えば、リモートホスト上(IP 111.111.111.111)で rails s -p 32884 -b 0.0.0.0で開発していた場合、普段は問題ないのだが、OAuthのログインのリダイレクト/コールバック先がlocalhost:3000で決め打ちされている場合、ユーザ認証が失敗してしまう。ユーザアカウントのroleをうまく変更して対処するしかなかった。それが下記のようにSSHでポートフォワーディングすると、

もしくは通信の暗号化を気にしないならsocat でもできる。

ローカルの開発機のブラウザでloalhost:3000をたたくとサーバ側の開発ポートにマッピングされる。これでOAuthのリダイレクトも問題なくなりリモートホストを意識しないで開発できる。

これ絶対探してる人多いはず。

参考:https://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html

Scroll to top