iimon TECH BLOG

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

凝集度と結合度について調べて見た(part1凝集度編)

こんにちは。iimonでエンジニアをしているhayashiと申します。 普段は主に拡張機能を開発しております。 いいコードを書きたくて最近調べているんですけど、その指標となる凝集度と結合度に ついて調べたので、今回は凝集度について解説していければと思いま…

clearAllMocks() vs resetAllMocks()    違いと使い分けを完全解説

こんにちは!Jest を勉強中の新卒エンジニアの”つかちゃん”と申します! ✨ 今回は、Jestでよく使われるモック関連の関数 clearAllMocks() と resetAllMocks() の違いについて、「どっちがどっちだっけ?」とテストを書いていてふと思ったので初心者の自分な…

スマホ向けアプリを気軽に作れる 「React Native EXPO」

こんにちは!! iimonでエンジニアをしているいまいです。 折角プログラミングやっていることだしおもしろいものを作りたいですよね! というわけで今回はお気軽にスマホ向けアプリを開発できる『react expo』の紹介と実際に使ってみた感想をまとめます…

【JavaScript】for文を使い分ける

こんにちは。 iimonでエンジニアをしているかねにわです。 JavaScriptにおけるループ処理には、基本的なfor文からfor…of文など、いくつか種類がありますが、正直のところそれぞれの違いや特性をあまり理解せず、とりあえずでforEachを使っているような…

currentTargetについて調べる

はじめに こんにちは!木村です!普段ReactとTypeScriptを使用して開発しているのですが、非同期処理を扱っているイベントハンドラでつまづいた部分があったので、掘り下げて調べてみたことをまとめました。よろしくお願いします。 内容 内容としては以下の…

AIを感じてみる

はじめに そもそもAIって何? 機械学習について 機械学習の種類について 教師あり学習 教師なし学習 強化学習 モデルができるまで 分類と回帰について 訓練データとテストデータについて 過学習と学習不足について 評価指標について モデルの種類について ア…

ローカルMCPサーバを立ててClaudDesktopと繋いでみた

◼️ はじめに ◼️ プロジェクト作成 ◼️ コード修正 ◼️ デバッグ方法 ◼️ ClaudeDesktopとの接続 ◼️ まとめ ◼️ 最後に ◼️ はじめに こんにちは!株式会社iimonでフロントエンジニアをしているあめくです! 前回は我らがEMの松田さんに「MCPサーバ」について熱く…

github PRを管理するツールghstackを使ってみた!

はじめに 依存関係のあるプルリクエスト ghstack PRの提出と更新 PRの構造 PRのマージ git rebase interactive(インタラクティブ)モード ghstack使ってみた 最後に 参考文献 はじめに こんにちは、iimonエンジニアのみやこしです、いきなりですが、皆…

駆け出しエンジニアはAI禁止!?使う前に身に着けてほしい2つの力〜RustもMCPも知らない中年エンジニアの奮闘から〜

はじめに 今回の題材 MCPサーバってなんですのん? AIの助言を得て、自分で裏取りした最小限のMCPサーバに必要なこと Rustは知らない、でもTypeScriptやPHPは知っている TDDでやってくぞ! やってみてどうだった? おわりに 参考 はじめに こんにちは!ダー…

【JavaScript】undefinedをスプレッド構文で展開するとどうなるか

はじめに 株式会社iimonでエンジニアをしているかとうです 先に結論 undefinedをスプレッド構文で展開しようとすると以下の結果になります 結果 理由 オブジェクト { ...undefined } ✅ エラーにならない(無視される) スプレッド構文が undefined や n…

TDDチョットワカル!になりたい!なんちゃってTDDを実践して見えたこと

はじめに そもそもTDDってなんぞや? なるほど、よく分からん! 慣らし運転、始めました なんちゃってTDDで初めてみる テスト駆動で得られたもの 結果的に何が嬉しかったのか おわりに 参考文献 はじめに こんにちは!株式会社iimonにてフロントエンドエンジ…

「Web Storage(localStorage・sessionStorage)の基本と使い方を解説!

はじめに! ストレージの種類 参考 はじめに! iimonでエンジニアをしています。奥島です 今回は、データベースを使わずに、ブラウザだけで手軽にデータを保存できる「Webストレージ(localStorage・sessionStorage)」について調べてみました。 Webアプリや…

SQL INDEX B-treeを見てみた

はじめに iimonでエンジニアをしています。腰丸です。 SQLを触る際に、お世話になるINDEXですが、理解しているようで、実はよくわからないという方も多いのではないでしょうか。(自分は自信ないです) 今回は、SQLのINDEXについて、実際のデータを使ってB-tre…

初めてエンジニアイベント(TSKaigi)に参加してみた! ~リモートで見られる時代で現地参加する意味とは?~

はじめに はじめまして、株式会社iimon でフロントエンジニアをしている、なかむと申します。 普段は不動産会社の業務効率化サポートツール「入力速いもん」を開発をしており、メインでTypeScriptを使っています。 お恥ずかしながら、今回初めてエンジニアイ…

GitHub Actionsでリリース作業を簡略化した!

こんにちは。 GitHub Actions を使ってリリース作業を改善しました。 すぐにできるだろうと思っていたのですが、詰まることもあったため、備忘録も兼ねて記事にしました。 はじめに Chrome拡張機能のリリース作業で、以下のような課題がありました。 manifes…

CASLⅡで学ぶアセンブリ【入門】

はじめに こんにちは!iimonでフロントエンドエンジニアをしている「みよちゃん」です! 突然ですが自分はiimonで働きながら、通信制の大学(CS系)にも通っていて、今年から2年生になりました!その中で、現在アセンブリについて勉強しているのですが、普段の…

React × Viteでコードレビュー効率化のためのChrome拡張機能を作った話

はじめに こんにちは。 株式会社iimonでエンジニアをしている保田です。 今回は、自身がレビュワーに設定されているPRを一覧で確認することができるChrome拡張機能を開発したので、その内容についてお話ししたいと思います。 また、この拡張機能はGitHubでの…

OpenID Connectとは?OAuth2.0との違いを解説

こんにちは! 株式会社iimonでエンジニアをしている遠藤です。 今まで「OAuth2.0は“認可”のためのプロトコル」と理解していたつもりでしたが、ソーシャルログインなど“認証”の文脈で登場すると、「あれ?認証もできるの?」とモヤモヤすることがよくありまし…

Viteについてまとめました。

はじめに Viteとは 結局、何のために使うの? 実際にViteをつかってみる Vite+TypescriptでTodoList 従来のビルドツール(Webpackなど)の違い 開発ビルドと本番ビルドは何が違う?? 開発ビルド(run dev) 本番ビルド(run build) 本番ビルドの必要性 軽くプロ…

LGTM!

こんにちは まだ読んでいる最中ですが最近会社内の輪読会で読んでいる本の復習として記事をまとめさせていただきました! 著者はAdrienne BraganzaさんでタイトルはLooks Good to Meです 2025年4月現在は翻訳されていない本になります。早く日本語版読みたい…

色について気になったので少し調べてみました

お花見はしましたか? 桜は毎年見ても飽きないですね。 一般的に、桜といえば、淡いピンク色が綺麗なソメイヨシノを思い浮かべる方も多いのではないでしょうか。 私の地元ではカンヒザクラという桜が主流で、ソメイヨシノと比べるとめっちゃ濃いピンクです。…

新規サービス開発を担当した振り返り

■はじめに ■実装期間・開発人数・担当領域 ■新規開発する上で心がけたこと(やって良かったこと) ◆見積もりの粒度がちょうどよかった ◆「サービスの用途」や「ターゲット」を理解する ◆フローチャートを作成して、仕様の認識ズレを減らすように努めた ◆テス…

複数VPCのインターネット通信を1つのVPCに集約する構成をTerraformで書いてみた

はじめに こんにちは、iimonでエンジニアをしているhogeです。 現在、弊社のワークロードで使っているVPCの数は多くありませんが、将来的にVPC数が増えた場合、NAT GatewayやVPC Endpointの費用が大きくなる可能性があります。そこで、Transit Gatewayを利用…

jestでchrome extentionsのchrome storageのtestを書き方

こんにちは。iimonでエンジニアをしているhayashiと申します。 普段は主に拡張機能を開発しております。 今回はchrome拡張機能のlocalStorageのmock化について解説していきたいと思います。 今まで書いたjestのブログ記事の知識を前提に進めて行きますので、…

Docker基礎の基礎

こんにちは。 iimonでエンジニアをしているかねにわです。 業務の中でバックエンド側プロジェクトを実行する際など、時折Dockerに触れることがあるのですが、門外漢も甚だしく、おざなりな内容理解に留まっている状態でした。 ここで、以下の書籍が大変…

型をもう少し自在に使える様になりたい

はじめに こんにちは!木村です! 普段TypeScriptを使用しているのですが、型の理解がまだまだだなと感じるこの頃です。 基本的な型を意識して実装することはあれど、発展した型の指定が難しいなと思うことが多いので、一度きちんと勉強しようと思い今回の記…

react 無限スクロールを作ってみた

はじめに 無限スクロールとは react-windowとは react-window使ってみよ Profilerを使ってレンダリングの時間を計測してみた 最後に 参考文献 はじめに こんにちは、iimon新卒エンジニアのみやこしです、最近業務でreactを使っている最中にAPIから配列…

弊社、アジャイル開発だったの!?〜アジャイル再入門〜

こんにちは! 株式会社iimonでEMをやっている松田です。 最近、なんとなく弊社の求人内容を見る機会がありました。(強引な導入やな) 下記がその求人内容です。 仕事内容 プロジェクトマネージャーとして、「速いもんシリーズ」の新規プロダクト開発 や、既…

Plasmo Frameworkにご挨拶してきた件について

はじめに Let's play! ちなみに まとめ さいごに こんにちは! 株式会社iimonに所属しているエンジニアのひがです! これまで業務でWebフレームワークやライブラリに触る機会は多かったのですが、ふとした瞬間に「ブラウザ拡張機能開発のFWってどんな…

Jestについて調べて見ました!

はじめに! 基本構文 マッチャー関数について! モック関数について 参考 はじめに! iimonでエンジニアをしています。奥島です 今回、プロジェクトで Jest を使ってテストを書く機会がありましたが、基本的な実装方法について曖昧な部分があり。復習を兼ね…