$30 off During Our Annual Pro Sale. View Details »

RustでTUIのSQLクライアントを作った

TaKO8Ki
November 30, 2021

 RustでTUIのSQLクライアントを作った

TaKO8Ki

November 30, 2021
Tweet

More Decks by TaKO8Ki

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 作ったもの

    View Slide

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


    SQLx + tui-rs + crossterm

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. 実際のコード

    View Slide

  10. 実際のコード

    View Slide

  11. 実際のコード

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. デモ

    View Slide

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

    View Slide

  17. View Slide