2024-01-01から1年間の記事一覧 - iimon TECH BLOG

iimon TECH BLOG

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

2024-01-01から1年間の記事一覧

spyOnでの監視やmockテスト解説

こんにちは。iimonでエンジニアをしている林と申します。 mockについての解説記事を過去3回に渡って書いてきましたが、 spyを最近多用しているのでspyについても纏めてみました。 今回の記事は前回までの記事の知識を前提に記載させて頂きます。 よろしくお…

React Mapメソッド使う際に引っかかった話

はじめに map()を使う際に起きた問題 React の再レンダリングの仕組み map()メソッドでkeyをindexにするのを避けたい まとめ 参考 はじめに こんにちは、iimon新卒エンジニアのみやこしです、最近業務でreactを使うことが多くなり、reactをお勉強中です…

お手軽にBasic認証のパスワードを自動更新する方法

はじめに はじめまして、SREチームのhogeです。 検証環境にBasic認証をかけて簡易的なアクセス制限をかけることがあるかと思います。 Basic認証とはいえ、以下のような理由からパスワードを定期的に更新することが望ましいです。 パスワードが長期間使い回さ…

再帰がわかればマージソートがわかった

1. はじめに 本記事は、私が学生時代にアルゴリズムを学ぶ上で苦手に感じてしまった原因である「マージソート」についてです! 【本記事でわかること】 再帰の仕組み マージソートで配列を並び替える方法‍‍ 【前回の記事】✨ JSでソートを知る ✨ 基本のソート…

○○に依存しつづけてはや6年〜Dependency Injection(依存性の注入)〜

はじめに エンジニアリング文脈での依存とは DIのメリット 依存性を注入する方法 DIコンテナとは 使いどころのヒント はじめに こんにちは! 株式会社iimonのエンジニアマネージャー、松田です。 突然ですが皆さん、何に”依存”してますか? 私は恥ずかしなが…

Sentryを触ってみる

こんにちは、iimonでエンジニアをしている須藤です。 最近フロントエンドを触る機会が多く、フロントエンドのパフォーマンス監視やエラー検出ができるツールがないか探していたところ、オープンソースでSentryというプラットフォームがあるようなので、今回…

TypeScriptでよく見る「?」「!」について調べてみた

□はじめに こんにちは!株式会社iimonでフロントエンドエンジニアを担当している「奥島さん」です! 今回は新機能追加やバグ修正の際に、非nullアサーション(!)とオプショナルチェイニング(?)の使い方に確信が持てなかったため、正しく使うために改めて…

「リファクタリング(第2版): 既存のコードを安全に改善する」を読んで

■ 前書き ■ リファクタリングとは? ■ なぜリファクタリングを行うのか? 【 実際に体験した問題点 】 【 リファクタリングのメリット 4つ 】 【 気をつけること 】 ■ 練習問題 1 ■ 練習問題 2 ■ 練習問題 3 ■ 感想 ■ 募集 ■ 参考 ■ 前書き こんにちは、…

まだESLintとPrettier使ってるの?(Biomeを試してみた!)

はじめに こんにちは! 株式会社iimonでエンジニアをしている「あめく」です。 今回は最近注目を集めてきてる?JavaScriptやTypeScript等で使用する静的解析とフォーマッターを備えたツール Biome を試してみたので紹介したいと思います! まず静的解析とは …

まだconstアサーション使ってないの?

□はじめに こんにちは!株式会社iimonでフロントエンドエンジニアを担当している「みよちゃん」です! 自分は普段の業務でTypeScriptを使用して自社プロダクトの機能追加やデバッグを行っております。新機能の追加や機能の拡張を実装するうえで、「変更する…

チームリーダーになって半年と少し経ったので振り返ってみた

はじめに そもそもリーダーの仕事って……何? メンバーコンディションの把握 チームで出た改善点の把握 とはいえチームの文化がわからん! チームで出た改善点の把握(本題) 振り返りフレームワークを用いて改善点を更に拾えるようにする 新規メンバーのアサ…

Pythonの型チェッカについてまとめる

はじめに そもそもPythonの型ヒントとは何か なぜ型チェッカが必要なのか mypy Pyre Pyright Pytype まとめ 参考文献 はじめに こんにちは! 株式会社iimonでエンジニアをしている遠藤です。 以前「ロバストPython 型チェックを効果的に導入するための考え方…

エラーハンドリングを書きたいあなたへ

はじめに エラーハンドリングとは エラーハンドリングの方式 エラーハンドリングの基本的なやり方 エラーハンドリングの動き(大域脱出) try~catchのメリット 非同期処理をtry~catchでエラーハンドリングしようとすると、、、 promiseでのエラーハンドリング …

モバイルアプリでソーシャルログインを実装

はじめに iimonでエンジニアをしています。腰丸です。 今回はソーシャルログインについて触れてみようと思います。 ソーシャルログインとは こういうやつです。 Googleとか、Facebookでログインできるよって画面があって、 ボタンを押すと、外部サービスのロ…

生成AIに触れてみよう

初めまして、エンジニアの井出です。 みなさん、生成AIに興味ありますか? 今回は、AWSの「PartyRock」を使って、作成AIに触れてみようと思います! PartyRockの概要 PartyRockとは、AWSの生成AIのBedrockを基盤としたアプリを作成するプラットフォームです…

package.jsonにおけるセマンティックバージョンの指定方法について

■はじめに ■セマンティックバージョンとは何か? ■セマンティックバージョンの基礎知識 ◆パッチバージョン:patch ◆マイナーバージョン:minor ◆メジャーバージョン:major ■なぜセマンティックバージョンを使うのか? ■環境構築 ■パッケージ情報を調べてみ…

Reactでstorybookのインタラクションテストをやってみる

こんにちは、iimonの検索チームでフロントエンドエンジニアを担当している保田です。今回は、ReactにStorybookを導入して、インタラクションテストを試してみたことを記事にしました。 Storybookとは? Storybookは、UIコンポーネントのカタログ作成・テスト…

JavaScriptにおける配列の破壊的操作とその代替策

はじめに スプレッド構文 配列の破壊的メソッド 破壊的操作の回避策 スプレッド構文の落とし穴!? まとめ 参考文献・記事 はじめに こんにちは! 6月よりiimonでフロントエンドエンジニアを担当しているかねにわと申します! これまでの現場ではあまり…

イベントハンドラーについてしらべる

はじめに こんにちは。新卒でエンジニアをしています、木村と申します。以前イベントリスナーのコピーを行いたい場面があり、結論「この環境ではできない」という形にはなったのですが、その過程で調べたことをまとめました。イベントはフロントエンドの開発…

Firestore REST APIをTypeScriptで使ってみた

こんにちは。バックエンドエンジニアの木暮です。 今回はfirestoreのREST APIを使う機会がありましたので TypeScriptでの使用方法を紹介させていただきます! 私の読解力の低さのせいだとは思いますが、なかなか公式ドキュメントを読んでもすんなりと動かす…

Calm Technologyを知る

こんにちは。iimonで主にフロントエンドを担当しているたくしです。 まだまだ暑い日々が続いてますね、、引き続き皆様ご自愛くださいませ。 最近特に色々調べ物をしたり、読み物があったりと情報に触れる機会を今までよりも意識的に増やしているのですが、世…

jsメモリ管理について

はじめに メモリとは何か ライフサイクル ガベージコレクションの仕組み 参照カウントのガベージコレクション マークアンドスイープアルゴリズム メモリリークの対処法 最後に 参考資料 はじめに こんにちは、iimon新卒エンジニアのみやこしです、今回…

JSでソートを知る

はじめに iimon新卒エンジニアのかとうです 大学時代苦手だった配列のソートにもう一度向き合うため、ソートについてまとめた記事です。まず、ソートについて理解して、JavaScriptでの実装を試みます。 ここでは、基本的なソートアルゴリズムについて…

情報セキュリティと暗号技術の機密性の概要

こんにちは。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に関して、重複を削除する以外の用途で使用したことがなく、いまいちピンときていませんでした。 最近個人…