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

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

2022-07-01から1ヶ月間の記事一覧

MySQLのメタデータロックメモ

dev.mysql.com DDLとか打たないと意識しないメタデータのロック。metadata lockされているテーブルには、DDLから保護されるので、DDLが発行できなくなる。pt-oscとかをshow processlistとかでみるとWaiting for Table metadata lockになっている。この状態で…

エヴァ博行ってきた

eva-x-expo.exhibit.jp 出社に合わせて飲み会を2つ入れたらちょうどいい感じの空き時間ができたので行ってみた。最高アンド最高だった。プロダクト4000点超が集結していてコラボのバイクとか車とかやみたことないグッズが大量に置かれていたり面白かった。私…

【手元メモ】jqチートシート

ほしい要素だけ抜き出す jq '{name, description}' 指定した複数の要素をスペース区切りの文字列として出力する jq -r '"\(.id_str) \(.text)"' < file 文字列のエスケープを解除して出力する -rオプションを使う $ echo '{"key": "value\n\"aaaa\""}' | jq …

プライムデーで買ったもの

を振り返っていたが開催期間中に家で出たゴキブリが衝撃的過ぎてあまりものを買っていないことに気づいた。これまで無駄使いで不要なものまで買っていたがそれどころじゃないようなことが起きるとどうやら物欲は減るらしい。ちなみに出たゴキブリは1回見ただ…

GitHub Actionsでeb cliを使う

jobs: build: runs-on: ubuntu-latest env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-versio…

スピンロックの思い出(?)

社内勉強会でスピンロックという単語が出てきてずっと前にユーザー空間アプリケーションでスピンロックを使おうとしてレビューで反対されたというのを思い出した。その時はDBMSなんかが排他制御にpthread_mutexを使わず、独自にユーザー空間のspinlockを実装…

【MySQL】先頭のレコードより前、末尾のレコードより後

show engine innodb statusのロックモニターに出てくる用語。 最大下限レコード(infimum record) 最小上限レコード(supremum record) 先頭レコードよりも前にある疑似レコードと、末尾レコードより後にある疑似レコードを意味する。「先頭レコードより前…

eBPFでPIDを取得

BCCのツールで直接取得 data.e_pid = bpf_get_current_pid_tgid(); 上位32ビット TGID 下位32ビット PID の64ビットを返り値で渡してくれるヘルパー関数 BCCでtask_struct構造体から取得する struct task_struct *task; task = (struct task_struct *)bpf_ge…

【MySQL】ギャップロックはデッドロックをするかもしれない

InnoDB のギャップロックは、「単に抑制的」です。つまり、ほかのトランザクションによるギャップへの挿入が停止されるだけです。したがって、ギャップ X ロックの効果はギャップ S ロックと同じです。 dev.mysql.com タイトル通りそのまま。SELECT ~ FOR UP…

Composer

Composerとは PHPのライブラリ管理ツールです。 ライブラリAを使用するためには、別のライブラリBを先にインストールする必要がある、なんてことがあります。 この時、ライブラリAはライブラリBに依存している、と言います。 Composerを使用することで依存関…

【MySQL】consistent readとか

consistent read トランザクション内での (locking read ではない) 読み取りは、そのトランザクション中はじめに read した時点のスナップショットを参照するような挙動になる スナップショットは全テーブル対象 (クエリしたテーブルのみではない) スナップ…