iimon TECH BLOG

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

OpenSearch(ElasticSearch) + Lambdaで物件検索APIを作る

はじめに こんにちはiimonでエンジニアをしているhogeです。 最近ElasticSearchを勉強する機会がありました。アウトプットのためにElasticSearchに関する基礎的な知識を学びながら、OpenSearchとLambdaで物件検索APIを作ろうと思います。 AWSリソースは検証…

React hooksのuseStateについて調べてみた

■はじめに こんにちはiimonでフロントエンドエンジニアをしている「奥島」です! ■Reactとは Reactとは:UI 構成開発のためのライブラリだよ! コンポーネントを組み合わせてWEB画面を作っていくのが特徴だよ!! コンポーネント:Reactで画面に表示される部…

Difyを使ってみる

こんにちは、iimonでエンジニアをしている須藤です。 今回はRAGを試してみたいと思って調べていたところ、Difyというサービスを利用するとGUI上から簡単に構築できるらしいので、実際にRAGを利用したチャットボットを構築してみました Dify(ディファイ)の概…

React初心者向け!不動産広告を作成してみる

■はじめに ■Reactとは何か? ■環境構築 ◆リポジトリをCloneする ■解説 ◆Reactの初期化 ◆App.jsxの説明 ◆Form.jsxの説明 ◆Advertisement.jsxの説明 ◆Text.jsxの説明 ◆Pictures.jsxの説明 ■まとめ ■はじめに こんにちは! 株式会社iimonでフロントエンドを担当…

Chrome拡張機能をウェブストアへアップロードする際Firebase認証が原因でリジェクトされた話

はじめに なぜリジェクトされたのか 対応方法 つまずいたポイント (余談)パッケージ内のリモートでホストされるコードがなくなっているのか確認 まとめ はじめに こんにちは! 株式会社iimonでエンジニアをしている「あめく」です。 今回、Firebaseの認証パ…

集合論に学ぶJavaScriptのSet

はじめに こんにちはiimonでフロントエンドエンジニアをしている「みよちゃん」です! 普段業務でTypeScriptを使用していますが、皆さんもご存じのSetに関して、重複を削除する以外の用途で使用したことがなく、いまいちピンときていませんでした。 最近個人…

結局「質とスピード」、大事なのはどっちやねん?

はじめに 成功体験 もうひとつの成功体験 悩みの答え合わせ 保守性を高めるための読書ガイド 理解容易性 変更容易性 テスト容易性 宣伝コーナー はじめに こんにちは、8月からマネージャーにジョブチェンジ(?)したマツダです。 今日は敬愛する t-wada さ…

ローカル環境でDynamoDBを体験してみる

こんにちは! 株式会社iimonでエンジニアをしている遠藤です。 NoSQLデータベースってどんなタイプのものがあって、それぞれどういう特徴があるのか、概念的なことは何となくわかってきたような気がする(?)けど、実際にNoSQLのデータベースを使用して開発す…

えぇ!?Reactをchrome拡張機能に載せてもいいんですか!?

はじめに というか実現できるの? chrome拡張機能について マニフェスト サービスワーカー コンテンツスクリプト ツールバーアクション とりあえず先人の知恵を借りながら作ってみる。 カスタムについて まとめ 参考URL 宣伝コーナー はじめに 今年の夏も暑…

abstractが気になっている

はじめに abstract classとはなにか 抽象クラスを使うメリット 実際にabstractを使ってみる abstractの欠点 abstractとinterface 終わりに はじめに iimonでフロントエンジニアをしてますさいとうです。 今回は業務で見かけたabstract について気になったの…

Webアプリのデバッグのをどうやってしているのかという話

はじめに iimonでサーバーサイドエンジニアをしている腰丸です。皆さんはアプリケーションのデバッグをどのように行っているでしょうか? 今回は、簡単なログイン認証機能のコードをもとに、自分がどのような手順でデバッグ作業を行っているかをご紹介します…

Chrome拡張機能のwebRequestAPIを使って通信を確認してみる

■はじめに ■ChromeExtensionAPIとは何か? ■環境構築 ◆リポジトリをCloneする ◆package.jsonの説明 ◆webpack.config.jsの説明 ◆manifest.jsonの説明 ◆ChromeExtensionのインストール ■content_script.jsとbackground.jsが正しく動作しているか確認 ◆content_…

React と Vue を基本から調べてみる

こんにちは!iimon に 4 月に新卒で入社した木村と申します!今回は、React と Vue について、調べたことをまとめてみました。普段業務で使用しているのは React のため、Vue についての解像度が低いかもしれませんがご容赦ください。 React React はMeta(旧…

FetchとAxiosの比較

はじめに こんにちはいでです。 この記事では、JavaScriptでHTTPリクエストを行う際の主要な手段であるaxiosとfetchについて比較し、違いやそれぞれのメリットデメリットを説明したいと思います。 fetch とは fetchは、ChromeやFirefoxモダンブラウザに標準…

vue双方向データバインディングを実現する仕組み

はじめに object.defineproperty() vue双方向データバインディングを実現する原理 まとめ 最後に はじめに はじめまして、株式会社iimonに4月入社した、フロントエンジニア担当しているみやこしです みなさんはvueを触るときになぜデータに入力した値がリア…

useReducerの使い方

useReducerとは? useReducerは、Reactのフックの一つで、現在の状態 (state) とアクション (action) を受け取って新しい状態を返すリデューサー関数を使用します。これにより、状態管理のロジックを外部に持たせることができ、テストがしやすくなるという利…

DNSの名前解決について

はじめに こんにちは。 株式会社iimonでバックエンドエンジニアをしている木暮です。 前回の記事はドメイン名についてまとめさせていただきました。 今回はDNSの名前解決の基本的な動作についてまとめてさせていただきます。 名前解決時に登場する概念 まず…

fetchを中断したい

目次 はじめに fetchとは fetchを中止する方法 どんなときにfetchを中止する? AbortController AbortSignal fetchを中止する流れ ユーザーによる停止 タイムアウトによる停止 さいごに 参考 はじめに はじめまして、株式会社iimonに新卒入社した、フロント…

Firestoreで複合インデックスを作成する方法

こんにちは エンジニアのタクシです。 Firestoreの複合インデックスの作成方法、関連情報について調査していたのでそのメモをまとめた記事になります。 (今回はインデックスについてのお話のみなので、Firebase・Firestoreの細かい部分などかなり詳細省いて…

Google Chrome のデベロッパーツール【Network編】について調べてみました。

二度目まして! 株式会社iimonでエンジニアをしている奥島です。 今回は普段使うデベロッパーツールの【Network】について調べてみました。 はじめに Chrome デベロッパー ツールとは Google Chromeにデフォルトで搭載されている開発者向けの検証ツールにな…

Jest Mockマスターへの道(番外編) グローバルオブジェクトのmock化

こんにちは。iimonでエンジニアをしている林と申します。 前回はjestのmockの概要やマッチャーや外部APIを叩く処理のmock化をハンズオン形式で紹介しましたが、今回は番外編としてグローバルオブジェクトのmock化についてlocalStorageのmock化を例にして解説…

オブジェクト指向における再利用のためのデザインパターン 

はじめに デザインパターンとは? Creational(生成に関するパターン) シングルトン(Singleton) ファクトリーメソッド(Factory Method) ビルダー(Builder) Structural(構造に関するパターン) アダプター(Adapter) デコレーター(Decorator) ファ…

Amazon Verified Permissionsで、API Gateway + Cognito構成のAPIの認可設定をする

はじめに こんにちは、iimonでエンジニアをしているhogeです。 普段通り生活していたら、ふと思い立ったかのように API Gateway + Cognito構成のサーバレスのアプリケーションに認可を組み込む方法が気になることってありますよね。 AWSの最近のアップデート…

今更学ぶFormData〜multipart/form-dataを添えて〜

1. はじめに こんにちはiimonでフロントエンドエンジニアを担当している「みよちゃん」です! 業務中にAPIにリクエストを送信することが多々あり、その際にFormDataを使用しているのですが、お恥ずかしながらその正体をちゃんと理解しないまま使用していまし…

改善チームのエンジニアとして意識していること

背景 ️ 今やっていること 意識していること 運用チームとのコミュニケーション 技術調査結果の共有はするが提案はしない ‍♂️ 運用チームごとの開発の進め方にしたがう Reviewerになってもらう運用チームのメンバーの負担を考える Reviewerになった時に…

JavaScript 従来の関数とアロー関数の違い

1. コンストラクタとしての使用 2. thisのバインディング 3. superのバインディング 4. メソッドとしての使用 5. argumentsの有無 6. prototypeプロパティの有無 7. call、apply、bind の使用 8. ジェネレータとしての使用 まとめ こんにちは! 株式会社iimo…

ベクトルデータベースについて調べてみた

こんにちは、iimonでエンジニアをしている須藤です。 今回は、AWSのdocumentを読んでいて、ベクターストアという記述があり気になったので調べてみました。 ベクトルデータベースとは ベクトル化について ベクトル化に利用するモデルと概要 ドキュメントベー…

実録!別れて幸せになる方法(あくまでもコンポーネント設計の話

はじめに こんにちは!4月にジョインしましたマツダと申します。 これまではどちらかというとバックエンドの開発を主1にやっていたのですが、 iimonに入ってからはフロント中心に担当させていただいています。 これまではTDD(テスト駆動開発)での開発経験…

VueRouterを使ったSPAに触れてみる

■はじめに ■前提 ■SPAのメリット・デメリット ◆メリット ◆デメリット ■環境構築 ■VueCLIで作られた雛形のコードを確認してみる ■通信の中身を見てみる ■動的ページを追加してみる ◆ステップ1:viewファイルを作成 ◆src/App.vueに一覧ページへ遷移するリンク…

TypeScriptのclassってなんだ?

はじめに はじめまして!株式会社iimonにてフロントエンドエンジニアをしております、ガジェットおじさんです! 業務では主にTypeScriptの型と睨めっこをしています! TypeScript書いてますか?静的型付け言語はいいぞ! 文字通り型をつけられるので事故が減…