Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Thoughts and experiences on Rust and TypeScript

unvalley
November 28, 2024

Thoughts and experiences on Rust and TypeScript

nagoya.ts #3 LT 15min 資料
正直OSSをプライベートでやるのは、社会人(しゃかいんちゅ)にはなかなか厳しい

unvalley

November 28, 2024
Tweet

More Decks by unvalley

Other Decks in Programming

Transcript

  1. About me - unvalley - TypeScript / Rust - A

    core contributor of Biome (最近inactiveめですが) - Premier League の会話ができる友人を募 2 @unvalley_ unvalley https://speakerdeck.com/unvalley
  2. Rustで書かれたWeb関連ツール 5 swc turbo deno rolldown napi-rs biome oxc rspack

    他いろいろ。ezno, farm, parcel (一部), React Compiler など
  3. Rustとの出会い 9 - 2017年:低レイヤ好きな大学の先輩からRustの話を聞く - 2020年:友人がRustを始めるなど流行の兆し - 2021年:Full-Stack TypeScript で

    SaaS開発(Rust未履修) - 2022年:Rust関連の本を読んだりしながら、Biome (rome/tools)にコミットを開始 - 2024年:RustでのSaaS開発を仕事を開始
  4. Rustとの出会い 10 - 2017年:低レイヤ好きな大学の先輩からRustの話を聞く - 2020年:友人がRustを始めるなど流行の兆し - 2021年:Full-Stack TypeScript で

    SaaS開発(Rust未履修) - 2022年:Rust関連の本を読んだりしながら、Biome (rome/tools)にコミットを開始 - 2024年:RustでのSaaS開発を仕事を開始
  5. OSSを通してRustを学ぶ 11 - Biomeや他Rustツールへの貢献を通して、Rustを学んだ - rust-analyzer, sqlparser-rs など - 2024年においても、Rustを使った仕事はあまり多くない

    - Rustのコードレビューをもらえる機会はあまり多くない - OSSは貢献と同時にレビューが貰える、よい学習機会
  6. Biomeを通してTypeScriptとRustを学ぶ 12 - Biomeは、JS, TS, JSX, CSS, GraphQL などを対象としたLinter /

    Formatter を持つWebツールチェーン - バグ修正やlint, formatの追加は、対象言語のためにRustで実装 - Webエンジニアにとっては、持ち前の知識を生かしてRustを始めら れるので取り組みやすい
  7. Rustを学ぶ際に有用なリソース(日本語) 15 - 📗 プログラミングRust 第2版 - 📗 ゼロから学ぶRust -

    📗 コンセプトから理解するRust - 📗 詳解Rustプログラミング - 📗 Rustの練習帳(読んでないけど良さそう) - 📗 作って学ぶ ブラウザのしくみ(途中) - 📄 The Rust Programming Language 他にも良い本はあるが中・上級者向け(Effective Rustなど)
  8. 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形式で色々出てくる
  9. 作りたいものがないTSユーザーのためのRust in Action 17 1. 自分が知っている・使っているRust製のリポジトリをcloneする 2. cloneしたリポジトリのissueでやれそうなやつを探す (good first

    issueは、多分適当に付けているのでこだわらなくてOK) 3. 書籍・記事・LLMなどを参考に、issueに関連するコードを読む 4. 実装 実際にこの方法でRust未経験の前職の同期に Biomeに貢献してもらいました
  10. Rustで書かれたWeb関連ツール as 貢献対象 18 swc turbo deno rolldown napi-rs biome

    oxc rspack 他いろいろ。ezno, farm, parcel (一部), React Compiler など
  11. Lint Rule実装はおすすめ 19 - ESLint, ESLint plugin, Biome, Oxc などのLint

    Ruleの実装は、変 更範囲がそのファイル(+ テスト)などに閉じられていることが多いの で取り組みやすい