Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Streamlitの入門書を執筆した話

 Streamlitの入門書を執筆した話

Ayumu Yamaguchi

December 20, 2024
Tweet

More Decks by Ayumu Yamaguchi

Other Decks in Business

Transcript

  1. 自己紹介 【所属】 株式会社GENDA データエンジニア 【経歴】 営業職     :4年 データエンジニア:3年 【発信】 著書   :Streamlit入門

    Pythonで学ぶデータ可視化 &アプリ開発入門 ブログ   :https://qiita.com/Ayumu-y X(旧Twitter) :https://x.com/Yamaguchi_aaaaa Snowflake Squad:https://www.snowflake.com/en/snowflake-squad/ 【趣味】 音楽 筋トレ 山口歩夢
  2. Streamlitとの出会い • Streamlitのもくもく会 (毎週土曜日の 9時~)に誘ってもらったのがきっかけ • 「30 Days of Streamlit」を使いながら学習

    • 少ないコードで簡単にインタラクティブなアプリケーションを開発できることに驚いた • 元々営業職でプログラミングの勉強に苦労したことがあり、 Streamlitの便利さに感銘を受けた
  3. 一作目を執筆してみた • Streamlitの概要 • Streamlitの基本的な使い方 ◦ Streamlitの始め方 ◦ Session State扱い方

    ◦ キャッシュの扱い方 • 基本的な関数 ◦ 自分がよく使うものをピックアップして紹介 • Streamlitの実践的な内容 ◦ StreamlitからSnowflakeを操作する方法 ◦ Streamlit in Snowflakeの使い方 • StreamlitとSnowflakeでデータカタログを作成した話 Streamlit データ可視化入門 (約100p)
  4. 二作目を執筆した 半年以上かけて一作目より更に詳しく書き、技術書典でも頒布 一作目からページ数を 3倍に大増量! • Streamlitとは • 基本的な機能 • 基本的な関数

    ◦ 多くの関数や関数毎のオプションを網羅的に解説 • 実践的なアプリケーション開発 ◦ ユースケース毎にアプリケーションや サンプルコードを紹介 • StreamlitとSnowflakeでデータカタログを作成した話 • StreamlitとSnowflake CortexでChatBotを開発 Streamlit入門 Pythonで学ぶデータ可視化 &アプリ開発ガイド (約300p)
  5. 英語のドキュメントを読んで Streamlitを頑張って理解した • ドキュメントを読み込んで、一つ一つ理解していった ◦ 英語の文章を翻訳したり、 翻訳しづらいところは英語のまま ◦ Snowflakeのクイックスタートを使って、 ChatBotの作成手順や仕組みを調査

    • 関数の動きを一つ一つ試した ◦ 関数毎に簡単なアプリを作り、 関数のパラメータ一つ一つの挙動を確認 • streamlit-extrasやthird party componentsを読み漁り、 読者に有益なものをピックアップ
  6. 第3章 用意されている便利な関数 様々な種類の関数を紹介 • テキスト表示 • レイアウト変更 • データ可視化 •

    データフレームの表示や カラムの詳細設定 • インタラクティブな ウィジェットの作成
  7. 第4章 実践的なアプリケーション開発 様々なアプリの作り方を解説 • Snowflakeのデータを Streamlitで可視化 • マスタデータをメンテナンス • ドリルダウン機能

    • GUIでカテゴリ選択 • クリップボードにデータをコピー • 位置情報を使った地図 • PyGWalkerでのデータ探索