地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2023-05-01から1ヶ月間の記事一覧

M2チップ搭載MacBookを使い始める

仕事用PCがついにM2 ProになったIntel Macしか使ったことなかったのでセットアップをやっている。使いたいツールは大体すでに配布されていたりして便利。M1出たばっかの頃は自分でビルドしたりが大変そうだったがもうそんなのもなさそうでよかった。 ディス…

hex string のエンディアンを変換する

>|echo 1234abcd | python -c "import sys; print(bytes.fromhex(sys.stdin.readline().rstrip())[::-1].hex())"| cdab3412 |

Opentelemetryに触れ始める

opentelemetry.io Opentelemetryは、クラウドネイティブアプリケーションの監視やトレーシングを実装するためのオープンソースのプロジェクトです。これは、分散システムやマイクロサービスアーキテクチャでよく使われるアプリケーションの視覚化とトラブル…

【Terraform】現在時刻を文字列として扱う

locals { now_utc = timestamp() now_jst = timeadd(local.now_utc, "9h") datetime = formatdate("YYYYMMDDhhmmss", local.now_jst) } output "datetime"{ value = local.datetime }

【Terraform】httpリクエストの結果を使ってなにかしたいときに使えるprovider

github.com 公式で提供されていた。以下のようにurlを書いてhttpリクエストのヘッダーやオプションを書くことでレスポンスを得ることができる。 data "http" "example" { url = "https://checkpoint-api.hashicorp.com/v1/check/terraform" # Optional reque…

wavをmp3に一括変換する

ディレクトリ配下のwavをmp3にしたいケースが数年ぶりに出てきたので打った。 for file in *.wav ; do ffmpeg -i $file ${file%.wav}.mp3 ; done; 10年前ならターミナルなんて使えなかったのでワンライナーでやろうなんて思うことが無かったと思うと成長した…

詳解システムパフォーマンス 第2版を読み終えた

www.oreilly.co.jp 一日1章とか少しずつ読んでいたらついに読み終わってしまった。読み始めたのが3月末なので丸2ヶ月くらいかかって読んだ。 対戦よろしくお願いします pic.twitter.com/6LVu1mu7VA— RyuichiWatanabe@gurasan (@ryuichi_1208) 2023年3月24日 …

いつか使えそうなbpftrace1行プログラミング

# シグナルの送信を検知する $ bpftrace -e 't:syscalls:sys_enter_kill {time("%H:%M:%s "); printf("%s (PID %d) send a SIG %d to `PID %d\n", comm, pid, args->sig, args->pid);}' # pid別にシステムコールの回数を調べる $ bpftrace -e 'tracepoint:ra…

いつか使えそうなbpftrace1行プログラミング

# シグナルの送信を検知する $ bpftrace -e 't:syscalls:sys_enter_kill {time("%H:%M:%s "); printf("%s (PID %d) send a SIG %d to `PID %d\n", comm, pid, args->sig, args->pid);}' # pid別にシステムコールの回数を調べる $ bpftrace -e 'tracepoint:ra…

Ubuntuのパッケージでインストールされたファイル一覧を表示する

dpkg -L パッケージ名 apt-file search ファイル名を使ってパッケージを探すこともできる

Using filesortとUsing temporary

Using filesortとUsing temporaryは最悪な組み合わせ Using filesortはソートに必要な領域がメモリ上に乗り切らずに物理ファイルに書き出しソートを行う。 Using temporaryはクエリを実行するのにテンポラリテーブルが作られる。 リアルタイム処理を行うよう…

Cが早い理由

早い理由 ・ポインタを扱えるから ・処理は自分で書いた行だけだから ・インタプリタ言語だと内部的に処理が増える ・GCがある。参照の計算がある。Cは自分でfree。 ・メモリアクセスが制限。制限部分が遅い ・歴史が長い分最適化(アセンブリレベル)されてる