iimon TECH BLOG

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

チーム目標に合わせてJestカバレッジを"狙い撃ち"計測する方法

こんにちは!iimonでフロントエンドを担当しております、まつむらです! 私たちのチームでは開発中のプロダクトにおいてテストコードが不足していたため、カバレッジを指標としてテストを増やす取り組みを行っていました。 もちろんカバレッジを上げることが…

積読解消プロジェクト「リファクタリング(第2版)既存のコードを安全に改善する」Part2

1. はじめに 2. 6章 リファクタリングはじめの一歩 パラメータオブジェクトの導入 3. 7章 カプセル化 レコードのカプセル化 4. 8章 特性の移動 5. 9章 データの再編成 6. 10章 条件記述の単純化 7. 11章 APIのリファクタリング コマンドにおける関数の置き換…

MySQLのカラム追加や削除はなぜ速くなったのか?

はじめに みなさま、本年もよろしくお願いいたします。 現在のMySQLは本番環境でもカラム追加も懸念すべきことも少なくなり、ALTER TABLE ... ADD COLUMN を実行すれば、テーブルのサイズやレコード数に関係なく一瞬で完了するようになりました。 以前は本番…

JWT認証の仕組みについて調べてみた

■はじめに ■認証とは? ■JWT認証とは ■セッション認証方式 ◆処理フロー ◆セッション認証方式の課題点 ■JWTの構造 ■HMAC(Hash-based Message Authentication Code)とは ■アクセストークンとリフレッシュトークン ■JWTを使った認証フローを確認してみる ■悪…

React 19.2で追加された<Activity>コンポーネントについて

はじめに こんにちは、保田です。本記事はiimonアドベントカレンダー25日目の記事となります。 試験的機能として開発されていた<Activity>コンポーネントが、2025年10月にリリースされたReact 19.2で正式に導入されました。 普段の業務で使えるものなのか気になったの</activity>…

これぞ拡張機能の真髄!chrome.webRequest APIについてまとめてみた

こんにちは。iimonでエンジニアをしているhayashiと申します。 普段は主に拡張機能を開発しております。 本記事はiimon Advent Calendar 2025 24日目の記事となります! 今回はこれぞ拡張機能の真髄って個人的に思ったchrome.webRequest APIについて解説した…

不気味の谷から考える:違和感とユーザー体験

はじめに 不気味の谷 AIにおける不気味の谷 動画生成AI AIのハルシネーション 開発と不気味の谷の関係 不気味の谷を避ける配慮 さいごに 参考 はじめに 本記事はiimon Advent Calendar 2025 23日目の記事となります! みなさまごきげんいかがでしょうか。 株…

Claude Codeサブエージェントハンズオン

はじめに 本記事はiimonアドベントカレンダー22日目の記事となります。 こんにちは、kogureです。 あっという間に12月ですね、去年にアドベントカレンダーを書いたのが昨日のことのようです。 こうやってあっという間に歳をとっていくのですね。怖いですね。…

最初から完璧は目指すな──初めて設計するあなたへ伝えたい、TypeScript設計の最低ライン

初めて0→1設計を任された人向けに、TypeScriptを例に「壊れにくく変更に強い設計」を解説。依存方向の整理、副作用の隔離、テストファースト、仕様変更に強い型設計など、品質とスピードを両立する最低限の設計ポイントを紹介する記事です。

SwiftUIで「推し活カレンダー」アプリを作ってみた

この記事はiimon Advent Calendar 2025 20日目の記事となります! はじめに 開発環境 完成したアプリ 開発の流れ 1. まずはシンプルなスケジュールアプリから @Stateと@Bindingの使い分け 2. カレンダーUIを自作 日付セルのデザイン 3. カテゴリをenumで管理…