iimon TECH BLOG

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

React Scanで再レンダーを改善してみた

はじめに 使用技術 React Scanとは React Scanの導入 React Scan使ってみる React Scanの分析 分析結果から改善 JavaScript/React Hooks AntdIconの改善 その他のAntdのコンポーネントの改善 改善結果 useCallback + React.memoでチェックボックスの改善 改…

呪術に触れてみた

こんにちは、kogureです。 勉強会のお題を考えているときにEMから今、巷で流行っているJujutsuどう?とお勧めされたので触ってみました! そもそもJujutsuってなんなんでしょうか? 公式のreadme> Introductionを確認してみましょう github.com Git互換の新…

エンジニア&デザイナーのためのフォント入門

皆様ごきげんよう。タクシです。 最近、花粉症をこの世から消す方法と同じぐらい私はフォントについて調べています。 開いたWebサイトがどのフォントを使っているかをデベロッパーツールで確認するのが習慣です。1人でフォント当てクイズをしたりもします。…

Macのアクティビティモニタを理解する

はじめに 株式会社iimonエンジニアのかとうです! Macのファンがうるさくなったり、動きが遅くなったり固まったりしたときに、私はまずアクティビティモニタを確認します 不要なプロセスの終了にしか使用したことがなかったので、他にもどのように使え…

「なぜダメか」で学ぶクラス設計

導入 こんにちは!iimonで「入力速いもん」の開発を担当しているなかむ〜です! 弊社のメイン製品である「入力速いもん」は、リリースから時間が経っていることもあり、現在はレガシーな設計から「新しく保守しやすい設計」への移行を絶賛進めている最中です…

型に縛られず、型を守る。忘れがちな「ジェネリクス」を改めて整理して武器にする

こんにちは。iimonでエンジニアをしているhayashiと申します。 普段は主に拡張機能を開発しております。 今回はジェネリクスについて何となく分かったつもりではいたけれど、 忘れがちという事に気付きまして、ちゃんとアウトプットしてみようと思います。 …

Chrome拡張機能のE2Eテスト、PlaywrightとPuppeteerどっちを選ぶ?調べて比較してみた

目次 1. はじめに 2. PlaywrightとPuppeteerの関係性 3. Chrome拡張のテスト観点での技術比較 4. 公式ドキュメント・情報量の比較 5. CI/CDへの組み込みやすさ 6. 結論:どちらを選ぶか 7. おわりに 1. はじめに こんにちは!iimonでフロントエンドエンジニ…

Chromeってどんなふうにうごいているの?

はじめに Chromeのアーキテクチャはマルチプロセス?!! マルチプロセスを採用することの意味 マルチプロセスを採用することの課題とその対応 まとめ さいごに はじめに こんにちは!iimonでエンジニアをしているひがです! 先日アドベントカレンダー2…

AI駆動開発の新常識「SDD」- Spec Kitとcc-sddを実際に使って感じたこと

1. はじめに こんにちは!株式会社iimonでエンジニアをしている「みよちゃん」です! いや〜来てますねAIの波。開発現場でもAIは「あると便利なもの」から「ないと困るもの」に変化しつつありますよね。この記事もAIに添削してもらいながら執筆しています。 …

Chrome拡張機能開発で意識したいセキュリティ対策(Manifest V3)

はじめに 前提: Content ScriptとService Workerの違い 公式ドキュメントに基づくセキュリティ対策 Content Scriptの信頼性が低い理由 1. Content ScriptがアクセスするDOMの信頼性が低い 2. Webページと同じレンダラプロセスで実行される 対策 1. Content S…