2023-01-01から1年間の記事一覧
こんにちわ、iimonでバックエンドを担当している玉山です。 今回は、設計、実装する上で案外知っていると便利なオーダーの紹介です。 オーダーの概念を知っていれば実装前にどのくらいのオーダーになるアルゴリズムを作らないといけないかが分かり実装の助け…
初めに こんにちは、今回で3回目のブログ更新となります。 株式会社iimonでエンジニアをしている林です。 普段は、弊社プロダクトの拡張アプリの開発をしています。 本日はPromiseの静的メソッドついて解説していきたいと思います。 promiseの知識がある事を…
背景 私が以前書いた記事でこの正規表現について勉強する為です。 まずuフラグについて理解する必要があるのでそちらを書きます。 u (unicode) フラグ ES2015 に u (unicode) フラグが導入され、コードポイント単位で正規表現を扱えるようになった。 コード…
初めまして株式会社iimonの山根です。 背景 弊社のnuxtプロジェクトの構成は以下です nuxt v2.15 node v16 yarn Node.jsでv16がEOLになった為、18にバージョンアップする必要が出た。 Nuxt2とNode.js v18のバージョンアップ対応について調査 Nuxt2のプロジェ…
初めまして株式会社iimonの山根です。 目次 バージョンアップが必要な理由 バージョンアップのタイミング 1. バージョンアップが必要な理由 バグ、セキュリティリスク、機能の拡張の為 バージョンアップする必要が来た時に蓄積された変更が多すぎると検証に…
初めまして株式会社iimonの山根です。 背景 Node.js v20が10/24にLTSになる為 目次 そもそもNode.jsとは Node.jsのMajor番号とリリーススケジュール Node.js v20の主なChangeLog その他参考 感想 1. そもそもNode.jsとは https://nodejs.org/en Node.js® is …
トレースとは・・・3つの主要な可観測性の柱の1つとされていて、複数のコンポーネントにまたがるリクエストの流れや処理を把握するために使用されるもの まずは全体像を掴むために他の2つのテレメトリタイプ(送信収集されるデータのタイプ)も含めて簡単なお…
はじめに はじめまして。iimonのフロントエンドを担当している保田(ほだ)と申します。 CSR、SSR、SSG、ISRという用語はよく目にしますが、これまでなんとなくでしか理解できていませんでした。 そこで、この機会に、それぞれがどのようなメリット・デメリ…
はじめに はじめまして。株式会社iimonで主にバックエンドを担当している木暮です。 業務の中でスプレッドシートにまとめたデータからJsonファイルをダウンロードできる機能を作りました。スプレッドシートに対してGoogle Apps Scriptを通して処理を行ったの…
▶︎はじめに 株式会社iimonのフロントエンジニア川口と申します。 弊社ではプロダクトの一環として、不動産仲介業者向けの拡張機能開発を行っています。 今回開発中にCSPによるエラーにぶつかることがありましたので、調べたことをまとめたいと思います。 ▶︎C…
こんにちは! 株式会社iimonでエンジニアをしている遠藤です。 最近業務でReactを触るので、再レンダリングについて勉強したことをアウトプットしようと思い記事にしました。 ハンズオンで挙動を試したい場合はcodeSandboxでNew sandbox > React Typescript…
iimonでフロントエンジニアを担当している齋藤です。 実務で誤った修正をpushしてしまい、慣れてないgit revertを使用したので 自分用の備忘録として残します ■git revertとは ■どのような場合に使う? ■メリット、デメリット メリット デメリット ■git rese…
■ はじめに ■ curlコマンドとは? ■ curlコマンドが使えるか確認 ■ curlの基本の使い方(GETリクエスト) ■ curlコマンドにオプションをつけて実行してみる ◆ -Xオプションで、リクエストメソッドを指定する ◆ -Hでパラメータを追加 ◆ -dオプションでPOSTリ…
iimonで主にフロントエンドを担当している澤岻(たくし)です。 最近開発を進めているプロダクトでFirebaseを利用していてテストを書き始めたのですが、 テストについて記事を書こう! と思ったところ、そもそものデータ構造やセキュリティルールなどについ…
こんにちは。株式会社iimonでバックエンドエンジニアを担当している玉山です。 今回はDB(データベース)の正規化についてです。 それでは早速見ていきましょう。 目次 正規化とは データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計す…
初めに こんにちは、今回で2回目のブログ更新となります。 株式会社iimonでエンジニアをしている林です。 普段は、弊社プロダクトの拡張アプリの開発をしています。 本日はイベント伝播の仕組みについて解説していきたいと思います。 イベント伝播とは ウェ…
AWSとは?☁️ クラウドコンピューティングを使ったサービス クラウドコンピューティングとは?? 手元に1台のPCとインターネットに接続できる環境さえあれば、 サーバーや大容量のストレージ、高速なデータベースなどを必要な分だけ利用できる 今回は数あるサ…
Firewallのおさらい Firewallとは・・・不正なアクセスを防ぐ壁のような役割をもったシステム ネットワークの境界におく ファイアウォールには、以下のような形態があります。 パケットフィルタ(Packet Filter): 1989年に登場。パケットは送信情報の最小単…
はじめに はじめまして。株式会社iimonでフロントエンドエンジニアをしている川口と申します。私はiimonに入社して3か月目になりますが、業務内にCSRF-TOKENを扱う機会が何度かありました。CSRF-TOKENが何なのか何となくは分かっていながらも、概要しか理解…
初めに 初めまして! 株式会社iimonでエンジニアをしている遠藤です。 今回はDjango及びDRFでAPIを生成する流れを理解するために、図書館の本を管理する簡単なAPIを実装できればと思います。 DRFとは DRF(Django REST Framework)は、DjangoでRESTful APIを作…
はじめに 背景 オプショナルチェーン(optional chaining)とは 短絡評価 最後に はじめに iimonフロントエンジニアの齋藤です。 業務をやっていく中でオプショナルチェーンを使う機会が多いため、オプショナルチェーンの色々を調べてみました。 背景 業務でVa…
■ はじめに ■ オブジェクトを生成する方法 ■ コンストラクタ関数って何? ■ プロトタイプの特徴 ◆ コンストラクタ関数を定義すると勝手にprototypeプロパティが定義される ◆ インスタンス化するとprotptypeプロパティへの参照がprotoにコピーされる ■ クラス…
初めに はじめまして! 株式会社iimonでエンジニアをしている澤岻(たくし)です。 普段は、フロントエンド開発等々をしています。 iimonでは今までVueを使ったフロントエンド開発が多かったのですが、 最近Reactでの開発も少しずつ入ってきたので社内の皆さ…
はじめまして。株式会社iimonでバックエンドエンジニアを担当している玉山です。 では早速始めていきます。 前置き 今回はiimonで使っているリンターとフォーマッターをgitの機能でcommitをフックし、レビューのコストを下げてしまおうというお話です。 git…
初めに はじめまして! 株式会社iimonでフロントエンドエンジニアをしている林です。 普段は、弊社プロダクトの拡張アプリの開発をしています。 本日はAjaxについて解説していきたいと思います。 Ajaxとは? 1. 概要 Ajaxとは、Asynchronous JavaScript + XM…
初めに Viteとは? 1. 概要 2. なぜ速いのか 3. 移行に踏み切った理由 Viteへの移行作業 1. 必要なdev dependencyをインストール 2. vite.config.tsを作成 3. package.jsonのscriptコマンドを編集 4. tsconfig.json編集 5. 不要なconfigファイルとdev depend…
初めに 初めまして! 株式会社iimonでエンジニアをしている黒田です。 今回は、chrome拡張アプリを作ろうと思います。 普段、拡張機能アプリを開発しているのですが、一から作ったことはなく、これを機会に挑戦してみようと思いました!使わない日はないくら…
恥ずかしながら数値型の時にtoString()でエラーになる時があることを把握してませんでした。 株式会社iimon 山根大生です! その内容についてまとめます。 目次 toString()とは 1.toString()がSyntaxErrorになる原因 回避策 1.toString()とは オブジェクトの…
導入したきっかけ 元々terraform applyはgithub actionsで実行していて、 その場合、pull requestをmargeしてから、applyが実行されるので、 applyが失敗したときにmarge元branchが汚れる、再度pull requestを作るのは手間という問題があり、それらを解決す…
s3://<バケット名>/year=<年>/month=<月>/day=<日> の様にHive形式でyear/month/dayでパーティションを切っているデータに対してAthenaで月を跨いだ日付の範囲検索が出来る様にしました。 元々はこの様な動的に生成するクエリを書いていました( {{ y.start …