iimon TECH BLOG

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

「APIってなに?」から「実際に作ってみた!」

こんにちは!なかむらです。 普段はChrome拡張機能の「入力速いもん」フロント側の開発を行っています。 タスクでデータの流れを見る際にAPIに渡しているデータをみることが時々あるのですが、正直APIっていまいちピンと来ていませんでした。 なので、今回は…

エンジニアの作業効率化に役立ちそうなツールを紹介

はじめに こんにちは。 エンジニアの腰丸です。 普段皆さんは、どのようなツールを使っているでしょうか。 今回は、自分が数年間エンジニアとして業務をしていくなかで、 生産性の向上につながっていると感じたツール類を紹介します。 Raycast www.raycast.c…

JavaScriptでコードゴルフをやってみよう!

はじめに こんにちは。 エンジニアのデッサンです。 今日はコードゴルフを社内のみなさんと一緒にやってみようと思います。 コードゴルフとは まず最初にコードゴルフとは、 お題に対してできるだけ短いコードで実装することを目指すゲームです。 名前はゴル…

ブラウザのオブジェクトモデルの構築について

はじめに こんにちは。 株式会社iimonでフロントエンドを担当している保田です。 今回はブラウザがレンダリングする際に構築されるDOM(Document ObjectModel)とCSSOM(CSS Object Model)について書きました。 レンダリングとは? ブラウザに指定されたURL…

ドメイン名について

はじめに こんにちは。 株式会社iimonでバックエンドエンジニアをしている木暮です。 自身のキャリアを振り返るとコードを書くことは長年やってきたのですがインフラ周りやミドルウェア関連の知識がまだまだだなと感じていました。 CTOにオススメいただいたD…

コンピューターはどうやって計算しているの??

1.はじめに こんにちは!株式会社iimonでフロントエンドエンジニアをしてる「みよちゃん」と申します! チームメンバーの誰も「みよちゃん」と呼んでくれないので、そろそろ自称するのを辞めようかと悩んでいます。。 そんなことはさておき、今回のテーマは…

git mvの挙動を解説

■はじめに ■実施環境 ■実際の状況 ■なぜmvコマンドで差分が出なかったのか ■git mvの挙動 ■まとめ 参考資料 ■はじめに こんにちは。 株式会社iimonでエンジニアをしている遠藤です。 以前ファイル名の大文字/小文字を変更したかったので、mvコマンドで変更し…

ハードリンクとシンボリックリンクについて

はじめに リンク inode ファイルの情報について ハードリンク シンボリックリンク どちらをつかう?? 最後に はじめに iimonのフロントエンジニアをしてます齋藤です。 業務でシンボリックリンクを使うことがあり、今までできるだけlinuxの操作を避けてきた…

Webpackを使ってバンドルしてみる

■はじめに ■環境構築 ■前提 ■TypeScriptコンパイラーとESModuleを使ってコンパイルと実行してみる ■Webpackを使って、バンドルしてみる ◆Webpackで必要なライブラリのインストール ◆Webpackの設定 ■まとめ ■はじめに こんにちは。 株式会社iimonでフロントエ…

やっと触ってみるDeno

こんにちは。 エンジニアのタクシです。 今日はDenoについて。 Denoとは? 公式から抜粋 Deno (/ˈdiːnoʊ/, pronounced dee-no) is an open source JavaScript, TypeScript, and WebAssembly runtime with secure defaults and a great developer experience.…

目指せ!mockマスター!!!!!~jestのMockテストについて~

こんにちは。iimonでエンジニアをしている林と申します。 本記事はiimonアドベントカレンダ11日目の記事の続きで前回は基本のjestテストの方法を記載しましたが今回はその続きでmockテストについて記載していこうと思います。 mockの概要 mockとはソフトウェ…

SPAサイトをS3 + Cloudfrontにデプロイする方手順を解説する

はじめに こんにちは、インフラエンジニアのhogeです。 この記事では、AWSを使用してSPAアプリケーションを公開する手順を解説します。 はじめに 構成 使用しているサービスのざっくりとした説明 クライアントがアクセスし、レスポンスが返されるまでの流れ …

Nuxt2からReactに移行を決めた話

以下の理由でReactに移行を踏み切りました。 Nuxt3への移行とReactへの移行を比較したがNuxt3への移行コストが思った以上に高い 今後を考えた際の運用のし易さ(情報量の多さ、ライブラリ等)

列指向ストレージについて調べてみた

こんにちは、iimonでエンジニアをしている須藤です。 今回は、redshiftのdocを読んでいて、列指向ストレージという記述があり、行指向との違いが気になったので調べてみることにしました。 行指向と列指向(columnar)の比較 データの格納方式の違い(定義) デ…

シャローコピーとディープコピーの違い

はじめに 結論 オブジェクトのメモリ参照イメージ シャローコピー シャローコピーの使用方法 ディープコピー ディープコピーの使用方法 最後に 参考記事 はじめに こんにちは、株式会社iimonでエンジニアをしている中村です。 業務では、主にフロントエンド…

クラス継承とどう付き合えばよいかわからなくなったので、Goを書いてみた(Composition over inheritance)

はじめに iimonでエンジニアをしています。腰丸です。 突然ですが、Go言語がクラス継承をサポートしていないことをご存知でしょうか?(結構有名かもしれません) 言語として、意図的にクラス継承をサポートしていないって大丈夫なのか?という疑問もあります…

CSSの:has()疑似クラスの使い方

はじめに こんにちは。株式会社iimonでエンジニアをしている保田です。 今回は各ブラウザにサポートされたCSSの:has()疑似クラスについて解説をしていきます。 :has() :has()疑似クラスとは、セレクタ内に指定した要素が存在する場合にのみスタイルを適用す…

ターミナルでCSVを触ってみる

はじめに こんにちは。バックエンドエンジニアの木暮です。 前職では運用業務でサーバに入ってCUI環境で作業を行うことがありましたが、 現職はローカルでの開発業務がメインであまりそういったことを行う機会がありません。 しばらく触っていないと忘れてし…

iimonに入社して約1年半で取り組んだ主に技術面の事について

2022年5月にCTOとして入社してから約1年半、これまで取り組んで来たことを振り返ってみました!(もちろん僕だけで行った訳ではなくエンジニア全体で行った取り組みです) これまで整備されていなかったところを整備出来た事によってサービスの品質を上げた…

Elasticsearchについて

こんにちは、iimonのデッサンです。 本記事はiimonアドベントカレンダー25日目の記事となります。 メリークリスマス! 会社ではフロントエンドに挑戦させてもらっていますが、 関係のないElasticsearchについての記事になります。 Elasticserachとは 全文検…

JavaScriptでの小数点の計算で誤差が出る件

こんにちは、iimonの山根です。 本記事はiimonアドベントカレンダー24日目の記事となります。 クリぼっち確定です、喉を痛めたのが原因なので本当はクリぼっち回避できましたよ それでは本題に入ります。 背景 jsで10.12*10000が101199.99999999999になって…

VSCode おすすめ拡張機能と設定

こんにちは、iimonでフロントエンドエンジニアをしています。ほでぃーです。 本記事はiimonアドベントカレンダー23日目の記事となります。 はじめに 今回はフロントエンド開発をする上で、普段使用している拡張機能と設定を紹介します。 拡張機能 開発共通 …

MultipassでM1 Macに仮想環境を作ってみた

こんにちは。 iimonバックエンドエンジニアの木暮です。 最近はCounter-Strike2にハマっていてスキンまで買い始めました。 ちなみに本当に欲しいスキン*1はマーケットで5万円近くしたので諦めました。 自己紹介はこれくらいにして本題に移りたいと思います…

開発スピードを早めるDeveloperToolでのデバッグ

こんにちは、iimonフロントエンジニアのさいとーです。本記事はiimonアドベントカレンダー21日目の記事となります。 はじめに devtoolでデバッグをしてみる watch(監視) 条件付きブレークポイント Eventlistenerブレークポイント(click) Break on まとめ 最…

ecscheduleを触ってみる!(v0.11)

こんにちは、iimonでエンジニアをしています。須藤です。 本記事はiimonアドベントカレンダー20日目の記事となります。 業務中にbatch処理を追加する際、 サーバー側リポジトリのgithub actionsで、コンテナ実行コマンドの上書きと、batch job定義の登録をし…

ReactとWebAPIを取得して画面表示してみよう!!

こんにちは~~~~☆:.。. o(≧▽≦)o .。.:☆ 株式会社iimonでエンジニアをしている「マウンテンぴー」です!!!! 本記事は株式会社iimonアドベントカレンダー19日目です! 今回は「React」+「WebAPI」に関して調べてみました!! いちばんの目的は画像検索アプリ…

Django Adminでフィルター機能(SimpleListFilter)をAND検索にカスタマイズする方法について

こんにちは、iimonでサーバーサイドエンジニアをしています。hoge1です。 本記事はiimonアドベントカレンダー18日目の記事となります。 はじめに デフォルトだと検索はどうなる? AND検索ってこれでいけんじゃねぇ? 実際にAND検索を行った実装方法 最後に …

Django Ninjaを使ったDjangoのディレクトリ構成を考えたい

こんにちは、iimonでサーバーサイドエンジニアをしています。腰丸です。 本記事はiimonアドベントカレンダー17日目の記事となります。 はじめに iimonでは、主に「Django + DRF」を使ってAPIサーバーの実装をしています。DRF自体は高機能で、便利なライブラ…

CloudFrontのログを使って機械学習で異常検知を試してみた

こんにちは、CTOの森です。 本記事はiimonアドベントカレンダー16日目の記事となります。 普段機械学習を使うことは無いのですが、勉強も兼ねてCloudFrontのログを機械学習させてみたらどうなるのか試してみました。 検証した環境 ログデータの形式 使用した…

IndexedDBの基本を学ぶ

はじめに こんにちは!株式会社iimonでフロントエンドエンジニアをしている「みよちゃん」です! 本記事は株式会社iimonアドベントカレンダー15日目です! 弊社では不動産仲介業者向けのサービスを開発しています。 私が所属しているチームでは、chromeの拡…