Tomohide Takao
11:00-11:10 (JST)
Welcome from the Rust.Tokyo team!
日本語
Greeting
名和雅実
Track A
11:20-11:45 (JST)
In large-scale product development in Rust, using modules to separate functionality makes it difficult to manage the responsibilities of each component. Cargo Workspace allows to manage multiple crates in a single place, making it easier to separate responsibility.
Especially when developing a backend product, each component responsibility may want to use different dependencies. Using Cargo Workspace to separate the crates also separates the Cargo.toml, making it easier to manage dependencies. However, separating the crates will give you something to think.
I would like to share best practices based on my experience of 3 years of continuous backend development of our own products.
日本語
Short Talk
ynqa
Track B
11:20-11:45 (JST)
I released a TUI application called "jnv" in Rust.
It allows you to interactively execute jq filters on JSON input directly in the terminal.
Based on this experience, I will explain the process of creating and releasing a TUI application in Rust.
Specifically, I will cover an introduction to TUI libraries in Rust, the implementations of jnv, and how to use cargo-dist for distribution.
This content will also be interesting for people who want to learn more about the technical stuffs of Rust.
日本語
Short Talk
tomoikey
Track A
11:55-12:20 (JST)
In this session, I will support Rust programmers who haven’t taken the first step toward contributing to OSS, by sharing my personal experiences as a new graduate engineer. I will specifically introduce the joys and challenges I encountered through OSS contributions, as well as key features of Rust, helping participants overcome their fears and take on the challenge. Additionally, through the introduction of my own OSS project, refined_type, I will share methods for improving runtime safety and efficient validation using types, aiming to broaden the scope of Rust usage.
日本語
Short Talk
yuki-uchida
Track B
11:55-12:20 (JST)
ビデオ会議や映像配信などにおいては、メディアを高速・並列に捌くというのが非常に重要です。映像は秒間1Mbytes以上、音声は数百kbytesになることもあるため、それらのメディアを捌くサーバーには非常に大きな負荷が掛かります。
ここで、重要となるのがマルチスレッドプログラミングです。スレッドを使いこなすことで、パフォーマンスを向上させることが可能です。
SkyWayは、WebRTCの次の技術としてMedia Over Quic Transportに注目しており、moq-wasmというOSS公開しています。このOSSでの実装を参照しながら、どのようにマルチスレッドにしていくかを学びましょう。
日本語
Short Talk
Shiseki Reo (GMOペパボ株式会社)
Track A
12:30-12:55 (JST)
Introduction to the method of generating implementations that rely on external APIs using proc_macro and its associated risks.
日本語
Sponsor
青柳 康平 (ユニークビジョン株式会社)
Track B
12:30-12:55 (JST)
ユニークビジョンは、SNS アカウント管理、CRM、SNS キャンペーンなどを通じて、企業と生活者のつながりを提供する SNS マーケティングツール「Beluga シリーズ」を開発・提供している会社です。
このセッションでは、
「仕様変更のたびにテストが壊れる」「外部APIの単体テストが書けない」「テストデータの作成・メンテナンスが煩雑」
など、開発現場でよく直面するテストにまつわる課題に対して、実務でRustを7年使ってきた経験から得られた実践的な解決策をご紹介します。
日本語
Sponsor
Fairy Devices株式会社 (Fairy Devices株式会社)
Track A
13:05-13:30 (JST)
2022年からRust.Tokyoをスポンサーし続けて3回目になりました。2022年時点ではRust採用の動機と3年間の歩みについてお話しましたが、そこからさらに2年間、引き続きRustは開発チームにおいて多く利用しています。この2年間において、実施した新しい取り組みやそこで見えてきた課題や得られた知見についてお話したいと思います。
日本語
Sponsor
Sergi Granell (株式会社アークエッジ・スペース)
Track B
13:05-13:30 (JST)
This presentation shares my experience learning Rust from
scratch while implementing a turbo encoder/decoder for the VHF Data
Exchange System (VDES). I will discuss how utilizing the Rust
ecosystem enabled efficient development.
English
Sponsor
Motoyuki Kimura
Track A
13:40-14:05 (JST)
In this session, I'm going to talk about the async runtime tracing tool I've been working on.
While tools like the tracing crate and tokio-console have been around for a while as monitoring tools for async Rust, they are primarily focused on observing user code and sometimes it may be insufficient for identifying issues within the internals of the async runtime.
To address this, I’m developing a tracing tool that visualizes the internal behavior of the Tokio runtime.
In this session, I will discuss the existing tools, along with the technical details of runtime tracing tool I'm developing.
日本語
Short Talk
ahogappa
Track B
13:40-14:05 (JST)
この発表では、RustでRubyのライブラリ(Gem)を作った話をします。 近年既存のC/C++プログラムをRustに書き換えたものにしていく動きが活発になっており、Rustで動くコードが増えてきています。
一方Rubyは基本的にCで記述されたプログラミング言語ですが、JITコンパイラであるYJITはRustで実装され、GemもRustを使って作成することが容易になっています。
実際に私が開発したGemを例にRustを使って開発したことについて発表します。
日本語
Short Talk
peaske7
Track A
14:15-14:40 (JST)
By running integration tests using multiple threads, we can significantly reduce test execution time. In this talk, I will share the different methods and pitfalls learned from transitioning our integration tests from single to multithreaded execution.
日本語
Short Talk
keno (Ken Okada)
Track B
14:15-14:40 (JST)
In this talk, we'll explore how to build an Wayland compositor in Rust, which is a core component of Linux GUI environment. Roughly speaking, Wayland compositor is responsible for window arrangement and display, keyboards and mice management, etc. In other OS, this stack is under control of the OS and tightly coupled to it, but one can choose what you like and replace the default with it in Linux. Moreover, one can build their own Wayland compositor. Rust has cargo, smithay, winit and enables one to start writing such an important stack easily. Let's build your own Wayland compositor!
日本語
Short Talk
Satoshi Yoshikawa
Track A
14:50-15:15 (JST)
機械学習の普及に伴いONNXという機械学習モデルを表現するオープンなフォーマットが登場しました。ONNXはTensorFlowやPyTorchなどのフレームワークで学習されたモデルから変換することもでき、多くのモデルがONNXで公開されています。ONNXの実行環境も、onnxruntime(C++)が公式実装として存在するものの、他にもRustで書かれたOSSの推論ランタイムやONNX対応機械学習フレームワークがいくつか存在します。自身の取り組みの中でこれらを調査・比較した経緯とその結果、実装面で奮闘したことなどをお話します。
日本語
Short Talk
David Lu
Track B
14:50-15:15 (JST)
An often overlooked challenge with FFIs found with C-style APIs are callbacks, which hide control flow and often discard type safety. We’ll share our experience creating a safe, runtime-agnostic wrapper for NVIDIA DOCA, which decouples program logic from callbacks while exposing a convenient API.
English
Short Talk
Kōhei Yamamoto (株式会社一休)
Track A
15:25-15:50 (JST)
株式会社一休ではレストランのWeb予約ができるサービス「一休.comレストラン」を運営しています。
この一休.comレストランでは、バックエンドシステムのRustへの移行が進んでいます。移行にあたっては、Rustの表現力の高い型システムの活用や高速/省リソースなバックエンドの運用を狙っています。また、今後長きに渡ってサービスを支えるバックエンドシステムとすべく、アーキテクチャや個別のモジュールの設計において技術的な考慮もいくつかおこなっています。
このセッションでは、このような一休.comレストランにおけるRust移行の実際や工夫などについて紹介します。
日本語
Sponsor
Takuya Moriyama (AGC株式会社)
Track B
15:25-15:50 (JST)
素材メーカーのソフトウェア内製開発部隊が、開発言語にRust 採用した後の2年間で、持続的な開発・運用のために行った、開発/運用体験向上のための試行錯誤や、過去(と今)の苦労談、学びなどを紹介します。
日本語
Sponsor
YUTA HINOKUMA (株式会社KICONIA WORKS)
Track A
16:00-16:25 (JST)
実際に存在した「Pythonで研究開発された、動画像処理アプリケーション」をiPhone上で240fpsで動作させるという案件に対して
・どのような理由でRustを採用したのか?
・どのように高速化を進めているのか?
という観点をを通じて、画像処理 + iPhoneアプリにおけるRustの活用事例を共有します。
日本語
Sponsor
Vitaly Bragilevsky (JetBrains)
Track B
16:00-16:25 (JST)
ソフトウェア開発者は、コードに向き合うだけでなく、さまざまなタスクをこなすことが求められます。調査によると、開発者の業務時間の半分ほどがコーディングに費やされると言われており、コード作業を全方位でサポートするツールが不可欠です。このセッションでは、Rust 開発者向けの万能ツール「RustRover」にスポットを当て、コードベースの探索、新しいコードの記述、デバッグ、依存関係の管理など、日々の開発業務にどのように役立つかを紹介します。
English
Sponsor
Shriram Balaji
Track A
16:35-17:30 (JST)
Have you ever been curious about how the compiler, linker, and OS work to run your Rust programs? In this talk, Shriram will share his learnings on rustc, what goes inside a linker, what’s in the object files, what’s LTO, why rust prefers static linking, and are there ways to do dynamic linking?
English
Long Talk
Satoru Nishio
Track B
16:35-17:30 (JST)
国土交通省主導の「PLATEAU」は日本全国、全ての都市を3Dデータ化する大規模プロジェクトです。このビッグデータを様々なデータ形式に高速変換するため、Rustで開発した「PLATEAU GIS Converter」をOSSとして公開しました。国家プロジェクトでありながらOSSとして公開することで、データの利活用促進と技術の透明性を確保しています。本トークではプロジェクトの概要や、Rustの高性能性と安全性が大規模な地理空間データ処理にいかに適しているかを検証したその過程などを紹介します。
日本語
Long Talk
Tomohide Takao
17:40-17:50 (JST)
See you next year!
日本語
Greeting
Copyright © Rust.Tokyo 2024 all rights reserved.
Follow us on X! @rustlang_tokyo
Contact us: rust-tokyo-staff@googlegroups.com