Slide 1

Slide 1 text

Rust でTUI SQL クライアントを作った Takayuki Maeda (@TaKO8Ki) Rust LT Online #5

Slide 2

Slide 2 text

自己紹介 Takayuki Maeda GitHub: @TaKO8Ki Twitter: @TaKOBKi Software Engineer @ Money Forward, Inc.

Slide 3

Slide 3 text

作ったもの https://github.com/TaKO8Ki/gobang 1606 🌟

Slide 4

Slide 4 text

作ったもの

Slide 5

Slide 5 text

作ったもの クロスプラットフォーム対応 (macOS, Windows, Linux) 複数データベースに対応 (MySQL, PostgreSQL, SQLite) キーボードだけで操作可能 SQLx + tui-rs + crossterm

Slide 6

Slide 6 text

どんな感じで実装してるか パーツごとにコンポーネントを作ってる ⬅︎

Slide 7

Slide 7 text

どんな感じで実装してるか 例えばこれが ⬅︎

Slide 8

Slide 8 text

どんな感じで実装してるか

Slide 9

Slide 9 text

実際のコード

Slide 10

Slide 10 text

実際のコード

Slide 11

Slide 11 text

実際のコード

Slide 12

Slide 12 text

どんな感じで実装してるか filter table

Slide 13

Slide 13 text

その他少し複雑なUI 折り畳めるメニュー(ちゃんとした名前が分からない) ⬅︎ 補完機能 ⬅︎

Slide 14

Slide 14 text

その他少し複雑なUI 折り畳めるメニュー(ちゃんとした名前が分からない) ⬅︎ 補完機能 ⬅︎ Listをベースにツリーのロジックを別crateに分けて実装 ポップアップの座標を変え てうまく実装

Slide 15

Slide 15 text

デモ

Slide 16

Slide 16 text

課題 キーボードのショートカットカスタマイズ 同期的な実相を改善する テーマを変えられるようにする

Slide 17

Slide 17 text

No content