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

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

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

【lima】read-only file systemのエラー

docker run --rm -v `pwd`:/work -w /work vvakame/review rake pdf docker: Error response from daemon: mkdir /var/lib/docker/overlay2/247041dc6228593d09799f246b7dfbf44b9d54e38f2feff1e0f1a2b30a90591a-init: read-only file system. See 'docker ru…

【Nginx】1.26.0でhttp/3が使えるようになっていた

2024-04-23 nginx-1.26.0 stable version has been released, incorporating new features and bug fixes from the 1.25.x mainline branch — including experimental HTTP/3 support, HTTP/2 on a per-server basis, virtual servers in the stream module,…

【C】libuvのサンプルコード

github.com 読む機会があったのでコメント付きで書いてみる。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <uv.h> #define DEFAULT_PORT 7000 #define DEFAULT_BACKLOG 128 uv_loop_t *loop; typedef struct { uv_write_t req; uv_buf_t buf; } write_req_t; // 書き</uv.h></string.h></stdlib.h></stdio.h>…

【MySQL】ERROR 1698 (28000): Access denied for user 'root'@'localhost'

土日だけで10回くらい見た。そして以下を打つというのを10回やった。 echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''" | mysql パーミッションエラーやディレクトリないエラーとかMySQLの権限エラーとかはいい感じに内部…

【Terraform】dynamicのメモ

List locals { empty_array = [] environment = "${var.variables != null ? list(var.variables) : local.empty_array}" } resource "aws_lambda_function" "this" { ... dynamic "environment" { for_each = "${local.environment}" content { variables =…

【MySQL】ギャップロックの次のレコードロックをMySQL 8.0から取らなくなった?

タイトルの通り。MySQL 5.7の時に「あ、そこもロック取るんだ」って思っていたやつが8.0から挙動が変わったのか見てみる。8.0.36を使ってます。リピータブルリードで検証。 mysql> SHOW VARIABLES LIKE '%isolation%'; +-----------------------+-----------…

【旅行記】秋田旅行

移動 pic.twitter.com/fUE9LeG43S— RyuichiWatanabe@gurasan (@ryuichi_1208) 2024年4月6日 週末に行ってきた。大館市までは大体4.5時間くらいで中距離運転という感じ。2週間で1200kmくらいの運転をした。楽しい。乗っている車が6月で丸10年になる。比較的丁…

【MySQL】ネクストキーロックとファントムリード

ネクストキーロックとは MySQLのネクストキーロック(Next-Key Lock)は、InnoDBストレージエンジンが使用するロックの一種で、トランザクション処理中のデータの整合性を保つために使用されます。これは、行レベルのロックとギャップロックの組み合わせであ…

【書評】Learning OpenTelemetryを読んだ

読了217。Learning OpenTelemetry。OpenTelemetry とはから始まり実装方法や進め方について書かれた入門書。導入前に読むの良さそう。変化の早い分野というのもあるがツールの使い方みたいな話はあまりなくて考え方や調べ方メイン。 pic.twitter.com/mWb64U8…

【MySQL】explain format=jsonが便利

yakst.com explainのjsonフォーマットは5.7から存在します。explain format=json ${クエリ}と実行することでjson形式でexplainを表示することが出来ます。これの嬉しいポイントとしてはreadやevalに対するコストを表示してくれます。以下は実際の例です。 "c…

【MySQL】trx_sys->mutexは人気のmutex

MySQLでtrx_sys->mutexは色々な箇所から呼び出されている。これを長時間保持してるトランザクションがあるとMySQL全体の性能ダウンに繋がるというお話。 まとめ trx_sys->mutexはトランザクションの開始/終了時にも確保する必要がある 長時間保持して解放し…

【MySQL】8.0で使えるperformance_schema.data_locksの中身

(`wait_started`, `wait_age`, `wait_age_secs`, `locked_table`, `locked_table_schema`, `locked_table_name`, `locked_table_partition`, `locked_table_subpartition`, `locked_index`, `locked_type`, `waiting_trx_id`, `waiting_trx_started`, `waiti…

【MySQL】5.7と8.0で変わったロックの情報を知るテーブル

Error Code: 1109. Unknown table 'INNODB_LOCK_WAITS' in information_schema 完全に忘れていたが8.0では無くなっていた。 ~MySQL5.7 INFORMATION_SCHEMA.INNODB_LOCKS INFORMATION_SCHEMA.INNODB_LOCK_WAITS MySQL8.0~ performance_schema.data_lock_waits…

新潟旅行へ行ってきた

新潟へ pic.twitter.com/lfMkxKwURc— RyuichiWatanabe@gurasan (@ryuichi_1208) 2024年3月29日 車移動で600kmくらいを2日で運転していた。青森往復とかとそこまで変わらず思ったより近かった。北陸応援割に加えてセカオワのライブが新潟市の朱鷺メッセであっ…

シモンズのマットレスを買った

ベッドフレーム、マットレス、シーツ、枕とか合わせて30万くらい。ふらっと寄った家具屋で良さげだったので買った。これまで使ってたのが10年くらい経つのでちょうど良い。今まで使ってたのもフランスベッドのやつ(フレーム込みで10万くらい)で大学生の時に…

【MySQL】MySQL Enterprise EditionでOpenTelemetryをサポートしてた

dev.mysql.com MySQL Enterprise Editionのみで8.1.0以降で使えるようになっているらしい!コミュニティ版にも来ることを願って期待したい。ドキュメントを読むとクライアントからMySQLの内部処理あたりのトレースができるようになるっぽい。 dev.mysql.com …

mysqld_exporterはmy.cnfに$が入っていると変数展開しようとする

github.com タイトルが全て [client] user="test" password="aaa$bbb" って感じで設定してある状態でmysqld_exporterを起動しようとするとパスワードが正しいとしても接続エラーとなる。回避策としてはMYSQLD_EXPORTER_PASSWORDを使うことで正しく動くように…

【Thanos】入門する

github.com Thanosとは Thanosは、Prometheusのデータを長期間保存し、大規模な監視環境での可視性と可用性を向上させるためのオープンソースプロジェクトです。Prometheusはクラウドネイティブな監視ツールとして広く使われていますが、そのままでは長期間…

「やらなければできないが大事なんだ。」というセリフ

gothedistance.hatenadiary.jp これはいつもオレ自身に言い聞かせていることなんだが、 やらなければできないが大事なんだ。 でも人は知恵がつくと、「できるからやる」になるらしい。 それは結局、「できないことはやらない」だ。 それではその先の走りは引…

【Go】go.opentelemetry.io/otel/sdk/traceでサンプリングレートを指定する

otelcollectorがローカルにいればそちらで指定すれば良いがそうじゃないケースでサンプリングしたい場合に使える。 package main import ( "context" "log" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/exp…

【ECS】入門する

aws.amazon.com AWSのECS(Amazon Elastic Container Service)は、AWSが提供するマネージドコンテナオーケストレーションサービスです。Dockerコンテナを使ったアプリケーションのデプロイ、管理、スケーリングを簡単に行うことができます。ECSは、アプリケ…

【MySQL】lock_wait_timeoutとinnodb_lock_wait_timeoutの違い

qiita.com 手元で検証していてハマった。ロック待ちを短くしてmetadata lock待ちを短くしてひたすらALRTERをループさせるとどうなるんだ?というのをやりたくてinnodb_lock_wait_timeoutをずっと変えていたが全然変わらなくてmy.cnfか?globalで設定されてい…

【MySQL】gh-ostを調べる

github.com gh-ostは、GitHubが開発したMySQLデータベース用のオープンソースツールです。gh-ostは「GitHub's Online Schema Migrations」の略で、MySQLのテーブルに対するスキーマ変更を実行時にサービスのダウンタイムを最小限に抑えつつ行うことができる…

【登壇】Ya8でメールの話をしてきた

hachiojipm.connpass.com 3/15~16で練馬の練馬のココネリホールで行われていたYa8でちょっと前まで行っていたGmailガイドライン対応について同僚の@yammerjpと一緒に話をしてきました。 speakerdeck.com この対応が始まるまでメールサーバというかメール技術…

【メール】3.4.4. The "relaxed" Body Canonicalization Algorithm

tex2e.github.io ハッシュをする前に正規化することで空白や余計な改行をなくした上でハッシュを取るという話。DKIMのrelaxedアルゴリズムの詳細の話なのだが空白一文字でもハッシュは変わるから何のこと??って一瞬思ったが正規化をすることで許容する。RF…

Wi-Fi 7対応ルーターが出ていた

www.itmedia.co.jp 新しいMacbook AirがWi-Fi 6E対応とか出ていておお〜ってなったが最新のWi-Fi 7は今どんな感じなんだろと思って調べたらバッファローから1月末あたりにルーターが発売されていた。Wi-Fi 7機能に対応したのは国内メーカー初とのこと。 www.…

【MySQL】innodb_spin_wait_pause_multiplierを調べた

MySQL 8.0.16で追加されたinnodb_spin_wait_pause_multiplierというパラメータについて調べてみた。 dev.mysql.com スレッドが mutex または rw-lock の取得を待機するときに発生するスピン待機ループ内の PAUSE 命令の数を決定するために使用される乗数値を…

【入門】レジリエンスエンジニアリング

Becoming SREを読んでいたら出てきたので調べてみた。 目次 目次 レジリエンスエンジニアリングとは レジリエンスの意味 Safety-ⅠとSafety-Ⅱの2つの考え方 Safety-II リライアビリティエンジニアリングとの違い リライアビリティエンジニアリング レジリエン…

【入門】HSTS

目次 目次 HSTSとは RFC HSTS Preload(HTTP Strict Transport Security Preload)とは その他 誤った設定をしてしまったら .devのTLDはブラウザ側でHSTS強制するようになって HTTPSに自動で切り替えるChromeのHTTPS Upgrade 常時SSL化 ingress nginxはデフ…

【MySQL】データディクショナリを調べる

MySQL 8.0 の新機能の一つである「データディクショナリ」についての学び。 dev.mysql.com データディクショナリとは MySQLのデータディクショナリは、データベースに関するメタデータ(データに関するデータ)を格納するシステムテーブルの集まりです。デー…