【技術書】「Streamlit データ可視化入門」の概要

# 前置き
こんにちは。データエンジニアの山口歩夢です！
この度、技術書典16に向けて、Streamlitの入門書を執筆しました。

StreamlitはPythonで書かれたOSSのフレームワークで、こちらを使用することでWEB開発の知識がなくても非常に簡単にアプリケーションの作成をすることができます。

日本語の情報がまだ少なく、英語のドキュメントや記事で情報を集める必要がある中で、多くの方々に魅力を伝えたいと考え、今回執筆に至りました。


https://techbookfest.org/product/t5GBwbFm4kUhXrTPkGpAnY?utm_source=twitter&utm_medium=social&utm_campaign=share


# 謝辞
今回、こちらの技術書の作成にあたって、
Snowflake Superheroesの小宮山さん([@kommy_jp](https://x.com/kommy_jp?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor))に内容のレビューや表紙の絵の作成をしていただきました。
誠にありがとうございます:bow: 

小宮山さんのSnowflakeについての著書はこちらです！

https://prtimes.jp/main/html/rd/p/000005814.000005875.html

# コンテンツの内容
簡単にどんな内容を書いたのか解説させていただきます。

基本的な内容から実践的な内容、自分が開発する上で躓いたポイントやTipsなどを書かせていただきました。
また最新のアップデートで追加された機能なども一部紹介してあります。

## 表紙・裏表紙
まずは、表紙や裏表紙を紹介します。
このようにかわいいものになっております。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/80d5f5d9-adee-b478-bbd1-32d057f25183.jpeg" width=40%><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/798e0f7e-b1e3-b37f-152d-2ea5a23b927a.jpeg" width=40%>





## 第1章 Streamlitの概要
この章ではStreamlitについての概要やSnowflakeやStreamlit in Snowflakeの概要や関係について書いてあります。

また、StreamlitがどのようにPythonスクリプトを実行しているかなど、
内部的な構造についてのお話も書いてあります。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/9f4660c2-6e77-50f6-1b6a-e78916c24a83.png" width=50%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/cbc4c5f9-b050-ecdb-d25e-c1c640680106.png" width=60%>


## 第2章 基本的な使い方
こちらの章では、Streamlitの始め方を一から解説してあります。
Streamlitのインストールからどのようにアプリを作成し、アプリを実行するのかということを手順に沿って解説しました。

また、アプリケーションの細かい設定やキャッシュやセッション間での変数の保持の仕方など、Streamlitでアプリケーションを開発する上で必要な基本的な知識を解説しました。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/d7cc78da-86c1-bb62-d487-0a3a516f2905.png" width=50%>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/c2c37639-6c9d-a3e8-a17f-9d8fdd7ce8b0.png" width=100%>







## 第３章 基本的な関数
こちらの章では、Streamlitに用意されている代表的な関数について解説してあります。
これらの関数を使用することで、簡単にアプリケーションの作成を作成することが可能になるのですが、
これらの関数の使い方や設定できるオプションなどについて一つひとつ解説しました。


これらの関数を使った、簡単なアプリケーションの作成などもサンプルコードも添えて書いてあります。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/aae2d7da-bad3-ec28-e5c4-a293b4f888e0.png" width=51%>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/279fac67-c173-e42b-55d3-d21966293a01.png)


## 第４章 Streamlitの実践的な内容
こちらでは、実践的な内容を解説しています。
Snowflakeアカウントの作成の方法から、
StreamlitからSnowflakeのテーブルからデータを抽出したり、データを更新したり、
Streamlit in Snowflakeにアプリケーションをデプロイしたりなどの実践的な内容を一通り解説してあります。
業務内で学んだTipsなども書きました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/459e0825-aa69-87f3-e274-8ac9666411f0.png" width=50%>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/edb9dd53-b474-bfa3-81e7-f2baab26cedc.png)



## 第５章 StreamlitとSnowflakeによるデータカタログの作成
こちらの章では、Streamlitでデータカタログを作成した話について解説しています。
Streamlitで作成するメリットや実際のコードの解説や、Streamlit in Snowflakeでデプロイする場合のコツや注意すべきポイントなども書いてあります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/097dd9ed-65a1-e5d7-219c-1e4cc6be7f68.png" width=50%>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/883573/0eb4622c-719a-0c37-853a-68b34c81d1c8.png)


# まとめ
以上です。
今回の執筆にあたってドキュメントを細かく読んだのですが、
ドキュメントを細かく読まないと気づけないような、細かい内容を自分自身も学ぶことができて良かったなと感じています。

紙の本もご用意しておりますので、興味を持っていただけましたら、5/26(日)のイベントにお越しいただけると嬉しいです！

https://techbookfest.org/mypage