物件基盤システムをRails 7.1にアップデートしました & ハマりポイントを共有します!

こんにちは! イタンジ株式会社でバックエンドエンジニアをしている藤崎 (https://x.com/aki19035vc) です。 イタンジの各種サービスの要である物件基盤システムを開発をしています。 Rails 7.2が今にも出そうな気配がしていたので、置いていかれないように…

Playwright による E2E テスト

はじめに イタンジ株式会社の加藤です。精算管理くんというプロダクトの開発をしています。 先月は週1でサバゲーにいっていたのでずっと筋肉痛が続いていました... 精算管理くんでは機能優先で実装を進めてきたため、利便性向上の画面改修を行うことが増えて…

Pydanticには暗黙的な型変換があると知った話

はじめに こんにちは、データコネクタチームの韓です。 業務ではPythonを主に利用してデータ基盤の開発を行っています。PythonのデータバリデーションにおいてはPydanticというライブラリが有名で、私の業務でもよく利用しています。今回の記事では、実際にP…

CircleCIでMinitestを並列にして実行時間を1/3に短縮した話

はじめに イタンジ株式会社の小林です。ノマドクラウドという不動産仲介向けのSaaSを開発しています。 ノマドクラウドではバックエンド開発にはRuby on Railsを採用し、CIツールとしてCircleCIを利用しています。これまでCIの高速化について真剣に取り組んだ…

新卒1年目がRailsのバージョンアップをやってみた

# はじめに イタンジ株式会社でITANDI BBの開発をしているVO HUU DUC(ボ ヒュ ドゥック)です。 背景 ITANDI BBプロダクトは主にRailsを使って開発しています。ITANDI BBはRails 6.0でしたが、バージョンのEOLに伴ってRails 6.1まで上げました。 やったこと …

エンジニアが気をつけたい思考のクセと育児の共通点を考えてみた

はじめに イタンジ株式会社の兼田です。 現在更新退去くんというプロダクトの開発をしていますが、イタンジにjoinしてから早4年半程経ちました。 私自身は2014年の新卒ですので、エンジニアになってからでいうともう間も無く10年が経とうとしています。 イタ…

Amazon RDS for MySQLのメジャーバージョンを5.7から8.0にアップグレードした

はじめに イタンジ株式会社の李です。SREとしてイタンジプロダクトの信頼性を高めたり開発の効率を向上させるなどの活動をしています。 直近Amazon RDS for MySQLのメジャーバージョンをアップグレードする機会があったので、今回はその手順と工夫したことな…

ApplicationMailerのdeliver_nowメソッドが返す例外をRSpec Mocksでテスト

はじめに こんにちは! イタンジ株式会社で更新退去くんというプロダクトを開発している沈です。 新卒一年目で学ぶことが多く、フロントエンド(Next.js)とバックエンド(Rails)両方の開発に携わり、システムがどのように動作するか、総合的に理解しています。…

Open APIとCommitteeを利用したRSpecによるAPIテスト

はじめに イタンジ株式会社で物件管理くんの開発をしている三島です。 物件管理くんでは、RailsによるAPIサーバを採用しており、テストにはRSpecを利用しています。 本記事ではOpen APIとCommitteeを使用し、RSpecでAPIテストを行う方法について記載します。…

私の考える良いRSpecの書き方

はじめに イタンジ株式会社の安倍です。今年7キロのダイエットに成功しました。 精算管理くん、家主管理くんの開発を行っています。 私は学生時代のインターンとイタンジにきて4つのプロダクトの開発に携わりました。その過程で自分のRailsのRSpecのコードの…

AWS RDSのデータベースエンジンをMySQLからAurora MySQLに変更したログ

はじめに イタンジ株式会社の稲垣です。ノマドクラウドという不動産仲介向けのSaaSを開発しています。 最近はACVIにハマっており、本当はACVIの記事を書こうと思ったのですが、先日表題のようなネタになることをしてしまったのでそれについて書きます。 弊社…

immersedで仮想作業空間にdiveしてみた

はじめに 150cmくらいの高さがあるフェイクグリーンを買いました、ぶっかくん開発チームの阿部です。 最近引越しして部屋が広くなったのでインテリアやIoTの沼にハマりかけています。 今回はVRアプリ immersedを紹介しようと思います。 immersedとは VR空間…

RBSとSteepに入門してみた

はじめに イタンジ株式会社で物件管理くんの開発をしている河合です。最近、ミニシアターで「怪物」という映画を観てきました。作品の世界観と映画館の雰囲気が相まって、映画に没入できとてもいい体験になりました。 物件管理くんでは、フロントはTypeScrip…

Vimのグローバルコマンドでコード編集を高速化

はじめに こんにちは! イタンジ株式会社で更新退去くんというプロダクトを開発している佐藤です。 最近Vimの魅力に取り憑かれてしまった一人です。 約3ヶ月前にVimに手を出して、もう後戻りできないくらい夢中になっています (VScode1年、RubyMine1年を経…

AWS JumpStart 2023 設計編に参加してきました!

はじめに ITANDI BBの開発をしている渡邉です。 8/8, 8/9に開催された「AWS JumpStart 2023 設計編」に参加したので体験レポートを書きたいと思います! aws.amazon.com イベント概要 大まかな流れは以下のとおりです。 事前学習 はじめてのアーキテクティ…

TypeScriptのstrict オプションは最初から有効にしたほうが良いという話

はじめに はじめまして、イタンジ株式会社で内装工事くんというプロダクトを開発している櫻井です。 最近見たおすすめの映画は「キャッチ・ミー・イフ・ユー・キャン」です。 早速ですが皆さん、TypeScriptは使っていますか? TypeScriptには型に関するいく…

AWS JumpStart 2023 運用編に参加してきました!

はじめに 5/17に開催された「AWS JumpStart 2023 運用編」に、新卒2年目エンジニアの佐藤と小山が参加したので、体験レポートを書きたいと思います! イベント概要 このプログラムは、AWS初学者のエンジニアを対象としており、AWSサービスの学習だけでなく、…

CircleCIのダイナミックコンフィグでできないこと

1. はじめに イタンジ株式会社の藤崎です。現在は、物件データ基盤の開発を担当しています。 先日、私達のチームが管理している4つのプロダクトのリポジトリを、コミット履歴を保持したま1つのリポジトリに統合する作業を行いました。 それぞれのプロダクト…

MySQLのALTER TABLEを監視するgemを作った話

1. はじめに イタンジ株式会社の藤崎です。現在は、物件データ基盤の開発を担当しています。 今回は、弊社のとあるRailsプロダクトで使用するために作った「MySQLのALTER TABLEを監視するgem」を紹介しようと思います。 ※ MySQL/MariaDBでのみ使用できます R…

Pydanticでフィールド間の値を検証する

はじめに こんにちは、物件連動チームのコヤマです。 私たちのシステムでは、物件データのETL処理にPydanticを活用しています。物件情報には多様な条件や規則が存在するため、単一項目の型定義だけでは表現しきれない場合があります。そのような場合に、@val…

asyncioの非同期処理を試す

こんにちは、物件連動チームのコヤマです。 本記事では、Pythonが提供する非同期処理ライブラリのasyncioを学習します。非同期処理を理解して使用できるようになることが目標です! 同期処理と非同期処理 同期処理 同期処理は、プログラムがある処理を実行し…

Headless CMS + Next.js + Vercel で2年間サイトを運用した感想

はじめに はじめまして、イタンジ株式会社で執行役員COOをしております永嶋です。 私は日頃から弊社エンジニアメンバーに「自分のプロダクトはいいぞ!楽しいぞ!」と言っており、私も個人で「Craft Beer Hunt」というクラフトビールのレビューサイトを運営…

acts_as_paranoidで論理削除しているモデルを物理削除に戻す

はじめに イタンジ株式会社の磯谷です。不動産賃貸仲介業向けのSaaSであるノマドクラウドの開発をしています。 今回は、Railsアプリケーションでacts_as_paranoidによって論理削除しているモデルを物理削除に戻すといったことを行ったので、それについて書い…

UMPC のすすめ

はじめに はじめまして、イタンジ株式会社で ITANDI BB の開発をしている加藤です。 休日は個人サービスの開発をしたり、ジムで筋トレしたり前職のエンジニアと Discord でボイスチャットをしながらゲームをしていることが多いです。 今回は最近はまっている…

Embulk入門!Filterプラグインのサンプルコードを見てみる

どうもこんにちは、イタンジ開発のコヤマです。物件連動チームに所属しています。 テックブログデビュー戦です。一発どうぞよろしくお願いいたします 背景 物件連動チームにはEmbulkを利用したプロダクトがあります。 私がチーム異動したのが最近であること…

自作キーボード始めてみませんか?

はじめに イタンジ株式会社の峯岸です。 現在、「申込受付くん」という賃貸物件への申込みをWEBで完結させるサービスを開発しています。 イタンジエンジニアとして、本当は有益な技術記事を書きたかったのですが、今回は僕の趣味の一つでもある「自作キーボ…

N+1問題を解決するActiveRecordのメソッドの使い分け

はじめに イタンジ株式会社の開発の越智です。現在、「物件管理くん」というサービスの開発を担当しています。 本記事ではRailsアプリケーションのN+1問題を解消する方法として挙げられる、ActiveRecordのメソッドについてまとめます。 N+1問題とは? N+1問…

データエンジニアリングで活用するPydantic

エンジニアの長部です。社内の分析用データ基盤構築の傍ら、物件連動基盤のリアーキテクチャや新規機能に関わる開発・設計に携わっています。 イタンジでは大量で多様な物件データを用いたETL処理を行っていますが、その信頼性向上のため行っている工夫の一…

ChatGPTにChrome拡張機能を作らせてみた

はじめに イタンジ株式会社の佐藤です。新卒で入社して、更新退去くんという管理会社向けのSasSを開発しています。 今回は最近流行りのChatGPTを使用して、Chrome拡張機能を作らせてみようかと思います! ChatGPTに関しては少し触ったくらいで、あまり使いこ…

SidekiqをRailsなしで使ってみる

はじめに イタンジ株式会社の藤崎です。現在は、物件データ基盤の開発を担当しています。 年末年始は、本を読んだり、AWS ECSで遊んでみたり、Gemのソースコードを読んでみたりと色々やっていました。 今回はその色々やった中でも簡単に紹介できそうな、「Si…