Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Thoughts and experiences on Rust and TypeScript
Search
unvalley
November 28, 2024
Programming
420
2
Share
Thoughts and experiences on Rust and TypeScript
nagoya.ts #3 LT 15min 資料
unvalley
November 28, 2024
More Decks by unvalley
See All by unvalley
Plugin System in Rust based JavaScript / TypeScript Linters
unvalley
6
2.3k
Exploring ways to stay continuously involved with OSS
unvalley
3
3.8k
Building An Ephemeral Markdown Paper with AI
unvalley
3
1.2k
Exploring Type-Informed Lint Rules in Rust based TypeScript Linters
unvalley
7
13k
Behind VS Code Extensions for JavaScript / TypeScript Linting and Formatting
unvalley
7
3.8k
Behind Biome
unvalley
11
4.3k
Biome is for JavaScripters
unvalley
4
1.1k
Better Unit Testing
unvalley
1
670
Other Decks in Programming
See All in Programming
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
220
AI活用のコスパを最大化する方法
ochtum
0
370
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
220
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
210
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
130
Swift Concurrency Type System
inamiy
0
110
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
810
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
320
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
360
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Statistics for Hackers
jakevdp
799
230k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
So, you think you're a good person
axbom
PRO
2
2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
790
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
The Spectacular Lies of Maps
axbom
PRO
1
680
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
The Language of Interfaces
destraynor
162
26k
Transcript
Thoughts and experiences on Rust and TypeScript RustとTypeScriptについての考えと経験 1 nagoya.ts
#3 2024 @unvalley_
About me - unvalley - TypeScript / Rust - A
core contributor of Biome (最近inactiveめですが) - Premier League の会話ができる友人を募 2 @unvalley_ unvalley https://speakerdeck.com/unvalley
Rust & TypeScript 3 - TypeScriptユーザーがRust製ツールを使う機会は増加した - 他言語を使うエンジニアより、Rustとの距離が近い
Rust 4 - 効率的で信頼できるソフトウェアを誰もがつくれる言語 - 開発者から愛される言語 - 今やLinux, Windows, AndroidにもRustのコードがある
- カニ、自転車 https://www.rust-lang.org/
Rustで書かれたWeb関連ツール 5 swc turbo deno rolldown napi-rs biome oxc rspack
他いろいろ。ezno, farm, parcel (一部), React Compiler など
なぜRustがWeb関連ツールで流行したのか? 6 - Performance and Wasm? - 正直分からないが、Rustが優れた言語でなければ現状は異なって いる
フロントエンドもRustで書く日がくるか? 7 - 一般にはNoだと思う - 部分的にRust(for wasm or plugin)を書く人は増えるはず
WebエンジニアはRustを学ぶべき? 8 - 興味と必要性があるなら学べばよいと思うし、ないなら不要 - swcなどpluginをRustで書くツールを利用している場合、学ぶ必要 が生まれてくる可能性が高い
Rustとの出会い 9 - 2017年:低レイヤ好きな大学の先輩からRustの話を聞く - 2020年:友人がRustを始めるなど流行の兆し - 2021年:Full-Stack TypeScript で
SaaS開発(Rust未履修) - 2022年:Rust関連の本を読んだりしながら、Biome (rome/tools)にコミットを開始 - 2024年:RustでのSaaS開発を仕事を開始
Rustとの出会い 10 - 2017年:低レイヤ好きな大学の先輩からRustの話を聞く - 2020年:友人がRustを始めるなど流行の兆し - 2021年:Full-Stack TypeScript で
SaaS開発(Rust未履修) - 2022年:Rust関連の本を読んだりしながら、Biome (rome/tools)にコミットを開始 - 2024年:RustでのSaaS開発を仕事を開始
OSSを通してRustを学ぶ 11 - Biomeや他Rustツールへの貢献を通して、Rustを学んだ - rust-analyzer, sqlparser-rs など - 2024年においても、Rustを使った仕事はあまり多くない
- Rustのコードレビューをもらえる機会はあまり多くない - OSSは貢献と同時にレビューが貰える、よい学習機会
Biomeを通してTypeScriptとRustを学ぶ 12 - Biomeは、JS, TS, JSX, CSS, GraphQL などを対象としたLinter /
Formatter を持つWebツールチェーン - バグ修正やlint, formatの追加は、対象言語のためにRustで実装 - Webエンジニアにとっては、持ち前の知識を生かしてRustを始めら れるので取り組みやすい
初めてのrome/toolsへのコミット ( github.com/rome/tools/pull/3552 ) 13
Rustを仕事で使う 14 - 一緒にRustを勉強していた知り合いの紹介で現職のSaaS開発の 仕事に参加 - WebバックエンドでフルにRustを利用
Rustを学ぶ際に有用なリソース(日本語) 15 - 📗 プログラミングRust 第2版 - 📗 ゼロから学ぶRust -
📗 コンセプトから理解するRust - 📗 詳解Rustプログラミング - 📗 Rustの練習帳(読んでないけど良さそう) - 📗 作って学ぶ ブラウザのしくみ(途中) - 📄 The Rust Programming Language 他にも良い本はあるが中・上級者向け(Effective Rustなど)
Rustを学ぶ際に有用なリソース(英語) 16 - 📄 Asynchronous Programming in Rust - 📄
The Rust Performance Book - 📄 Advanced Rust testing - 📄 Learn Rust With Entirely Too Many Linked Lists - 📗 Rust Atomics and Locks 上記はすべて無料で読める 他にも検索したらmdbook形式で色々出てくる
作りたいものがないTSユーザーのためのRust in Action 17 1. 自分が知っている・使っているRust製のリポジトリをcloneする 2. cloneしたリポジトリのissueでやれそうなやつを探す (good first
issueは、多分適当に付けているのでこだわらなくてOK) 3. 書籍・記事・LLMなどを参考に、issueに関連するコードを読む 4. 実装 実際にこの方法でRust未経験の前職の同期に Biomeに貢献してもらいました
Rustで書かれたWeb関連ツール as 貢献対象 18 swc turbo deno rolldown napi-rs biome
oxc rspack 他いろいろ。ezno, farm, parcel (一部), React Compiler など
Lint Rule実装はおすすめ 19 - ESLint, ESLint plugin, Biome, Oxc などのLint
Ruleの実装は、変 更範囲がそのファイル(+ テスト)などに閉じられていることが多いの で取り組みやすい
寄付に興味のある方向けリンク 20 https://opencollective.com/biome