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リクエストにはお金がかかりそう。。


vim-session プラグインを使ってtabごとsessionを保存する方法


tmuxで指定したwindow/paneから始める方法 [再起動も安心]を説明したが、Vimのセッション情報もタブを含めてRestoreしたい。 最初は全て自動で保存しようとしたが、必要に応じて自分でセッションを保存した方が実用的。ブラウザのタブのように、使わないタブが残ってしまい必要のないタブが溜まっていってしまう。

vimはデフォルトでセッションの管理が可能だが、細かいところまで残すにはvim-sessionを使った方が良い。

.vimrc

SaveSessionとタイプするのが面倒なのでノーマルモードで\ssでSaveSessionを呼び出す。

例えば、セッションをProject毎に保存する場合は、引数のセッション名にプロジェクト名を指定することでプロジェクトごとのセッションの作成が可能。

.vim/sessions/<session name>.vimに保存されるのでこれをvimの引数として呼び出せばよい。

実際は、tmuxの起動スクリプトに書いておけば良い。


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


ASUS CHROMEBOX 3-N019U開封レビュー


ここ10年ぐらいOSXをメインコンピュータとして使ってきたが、教育向けデバイスのChromebook/ChromeOSが実際に実用に耐えうるかを使ってみて考察したいと思う。

選んだデバイスはChromebox。iMac miniのような弁当型のPC。詳しいスペックは下記リンクのAmazon.comを参考にしてもらえればと思うが、現行世代のInterl i3を積んでいて、4Kディスプレイに出力可能という品物。40インチ超えのディスプレイ[ 43UD79T-B]を使うで紹介した42.5インチのモニタに接続して使用中。 

注意点として、日本のアマゾンからは購入できないのでUSのアマゾンアカウントを作ってUSから配送してもらうようにしないといけない。日本では前の世代のChromebox2が売られているので間違えないように。

ASUS CHROMEBOX 3-N019U Mini PC with Intel Core i3, 4K UHD Graphics and Power Over Type C Port, Star Gray

8月22日に注文し、8月27日に届きました。box in box.

きちんと区切りしてある。Apple製品のような高級感はない。

必要最低限。本体。電源コード。VESAマウント用の取り付け器具。

HDMIとDisplay Port over USB type C があるので標準で2モニタで出力できる。

USBが5つ付いていてハブの必要はない。SDカードも使える。

ChromeOS自体初めてなので引き続きレビューをしていこうと思う。特に開発者視点で。


ChromeOSで自動的にパスワードロックをかける方法


離席時などである一定の時間使用していない場合は、パスワードロックをかけたいと思います。searchkey+lでロックできるのですが、すぐに忘れてしまいます。立場的にシステム関係で他の人よりも権限があるだけにセキュリティ上危険です。しばらく使わなかった場合は、パスワードロックしましょう。

設定から”Passwords”をクリック。

パスワードを入力し、

“Show lock screen when waking from sleep”をオンにする。


tmux使用時に日本語が表示されないとき(アンダースコアになってしまう)の対処法


上記写真のように日本語であるべきところがアンダースコア(_)になっていて表示されないときは、tmuxをutf8モードで起動する。

-u when starting, tmux looks for the LC_ALL, LC_CTYPE and LANG environment variables: if the first found contains ‘UTF-8’, then the terminal is assumed to support UTF-8. This is not always correct: the -u flag explicitly informs tmux that UTF-8 is supported.

引用元: http://man.openbsd.org/OpenBSD-current/man1/tmux.1


AWS CLIでNVMe利用インスタンスから外部EBSボリュームをマウントする方法


AWSのEC2インスタンスでは最近高速SSDのNVMeを採用しているインスタンスタイプがある。

NVM Express (NVMe) もしくは NVMHCI (Non-Volatile Memory Host Controller Interface) は、PCI Express (PCIe) を通じて、不揮発性ストレージメディアを接続するための論理デバイスインターフェースの規格であり、シリアルATAに代わる次世代の接続インターフェース規格である。

引用元 :https://ja.wikipedia.org/wiki/NVM_Express

これを利用しているインスタンスでは下記のように/dev/nvme0n1p1のようなデバイスになっており、従来通りにAWS CLIで自動マウントしようとすると失敗する。

AWS CLIではまず xvdbをAttachし、利用できるようになるのを待ち、マウントする。

昔ながらとNVMeをサポートするコマンドは、下記のような感じ。


Scroll to top