tokyo.ex #15 ハンズオン回 レポート（2022/01/30）

https://qiita.com/official-events/5cb794f7cb9ac194ed70

**客の欲しがっているものではなく客のためになるものをつくれ。**

Advent Calendar 2022 30日目[^1]の記事です。
I'm looking forward to 12/25,2022 :santa::santa_tone1::santa_tone2::santa_tone3::santa_tone4::santa_tone5:
私の[Advent Calendar 2022 一覧](https://docs.google.com/spreadsheets/d/1HQvFjagQLRPjOYAjDVzWp9S4b8dKixxvvaz_TtbZWto/edit#gid=1723448955)。

[^1]: @kaizen_nagoya さんの「[「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 １日目　Most Breakthrough Generator](https://qiita.com/kaizen_nagoya/items/49ebebee3a0377f3b59b)」から着想を得て、模倣いたしました。 

---

# はじめに

[Elixir](https://elixir-lang.org/)を楽しんでいますか:bangbang::bangbang::bangbang:

2022/01/30(日)は

https://beam-lang.connpass.com/event/237008/

**tokyo.ex #15 ハンズオン回**
が開催されました。
そのレポートです。

ワクワクとドキドキを興奮そのままに、
<font color="purple">$\huge{愛と感動}$</font>
そして、
<font color="purple">$\huge{感謝}$</font>
を余すことなくお伝えします。

惜しくも参加できなかった方は雰囲気をつかんでつかんでいただいて、ぜひ次回はご参加ください。

参加した方は振り返りや復習のお供に加えていただければ幸いです。
[資料](https://github.com/ohr486/ElixirHandsOn20220130)がとても充実していますので、レポートする必要もないということをまず冒頭でレポートしておきます。
繰り返します。
[資料](https://github.com/ohr486/ElixirHandsOn20220130)がとても充実しています。


# [資料](https://github.com/ohr486/ElixirHandsOn20220130)

- [tokyo.ex #15 hands-on](https://docs.google.com/presentation/d/1g1M-Kq1JVxCEGYdTs6Y28Aeb2scjN6pVskrRljhPsBw/edit#slide=id.p)
- :crown::crown::crown: [elixir on docker](https://docs.google.com/presentation/d/1wHWk-I4lMPRNutRR3fpxGo5N11FipysFMPvQAs8_row/edit#slide=id.p) :crown::crown::crown: 
- https://github.com/ohr486/ElixirHandsOn20220130/wiki
- https://github.com/ohr486/ElixirHandsOn20220130

# ハイライト

<font color="purple">$\huge{感謝}$</font>
です。
@ohr486 さん、ありがとうございます！！！

[資料](https://github.com/ohr486/ElixirHandsOn20220130)がとても充実しています！


# 13:00

Zoomでの開催です。
**everyone, onlineでenjoyです。**
参加予定の13人全員が参加しています!
少しだけ参加者の到着を待って、13:03にイベント開始です:rocket:
**Let's get started**:rocket:

司会進行は、
**仏像制作**が趣味の@ohr486 さんです。

![2022-01-30-tokyoex-vol15 (3).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/899d5429-f59b-34fe-f8bb-c9827fae1308.jpeg)


# アジェンダ


![2022-01-30-tokyo.ex-#15-hands-on-event-slide.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/a08a1456-82b3-d940-f26c-150bff2bf01b.jpeg)

![2022-01-30-tokyo.ex-#15-hands-on-event-slide (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/cf6cd93e-3502-1cfe-55f2-d9ed1bcfa5ee.jpeg)



# dockerによるelixir開発環境/CI構築

https://docs.google.com/presentation/d/1wHWk-I4lMPRNutRR3fpxGo5N11FipysFMPvQAs8_row/edit#slide=id.g11116f42ef0_0_5

資料は[こちら](https://docs.google.com/presentation/d/1wHWk-I4lMPRNutRR3fpxGo5N11FipysFMPvQAs8_row/edit#slide=id.g11116f42ef0_0_5)です。
**仏像制作**が趣味の@ohr486 さんに、丁寧に詳しく説明をしていだきました!!!
ありがとうございます :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5: 

どのページもとてもよい資料です。
特に**私が良いとおもった**ページを抜粋します。

![2022-01-30-tokyoex-vol15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/50753519-1109-62ff-588c-828e58f5972a.png)

---

![2022-01-30-tokyoex-vol15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/7b1fdf2c-4fce-3808-2cfd-d43642f184fe.jpeg)

---

![2022-01-30-tokyoex-vol15 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/b1894919-f6e2-14eb-dae3-de003300feba.png)

---

![2022-01-30-tokyoex-vol15 (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/7f5cbf21-7931-a4fa-6de4-de84cbb60b2b.jpeg)


ここまで 13:36

---

続いて、CI(Continuous Integration)の解説です。

![2022-01-30-tokyoex-vol15 (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/4c5f4dcd-5159-6898-a461-c831c7197ec0.jpeg)

ここまでが、おおよそ13:45でした。


いや〜
<font color="purple">$\huge{本当に丁寧にありがとうございます！！！}$</font>
<font color="purple">$\huge{Thanks\ a\ lotです！！！}$</font>
<font color="purple">$\huge{ありがとうございます!!!}$</font>
:pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5: 

**ありがとうございます** ーー それ以外の言葉がみつかりません。
@ohr486 さん、ありがとうございます！！！

> 感謝するとき、わたしたちは「有り難う」という言葉を発します。この「有り難う」という言葉は、諸説ありますが、仏教に由来しているともいわれています。『法句経（ほっくきょう）』の中の「ひとの生をうくるはかたく、死すべきものの、生命あるもありがたし」という一節がそれに当たります。
(https://diamond.jp/articles/-/215896)

まさにこれ、ホントこれ!!!


録画 :video_camera: はここまで〜
逆にいうと、**仏像制作**が趣味の@ohr486 さんのDockerとCI（Continuous Integration）の「有り難い」お話が、のちほど公開されるということです。
楽しみに待ちましょう!!!
ありがたや〜
:pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5: 


# ハンズオン

13:47〜

https://github.com/ohr486/ElixirHandsOn20220130/wiki

![2022-01-30-tokyo.ex-#15-hands-on-event-slide (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/732af4bd-06e1-1289-354d-42942bcd109a.jpeg)

ハンズオンは、これまた資料が**しっかりしている**ので、**応用**の「[10.circleciのCIバッジ表示](https://github.com/ohr486/ElixirHandsOn20220130/wiki/10.circleci%E3%81%AECI%E3%83%90%E3%83%83%E3%82%B8%E8%A1%A8%E7%A4%BA)」まで到達した人が続出でした。



# クロージング 14:58

クロージングです。

- [アンケート](https://forms.gle/6pZRHfEVGWJ5WaYT6)にご協力くださいとのことです
    - 参加された方はぜひ回答しましょう
    - @ohr486 さんの励みになるとのことです
    - もしご要望などをお持ちの方はお伝えいただけると、@ohr486 さんのコンテンツがさらに充実することになるだろうとおもいます
        - すみません :bow::sweat_smile:何目線で言っているのかはアレです :pray:
- 次回は、**2月吉日(後半)**に開催予定とのことです
- 次回は以下にて案内があるとのことです
  - [Slack](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w)の`tokyo-ex`チャンネル
  - Twitterの[#tokyoex](https://twitter.com/hashtag/tokyoex)タグ


# 15:00 本会終了

大団円のうちに終わりました！
みんなで[ラインダンス](https://www.youtube.com/watch?v=2axs0_g1sIo)を踊って締めました。

<font color="purple">$\huge{踊りました}$</font>
:dancer::dancer_tone1::dancer_tone2::dancer_tone3::dancer_tone4::dancer_tone5:


# 本会終了後

15:00〜

あとは
<font color="purple">$\huge{ムフフ💜💜💜}$</font>
です。


とてもここには書けません。
ぜひ、次回の[tokyo.ex](https://beam-lang.connpass.com/)に参加して、あなた自身で体験してみてください！！！


---

# Wrapping up :lgtm::lgtm::lgtm::lgtm::lgtm:

Enjoy [Elixir](https://elixir-lang.org/):bangbang::bangbang::bangbang:
<font color="purple">$\huge{Enjoy\ Elixir🚀}$</font>

本日は、Dockerの基礎から@ohr486 さんに丁寧に説明していただきました。
そしてDockerを使った開発環境の構築〜CIのハンズオンを行いました。
[資料](https://github.com/ohr486/ElixirHandsOn20220130)がとても充実しています。
いや、まじで本当に@ohr486 さんのお話は、
<font color="purple">$\huge{「これって無料でいいんだっけ？」}$</font>
といつもおもいます。
ありがとうございました！
<font color="purple">$\huge{「ありがとうございました！」}$</font>

今回惜しくも参加できなかった方は、**ぜひ次回はご参加ください。**



次回の[tokyo.ex](https://beam-lang.connpass.com/)の開催予定日は、
<font color="purple">$\huge{2月吉日(後半)}$</font>
です。
Coming soon!!!
Don't miss it!!!

Twitterのハッシュタグ**[#tokyoex](https://twitter.com/hashtag/tokyoex)**にご注目ください！

## 編集後記

編集後記です。
そういうコーナーを作って、思い出を書きます。
ある意味、役得です。

### 参加者ビデオオンにできない

Zoomの設定でそうなっていたそうです。
@ohr486 さんはずっと「なんで今日はみんなカメラをオンにしないのだろう？」とおもっていたそうです。
Zoomの「セキュリティ > 参加者に次を許可: > ビデオの開始」がオフになっていたようです。
今日は私は家がごちゃごちゃしたいたのでビデオ(カメラ)はオフのまま参加していました。
最後のクロージングのときに、最後くらいビデオ(カメラ) オンにするか〜　とおもってオンにしようとしたら、拒否されていました。
[MasashiYokota](https://github.com/MasashiYokota)さんが、「ビデオ(カメラ) オンできないですよ〜」で、 @ohr486 さんのほうでも「そういう設定になっているのね〜」という一幕がありました。

### ハンズオン

私のハンズオンの成果物です。

https://github.com/TORIFUKUKaiou/tokyoex15_demo

[MasashiYokota](https://github.com/MasashiYokota)さんのお手本[リポジトリ](https://github.com/MasashiYokota/ElixirMeetupHandOn202201)に助けてもらいました。
ありがとうございます!!!
特に CircleCIでの`mix dialyzer` でもがいていました。
その奮闘については記事をわけてまとめたいとおもっています。

### @hayabusa333 さん

以前、「[上から見るか下から見るか.pdf](https://speakerdeck.com/hayabusa333/shang-karajian-rukaxia-karajian-ruka)」でお世話になって、Twitterにてお見かけしていた@hayabusa333 さんと懇親会で少しだけ話をさせていていただきました。
「違う人だったらどうしよう？」と聞くか聞かざるかを逡巡していましたが、おもいきって「ハヤブサさんですよね？」とお聞きしてよかったです。
「Twitterされています？　アカウント名は何ですか？」みたいな遠巻きから尋ねる方法を同じようなことに出くわしたら次は使ってみようとおもいます。
いずれにしても今後ともよろしくお願いします。

---

# 付録

以下、付録です。




2022年に流行る技術予想 ーー それは、[Elixir](https://elixir-lang.org/)、[Phoenix LiveView](https://github.com/phoenixframework/phoenix_live_view)です:rocket::rocket::rocket:

[Elixir](https://elixir-lang.org/)の誕生日は、2012年5月24日です。
そのため、今年の2022年5月24日は10周年を迎えます。

```elixir
iex> Date.diff(~D[2022-05-24], ~D[2022-01-30])
114
```


そうそう！
2月24日発売予定の[WEB+DB PRESS](https://gihyo.jp/magazine/wdpress)で、[Elixir](https://elixir-lang.org/)と[Phoenix](https://www.phoenixframework.org/)の特集がでますよ〜

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">次号のWEB+DB PRESSでElixirとPhoenix特集が出ます！お楽しみに！！1 <a href="https://t.co/d4hIfhIfZ1">pic.twitter.com/d4hIfhIfZ1</a></p>&mdash; 栗林健太郎 (@kentaro) <a href="https://twitter.com/kentaro/status/1483308857019760640?ref_src=twsrc%5Etfw">January 18, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


---


# [Elixir](https://elixir-lang.org/)

最後の最後に、[Elixir](https://elixir-lang.org/)について紹介します。

- [|>](https://hexdocs.pm/elixir/Kernel.html#%7C%3E/2)でスイスイ、プログラミングしていくことができる素敵なプログラミング言語です
- さっそくプログラムの例を示します
- [Qiita API](https://qiita.com/api/v2/docs)を使わせていただいて、`Elixir`タグがついた最新の記事を20件取得しています
- ここでは雰囲気をつかんでいただければ大丈夫です

```elixir
Mix.install [{:req, "~> 0.2.1"}]

"https://qiita.com/api/v2/items?query=tag:Elixir"
|> URI.encode()
|> Req.get!(finch_options: [pool_timeout: 50000, receive_timeout: 50000])
|> Map.get(:body)
|> Enum.map(& Map.take(&1, ["title", "url"]))

```

## Webアプリケーションを楽しむなら
- [Phoenix](https://www.phoenixframework.org/)

## IoTを楽しむなら
- [Nerves](https://www.nerves-project.org/)

## AIを楽しむなら
- [Nx](https://github.com/elixir-nx/nx) + [Livebook](https://github.com/livebook-dev/livebook)

## もっと[Elixir](https://elixir-lang.org/)のことを知りたい方へオススメの書籍 :books: 
- [プログラミングElixir（第2版）](https://www.ohmsha.co.jp/book/9784274226373/) -- オーム社
- [Elixir実践ガイド](https://book.impress.co.jp/books/1120101021) -- インプレス
- [アルケミスト − 夢を旅した少年](https://www.kadokawa.co.jp/product/199999275001/) -- KADOKAWA

## コミュニティ
- [elixir.jp](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w) Slack workspaceに参加してみてください
    - マヂ、やさしい人ばっかりのコミュニティ
    - あなたの**困った**をきっと解決してくれるでしょう
- [NervesJP Slack](https://join.slack.com/t/nerves-jp/shared_invite/zt-9vteokip-iVAqi8TkT0ID_uK9dSqVHA) workspaceでは、NervesやIoTが好きな愉快なfolksたちがあなたの訪れを歓迎します :tada:
- たくさんのコミュニティがあります
![FCOvBkAUYAE6mL8.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/a277d0ea-2780-d9a3-4062-66d38b175125.jpeg)
([EDI／fukuoka.ex／kokura.ex](https://fukuokaex.connpass.com/) ＆ [LiveView JP](https://liveviewjp.connpass.com/) の @piacerex さん作 :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5:)



# <u><b>Elixirコミュニティに初めて接する方は下記がオススメです</b></u>

**Elixirコミュニティ の歩き方 －国内オンライン編－**<br>
https://speakerdeck.com/elijo/elixirkomiyunitei-falsebu-kifang-guo-nei-onrainbian
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/f891b7ad-d2c4-3303-915b-f831069e28a4.png)](https://speakerdeck.com/elijo/elixirkomiyunitei-falsebu-kifang-guo-nei-onrainbian)
([piyopiyo.ex](https://piyopiyoex.connpass.com/) ＆ [エリジョ](https://elijo.connpass.com/) の nakoさん(@nako_sleep_9h) 作、素敵な資料:clap::clap_tone1::clap_tone2::clap_tone3::clap_tone4::clap_tone5:)



---

I organize [autoracex](https://autoracex.connpass.com/).
And I belong to [NervesJP](https://nerves-jp.connpass.com/), [fukuoka.ex](https://fukuokaex.connpass.com/), [EDI](https://fukuokaex.connpass.com/), [tokyo.ex](https://beam-lang.connpass.com/).
I hope someday you'll join us.

[We Are The Alchemists, my friends!](https://www.youtube.com/watch?v=04854XqcfCY)