Techouse Developers Blog

テックハウス開発者ブログ|マルチプロダクト型スタートアップ|エンジニアによる技術情報を発信|SaaS、求人プラットフォーム、DX推進

【Kaigi on Rails 2025 Day2】履歴 on Rails : Bitemporal Data Modelで実現する履歴管理

このセッションでは、引っ越しによる住所変更や所属部署の異動など、時間とともに変化する情報を正確に扱う履歴管理について、Bitemporal Data Modelと呼ばれるデータモデルと、その実装を支える自社開発のOSSであるactiverecord-bitemporalを中心に、実務で…

Kaigi on Rails 2025 Webアプリケーションにおける非同期ジョブの設計原則を振り返りつつ実践してみた

非同期ジョブとは、Webサーバーのリクエスト処理とは別のプロセスで実行される処理のことです。 通常のWebアプリケーションでは、ユーザーからのリクエストを受け取ったWebサーバーがその場で処理を行い、結果を返します(同期処理)。一方、非同期ジョブで…

大量データの重複検出をUnionFindと逆引きインデックスで劇的に高速化した話

先日、業務で重複判定を実装する機会がありました。その中でUnionFindと逆引きインデックスという技術を使ったのですが、実際に導入してみると非常に効果的だったので、今回は商品マスタの重複検出を例にこれらの技術を用いて重複検出の課題を解決した話をし…

Sidekiq serverを分離してRailsの非同期処理の遅延を解消した話

弊社では、ノンデスクワーカーに特化した求人サービスジョブハウスを運営しております。 ジョブハウスではサービスにご登録頂いた求職者の方に求人情報を直接お届けするために、メールマガジン (以降メルマガと呼称します) を配信しています。 メルマガの配…

ちょっとだけ、自慢させてください。うちのハイレベルなインターン生。【LTイベントレポート】

今、私たちの会社には、優秀で、面白く、そして何より技術が大好きなインターン生たちが集まってくれています。 先日、そんな彼らが主役のLT(ライトニングトーク)イベント「Techouse Engineer LT Night」を開催したのですが、その成長ぶりには目を見張るも…

AWS Summit Japan 2025 参加レポート

2025年6月25日、26日に開催された AWS Summit Japan 2025 に参加してきました! 弊社からは、総勢 15 名のエンジニアが参加しました! 日々の業務で利用している AWS の最新情報をキャッチアップするとともに、AWS コミュニティの熱気をダイレクトに体感して…

【Flutter】MethodChannelで実装するiOSアプリの漢字→かな自動入力機能

今回は、Flutterアプリケーションにおいてユーザーが漢字で姓名を入力した際に、自動的にふりがなを補完する機能を実装した際の技術的な取り組みについてご紹介します。 特に、FlutterのMethodChannelを活用してiOSネイティブAPIと連携し、オフラインで動作…

RubyKaigi 2025 - Toward Ractor local GC (Day3)

かつてシングルコアCPUが主流だった時代は、毎年のようにCPUのクロック周波数の向上やトランジスタ数の増加が続き、ソフトウェアはその性能向上の恩恵を容易に享受できていました。 しかし、物理的な限界からCPUのシングルコア性能の向上は頭打ちとなり、代…

RubyKaigi2025 - ZJIT: Building a Next Generation Ruby JIT

MaximeさんはShopifyのRuby開発チームのリーダーで、RubyKaigiでも2021年から毎回 JITコンパイラの進化について発表している、いわば常連です。 毎回YJIT に関連する心躍る発表を用意してくださるMaximeさんでしたが、今回はなんと新しいJITコンパイラ「ZJIT…

RubyKaigi 2025 - Porting PicoRuby to Another Microcontroller ESP32(Day3)

PicoRubyとは、組み込み環境でRubyを動かすために開発された、超軽量なRuby実装です。 通常のRuby(MRIやCRuby)は、PCやサーバのようなある程度リソースがある環境向けに作られています。一方、PicoRubyはマイコンのような小さな機械でも動作するように設計…