40分

モノリスMLの分割とライブラリ負債解消: Launchableで行った実践的アプローチ

yoshiori Yoshiori

CloudBees傘下となった Launchable は、スタートアップとして5年間、高速な開発サイクルを優先し、モノリシックなアーキテクチャで成長してきました。しかし、機械学習部分が他のコンポーネントと密結合していたせいで、Javaセキュリティ脆弱性への対応や最新機能の取り込みに必要なライブラリのアップデートが極めて困難になってしまいました。 特に、JavaEEからJakarta EEへのパッケージ変更に伴う広範囲なコード修正、SparkとScalaのバージョン制約によるJavaバージョンアップの遅延、そしてEMR環境特有の依存関係が、開発速度の大きな足かせとなっていました。

このセッションでは、そのようなモノリスの現実としっかり向き合い、インターネットフェイシングなサービスと、計算資源を多用する機械学習の推論プロセスを無停止で完全に分離した道のりをお話しします。 この分離によって、外部に公開されたサービスはSparkやEMRの依存性から解放され、より迅速なライブラリのアップデートが可能に。 さらに、推論プロセスの独立により、リソース配分も最適化でき、将来的にPythonなど他の言語での実装にも道が拓けました。

なぜここまでライブラリ更新が大変だったのか、その技術的な背景から、直面した具体的な課題、そしてそれらを乗り越えるためにどのようなアーキテクチャを選び、どのようなステップで移行したのか、得られた教訓までをガッツリ解説します。この話は、特にこれからマイクロサービス化やシステムの分割を考えている、成長期のスタートアップエンジニアにとって、きっと役立つヒントがたくさん見つかるはずです。

40分

職人技で紐解くモバイルUIインタラクション:ニッチな実装課題とエンジニアリングの挑戦

fumiyasac 酒井文也

モバイルアプリのUIは、ユーザーの直感と期待に応えるインタラクションデザインが核となります。しかし、単なるデザインガイドラインの遵守に留まらない、特定のOSバージョンでのUI挙動の差異、複雑なジェスチャーの実装における落とし穴、あるいはUIコンポーネントの微細なパフォーマンス最適化など、細部に宿る課題が多数存在します。

本セッションでは、ユーザーの心理的側面(例: なぜ特定のジェスチャーが自然に感じるのか)をデザイン理論から掘り下げつつ、それをSwiftUI/Jetpack ComposeのGesturesやUIKit/Android ViewのTouchEventといった具体的なUI実装へどう落とし込むかを解説します。複雑なジェスチャーの認識アルゴリズム、複数のジェスチャー間の競合解決、そして洗練されたアニメーションとの連携など、デザイナーの意図を正確にコードに変換するためのエンジニアリング的な挑戦と、その過程で得られた「職人技」とも呼べる知見を共有します。

具体的なプログラムの書き方、アプリの動きを詳細に分析する性能測定の結果、そして問題を見つけて修正するデバッグの手法を交えながら、これらのUI実装に関する考察と実践的なアプローチをご紹介します。これにより、モバイルアプリ開発者が日々直面するであろうUI実装の課題に対し、より質の高い、使い心地の良いユーザー体験を作り出すための一助となれば幸いです。

40分

Build Your Own Tiny Linker

ゴリラ

概要

本日のウェブシステム開発では、普段何気なく使っているプログラミング言語がコンパイルする際に、リンカーというプログラムが実行ファイルを作っています。
このリンカーは非常に重要な仕事をしているにもかかわらず、ほとんど目立つこともなく知らない人もいるかも知れません。

そこで本セッションでは、実際に動く最小限のリンカーをRustで実装して得られた知見を元に、リンカーの仕組みを解説します。
「こういう仕組みだったのか!」という驚きと、「自分でも作れそう」という興奮を持ち帰っていただけるセッションです。

このトークで得られるもの

  • リンカーとローダーの役割と協調動作の理解
  • ELFフォーマットの基礎知識
  • シンボル解決とリロケーションの仕組み
  • 静的リンクと動的リンクの違いと実装方法

対象者

  • 「プログラムがどうやって動いているか」に興味があるエンジニア
  • 低レイヤーに興味があるが、どこから手を付けていいか分からない方
  • コンパイラやOSの仕組みに興味がある方
  • 普段使っているツールの中身を理解したい好奇心旺盛な方

なぜこのトークが面白いのか

リンカーは多くのエンジニアにとってブラックボックス、かつあまり世の中に実装の情報が出ていないです。

セッション中に実際に動くデモをお見せし、複雑に見える処理が意外とシンプルな仕組みで動いていることを説明します。
普段当たり前に使っているプログラミング言語の裏側を知ることで、プログラミングへの理解が一段深まるはずです。

「知らなかった」ことを知る楽しさを共有する、buildersconらしいセッションをお届けします。

40分

作ることにオーナーシップを - 受託エンジニアとしての私の分岐点

asagayanaoki 幡ヶ谷亭直吉

人を増やして売上を拡大する。
タスクを細分化してEVMで進捗を管理する。
進捗が計画通りであることが、プロジェクト成功の指標となる。

それが18年間、受託開発の現場で私が学び、自然と身につけていた開発との向き合い方でした。
ただ、目先の利益のためだけに働いている感覚に違和感を抱くようになりました。
もっと“作ること”そのものに意味や目的を持ちたいという思いが芽生えました。

プロダクトを成長させ、価値を実現する。
チーム全体で認知を揃え、同じ目的に向かって一緒に開発を進めていく。
ストーリーを捉え、最小限の成果物を届け、そこから得られる経験を次に活かす。

「人を管理してプロジェクトを進める」という発想から、
「チームでプロダクトを育てる」という発想へと、志向がシフトしていきました。

このトークでは、私がどのようにして「納品のための開発」から「価値実現のための開発」へと視点を変え、
作ることに対するオーナーシップを持てるようになったのか、そのきっかけと実践、そして得られた学びをお話しします。