iimon TECH BLOG

https://tech.iimon.co.jp/

iimonエンジニアが得られた経験や知識を共有して世の中をイイモンにしていくためのブログです

フィード

記事のアイキャッチ画像
【実践編】Claude Code でIssue修正をどこまで委任できるか試してみる
iimon TECH BLOG
tech.iimon.co.jp こんにちは!iimonでエンジニアをしている なかむ です。 普段は主に「入力速いもん」の拡張機能を開発しています! 今回は前回の「Claude Code でバグ修正をどこまで委任できるか試してみる 計画編」の続き、実践編です。 気づけばもう8月下旬ですね。前回ブログを書いてから早くも3ヶ月近くが経ちました。この間に新しいモデルが出たり機能が増えたりと、AI周りの進歩には目覚ましいものがあります。 前回は Claude Code Routines でどこまでAIに技術負債の修正を任せられるか、という計画を書きました。既存Issueに難易度ラベルを付ける評価Sk…
1日前
記事のアイキャッチ画像
そのテスト、別のコードで通ってます — git worktree × Docker 並列開発の静かな罠
iimon TECH BLOG
はじめに 株式会社iimonでエンジニアをしている「みよちゃん」です。 8月に入り暑さが本格化してきましたね。最近自分は、通勤すれば汗だく・リモートワークをすればエアコンで電気代が高くつくという、ジレンマに陥っています。少しでも暑さを和らげるために、今日は怖い話をしようと思います。 これは、実際に自分が遭遇した出来事です。 その日も、いつものように AI エージェントにタスクを任せてテストを流していました。 docker compose exec backend pytest — 結果は、全てグリーン。安心して次へ進もうとしましたが、理由のない違和感が残ります。違和感をもとに実行されたテストを…
1ヶ月前
記事のアイキャッチ画像
WebAssemblyっていつ使うんですか?
iimon TECH BLOG
はじめに Wasmとは? なぜ作られたのか Wasmで何ができるのか できないこと なぜブラウザに持ち込むのか 実際にはどう使われているのか Wasmが候補に入るのはどんなときか まとめ 参考 はじめに こんにちは!株式会社iimonでエンジニアをしている遠藤です。 WebAssembly(以下Wasm)は「RustやC++で書いたコードをコンパイルしてブラウザで実行できるらしい」程度のことは知っていました。ただ業務で使ったことがなく、JavaScriptやサーバーサイドとの使い分けはあまりイメージできていませんでした。 ちょうど社内勉強会の担当が回ってきたので、これを機に、「Wasmはどんな…
1ヶ月前
記事のアイキャッチ画像
使い方を伝えるために ― Cognitive WalkthroughによるLearnability評価
iimon TECH BLOG
はじめに こんにちは。タクシです。 最近は新機能のデザインもしつつ、既存機能・画面のUI/UX改善を行うことも増えてきました。 機能によっては、より複雑で多様な操作フローが発生する中で、使いやすいUIにするために検討・リサーチを続けています。 使いやすいUIを作りたい!と一言で言っても、使いやすいとはどう測ればいいのでしょうか? ユーザビリティの専門家であるJakob Nielsenは、Usability(使いやすさ)を大きく5つの要素に分解できるとしています(Nielsen, "Usability 101: An Introduction to Usability")。 Learnabili…
1ヶ月前
記事のアイキャッチ画像
TypeScriptの依存関係違反を静的解析で防ぎたい
iimon TECH BLOG
はじめに こんにちは、いきなり暑くなって辛いです。木暮です。 普段、業務の中でTypeScriptのコードレビューをしていて依存関係の違反が気になってしまいがちです。 AIにコード生成させても出力結果はまちまちですし、これを一つずつレビューするのも骨が折れます。 ディレクトリを切ってコーディングルール化しても自由にimportできてしまうので強制力はありません。 なので何か仕組みで改善できないのかClaudeに聞いてみました。 すると静的解析でガードできるとのことでした。ライブラリの名前はdependency-cruiserです。 今回はこのライブラリを使うことによってどのように依存関係を強制…
1ヶ月前
記事のアイキャッチ画像
__init__.py って必要? 実際に検証してみた 【Python】
iimon TECH BLOG
1. はじめに 2. PEP 420 と2種類のパッケージ — 誤解の起源 3. 今回のパッケージのディレクトリ構成図 4. sys.path はどう作られるか — __init__.py の検証に入る前に ①シェルが実行ファイルを探す。 ②インタプリタ本体の初期化。 ③sys.pathの構築。 ④siteモジュールの自動 import。 5. 空の __init__.py は何を宣言しているのか 存在するだけで成立する宣言 6. 省略すると実際に何が起きるか — 手を動かして検証した 再現した実害 なにが問題なのか? 7. まとめ 8. さいごに 参照 1. はじめに iimonでエンジニア…
1ヶ月前
記事のアイキャッチ画像
Webアプリに地図機能を入れる方法を作ってた(Leaflet)
iimon TECH BLOG
はじめに こんにちは!iimonでエンジニアをしている〇〇です! 「Webアプリに地図を出したい」と思ったとき、最初にこう悩みました。 「地図のライブラリ、種類が多すぎて、どれを使えばいいの?」 いろいろ試した結果、まずは Leaflet が一番おすすめだと感じました。無料で、APIキーもいらず、すぐに動かせるからです。 この記事では、 地図ライブラリにはどんな種類があるか なぜ Leaflet がおすすめなのか かんたんなコード(実際に動くデモつき) Google Maps・MapLibre などほかの選択肢 を、やさしくまとめます。 地図と聞くとむずかしそうですが、やることは大きく3ステッ…
2ヶ月前
記事のアイキャッチ画像
Redashで初めてSQLを書いてみた話
iimon TECH BLOG
はじめに こんにちは!iimonでエンジニアをしているつかちゃんです! SQLという単語は入社してからずっと耳にしていました。でも自分が触ることはなく、なんとなく「データベースに問い合わせるやつ」くらいのイメージしか持っていませんでした。 今回、Redash経由でデータを集計する機会があり、初めてSQLを自分で書くことになりました。実際に書いて、エラーになって、直して、結果が返ってきたとき「あ、これがSQLか!」となりました。 使ったのはRedashから Athena に接続し、federated query という仕組みでデータを取得するというものでした。SQLの書き方でつまずいたポイントを…
2ヶ月前
記事のアイキャッチ画像
LLM-as-a-Judgeを採点器で終わらせないために、評価ケース化と人間確認ゲートを整理してみた
iimon TECH BLOG
こんにちは、エンジニアの須藤です。今回はAWSサミットに参加して、LLMアプリケーションでは評価が重要だという話があったので、LLM-as-a-Judgeについて整理してみることにしました。 実際のLLMアプリケーションの運用では、振る舞いがプロンプトの変更やモデルバージョンの変更で崩れたり、一度修正した内容が次のリリース時に壊れたり、仕様オーナーの判断が属人化してしまうということが起こり得ます。 判定にLLMを使ってみよう、と単純にjudgeを呼び出すだけでそれらが解決するわけではなく、どんな内容を、どんな単位で考え、人間の判断との一致を測るか、そして信頼性を維持しながらどこまで自動化してど…
2ヶ月前
記事のアイキャッチ画像
MCPサーバーを自作して動かしてみる
iimon TECH BLOG
■はじめに ■MCP とは ■環境 ■最小の MCP を作って動かす ◆1. プロジェクト作成 ◆2. サーバー本体 ◆3. ビルド ◆4. Claude Code に登録して動かす ■同じサーバーに GitHub ツールを足す ◆何を作るか ◆環境構築 ◆GitHub アクセス層(src/github.ts) ◆ツール登録(src/index.ts に追記) ◆認証(GITHUB_TOKEN) ◆動かす ■最後に ■はじめに こんにちは! iimonでエンジニアをしています「しらみず」です。 最近、いろんなMCPを接続して触ってみているのですが、自作できることがわかったので自作してみました。…
2ヶ月前
記事のアイキャッチ画像
今更だけどTypeScriptのLinterについて調べてみる
iimon TECH BLOG
はじめに Linterについて ESLintで見てみるLinterの基礎 TypeScriptのモダンなLinterたち まとめ さいごに 参考 はじめに こんにちは!iimonでエンジニアをしているひがです! 先日TSKaigi 2026で登壇をしてきました! https://2026.tskaigi.org/talks/7 今年のTSKaigiも勉強になる公演がたくさんあり、とても楽しかったです。 色々な公演を聴いている中で、「結構TypeScriptのLinterに関する話題も多いな〜」と思い、「そういえばあまりLinterについて調べたことがなかったな〜」と思ったので、今回記事にしてみ…
2ヶ月前
記事のアイキャッチ画像
React NativeのExpoって何?Expo Go・EAS・Dev Client・ビルドの違いを整理してみた
iimon TECH BLOG
はじめに さまざまなExpoの主な意味合い Expo(フレームワーク・SDK) Expo Go(動作確認アプリ) EAS(Expo Application Services) (補足) ネイティブコードとは アプリの実行環境とビルド方法 実行環境 Expo Go Development Build(Dev Client) Production Build(スタンドアロンアプリ) ビルド方法に関して 再ビルドに関して Dev Clientは「ネイティブ」と「JavaScript」の二層でできている 自分自身がハマったポイント Expo Goでネイティブライブラリが動かない npx expo in…
2ヶ月前
記事のアイキャッチ画像
Djangoのマイグレーションを初心者なりに理解する
iimon TECH BLOG
こんにちは、木村です!最近Djangoに触れる機会がちょくちょくあるんですが、DB操作でいつもおっかなびっくりやっています。対応する時にそれなりに調べてはいるんですが、毎度微妙に自信が持てずにいます。 せっかく触る機会をもらったのだから初心者なりにDjangoでのマイグレーション操作について調べたことをまとめました。よろしくお願いします! Django そもそもDjangoとは何か。Pythonで実装されたWEBアプリケーションフレームワークです。認証や管理画面、DB操作などのWeb開発で必要なものを揃えています。 特徴として挙げられるのは主に次の二つです。 MTV(Model/Templat…
2ヶ月前
記事のアイキャッチ画像
【JavaScript】クロージャとは何か
iimon TECH BLOG
前提知識としてのスコープ グローバルスコープ 関数スコープ ブロックスコープ レキシカルスコープ(字句スコープ) スコープチェーン クロージャ クロージャの実例 プライベート変数の定義 関数ファクトリーとしての使い方 注意点 まとめ 参考文献・記事 クロージャについて、その名称は知っているものの具体的な仕組みについてはよく分かっていなかったので、この機会に調べてみました。 前提知識としてのスコープ クロージャを理解するにあたっての前提知識として、基本ではありますが重要な概念であるスコープについて軽く触れていきます。 スコープとは、実行中のコードから参照できる変数や関数の範囲のことです。スコープ…
2ヶ月前
記事のアイキャッチ画像
HTTP/2の多重化とは何か——ストリームとフレームを図解する
iimon TECH BLOG
はじめに HTTP/1.1の何が遅かったのか Keep-Aliveで改善したが… 6本並列接続 HTTP/2の多重化とは何か HTTP/1.1との比較 フレームとは何か フレームの役割 主なフレームの種類 ストリームとは何か ストリームのイメージ フレームとストリームの関係 多重化の全体像 HTTP/2で解決されなかった問題 TCPレベルのHead-of-Line Blocking さいごに 参考文献 はじめに こんにちは、iimonエンジニアのみやこしです! 先日、社内の勉強会でHTTPについて触れる機会がありました。正直これまであまり深く理解できていなかったので、これを機にしっかり調べてみ…
3ヶ月前
記事のアイキャッチ画像
LINEやInstagramで送った写真の画質が落ちる仕組み
iimon TECH BLOG
はじめに 画像圧縮の種類 可逆圧縮(Lossless) 非可逆圧縮(Lossy) AirDrop・LINE・Instagramで何が起きているか AirDrop LINE Instagram JPEG の圧縮の仕組み 1. ブロックへの分割 2. DCT 3. 量子化 なぜ再保存するたびに劣化するのか まとめ さいごに 参考 はじめに 友人に写真を送る時、LINE や インスタ だと画質悪いから、AirDropで送ってと言われたことがあります。写真の画質が落ちる仕組みについて気になったので調べてまとめました。 この記事では以下の内容を扱います。 AirDrop・LINE・Instagramで画…
3ヶ月前
記事のアイキャッチ画像
海底ケーブルについて
iimon TECH BLOG
最近、海底ケーブルに関する記事を目にしました。 海底ケーブルの名前自体は知っていたものの、 どのような仕組みで動いているのかはあまり理解していなかったため、この機会に調べてみることにしました。 今回、主に以下のような点について調査しました。 海底ケーブルは、どういう仕組みで動いているのか 衛星通信が海底ケーブルの代替となる可能性はあるのか 自分の日常のどの部分が海底ケーブルに支えられているのか AWSのようなクラウドサービスとの関係はどうなっているのか 国内サービスを利用する場合、多くの通信は国内の光ファイバー網だけで完結します。 一方で、海外のサービスや海外リージョン上のデータへアクセスする…
3ヶ月前
記事のアイキャッチ画像
A2UIの仕組みを整理して動かしてみる
iimon TECH BLOG
はじめに こんにちは。iimonでエンジニアをしている保田です。 最近Generative UIというキーワードを見かけることが増え、気になって調べてみました。 AIチャットの応答がテキストだけでなく、カードやフォームなどのUIで返ってくることもよく見かけるようになりました。 これを実現する仕組みの一つが、Googleが公開したA2UI(Agent to UI)プロトコルです。 この記事ではGenerative UIの実装パターンを整理したうえで、A2UIの仕組みを解説し、公式デモを動かしながら実際の通信内容を確認していきたいと思います。 今回はA2UIの概要とプロトコルの仕組みに焦点を当てて…
3ヶ月前
記事のアイキャッチ画像
テスト自動化、ツールの前に「方針設計」に関して調べてみた
iimon TECH BLOG
1. はじめに 2. 前回の記事のおさらい 3. ツールを選んだ後に気づいたこと 「何をテストするか」が決まっていなかった 方針がないまま自動化するリスク 4. 方針設計、どこまで考えられるか 各層に何を書くかの判断基準 自動化できるもの・できないものの線引き 実際に進める順番 5. 今後の方針 直近でやること 将来的にやりたいこと まとめ:自動化と手動テストのバランス 6. おわりに 1. はじめに こんにちは!iimonでフロントエンドエンジニアをしている「奥島」です! 前回の記事では、テスト自動化に向けてどのツールを使うかを調べました。 Playwright・Puppeteer・Cypr…
3ヶ月前
記事のアイキャッチ画像
デザインエンジニアとしての観点を整理する ― レビューと設計を行き来するために
iimon TECH BLOG
1. はじめに どうも、エンジニア&デザインを担当しているタクシです。 最近、デザイナーとの協業の仕組みを整えまして、手始めにデザインレビューを導入することにしました。 今はAI時代!GeminiやClaudeを使ったりもしつつ、、ではありますが、そもそもレビューに参加する経験自体がまだ浅いです。そのため、やり方を試行錯誤しつつ、毎回新しい発見があります。 一方で、自分自身がデザインを手がける場面では、ここしばらく「実装に入ってから気づくこと」が積み重なってきていました。 そろそろ、自分の中で観点を一度整理しておきたい。これからレビューに参加する機会も増えていくはずなので、その前提となる土台を…
3ヶ月前
記事のアイキャッチ画像
tsyringe触ってみた
iimon TECH BLOG
はじめに こんにちは。kogureです。最近暑くなってきて冬が恋しいです。断然冬派です。 社内でプロダクトの改善に取り組む中で、DI(Dependency Injection)を取り入れるようになりました。 ここでTypeScriptでDIコンテナライブラリって何があるんだろう?と疑問が湧きました。そこでどういったライブラリが存在するのか調べて入門してみました。 何個かライブラリは見つかったのですが、今回はその中からtsyringeを取り上げてみたいと思います。理由としてはMicrosoftが作っているライブラリなので、単純にネームバリューで選びました。PCでゲームする際はWindowsにお世…
3ヶ月前
記事のアイキャッチ画像
【計画】Claude Code Routinesでバグ修正をどこまで委任できるか試してみる
iimon TECH BLOG
こんにちは!iimonでエンジニアをしている なかむ です。 普段は主に「入力速いもん」の拡張機能を開発しています! 今日は 「Claude Code Routinesで技術負債の修正をどこまでAIに任せられるか」 という検証について、現時点での計画とこれから何を試すかを共有します。 検証環境(2026年5月時点) Model: Claude Opus 4.7 Plan: Claude Pro Plan なぜこのテーマを選んだか 背景1:技術負債をNotion → GitHub Issueに移行した話 最近、Notionで管理していた技術負債リストをGitHub Issueに移行しました。 自…
4ヶ月前
記事のアイキャッチ画像
Google Apps Script(GAS)で遊んでみた
iimon TECH BLOG
こんにちは。iimonでエンジニアをしているhayashiと申します。 普段は主に拡張機能を開発しております。 最近スプレッドシートを弄ることがちょいちょい出てきて、 GASで遊んでみたので、その内容を纏めました。 Google Apps Scriptとは Google Apps Script (GAS) は、モダンなJavaScriptでGoogle Workspaceと統合するビジネスアプリケーションを素早く構築できるクラウド実行プラットフォームです。 主な特徴: ローカル環境のセットアップが不要(ブラウザのみで開発可能) スクリプトはGoogleのサーバ上で実行され、コードはGoogle…
4ヶ月前
記事のアイキャッチ画像
LLMが構造的な出力を行う方法を調べてみた — デコーディング手法とその最適化
iimon TECH BLOG
こんにちは、iimonでエンジニアをしている須藤です。 最近、アプリケーションでLLMを利用していて、JSON出力がどの程度安定しているのか気になっていました。 また、ClaudeやOpenAIが「100%のスキーマ準拠」を謳っていて、その裏側の仕組みも面白そうだったので、今回調べてみることにしました。 特にデコーディングの段階でどのように制約をかけるか、そしてその仕組みがどう最適化されているかを中心に見ていきます。 ※ 本記事で主に扱うのは「文法的に正しい JSON をどう保証するか」です。型や minimum, pattern, format などの意味制約は本記事では触れません。 LLM…
4ヶ月前
記事のアイキャッチ画像
npmサプライチェーン攻撃の脅威と対策
iimon TECH BLOG
1. はじめに 2. npmサプライチェーン攻撃の系譜 2-1. サプライチェーン攻撃とは 2-2. 代表的な攻撃手法 悪意あるパッケージの新規公開 タイポスクワッティング ディペンデンシーコンフュージョン 既存パッケージの改ざん 2-3. 取り込まれた後の動作 2-4. 起こり得る被害 3. スロップスクワッティングとは 4. 日頃の対策 4-1. インストール前にパッケージ情報を確認する 4-2. ライフサイクルスクリプトの実行を無効化する 4-3. すぐに新しいバージョンにアップグレードしない 4-4. lockfile とバージョン固定 4-5. 継続的に依存関係を監視する 4-6. …
4ヶ月前
記事のアイキャッチ画像
開発中プロダクトの挙動を外出先から確認する(Claude Cowork Dispatch)
iimon TECH BLOG
はじめに こんなときありません?? Claude Cowork Dispatch 準備するもの 設定 Claudeがアプリを操作する優先順位 実際にClaude Cowork Dispatch使ってみる ①ローカルマシンで開発中のプロダクトをスマホから確認する ②ローカルマシンで開発中のプロダクトをスマホから操作してみる ③ローカルマシンで開発中のプロダクトをスマホから少し複雑な操作してみる ④ローカルマシンで開発中のプロダクトをスマホからログインしてみる ⑤PCのデスクトップアプリを操作してみる 終わりに 最後に 参考 はじめに 株式会社iimonでエンジニアをしているさいとーです! 最近、…
4ヶ月前
記事のアイキャッチ画像
Orvalを使ってOpenAPI SchemaからAPIクライアントを自動生成する
iimon TECH BLOG
■はじめに ■環境 ■Orvalとは何か ■Orvalを使うと何が変わるか ◆手書きの場合 ◆Orvalを使う場合 ■ハンズオン ◆今回作るもの ◆ディレクトリ構成を作る ◆バックエンドのセットアップ ◆Djangoプロジェクトを作成する ◆モデルを定義する ◆スキーマを ModelSchema で定義する ◆APIを定義する ◆動作確認とスキーマのファイル出力 ◆フロントエンドのセットアップ ◆Orvalの設定ファイルを書く ◆モデルのフィールド変更に追従する ■まとめ ■はじめに こんにちは! iimonでエンジニアをしています「しらみず」です。 現在、新規サービス開発をする中で、フロント…
5ヶ月前
記事のアイキャッチ画像
AIってTypeScriptをどういう風に感じてるのだろう
iimon TECH BLOG
はじめに Branded Types Effect TS まとめ さいごに 参考 はじめに こんにちは!iimonでエンジニアをしているひがです。 最近AIでソースコード生成を利用する場面も当たり前になってきましたが、その中でどんなコードを書くとAIはどんな反応をするのだろう??という疑問がふつふつと湧いてきまして、いてもたってもいられなくなってきました。 ということで、今回はTypeScriptの書き方でAIにどのような影響があるかを簡単に見ていこうと思います!とはいえ TypeScript の型システムはとても奥が深く、細かい内容を見ていくととても膨大になってしまうため、今回は Brand…
5ヶ月前
記事のアイキャッチ画像
【React】よく使うHooks3選をわかりやすく整理してみた
iimon TECH BLOG
はじめに そもそもReact Hooksってなに? useState - 状態を管理する 概要 基本的な使い方 コード例 よくある使い方いろいろ 注意点 useEffect - 副作用を実行する 概要 基本的な使い方 依存配列のパターン コード例 APIからデータを取得する クリーンアップが必要な例 注意点 useContext - コンポーネント間でデータを共有する 概要 propsのバケツリレー問題 コード例 注意点 Hooks一覧まとめ まとめ 参考文献 はじめに こんにちは!株式会社iimonエンジニアのクリスチャンです! 最近、暖かくなってきてアイスコーヒーが美味しい季節になってきま…
5ヶ月前
記事のアイキャッチ画像
Claude Code on the Webが個人的に良かった話と今後の期待
iimon TECH BLOG
はじめに Claude Code on the Webとは 使い方 基本的なセットアップ 1. claude.ai/code にアクセス 2. GitHubアカウントを接続 3. クラウド環境の設定 4. リポジトリを選んでタスクを入力 メリット・デメリット メリット ローカル環境が完全に不要 ウェブとターミナル間でタスクを移動 Teleport でローカルに引き継げる 権限承認が不要 デメリット ローカルのリソース(資源)が使えない ブランチ名を自由に設定できない(claude/始まりになる) 編集者がClaudeになる クラウド環境のスペックが非公開 今後の期待 セッション途中での環境・ブ…
5ヶ月前