tech

700 件の記事

2025

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 というリ…

Xcode 16でSwift Package Managerを使ってGoogle Mapsのライブラリを導入する

10年ぶりぐらいにXcodeとSwiftを触っている。 もはや何もわからない。 Google Mapsのライブラリを使おうと思ってAIに聞いたら、最近はCocoaPodsじゃなくて、SPM(Swift Package Manager)で入れるのが主流らしい。(まじ?) それで、AIにSPMを使ってパッケージを追加する方…

Firebase AuthとNext.jsで認証をする

Next.jsのApp RouterでFirebase Authを使いたい。 その場合に問題になってくるのがRSC(Server Component)での認証をどうするかというところが一番の重要なポイント。 セッションCookieを利用する RSCは従来のサーバーサイドでのセッションCookieの管理と同じ仕組みでいい…

ATOTO X10を自宅で動かしてみた

ATOTO X10を購入したので、とりあえず自宅で起動してみた。 本当は車に取り付けたいんだけど、まだ納車日が未定なので、事前にアップデートや必要なアプリのインストール、Googleログインなどを済ませておきたかった。 電源問題 そもそも自宅でカーナビを起動する場合どうすればいいんだろう、という疑問から始まった。 社内…

TailscaleとZellijでiPhoneから自宅サーバーのClaude Codeを操作する

https://twitter.com/polidog/status/1959082986491752458 最近Linux環境で開発しようと思い、余っていたノートPCにUbuntuデスクトップを入れて開発環境を構築した。 環境構築にはOmakubを使い、快適な環境を手に入れることができた。 ただ、最近はやはりMacB…

KilarというCLIツールをVibe Codingで作った

polidog/kilar (キラール)というライブラリを作った。 どういうライブラリなのか? kilarは、Rust製のプロセス確認・削除CLIツール。 macOSとLinuxで動作する。macOSならhomebrewで簡単にインストールできる。 brew tap polidog/kilar && brew inst…

LazyVimでLSPをプロジェクト単位で無効化する方法

omakubで開発環境を構築して開発をするようになった。 今のところはすごく快適に開発できている。VSCode使いたいとは全く思わない程度に。 LSP使えるから結構便利なんだけど、プロジェクト単位で無効化したいことがある。 そんなときは .lazy.lua ファイルを用意して以下のように記述すればいい。 return …

GhosttyでOptionキーをAltキーとして認識させる

最近、vim環境の改善のためにlazyvimとzellijを導入しました。zellijは高機能なターミナルマルチプレクサーで、パネルの操作にAlt + キーの組み合わせを多用します。 しかし、macOSでGhosttyを使用している場合、デフォルトではOptionキーがAltキーとして認識されません。そのため、zell…

Rust入門:基本的な概念と機能の解説

Rust入門:基本的な概念と機能の解説 Rustは安全性、パフォーマンス、並行性に優れたシステムプログラミング言語です。この記事では、Rustの重要な基本概念について説明します。初心者の方からRustに興味を持った方まで、参考になれば幸いです。 目次 Cargoの--featuresオプション 構造体とアクセス修飾子 …

ローカル環境でSupabaseのSlackログイン機能を実装する方法

はじめに SupabaseでSlackログイン機能を実装する際、ローカル開発環境で直面する最大の問題は一つです。それは、Slack側が指定するredirect_urlがhttpsでなければならないという点です。この記事では、この問題を解決するための実践的なアプローチを紹介します。 問題の背景 Supabaseにはcon…

Vitestでのモックの使い方を調べてみた

はじめに 単体テストを書く際、外部依存関係をモックすることは避けられない作業です。特にNext.jsやVue、Reactなどのモダンなフロントエンドフレームワークを使用したプロジェクトでは、コンポーネントやサービスの独立したテストを行うためにモックが必須となります。 Vitestは、Viteをベースにした高速なJava…

FlutterモノレポをMelosで効率的に管理する方法

はじめに 複数のFlutterアプリケーションやパッケージを開発している場合、それぞれを個別のリポジトリで管理するのは非効率的です。そこで役立つのが「モノレポ(モノリシックリポジトリ)」という開発アプローチです。今回はFlutterプロジェクトのモノレポ管理に特化したツール「Melos」について詳しく解説します。 モノ…

Zendesk APIでプライマリメールアドレスを更新する方法

はじめに Zendeskを利用しているとき、ユーザーのプライマリメールアドレスを変更する必要が出てくることがあります。特にAPIを使って自動化する場合、少し複雑な手順が必要になります。 今回は、Zendesk APIを使ってユーザーのプライマリメールアドレスを更新する方法についてご紹介します。 なぜ複雑なのか? Zen…

git switchコマンドの使い方 - モダンなブランチ切り替え手法

はじめに Git を使った開発では、複数のブランチを行き来しながら作業することが日常的です。従来は git checkout コマンドを使ってブランチを切り替えていましたが、Git 2.23(2019年にリリース)から新しく git switch コマンドが導入されました。 この記事では、git switch コマンド…

VS Codeのシェル統合エラーを解決する方法

VS CodeでRooCode/Cline使用時にシェル統合エラーが発生した 最近VS Codeを使用していると、特にRooCode/Clineを使っている際にターミナルで2種類のエラーメッセージが表示されるようになりました。これらのエラーは開発作業の妨げになっていたため、それぞれの解決方法を紹介します。 エラー1: …

VercelのEdge FunctionsでPrisma(Supabase)を使う際の注意点

Vercelが提供するEdge Functionsは、世界中のエッジノードで実行されるサーバーレス関数で、低レイテンシーを実現しつつグローバルなデプロイが可能です。 しかし、Edge環境でデータベースにアクセスする際には、いくつかの制約や注意点があります。今回は、VercelのEdge FunctionsでPrisma…

Hugoブログのリニューアル - Tailwind CSSとClaudeのプロンプトエンジニアリングで実現したデザイン改善

はじめに 最近、当ブログのデザインをリニューアルしました。デザインの参考元として Tailwind UI の Spotlight テンプレート を使用し、AI アシスタント Claude と対話しながら改修を行いました。今回は、そのプロセスと技術的な側面について共有します。 リニューアルの目的 ブログのリニューアルには…

Git Revertで特定コミットに戻る方法

リポジトリの管理中、「大量にrebaseしてpushしてしまったコミットを戻す方法」という質問はよくあります。 特に、特定のコミットハッシュまで戻りたいというケースでは、Gitのrevertコマンドが非常に役立ちます。 結論から言うと、答えは「はい」です。Git revertを使えば、特定のコミットハッシュまで状態を戻…

QStashをDockerで動かす!ローカル開発環境の構築手順

QStashをローカル環境で使うためには2つの方法があります。 Local Tunnel(ローカルトンネル)を使う方法 qstash-cliを使う方法(Docker環境でのセットアップが可能) QStashはクラウド環境でのメッセージキューやジョブスケジューリングに便利ですが、開発時にはローカル環境でのテストが不可欠で…