Blogs

2 / 53 ページ

2026

RelayerというPHPのフレームワークを作った

以前、usePHPというライブラリを作っているという記事を書いた。 その後、仕事が忙しくてなかなか開発を進められなかったが、やっと最近時間ができてusePHPの開発を進めることができた。 usePHPはReactのようなUIに関するライブラリであって、それ単体だけで使うことはちょっと難しい。 一応Router機能がある…

設計ナイト2026に登壇してきた

設計ナイト2026に登壇してきた。 スポンサーセッション以外で登壇するのは久しぶりでちょっと緊張した。 伝えたかったことはなにか? AIがコードを書く時代になり、プログラミングが職人芸から大量生産の時代へと変わった。 だからこそ、ジェネレーティブプログラミングや2000年代のドメイン分析・プロダクトラインといった分野に…

ghqのかわりにgh-q入れた話

macを再インストールして環境構築しているときにgit+sshでGitHubの認証をするのももういやだなぁと思い gh コマンド、つまりGitHub CLIベースにしていこうと思った。 しかしそれにあたって一つだけ問題が発生した。それは長年愛用しているghqコマンドが使えなくなるということだ。 代替案をどうしようか悩ん…

AI時代でも何もかわらない

AIにコードを書かせるようになって早1年。 最初はまじで1年後には会社が潰れているかもしれないと思った。 しかし、ありがたいことに会社は継続しているし仕事はたくさんいただけている状況になっている。 (むしろ弊社のリソース不足で仕事をお断りしていることが多くて大変申し訳ない気持ちでいっぱい...) 変わらないこと AIが…

git-wtを使い始めた

なんだかんだgit worktreeめんどくさくて使ってなかったんだけど、流石に仕事量的にgit worktree使わないと回らなくなったんでgit-wtをいれることにした。 使い始めてみたら結構満足している。 .envのコピー機能がある $ git config wt.copyignored true って書いておけ…

もう終わりかもしれない

プログラマとして20年近く働いていたけど、もう終わりかもしれない。 20年間で培った知識や技術は、それよりもClaude Codeのほうが遥かにレベルが高いし、品質も高い。 最初はそこまで使えないと思っていたClaude Codeが、この1年で自分を置き換える存在になってしまった。 Claude CodeのAgent …

Vim初心者が繰り返しの理解ができなかった話

Vim万年初心者から脱出するために、勉強中。 繰り返しの.の挙動が理解できないというか戸惑ってしまった。 「.って繰り返しでしょ?」みたいなニュアンス的に理解していた。 実践VimのTip 2で躓いたというか理解できなかった。 A;<ESC>j.j. 複数行あるJSのコードにセミコロンを適用するというやつなんだけど、な…

Vimでいいやと思った

ここ10年以上PHPStormをずっと使い続けてきた。 当初は革命的なIDEだったし、Symfonyのプラグインもめちゃくちゃよくてずっと使っていた。 しかし、AI時代になってすっかり使わなくなってしまった。 あれ最後にPHPStorm使ったのいつだっけ?ってなるほどに使ってない。 vim操作苦手なんだけど、それでもv…

curaq-tuiを作った

CuraQという最高に素晴らしいサービスがある。 CuraQ 自分はリリース当初に、車での移動中にAndroid端末からあとで読みたい記事を片っ端から登録して、帰宅後に一気に読んだ最高の体験をしてからすっかりファンになってしまった。 そんな素晴らしいサービスだが、やはり不満なところもでてくる。 完全にニッチで誰も欲しが…

FloqというGTDライクなcliで使えるタスク管理ツールを作った

ずっとCLIでタスク管理をしたいと思っていた。朝思いついて、Claude Codeで作ってある程度形にできたので紹介する。 Floq polidog/floq 読み方は フロック です。(たぶん) 名前に思い入れもなくて、短い名前がよかったのとClaude Codeが「 Flow + q -(流れ、GTDの処理フロー)…

usePHPというライブラリを作っている

ここ数年PHPを使った開発を避けるようにしてきた。 理由は簡単で、Vercel + Nextjs(App Router)が結構強力な存在だったから。 ここ数年PHPを使わない理由 PHPでバックエンド作ってAPI仕様書を用意して、フロントエンド側として独立して開発みたいなの一見良さそうに見えるけど結構ツラミがある AP…

polidog/slack-shellというツールを作った

polidog/slack-shell というツールを作った。 ターミナルからSlackを操作するツール。 なぜ作ったのか? 去年開発環境をMacからOmarchyに移してからマウスを使うことが少なくなってきた。 しかしやっぱりSlackはどうしてもマウス操作をすることが多々ある。 さらに一昨日から分割キーボードを使い…

2026年の目標

今年の目標はシンプルに3つ プログラミング: Golang, Rustを学ぶ 読書: 技術書を12冊、その他の本を36冊読む 運動: フィットボクシング的なゲームをやる、走る 上記の目標を掲げて生きていく。

年末年始は実家に帰省した

去年は次男が生まれる直前だったので、帰省はしなかった。 今年は実家に帰った。 長男が実家の和室で寝るのが怖いと言い始めて、なんというか怖いという感情が出てきたんだなぁという感想と成長したなぁという気持ちで嬉しかったけど、和室以外寝る部屋がないのでちょっと困ったりもした。 帰省初日は暇だったんで、ずっと行きたかった実家近…

2025

LazyVimで日本語のスペルチェックを無効化する

LazyVimで日本語の文章を書いていたら、スペルチェックでテキストがほぼすべて真っ赤になっていた。 日本語にスペルチェックはいらないので、オフにする方法を調べた。 結論として、spelllang に cjk を追加すればOK。 日本語のスペルチェックをオフにする(グローバル設定) ~/.config/nvim/lua…

30代を振り返る

2025/11/12で40歳になりました。 20代振り返りというタイトルの記事を見てせっかくなので30代の振り返りをしてみようと思いました。 ただ、40歳になった実感なんて全く無くて、あっというまに30代終わってしまったという感想しかないです。 でも常に全力で生きてきた30代で、なんの後悔もないしすごく楽しかった。 3…

iPhone16からXperia 10 VIIに乗り換える

ジムニーノマドのカーナビとしてATOTO X10を使っているせいなのか、スマートフォンもiPhone16からXperia 10 VIIに乗り換える。 ただし、iPhoneを全く使わないというわけではなくサブ機としてはiPhone16を使い続ける。 メイン機をAndroidに変える理由 とくに深い理由があるわけじゃないん…

OmarchyでGoogle Chromeを使ってWebアプリを起動する

OmarchyでGoogleカレンダーのショートカットを Ctrl + Shift + C で起動できるようにキーバインドを設定した。 ブラウザはChromiumを使っている。 基本的にはChromiumを使って個人のGoogleアカウントでGmailやGoogleカレンダーを利用している。 でも、ショートカットキーで…

OmarchyでChromeを常に新しいウィンドウで開く方法

Omarchyには大体満足しているが、一つだけ気に入らないことがあった。 Super+Shift+BでChromeを起動できるのだが、すでにChromeが起動していた場合、そのワークスペースに移動されてしまう。これが結構不快で、Hyprlandを使っているならタブではなくウィンドウをたくさん表示する方が便利だと感じてい…

Omarchyをアップデートしたらキーバインドが変わった

Omarchy3.0.2 -> 3.1.1にアップデートしたんだけど、アップデートしたらキーバインドが変わっててちょっと焦った。 何が起きたんだろうと思ったら~/.config/hypr/bindings.conf.bak という名前でバックアップファイルができてたので比較してみた。 diff -u --color=a…

Omarchyでディスプレイを縦に使う

MacのOSアップデートしたらアプリケーションを探すのにiPhoneのアプリも表示されるようになって、かなりストレスだったのでOmarchyを使うことにした。 まだ2日間しか使っていないが、特に問題は感じていない。むしろマウス操作がほぼ不要で快適。 ディスプレイを縦にして使いたい。 ディスプレイ普段は2枚使っていて、1…

Guzzleで空配列のパラメータをオブジェクトとして送る方法

GuzzleでJSONをリクエストボディにセットしてPOSTリクエストを送る際、空配列のパラメータは空配列としてJSONに変換される。これはPHPの仕様として仕方ない部分がある。 しかし、空のオブジェクト {} として変換したい場合もある。 例えば弊社で作っているPrintgraphのAPIでは、params というリ…