このエントリは はてなエンジニア Advent Calendar 2025 9日目の記事です。今日は
id:ymseがお届けします。
3行まとめ
- HadolintのようなDockerfileリンターがDockerにも組み込まれている
- Hadolintのほうがルール自体は多い
- それぞれ一長一短ある
このエントリは はてなエンジニア Advent Calendar 2025 9日目の記事です。今日は
id:ymseがお届けします。
冷蔵庫に貼る
最近は磁石のくっつかない冷蔵庫もあるらしいです
買いました。
パナソニックの NA-LX127D を買いました。諸々で26万円くらいだった。
https://panasonic.jp/wash/products/NA-LX127DL.html
ドラム式洗濯機は10月くらいに新作が出るらしく、7,8月は最安値になる。価格.comを見ていると、大体9万円くらい値下がりしているらしい。
選んだ理由はいろいろあるが、最も大きいのはヒートポンプ方式であること。 ヒートポンプ式は洗濯機を設置している空間が暑くなりにくいという特徴があるらしい*1。
大学の寮に住んでいたときはコインランドリーにある乾燥機があったのでたまに使っていた。この手の乾燥機は乾燥のときに発生した湿気を放出するため、空間がミストサウナみたくなってしまう。在宅勤務で家にいる時間が長いのでこれは耐え切れなさそうだと思った。
今回購入したパナソニックのLXシリーズには4グレードあって、これは上から2番目。LXシリーズはどれも筐体は共通ぽく中にどれだけ機能が詰まるかで価格が変わる。
最上級になると操作盤がタッチパネルになるのだけれど差額が4~5万円するのでそこまでの価値は感じられなかった。
これは測るだけ。パナソニックのサイトに事前チェックリストのPDFがあるのでこれを参考にすれば良いと思う。
これは買うだけ。家電量販店の長期保証は付けなかった。東電の家電保証を付けるつもり。
それはそうとパナソニックのIoT家電はスマホ連携すると保証が3年に延びる。これだけのためにスマホに繋がる品番にしておくのもありだと思う。
ビックカメラで買うと搬入見積もりが無料でできる。搬入までのリードタイムは延びるが安心できる。搬入業者と同じ業者の人が来て、搬入のための申し送り文書を書いてくれる。
搬入見積もりの結果、洗濯機と蛇口が干渉することが判明した。なので壁ピタ水栓を設置した。
搬入当日になった。81kgもある筐体を2人で搬入してしまうのはすごい。
さて乾燥した感想ですが、最高です。
冗談はさておき、洗濯から乾燥まで一気通貫でやってくれるのは便利。 いままでは洗濯が一番嫌いな家事だったけど、今は一番好きな家事になった。
SNSの世界を見てみると、縦型洗濯機と乾太くんが良いとか縦型洗濯機と浴室乾燥機の組み合わせが良いとか出てくるけど、洗濯物を取り出して乾燥するという過程がそのまま削減できるという点で単純に比較できるものではないと思う。 少なくとも僕は、水に濡れた重たい服に触れる必要がなくなったという一点に価値を感じている。
スマホ連携は不要だと思っていたけど、外出していても運転終了までどれくらいか分かったり、運転終了を知らせてもらえるのは意外と便利。洗濯してから買い物に行くなども簡単にできて良いと思う。
洗剤自動投入も最高。 測らなくて良くなったと聞くとそれだけ?とは思うが、洗剤が手に付いてしまうとかメモリに合わせるとかそういう細かい不便が解消されている。
26万円の買い物をするのに試せないのは辛いのでどうにかして試す方法が欲しい。東急ステイみたいな、ホテルに洗濯機が備え付けられている部屋があってプランによってそれぞれ別のメーカーの洗濯機を試せるとかあると面白いと思う。
最高なので皆さん買ってください。
*1:実際に同じ場所に設置したことはないので実のところはどうなのかは分からない。
特に不満なく移行しています。
Claude Codeの登場でVSCodeのターミナル内で日本語入力をする機会が増えた。aquaSKKとVSCodeのターミナル*1は相性が悪いらしく、あいうえおのような1字で確定するひらがながaiueoのように出力されて不便だった。 一応Shiftを押して「▽あ」のように変換モードに入って確定させれば入力はできるので全く入力できないわけではなかったが、それはそうと不便に思っていた。
これがClaude Codeだけであれば相手がLLMなのでよしなに対処してくれるけど、echo "あいうえお"みたいなコマンド入力でも変換されずちょっとストレスに思っていた。
macSKKで、VSCodeのターミナルやClaude Code Extensionで日本語入力がうまくいかない(aiueoが確定してしまう等)問題のワークアラウンドを作っていただきました。macSKK最新版v2.1.0からの対応です。最大限の感謝です!!💐💐
— uehaj (@uehaj) 2025年6月22日
この際、AquaSKKからmacSKKに乗り換えます!💐💐💐https://t.co/oMJK2NEt3l
そんななかこのツイートを見つけてmacSKKを試すことにした。
もともと不満を持っていた、VSCodeのターミナル内での入力はひとまず解決していそう。行末に「あいうえお」が来たときはEnterを押して確定させる必要があるが、これに関してはあまり困っていない。
macSKKでは変換中にシステム辞書のエントリが表示される。
変換中にシステム辞書を用いて辞書が出てくるの面白い。変換中にどの漢字が正しいのかたまに自信がなくなるのでそういうときに便利そう。とはいえまだ読んだことはないかもしれない。
実装を読みにいくとDictionary ServicesというAPIが生えているらしい。面白い。
追記ここから
aquaSKKでもシステム辞書による注釈が存在していると指摘いただきました。知らなかった……。教えていただきありがとうございます。
こんにちは。macSKKのワークアラウンドがうまく動いているようでよかったです👏 なにか気になるところがもしあれば教えていただけると助かります。
— GTO (@mtgto) 2025年6月28日
ちなみにシステム辞書の注釈はAquaSKKでも表示することはできます。AquaSKK設定の変換タブの注釈の表示から有効にできます。 pic.twitter.com/WSKgsTcCnv
追記ここまで
おおむね満足しています。とはいえまだ使い始めて2日目なので何かあったら追記します。
*1:というよりは内部で使用しているxterm.js。https://github.com/xtermjs/xterm.js/issues/5348 でIssueが上げられている。
タイトルが全て。
読みたいと思ったけど、思ったときにはすでに絶版になってしまった本がある。 僕の場合はそれが『エラスティックリーダーシップ』だった。
会社には置いてあったので比較的簡単に読むこと自体はできるのだけれど、困ったときにすぐ引いて読みたいので自分の手の届く範囲に置いておきたい。中古市場とかも見てみたけど入手できそうにない。
絶版になった本を手元に置くことが難しいということを身を持って理解した。なので最近は読みたいと思った、あるいは将来ちょっとでも読みそうだなと思った本はとりあえず買うことにしている。このおかげでいわゆる積み本が増えて本棚*1がどんどん圧迫されているがそれはまた別の話。
エラスティックリーダーシップの原著はまだ手に入るので手元に置いておくかちょっと迷っている。でも英語苦手だし、けれども日本語版のエッセイも読みたいしな……。
GitHub - Azuki-bar/postgrls: PostgreSQL RLS linter
PostgreSQLのRow Level Security(以下RLS)を使ったことがありますか。
PostgreSQLではテーブル定義と共にAlter TableをしてRLSを有効にする必要があります。しかもこれだけではまだ不十分でそこからポリシーを有効にする必要があります。
-- https://www.postgresql.jp/document/16/html/ddl-rowsecurity.html より引用 CREATE TABLE accounts (manager text, company text, contact_email text); ALTER TABLE accounts ENABLE ROW LEVEL SECURITY; CREATE POLICY account_managers ON accounts TO managers USING (manager = current_user);
このようにテーブル定義だけではなく、最低でも2文を追加で書く必要があります。
セキュリティに関する制約であるにも関わらず強制する仕組みがなく困っていました。
という問題があったのでリンターを作りました。
名前はpostgrlsです。PostgreSQLのRLSを検査するからその要素から文字を取りました。ポストガールズって読ませることを意図しています。 この名前はClaude 3.7 sonnetが考えてくれました。
GitHub - Azuki-bar/postgrls: PostgreSQL RLS linter
テーブル定義に対して、1つのRLSを有効にする設定と1つ以上のポリシーの設定がないときは終了コード1を吐くリンターです。
仕組みとしてはpg-queryを用いてASTを取得し、集めているだけです。
さまざまな環境でシングルバイナリで動いて欲しかったのでgoを使いました。pg-queryは大抵の言語で動くけどpg-queryが呼んでいるライブラリの組み込みとかが面倒そうだった。
$ cat testdata/fixtures/test.sql CREATE TABLE accounts (id int, manager text); CREATE TABLE users (id int, name text); ALTER TABLE accounts ENABLE ROW LEVEL SECURITY; CREATE POLICY account_managers ON accounts USING (manager = current_user); $ postgrls testdata/fixtures/test.sql [ { "message": "Table 'users' does not have RLS enabled", "location": { "file": "testdata/fixtures/test.sql", "line": 45, "column": 1 }, "table_name": "users", "rule_id": "rls-not-enabled" } ] missing RLS configuration $ echo $? 1
こんな感じ。標準入力からSQLを読んだり判定の除外をする設定は書いた。将来的にreviewdogで指摘させたいのでerrorformatやrdjsonlなどの形式で出力するようにしたい。
一方でまだリリースフローを組んだりREADMEを書いたりしていないので順を追ってやりたい。
CilneやCursorなどのAIコードエージェントが流行っているので、Cline+Claude 3.7 sonnetを使ってコードを書いてみました。
要件を定義しPlanモードで指摘しまくって、Actモードにすればそれなりの動作をするコードはできました。 大体700行くらいのコードですが、完成までに2ドルくらいでできました。
一方でAI Coding Agentsを使った開発は楽しくないなと感じました。コードレビューのときに使う頭だけをずっと使わされている感覚になった。しかもそれでいて責任だけ取らされている感覚になる。
結局コードを書く過程が好きだったんだなと。そしてこれはオートマチック車を運転するのが主流になった今もクラッチとミッションを触って運転する人と一緒だなと気がつきました。これからはコードを書く過程も大切にしたい。
ぜひお使いください。
こういうことを叶えるリンターを見つけられなかったので自作したのですがこういう奴ってすでにあったりしますかね?