Techouse Developers Blog

https://developers.techouse.com/

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

フィード

記事のアイキャッチ画像
RubyKaigi 2026 - From Formal Specification to Property Based Test
Techouse Developers Blog
本記事では、RubyKaigi 2026 の Day2 で発表された Masato Ohba(@ohbarye) さんによるセッション「From Formal Specification to Property Based Test」について紹介させていただきます。このセッションは、@ohbarye さんが RubyKaigi 2024 で発表された「Unlocking Potential of Property Based Testing with Ractor」の続編にあたる内容です。形式仕様(Formal Specification)から、プロパティベーステスト(Property Based Testing)を自動生成するというテーマで、Ruby向けに開発された spec-to-pbt というツールが紹介されました。
11日前
記事のアイキャッチ画像
RubyKaigi 2026 - When Can You Skip a Test? Tracking Test Impact (Day1)
Techouse Developers Blog
As an engineer, waiting for CI is just part of my daily rhythm, but let me ask: how do you spend that time?This was exactly the problem Andrey Marchenko tackled at RubyKaigi 2026, in a talk called When Can You Skip a Test? Tracking Test Impact.
11日前
記事のアイキャッチ画像
RubyKaigi 2026 - The Less-Told Story of Socket Timeouts (Day3)
Techouse Developers Blog
本記事では、3 日目に行われた Misaki Shioi(しおい)(@coe401_)さんのセッションについて紹介させていただきます。タイトルは The Less-Told Story of Socket Timeouts です。普段、私たちが何気なく使っている Net::HTTP や Mechanize などの HTTP クライアントの裏側では、ソケットのタイムアウト機能が静かに動いています。本セッションでは、そのタイムアウト機能が Ruby 2.0 から 4.0 までの約 10 年をかけて、どのように進化し、現在に至ったのかという開発の歴史が語られました。
13日前
記事のアイキャッチ画像
RubyKaigi 2026 - Practical TypeProf: Lessons from Analyzing Optcarrot (Day2)
Techouse Developers Blog
本記事ではDay2に行われた @mametter さん(GitHub: @mame / X: @mametter)のセッションの内容をまとめます。タイトルは「Practical TypeProf: Lessons from Analyzing Optcarrot」です。本セッションでは、TypeProfを実際のコードベースであるOptcarrotに適用し、そこで得られた知見や改善点、そしてAI時代における型ツールの位置付けまでが幅広く語られました。型ツールの実プロジェクト適用に関心がある方、AI時代の型ツールの位置付けに興味がある方に特におすすめの内容です。
13日前
記事のアイキャッチ画像
RubyKaigi 2026 - Autoresearching Ruby Performance with LLMs
Techouse Developers Blog
本記事では、3 日目に行われた Nate Berkopec さんのセッションについてご紹介します。タイトルは「Autoresearching Ruby Performance with LLMs」です。Nate さんは Ruby on Rails のパフォーマンスコンサルティング企業 Speedshop のオーナーです。『The Complete Guide to Rails Performance』の著者であり、Web サーバー Puma のメンテナーの一人でもあります。Ruby のパフォーマンス改善の第一人者として知られる方です。
18日前
記事のアイキャッチ画像
RubyKaigi 2026 - The Journey of Box Building (Day1)
Techouse Developers Blog
この記事では、@tagomorisさんによる1日目のKeynoteセッション、"The Journey of Box Building" についてご紹介します。2025年12月にリリースされた Ruby 4.0.0 では、Ruby Box と ZJIT の2つの大きな機能をはじめ、多くの新機能が追加されました。そして、RubyKaigi 2026の幕開けは、そんな注目の新機能 Ruby Box についての基調講演からでした。
18日前
記事のアイキャッチ画像
RubyKaigi 2026 - Digits, Digits, and Digits (Day1)
Techouse Developers Blog
2026年4月22日から24日まで、北海道函館で開催された RubyKaigi 2026 に参加してきました。本日はそのなかで一番印象的だったセッション、tomoya ishida (tompng) さんの Digits, Digits, and Digits について紹介します。
18日前
記事のアイキャッチ画像
RubyKaigi 2026 - Kingdom of the Machine: The Tale of Operators and Commands (Day3)
Techouse Developers Blog
先日開催された RubyKaigi 2026 で、@yui_knk さんがセッションを発表されました。 本記事では「Kingdom of the Machine: The Tale of Operators and Commands」というその内容につい本セッションは、Ruby のパーサにまつわる議論に踏み込んだ内容です。 Ruby は長らくパーサジェネレータを使っていましたが、近年 Prism という手書きパーサが登場し、Ruby 3.4 以降のデフォルトになっています。 本セッションでは手書きパーサが内包する複雑性を一貫して主張しています。 て紹介します。
18日前
記事のアイキャッチ画像
RubyKaigi 2026 - Liberating Ruby's Parser from Lexer Hacks
Techouse Developers Blog
RubyKaigi 2026 の一日目のセッションから、ydah_ さんの「Liberating Ruby's Parser from Lexer Hacks」について内容を紹介します。
20日前
記事のアイキャッチ画像
RubyKaigi 2026 - 型注釈なしでNoMethodErrorを防ぐ — Method-Ray 実践レポート (Day2)
Techouse Developers Blog
私が所属するチームでは、「Ruby に型は必要か?」という議論が定期的に起きます。 返り値が何かわからないままコードを書いてバグになった経験や、型があれば防げたのではという場面を目にするたびに話題になります。一方で、RBS の記述コストやメンテナンス負荷がペイするのかという懸念も根強く、答えが出ないまま議論が続いています。そんな状況で参加した RubyKaigi 2026(2026年4月22日〜24日、函館)で、その問いの答えとなりそうなセッションに出会いました。@dak2 さん(GitHub: @dak2 / X: @_dak2_)による「No Types Needed, Just Callable Method Check」です。本記事では、セッションの内容を解説しつつ、紹介された gem Method-Ray を実際に動かした結果をレポートします。
20日前
記事のアイキャッチ画像
RubyKaigi 2026 - HTML-Aware ERB: The Path to Reactive Rendering (Day3)
Techouse Developers Blog
本記事では、3日目に行われたMarco Roth(@marcoroth)氏のセッション「HTML-Aware ERB: The Path to Reactive Rendering」を紹介します。 このセッションの主役は、Marco Roth氏が開発している、HTML+ERBに初めて文法を与えるパーサー「Herb」です。本記事ではまず、背景知識としてERBエンジンの内部で何が起きているかを確認し、Herbがそれをどう変えたかを整理します。 その上で、今回のセッションで発表されたProduction Reactivityの道筋と、すでに動き始めた実用的な成果を紹介します。
21日前
記事のアイキャッチ画像
RubyKaigi 2026 - Building the Next-Generation Garbage Collector in Ruby
Techouse Developers Blog
本記事では、RubyKaigi 2026 の 2 日目に行われた Peter Zhu(@peterzhu2118)さんのセッション Building the Next-Generation Garbage Collector in Ruby を紹介します。セッションの紹介へ入る前に、前提知識として Ruby のデフォルトの GC がどのような仕組みで動いているのか説明していきます。ここを理解しておくことで、Peter さんがなぜ去年や今年のセッションのような GC の改善をしているのかが理解できるようになります。
21日前
記事のアイキャッチ画像
RubyKaigi 2026 - Implementing Core Set (Day2)
Techouse Developers Blog
本記事では、RubyKaigi 2026 の Day2 に行われた Jeremy Evans さんのセッション「Implementing Core Set」をご紹介します。おなじみの Set クラスがコアクラスへ書き直されたと聞いて気になり、本セッションを聴きに行きました。セッションでは多くのことが語られましたが、本記事では 「単なる Hash のラッパー」から卒業し、コアクラスへと進化した Set の背景・実装に込められた意図・副次的に得られた利点をまとめていきます。
25日前
記事のアイキャッチ画像
RubyKaigi 2026 - Chasing Real-Time Observability for CRuby (Day2)
Techouse Developers Blog
本記事では、RubyKaigi 2026 の2日目に行われた Shintaro Otsuka(@White_Green2525)さんのセッションについて紹介します。CRuby の内部動作を3Dでリアルタイムに可視化するツール「rrtrace」についてのセッションになります。
25日前
記事のアイキャッチ画像
「合格率86%」インターン生がIPAの難関試験に受かりまくる会社の秘密
Techouse Developers Blog
先日2025年10月に行われたIPAの情報処理技術者試験では、私を含めTechouseから多くのインターン生が受験し、合格しました。特にデータベーススペシャリスト試験(以下、デスペ)は、合格率約18.4%(令和7年度実績)の難関試験ですが、今回はTechouseのインターン生から7名が受験し、そのうち6名が合格という結果になりました。 合格率はなんと約86% に達します。一般的に、デスペは実務経験が豊富なエンジニアでも難しいとされる資格試験です。 なぜ、実務を始めて日が浅いインターン生がこれほど高い確率で合格できたのか? その背景には、Techouseならではの学習を後押しする制度と、若手が主体となって作り上げた学びの環境がありました。 今回は、私たちが実際にどのような環境で学習を進めたのか、その裏側をご紹介します。
4ヶ月前
記事のアイキャッチ画像
「実装してみないと分からない」からの脱却。Kaigi on Rails 2025で学んだ「逆算」の設計術
Techouse Developers Blog
私が直面している失敗は、サービス全体に影響が及ぶ開発での出来事です。「影響範囲の調査」から始めた結果、**設計が抜け落ちた「いきなり実装」状態**に陥り、大量の考慮漏れを生み出してしまいました。まさにその渦中で聞いた、このセッションの学びをまとめます。
5ヶ月前
記事のアイキャッチ画像
Kaigi on Rails 2025 「多重範囲型」の話を振り返ってみた
Techouse Developers Blog
一般的な予約システムでは「10:00-11:00」「11:00-12:00」といった決まった枠を設けます。しかし、ユーザーが好きな時間を自由に予約できるシステムを作る場合、非常に複雑になり、予約可能時間を算出することが困難になります。
6ヶ月前
記事のアイキャッチ画像
Kaigi on Rails 2025 - Falconサーバの性能検証をして速さを実感してみた
Techouse Developers Blog
FalconとはRack互換のHTTPサーバです。 Fiberという軽量なスレッドでリクエストを処理することで、特にI/Oバウンドなアプリケーションにおいて優れたパフォーマンスを発揮します。本講演では「Falcon」というアプリケーションサーバのビルドやデプロイ、監視周りについての最新情報が共有されました。 本記事では、そもそもFiberとは何なのか?FalconサーバはなぜI/Oバウンドな処理において高速なのか?を説明しつつ、講演で示された内容を基にFalconの性能を検証してみました。
7ヶ月前
記事のアイキャッチ画像
KaigiOnRails-2025 day1 入門FormObjectの話を聞いてきた
Techouse Developers Blog
FormObjectってよく使われているけれど、概念や使いどころをうまく説明できる人って案外少ないんじゃないでしょうか。「なんとなく使っているけど、本当にここで使うべきなの?」 「他の人に説明を求められても、うまく答えられない。」 「Rails Wayとの使い分けがよくわからない。」そんな経験、ありませんか。
7ヶ月前
記事のアイキャッチ画像
Kaigi on Rails 2025 ActionViewからReActionViewへ - HTML構造を理解するERBエンジン
Techouse Developers Blog
ReActionView(Reactive ActionView)は、RailsのActionViewと互換性を保ちながら、現代のフロントエンド開発の要求に応える次世代のERBエンジンです。Marco Roth氏は、2025年を通じてRubyKaigi、RailsConf、Rails Worldと段階的にこのビジョンを発表してきました。Hotwire、Stimulus、Turboなどの登場により、HTMLテンプレートの重要性が再び高まっています。ReActionViewは、従来のActionViewが抱える課題を解決し、Railsのビューレイヤーに新しい可能性をもたらそうとする取り組みです。
7ヶ月前
記事のアイキャッチ画像
【Kaigi on Rails 2025 Day2】履歴 on Rails : Bitemporal Data Modelで実現する履歴管理
Techouse Developers Blog
このセッションでは、引っ越しによる住所変更や所属部署の異動など、時間とともに変化する情報を正確に扱う履歴管理について、Bitemporal Data Modelと呼ばれるデータモデルと、その実装を支える自社開発のOSSであるactiverecord-bitemporalを中心に、実務での試行錯誤を率直に共有してくださいました。本記事では、このセッションの内容を紹介していきます。
7ヶ月前
記事のアイキャッチ画像
Kaigi on Rails 2025 Webアプリケーションにおける非同期ジョブの設計原則を振り返りつつ実践してみた
Techouse Developers Blog
非同期ジョブとは、Webサーバーのリクエスト処理とは別のプロセスで実行される処理のことです。通常のWebアプリケーションでは、ユーザーからのリクエストを受け取ったWebサーバーがその場で処理を行い、結果を返します(同期処理)。一方、非同期ジョブでは、時間のかかる処理を「ジョブ」としてジョブキュー(実行待ちのジョブが並ぶ待ち行列)に登録(エンキュー)し、Webサーバーとは別のワーカープロセスで処理します。Webサーバーはジョブをキューに登録したらすぐにレスポンスを返すため、ユーザーを待たせずに済みます。
7ヶ月前
記事のアイキャッチ画像
大量データの重複検出をUnionFindと逆引きインデックスで劇的に高速化した話
Techouse Developers Blog
先日、業務で重複判定を実装する機会がありました。その中でUnionFindと逆引きインデックスという技術を使ったのですが、実際に導入してみると非常に効果的だったので、今回は商品マスタの重複検出を例にこれらの技術を用いて重複検出の課題を解決した話をします。
8ヶ月前
記事のアイキャッチ画像
Sidekiq serverを分離してRailsの非同期処理の遅延を解消した話
Techouse Developers Blog
弊社では、ノンデスクワーカーに特化した求人サービスジョブハウスを運営しております。 ジョブハウスではサービスにご登録頂いた求職者の方に求人情報を直接お届けするために、メールマガジン (以降メルマガと呼称します) を配信しています。 メルマガの配信は、Sidekiqを用いてジョブハウスのRailsアプリケーション内で行われています。 しかし、配信数が非常に多く、そのため配信処理負荷が非常に高いため、実行に時間がかかっておりました。 そのため他のジョブの実行が大きく遅延し、最新のデータがサービスに反映されるまでの時間が大幅に増大し、データの鮮度を著しく損なっておりました。
9ヶ月前
記事のアイキャッチ画像
ちょっとだけ、自慢させてください。うちのハイレベルなインターン生。【LTイベントレポート】
Techouse Developers Blog
今、私たちの会社には、優秀で、面白く、そして何より技術が大好きなインターン生たちが集まってくれています。先日、そんな彼らが主役のLT(ライトニングトーク)イベント「Techouse Engineer LT Night」を開催したのですが、その成長ぶりには目を見張るものがありました。今回は、そのイベントの様子をレポートします。
10ヶ月前
記事のアイキャッチ画像
AWS Summit Japan 2025 参加レポート
Techouse Developers Blog
2025年6月25日、26日に開催された AWS Summit Japan 2025 に参加してきました!弊社からは、総勢 15 名のエンジニアが参加しました!日々の業務で利用している AWS の最新情報をキャッチアップするとともに、AWS コミュニティの熱気をダイレクトに体感してきました。今回は特に印象に残ったセッションやブースを紹介します。
1年前
記事のアイキャッチ画像
【Flutter】MethodChannelで実装するiOSアプリの漢字→かな自動入力機能
Techouse Developers Blog
今回は、Flutterアプリケーションにおいてユーザーが漢字で姓名を入力した際に、自動的にふりがなを補完する機能を実装した際の技術的な取り組みについてご紹介します。特に、FlutterのMethodChannelを活用してiOSネイティブAPIと連携し、オフラインで動作する漢字→ひらがな変換機能を実現した過程を詳しく解説いたします。
1年前
記事のアイキャッチ画像
RubyKaigi 2025 - Toward Ractor local GC (Day3)
Techouse Developers Blog
かつてシングルコアCPUが主流だった時代は、毎年のようにCPUのクロック周波数の向上やトランジスタ数の増加が続き、ソフトウェアはその性能向上の恩恵を容易に享受できていました。しかし、物理的な限界からCPUのシングルコア性能の向上は頭打ちとなり、代わって複数のコアを搭載するマルチコアCPUが主流となりました。このマルチコアアーキテクチャの恩恵を最大限に引き出すためには、並行・並列処理を実現する必要があります。直列 (Serial) と並行 (Concurrent)、並列 (Parallel) の違いを図に表すと、以下のようになります。
1年前
記事のアイキャッチ画像
RubyKaigi2025 - ZJIT: Building a Next Generation Ruby JIT
Techouse Developers Blog
MaximeさんはShopifyのRuby開発チームのリーダーで、RubyKaigiでも2021年から毎回 JITコンパイラの進化について発表している、いわば常連です。 毎回YJIT に関連する心躍る発表を用意してくださるMaximeさんでしたが、今回はなんと新しいJITコンパイラ「ZJIT」について発表されました。スケジュール一覧の中でも「ZJIT」のキーワードはひときわ目を引き、開催前からとても楽しみにしていました。この記事ではセッションの内容に沿って、RubyにおけるJITコンパイラのこれまでについての振り返りから始め、ZJITの開発背景や技術的詳細、そして今後の期待される展開などを紹介します。
1年前
記事のアイキャッチ画像
RubyKaigi 2025 - Porting PicoRuby to Another Microcontroller ESP32(Day3)
Techouse Developers Blog
PicoRubyとは、組み込み環境でRubyを動かすために開発された、超軽量なRuby実装です。通常のRuby(MRIやCRuby)は、PCやサーバのようなある程度リソースがある環境向けに作られています。一方、PicoRubyはマイコンのような小さな機械でも動作するように設計されています。
1年前