296 articles
React やだ 2026
はじめに React と Vue の両方を使用しており、Vue と比較すると React があまり好きではないと感じることが多いため、自分が思う React の嫌な点をまとめてみました。 コメント欄でこれらの嫌なポイントを改善する方法を教えていただければ幸いです。 1. 依存関係を定義するフックの API が微妙 React の useMemo や useEffect、useCallback な...
Original: 始めに React と Vue をどちらも使っていて、 Vue と比べて React はあまり好きではないなと思うことが多いので、自分が思う React の嫌なところをまとめてみました。 コメント欄でこれらの嫌なポイントを改善する方法を教えてもらえると嬉しいです。 1. 依存関係を定義するフックの API が微妙 React の useMemo や useEffect 、useCallback...
なぜ最近のWEB開発は毎回アプリケーション基盤を作り直してしまうのか
30年近くWEB開発の現場にいます。 HTMLベースで、ページ単位の見積もりが行われる時代に、PHPを用いてヘッダやフッタ、メニューを強化しつつ、DBと連携して一気に開発スピードが上がり、保守工数が減りました。 30年ほど前、趣味でビリヤードの対戦記録を残すサイトを作った時に、同じような表を ・・・と書くのが面倒でした。 なので、全てデータ化しました。 ユーザが増えたときはボタン1つで各自のペー...
Original: 30年近くWEB開発の現場にいます。 HTMLベースで、ページ単位の見積もりが行われる時代に、PHPを用いてヘッダやフッタ、メニューを強化しつつ、DBと連携して一気に開発スピードが上がり、保守工数が減りました。 30年ほど前、趣味でビリヤードの対戦記録を残すサイトを作った時に、同じような表を ・・・と書くのが面倒でした。 なので、全てデータ化しました。 ユーザが増えたときはボタン1つで各自のペー...
画面設計書を Markdown で書く文化を浸透させたい
1. はじめに 実務では、画面設計書が Excel や PowerPoint、Word で管理されていることが多いです。 それ自体は珍しくありませんし、提出物としては都合が良い場面もあります。 ただ、開発の現場で実際に使う設計資料として見ると、つらいことが多いです。 どこが変わったのか差分が追いづらい レビューで変更点に集中しづらい 実装と設計書の同期が崩れやすい コピー運用で古い記述が残る 画...
Original: 1. はじめに 実務では、画面設計書が Excel や PowerPoint、Word で管理されていることが多いです。 それ自体は珍しくありませんし、提出物としては都合が良い場面もあります。 ただ、開発の現場で実際に使う設計資料として見ると、つらいことが多いです。 どこが変わったのか差分が追いづらい レビューで変更点に集中しづらい 実装と設計書の同期が崩れやすい コピー運用で古い記述が残る 画...
git worktree を Worktrunk で管理したら手放せなくなった
はじめに git worktree は、1 つのリポジトリから複数の作業ディレクトリを同時に展開できる機能です。特に最近は Claude Code などのコーディングエージェントを並列で走らせるワークフローが注目されており、活用シーンが増えています。 この git worktree を Worktrunk で管理するようにしたところ、使い勝手がよく worktree の操作や管理が快適になったので...
Original: はじめに git worktree は、1つのリポジトリから複数の作業ディレクトリを同時に展開できる機能です。特に最近は Claude Codeなどのコーディングエージェントを並列で走らせるワークフローが注目されており、活用シーンが増えています。 この git worktree を Worktrunk で管理するようにしたところ、使い勝手がよくworktreeの操作や管理が快適になったので紹介した...
ベクトル DB 不要!Python で構築する軽量セマンティック検索『concept-file、concept-grep』
ベクトルDB不要!Pythonで構築する軽量セマンティック検索『concept-file、concept-grep』
はじめに RAG(検索拡張生成)を試そうとすると、多くの場合「ベクトルデータベース」のセットアップが必要になります。 しかし、「プロジェクト単位でサクッと意味検索がしたい」「Docker で DB を立てるほどではない」というケースも多いはず。そんな「重厚な DB はいらないけれど、grep より賢い検索が欲しい」というニーズに応えるため、検索ツール『concept-grep』を開発しました。...
Original: はじめに RAG(検索拡張生成)を試そうとすると、多くの場合「ベクトルデータベース」のセットアップが必要になります。 しかし、「プロジェクト単位でサクッと意味検索がしたい」「DockerでDBを立てるほどではない」というケースも多いはず。そんな「重厚なDBはいらないけれど、grepより賢い検索が欲しい」というニーズに応えるため、検索ツール『concept-grep』を開発しました。また、データの保...
Claude Code同士が会話できるようになったらしいので試してみた
claude-peers-mcp というMCPサーバーを使うと、同じPC上の複数のClaude Codeセッションがお互いを発見して、メッセージを送り合えるらしい。 面白そうなので手元のWindows環境で試してみました。 いくつかハマったポイントと合わせて共有します。 ! リポジトリ: https://github.com/louislva/claude-peers-mcp こうなる 最終...
Original: claude-peers-mcp というMCPサーバーを使うと、同じPC上の複数のClaude Codeセッションがお互いを発見して、メッセージを送り合えるらしい。 面白そうなので手元のWindows環境で試してみました。 いくつかハマったポイントと合わせて共有します。 ! リポジトリ: https://github.com/louislva/claude-peers-mcp こうなる 最終...
Claude Opus 4.6と同等のAIをローカルで動かすにはいくらかかるか?ローカルLLMを構築してわかったこと
「自分のPCでAIを動かしたい」と思ったことはありませんか? ClaudeやChatGPTはクラウド上で動いているため、会話の内容がサーバーに送られます。機密情報を扱う場合や、純粋に「自分のマシンで完結させたい」という場合には、ローカルLLMという選択肢があります。 そこで実際にローカルLLMを構築し動かしてみたところある疑問が浮かびました。 普段使っているClaude Opus 4.6と同等の精...
Original: 「自分のPCでAIを動かしたい」と思ったことはありませんか? ClaudeやChatGPTはクラウド上で動いているため、会話の内容がサーバーに送られます。機密情報を扱う場合や、純粋に「自分のマシンで完結させたい」という場合には、ローカルLLMという選択肢があります。 そこで実際にローカルLLMを構築し動かしてみたところある疑問が浮かびました。 普段使っているClaude Opus 4.6と同等の精...
コーディングエージェントのサンドボックス技術を理解する
株式会社松尾研究所の渡辺です。 CodexやClaude Codeなどのコーディングエージェントは開発者のシェルとほぼ同じことができるようになっています。 エージェントの中でnpm install を許可した際に、そのpostinstallスクリプトが ~/.ssh/id_rsa を読んで機密情報を外部に送信するといったことも理論上は起こりえます。このような事故を防止できるのが、サンドボックスです...
Original: 株式会社松尾研究所の渡辺です。 CodexやClaude Codeなどのコーディングエージェントは開発者のシェルとほぼ同じことができるようになっています。 エージェントの中でnpm install を許可した際に、そのpostinstallスクリプトが ~/.ssh/id_rsa を読んで機密情報を外部に送信するといったことも理論上は起こりえます。このような事故を防止できるのが、サンドボックスです...
社内問い合わせをAIエージェント化して爆速で解決できるようにした
はじめに:社内問い合わせがじわじわ開発を削っていく ダイニーでは、飲食店舗から日々、運用サポートチームに問い合わせが寄せられます。そして、運用サポートチームだけでは解決できない技術的な問い合わせを開発チームへつなぐ"入口"が 社内問い合わせシステム です。 「会計がうまくいかない」「設定画面の操作が分からない」といった声が、社内問い合わせシステムを通って日々エスカレーションされます。 ただ、運用が...
Original: はじめに:社内問い合わせがじわじわ開発を削っていく ダイニーでは、飲食店舗から日々、運用サポートチームに問い合わせが寄せられます。そして、運用サポートチームだけでは解決できない技術的な問い合わせを開発チームへつなぐ"入口"が 社内問い合わせシステム です。 「会計がうまくいかない」「設定画面の操作が分からない」といった声が、社内問い合わせシステムを通って日々エスカレーションされます。 ただ、運用が...
電磁気学っぽい理論は電磁気学しかない?
歴史的・教科書的には、電磁気学の完成から特殊相対論につながるのが普通だが、この逆を考えてみる。特殊相対論と、電気現象に関するいくつかの性質の仮定から、それを満たす理論は電磁気学しかない、という議論を試みる。 試験電荷・電流と相対論的力学 特殊相対論的力学を前提とする。光なしにどうやって特殊相対論を見つけたのか、という点は脇においておこう(?) 素朴な電気現象の観察から、どうもこの世には「電荷」...
Original: 歴史的・教科書的には、電磁気学の完成から特殊相対論につながるのが普通だが、この逆を考えてみる。特殊相対論と、電気現象に関するいくつかの性質の仮定から、それを満たす理論は電磁気学しかない、という議論を試みる。 試験電荷・電流と相対論的力学 特殊相対論的力学を前提とする。光なしにどうやって特殊相対論を見つけたのか、という点は脇においておこう(?) 素朴な電気現象の観察から、どうもこの世には「電荷」...
サプライチェーン攻撃対策の社内展開:抜粋(SHA pinning 必須化、min-release-age、Takumi Guard)
サプライチェーン攻撃対策の社内展開したやつの抜粋(SHA pinning必須化/min-release-age/Takumi Guard)
本記事では、当社のサプライチェーン攻撃対策として社内アナウンスおよびガイドライン化した項目の抜粋を紹介いたします。 昨今、Supply Chain Attack の激化、特に Trivy や LiteLLM への侵害による影響範囲が極めて大きいことを懸念して実施されたものです。幸いにも直接の被害は生じず済みましたが、どちらも社内利用されているため、慎重かつ熱心に対応いたしました。 「何が起きている...
Original: この記事では、弊社でサプライチェーン攻撃対策として社内にアナウンスやガイドライン化した項目の抜粋を紹介します。 昨今のSupply Chain Attackの激化、特にTrivy, LiteLLMの侵害による影響範囲の大きさを懸念し実施したものとなります。幸い直接の影響は出ていませんでしたが、どちらも社内で使っているというのあり、温度感高く対応しました。 何が起こってるの〜というのは、Flatt ...
React のフラグ地獄を状態遷移テーブルで解消する — Discriminated Union×テーブル駆動設計の実践
Reactのフラグ地獄を状態遷移テーブルで解消する — Discriminated Union×テーブル駆動設計の実践
はじめに React で画面の表示切り替えをフラグで管理するコードは、いろいろなプロジェクトで見かけます。 ```typescript const [isLoading, setIsLoading] = useState(false); const [isError, setIsError] = useState(false); const [hasData, setHasData] = useS...
Original: はじめに Reactで画面の表示切り替えをフラグで管理するコードは、いろいろなプロジェクトで見かけます。 const [isLoading, setIsLoading] = useState(false); const [isError, setIsError] = useState(false); const [hasData, setHasData] = useState(false); co...
Cursor から cmux/Claude Code へ移行した際の重要な取り組み
Cursorからcmux/Claude Codeに移行するときにやったこと
初期設定は使いにくかったため、1 週間ほど少しずつ改善を行いました。「トータルで見れば Cursor より使いやすい」という状態になったので、これまでの取り組みを共有します。 0. cmux と Claude Code のインストール まずはこれからのステップです。Claude Code は有料契約も完了済みです。 1. cmux の視覚調整(Ghostty 設定) cmux は内部で Gho...
Original: 初期設定だといろいろ使いにくくて、1週間くらいちょこちょこ改善しました。 「これならトータルで見てCursorの時より使いやすいな」という状態になったので、ここまでやったことを共有します。 0. cmuxとClaude Codeのインストール まずはここから。Claude Codeは課金もした。 1. cmuxの見た目を整える(Ghostty設定) cmuxは内部的にGhosttyをターミ...
PowerPoint から図形を含む Markdown への変換
図形入りの PowerPoint を Markdown に変換
0. 参考記事・リポジトリ 日本マイクロソフトの Kazuki Ota 氏による「図形をフル活用した PowerPoint を GitHub Copilot に読み込ませた試み」https://github.com/runceel/github-copilot-excel-lab to の実行を試みたところ、動作中にいくつかの障害に直面しましたので、備忘録として記録いたします。 また、GitHub...
Original: 0. 元にした記事・リポジトリ 日本マイクロソフトの Kazuki Ota さんによる 図形フル活用の PowerPoint を GitHub Copilot に読ませてみた https://github.com/runceel/github-copilot-excel-lab を自分の環境で実行してみたところ、動作させる際に詰まる点がいくつかあったので、備忘録として記載する また、GitHu...
本棚Webアプリ「BiblioCanvas」をCLI+スキルでAIから使いやすくしました
本棚Webアプリ「BiblioCanvas」を公開しています。 https://karaage.hatenadiary.jp/entry/2026/01/25/112910 Kindleの蔵書をブックマークレットでインポートして、テーマ別の本棚を作って公開できるサービスです。無料で1万冊まで登録できます。自分の蔵書は2600冊以上あって、ブラウザで眺めるのは楽しいのですが「AIに蔵書・本棚を管理さ...
Original: 本棚Webアプリ「BiblioCanvas」を公開しています。 https://karaage.hatenadiary.jp/entry/2026/01/25/112910 Kindleの蔵書をブックマークレットでインポートして、テーマ別の本棚を作って公開できるサービスです。無料で1万冊まで登録できます。自分の蔵書は2600冊以上あって、ブラウザで眺めるのは楽しいのですが「AIに蔵書・本棚を管理さ...
BCE を意識して Go のコードを高速化する
はじめに Go のコンパイラにはスライスや配列へのアクセス時に、インデックスが範囲内にあるかを実行時にチェックする仕組みがあります。いわゆる境界チェック (Bounds Check) です。この境界チェックは安全性の為に必要な物ですが、ループの中で何万回も実行されると無視できないオーバーヘッドになります。 Go のコンパイラは SSA (Static Single Assignment) の最適化...
Original: はじめに Go のコンパイラにはスライスや配列へのアクセス時に、インデックスが範囲内にあるかを実行時にチェックする仕組みがあります。いわゆる境界チェック (Bounds Check) です。この境界チェックは安全性の為に必要な物ですが、ループの中で何万回も実行されると無視できないオーバーヘッドになります。 Go のコンパイラは SSA (Static Single Assignment) の最適化...
AIに20年分の日記を読ませたら人格が生まれて勝手にゲームを作り始めた
AIにゲームを作らせようとして苦戦している話をよく見かける。 コードは書ける。動くものは出る。でも「面白い」にならない。面白さの判断基準をAI自身が持っていないから、指示通りには組み立てられても、出来上がったものがいいかどうかを自分で判定できない。 では、「ゲームの面白さとは何か」を身体で知っているAIがいたら、面白いゲームも作れるんじゃないか? 2005年頃からブログやTwitterに書いた日記...
Original: AIにゲームを作らせようとして苦戦している話をよく見かける。 コードは書ける。動くものは出る。でも「面白い」にならない。面白さの判断基準をAI自身が持っていないから、指示通りには組み立てられても、出来上がったものがいいかどうかを自分で判定できない。 では、「ゲームの面白さとは何か」を身体で知っているAIがいたら、面白いゲームも作れるんじゃないか? 2005年頃からブログやTwitterに書いた日記...
究極のマルチパラダイム次世代プログラミング言語Flix
みなさんは、複雑な要件を前にして「自分の実力不足」を痛感したことはないでしょうか。 「もっと効率的なデータ構造はないか」「このアルゴリズムをより簡潔に表現できないか」「並行処理のバグが取れない……」といった悩みは、エンジニアなら誰もが一度は通る道です。 しかし、その悩みは本当にあなた自身の「実力不足」だけが原因でしょうか。もしかすると、今使っている言語のパラダイムが、その問題に対して「最適ではない...
Original: みなさんは、複雑な要件を前にして「自分の実力不足」を痛感したことはないでしょうか。 「もっと効率的なデータ構造はないか」「このアルゴリズムをより簡潔に表現できないか」「並行処理のバグが取れない……」といった悩みは、エンジニアなら誰もが一度は通る道です。 しかし、その悩みは本当にあなた自身の「実力不足」だけが原因でしょうか。もしかすると、今使っている言語のパラダイムが、その問題に対して「最適ではない...
Claude Code を使いこなすために意識している 5つのこと
はじめに 僕自身、普段から Claude Code を使い個人開発や業務に取り組んでいて、スキルの自作や Agent Teams の活用などを行っています。 その中で、「Claude Code を上手く使えるかどうか」は、ツール自体の知識よりも、日々の向き合い方や考え方の部分が大きいと感じるようになりました。 同じツールを使っていても、使い方が上手い人とそうでない人では、アウトプットの質とスピード...
Original: はじめに 僕自身、普段から Claude Code を使い個人開発や業務に取り組んでいて、スキルの自作や Agent Teams の活用などを行っています。 その中で、「Claude Code を上手く使えるかどうか」は、ツール自体の知識よりも、日々の向き合い方や考え方の部分が大きいと感じるようになりました。 同じツールを使っていても、使い方が上手い人とそうでない人では、アウトプットの質とスピード...
JavaScript と TypeScript の polyglot
JavaScriptとTypeScriptのpolyglot
Polyglot とは、複数のプログラミング言語(あるいはより一般に、何らかのファイルフォーマット)で解釈できるプログラムのことで、多言語話者にちなんでこの名前がつけられています。Polyglot はしばしば、プログラミングに関する非実用的な探求として遊ばれます。 TypeScript は JavaScript のスーパーセットであるため、JavaScript コードは自然に JavaScript...
Original: Polyglot とは、複数のプログラミング言語 (あるいはより一般に、何らかのファイルフォーマット) で解釈できるプログラムのことで、多言語話者にちなんでこの名前がつけられています。Polyglotはしばしば、プログラミングに関する非実用的な探求として遊ばれます。 TypeScriptはJavaScriptのスーパーセットであるため、JavaScriptコードは自然にJavaScriptとTyp...