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

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

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

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

SidekiqをRailsなしで使ってみる

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

digdag × Rubyで動的ワークフロー!

はじめに はじめましてイタンジ株式会社の藤井と申します、更新退去くんという管理会社向けのSaaSを開発しています。 先日開催されたトレジャーデータさま主催のテックトーク非常に楽しく拝見させていただきました。CDPというアプリケーションがどのように構…

筋トレ好きエンジニア達の合同トレーニング

はじめに 2020年新卒入社の渡辺です。入社後は親会社のGA technologiesでシステム開発に従事し、今年の8月からITANDIの電子契約くんというサービスの開発をしています。主にNode.jsとReactで開発をしています。 趣味はサウナで、推しサウナは池袋「かるまる…

コメントにRubyの型情報(RBS)を書けるgemを作った

はじめに イタンジ株式会社の稲垣です。ノマドクラウドという不動産仲介向けのSaaSを開発しています。 趣味はFF14で本当はFF14の記事を書こうと思ったのですが、つい先日gemを作るというネタになることをしてしまったので作ったgemについて書きます。 作った…

草加健康センターで、整ってきました。

はじめに イタンジ株式会社で、toC向けのサービス「OHEYAGO」の開発をしている田中です。 こちらの記事では、最近行ってきたおすすめのサウナについて書きたいと思います。 社会人になってからサウナにハマり、いろんなところに通うようになりました。ほとん…

ActiveRecordでRIGHT JOIN!!

はじめに はじめまして、ITANDI株式会社でWEBアプリケーションエンジニアをしている歌代と申します。 最近は納豆にハマっており、納豆ばっかり食べています。いつしか、私自身納豆になってしまうのではないかと心配する今日この頃です。 さて、本稿ではActiv…

Rubyでファーストクラスコレクションをベースに、検索結果をオブジェクト化する

はじめに こんにちは、ITANDI株式会社でITANDI BBの開発をしている渡邉(海)です。 新卒4年目で、今年の2月末までは、toC向けのお部屋探しサイトの OHEYAGOを担当していました。 今年の3月からITANDI BBでサーバサイドを中心に開発しています。 ITANDI BBと…

Railsのbenchmarkを使ってN+1問題を解決する

はじめに こんにちは、ITANDI株式会社でノマドクラウドの開発をしている河合です。前職では半導体業界の技術営業に従事しており、エンジニア未経験でITANDIに入社さていただきました。休日は、サウナと映画鑑賞(サスペンス系)を楽しんでいます。 ノマドクラ…

Docker DesktopからRancher Desktopに移行してみた

イタンジ株式会社で物件連動基盤の開発をしている山﨑です。 弊社の多くのエンジニアがMac上のコンテナで開発をしており、そのためのツールとしてDocker Desktopを利用してます。今まではとりあえずでDocker Desktopを利用していましたが、特にこだわりもな…

私の自転車旅

はじめに イタンジ株式会社の小林です。更新退去くんというサービスの開発を行っています。 この記事では、私の趣味の自転車旅について書いてみようと思います。 私は大学の頃に、自転車に乗って自分の足で旅をしてみたいと思い、ロードバイクに乗り始めまし…

ある日のキャンプ。大雨との攻防

はじめに イタンジ株式会社の安倍です。OHEYAGOというtoC向けサービスの開発を行っています。 今回は私の趣味であるキャンプについて記事を書かせていただきます。 イタンジのエンジニアは割とキャンパーが多く、一度連れてってもらったのをきっかけにソロで…

運用中のRailsアプリケーションからカラムを削除したい

イタンジ株式会社 野澤です。 普段Railsを使って開発をしています。 この記事では、Railsで扱っているカラムを削除する方法について紹介します。 なぜ書くか ・Railsからカラムを削除する機会があったため ・カラムを削除することがそうそうあるものではなく…

とある休日。ボードゲーム日記

はじめに イタンジ株式会社の土屋です。物件管理くんというサービスの開発を行っています。 さて、エンジニアブログとしてこの度筆を取らせていただくことになったのですが、投稿を改めて見返してみたところ、趣味カテゴリの記事がないことに気になりました…

Railsでログ出力を制御して、ログの量を削減する

はじめに イタンジ株式会社の開発の三島です。現在、「物件管理くん」というサービスの開発を担当しています。 本記事ではRailsアプリケーションのログに出力する内容を制御し、ログの量を削減する方法についてまとめます。 背景 イタンジではAWSを使ってお…

MySQLのTEXT型とVARCHAR型の文字の数え方を観察する

はじめに イタンジ株式会社の細川です。MySQLを利用したWEBサービスを開発しています。最近はトポロジカルソートでボジョレーヌーボーの序列が解けるのか気になっています。 今回は、TEXT型とVARCHAR型の格納できる文字数について調べたので書いていきます。…

Railsで送信メールの開封を検知する

はじめに イタンジ株式会社の赤松です。業者間サイトITANDI BBの開発を担当しています。 Railsでメールを送信して、そのメールが開封されたか知りたい時があるのではないでしょうか? 本記事では、送信メールの開封を検知する方法をご紹介します! 背景 現在…

物件検索基盤の一部をAWS DMSに移行する

はじめに イタンジ株式会社の奈良です。基盤チームの開発エンジニアとしてイタンジの複数のサービスが利用している物件検索基盤の開発と運用をしています。 本記事では物件検索基盤の一部をAWSのマネージドサービスに移行した経緯とその方法について紹介しよ…

Sidekiq でジョブの同時実行数を制限する

イタンジ株式会社の清水です。「申込受付くん」という賃貸物件への申込みをWEBで完結させるサービスを開発しており、最近は主にRailsを触っています。趣味はキャンプです。 さて、みなさまはRailsで非同期ジョブを実行する仕組みをどう構築されているでしょ…

AWS WAFを使ってリクエストサイズの制約を設定する

はじめに イタンジ株式会社の李です。SREとしてイタンジサービスの信頼性を向上するための施策やコスト最適化などをしています。 本記事ではAWSのWAFを使ってリクエストサイズの制約をかける方法を紹介しようと思います。 背景 RailsアプリケーションをECSサ…

ReduxのreducerコードをDRYに書く

イタンジ株式会社の中村です。エンジニア兼プロダクトマネージャーをしています。 最近はもっぱら仕様を書いたりフロントエンドを書いたり不動産会社様の業務の知見を深めたりしています。 今回は、Redux Toolkit を使いつつreducerのboilerplateを減らし、…

MySQL8 JSON SchemaでCHECK制約をつける

イタンジ株式会社でテックリードをしている大原です。普段は基盤系のプロダクト開発やSREを担当しています。 今回はMySQL8.0.17以降から使用できるJSON_SCHEMA_VALID関数と、この関数を使用したCHECK制約についてのお話をしようと思います。 また、弊社にはR…

イタンジエンジニアブログ再開します

イタンジ株式会社でVPoEをしています福崎です。 弊社でもエンジニアブログをやることになったので、目的とか背景を書いていきたいと思います。 背景 この施策はエンジニア採用に苦戦しているというところから始まっています。 現在2ヶ月に一人のペースで採用…

登壇レポート『日々変わりゆく技術トレンドの中でスタートアップ4社が技術選定について語ります』

はじめに イタンジのエンジニアリングマネージャーの田渕です。先日、『日々変わりゆく技術トレンドの中でスタートアップ4社が技術選定について語ります』に登壇したので、そのレポート記事として私がお話ししたことを書きたいと思います。 主にイタンジの技…

フロントエンドの変遷に見るイタンジの技術選定〜テンプレートエンジンからNext.jsに辿り着くまで〜

はじめに イタンジのエンジニアリングマネージャの田渕です! 先日、OHEYAGOのフロントエンドのNext.jsへのリプレイスが完了しました。振り返ってみると、リリース前はRailsのテンプレートエンジンを使っていたところから徐々に変更をしていき、最終的にはNe…

Ruby3の静的型検査を活用して、新規プロダクト開発の開発効率を向上させた話

はじめに イタンジのエンジニアリングマネージャの田渕です。 昨年末にリリースされたRuby3では、静的型検査の機能が追加されました。早速、実際の新規Railsプロダクトの開発に活用してみたところ、多くの利点を感じました。 現場で使われている例はまだ多く…

Amazon Aurora MySQLのSystem Databaseが破損していたので、AWSのサポートに直してもらった話

はじめに イタンジのエンジニアリングマネージャーの田渕です。 イタンジで採用を検討しているDebeziumという技術では、(使い方によっては)MySQLのSystem Databaseの一つであるmysql.hostテーブルというテーブルにアクセスする必要があります。先日、その検…

静的サイトジェネレータとして、Preactを実務で使ってみた

はじめに あけましておめでとうございます。イタンジのエンジニアリングマネージャー(以下EM)の田渕です。つい最近のことですが、EMという役職が新設され、そちらの役職に就任いたしました。 イタンジのEMに求められている役割の中で最も大きいものは、「全…

Akka(Scala)で書かれたレガシーシステムをRailsでリプレイスした話

前置き この記事では、AkkaとRails,もしくはScalaとRubyのどちらが優れている、などという話は出てきません。結論を先にも書いておくと、 フレームワークや言語に関わらず、テストや仕様書、CIなどがいかに整っているかが保守性に関わる 技術選定には、会社…