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

MySQL で 複合キーを貼る時は explain の key_len をちゃんと見る

複合キーを貼っている以下のようなテーブルで、index が効かなくてクエリがめちゃ重くなる現象が発生してしまった。 CREATE TABLE `example` ( `id` BIGINT UNSIGNED NOT NULL, `column1` BIGINT UNSIGNED NOT NULL, `column2` BIGINT UNSIGNED NOT NULL, `c…

git 上で削除したファイルがコード内で利用されているかどうか調べるためのワンライナー

削除したファイルが 1 つ 2 つだったら使われているかどうかを調べるために素朴に grep すればいいんだけど、大量にあるときつい。ので手軽に調べられるワンライナーを書いてみた。 git log <commit_hash>...<commit_hash> --diff-filter=D --name-only --oneline | grep -Eo '[^/]+$' </commit_hash></commit_hash>…

SwitchBot 開閉センサー で郵便物が届いたかどうかを知る

ポストを開ける習慣が無いので、役所とかから重要な郵便物が届いても放置してしまい困ることがたまにある。開ける習慣をつければいい話ではあるけど怠惰なので技術で解決したい。 SwitchBot 開閉センサーを使うとポストの開け閉めを検知できてよさそうと思っ…

Google Meet で自分のWebカメラの画像が反転しているのを正位置に戻す

Google Meet だと自分のWebカメラの映像が反転していまっていて困る。 何に困るかっていうと、最近背後に時計を置いてるんだけど、自分の画面だと反転していて何時かパット見わからない。 Zoom とかだと設定で変えられる機能があるみたいだけど、Meet は特に…

Next.js の SSR 時に Cache-Control ヘッダーを返す

Next.js のサーバの前段のCDNに Cache-Control ヘッダーを返したいので設定してみた。 公式ドキュメントでは、getServersideProps 内部で res.setHeader('Cache-Control', 'hogehoge') すればよいと書いてあるが、なぜか反映されなくてハマっていた。 https:…

クレジットカードの洗替

5月末で今使っているクレジットカードの有効期限が切れたので、それにともなって様々なサブスクサービスのクレジットカード情報を更新しなくてはいけなくて大変。 pixiv fanbox netkeiba プレミアム amazon app store Nintendo Switch Online 自分の手元でも…

ペアプロの苦手意識

今は慣れてなんとも思ってないけど、入社したすぐの頃はペアプロが苦手だったな…という記憶がある。 なぜ苦手だったかというと、糞みたいなコードを書いてしまって、「こいつゴミだな…」と思われてしまう緊張感があったからだと思う。 実際のところペアプロ…

会の司会をボタンで済むようにしてはどうか

会の司会をしていると、「次は○○さんお願いします」みたいに発言するケースは多い。 人数が多いと発言する回数が多くて疲れるので、ボタンに任せたらどうか。 magamingを呼ぶ まがみんぐと呼ばれてしまうけど、人間も初見ではこういうふうに呼ぶことはあるの…

35万で買ったフィアットの車検

1年前にコミコミ35万で中古のフィアット500を買った。製造年は2010年で、走行距離は12万キロの代物。 35万の車と聴くとなんか恐ろしい感じもするけど、特にバンパーに毛が絡まってるということもなく外装内装はきれい。走っているとトランクのドアがガタガタ…

GraphQL の startCursor/endCursor は nullable でもよい

GraphQL で ページネーションを実装するとき、Relay GraphQL Cursor Connections Specification に則ると、 startCursor/endCursor は non-null にする必要がある。 GraphQL Cursor Connections Specification PageInfo must contain fields hasPreviousPage…