dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

2022-01-01から1年間の記事一覧

【Docker】Docker Composeの run と exec の違い

Docker Composeの run と exec は、どちらも同じような効果が得られる。つまり、コンテナの中に入ったり、コンテナ上でプログラムを実行したりできる。 しかし、もう少し異なった視点で見ると、それぞれ異なる機能を持っているのがわかる。 docker compose r…

【Shell】カレントディレクトリ内のファイル数を知る

ls -1 でカレントディレクトリ内のファイルとディレクトリの一覧を、1エントリ1行で出力する。 wc -l は、標準入力に与えられたテキストの行数をカウントしてくれる。 これらを組み合わせると、カレントディレクトリにファイルがいくつあるかを知ることがで…

【Rails/ActiveRecord】特定のカラムの情報だけ欲しい場合は、pluckかselectを使う

例えば、「特定の条件を持つユーザIDだけ欲しい」といった場合に有効。この時、 pluck を使うと戻り値は Array で、 select を使うと ActiveRecord::Relation が返る。 この時、 map を使うのは無駄なメモリを食ったり動作が遅くなったりするので、やっては…

【mac】ワンプッシュでスクリーンロックをかける

mac

MacBook Proの場合、指紋センサと電源ボタンが一緒になっている。電源が入っているときにこのボタンを押すと、すぐにスクリーンロックがかかる。 復帰するにはパスワードの入力か指紋の照合が必要なので、少し離席するときにセキュリティ確保の目的で実施す…

【Bash】tee でstdoutとstderrをそれぞれ別々にする方法 (Process Substitution)

要旨 Bashで用意されているプロセス置換 (Process Substitution) という仕組みを使うと、下記のような書き方ができる。 $ ls /foo/bar 1> >(tee stdout.log) 2> >(tee stderr.log) ls: /foo/bar: No such file or directory # <--- 標準エラー $ cat stderr.…

【Shell】teeでログを画面に出しつつ、ファイルにも書き込む

要旨 tee コマンドを使用すると、標準出力の内容をコンソールに出力しつつファイルにも出力できる。 $ pwd | tee output.log /tmp $ cat output.log /tmp # <--- 標準出力に出たものと同じものが記録されている 参考 linuxjm.osdn.jp

【RSpec】letは遅延評価、後から上書きできる

RSpecの世界では、 let は遅延評価される。これは宣言した値が本当に必要とされる時まで評価を遅延するということを指す。具体的な例を持って説明する。 例えば下記のようなテストを行うとする。ここでは、あるAPIのエンドポイントにPOSTする際のステータス…

【Kubernetes】 ネットワーク不通・応答無しになったNodeは、K8sがTaintsを付けてくれる

Kubernetesを使っていると、Nodeが応答不能になった時にTaintsを付けてくれる。 例えば、Amazon EKS を使っていて、Nodeが応答できなくなった時(例えば、 Kubelet が止まってしまった時)には、下記のTaintsを付けてくれる。 node.kubernetes.io/unreachabl…

踏み台サーバ (Bastion Server)を経由したSSHを、コマンド一発で

要旨 予め下記のように ~/.ssh/config に記入しておくと、 ssh work_server を実行するとそのまま一発で踏み台サーバを経由した先のサーバへSSHで入ることができる。 # ~/.ssh/config Host work_server User ec2-user HostName ip-xxx-xxx-xxx-xxx.ec2.inter…