piyopiyo.ex#4 レポート!? （2022/02/05）（Elixir）

**商品の弱点を解決すると新しい市場が生まれ、利点を改良すると今ある市場が広がる。**

Advent Calendar 2022 36日目[^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/02/05(土)は

https://piyopiyoex.connpass.com/event/235758/

**piyopiyo.ex#4：Phoenix環境構築〜Hello,world!**
が開催されました。
そのレポートです。

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

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

参加した方は振り返りや復習のお供に加えていただければ幸いです。


<font color="purple">$\huge{しまった!!!}$</font>:sweat_smile:
<font color="purple">$\huge{私は参加していません。}$</font>

<font color="purple">$\huge{参加していないけれども、}$</font>
レポートを書くことに<font color="purple">$\huge{挑戦}$</font>してみます。
参加していないからこそ、書けるものがきっとあるはずです!!!

# どうやって書くつもりなの:interrobang:

幸い、以下の情報があります。

- @kn339264 さんの[資料(【Mac】Phoenix環境構築〜Hello,world!まで)](https://qiita.com/kn339264/items/9d80f6cadfe341581df6)
- @piacerex さんの[資料(WSL2でDB付きElixir／Phoenix／Nxを使う最短手順)](https://qiita.com/piacerex/items/6b64dfe70f48c89d8385)
- [elixir.jp Slack](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w)の`#piyopiyo-ex`チャンネルの書き込み
- connpassの[イベントページ](https://piyopiyoex.connpass.com/event/235758/)

任せてください。

これだけ情報があれば、
<font color="purple">$\huge{書けます🚀🚀🚀}$</font>

# [piyopiyo.ex](https://piyopiyoex.connpass.com/)って、どんなコミュニティなの？

> piyopiyo.exは、プログラミング言語Elixirと、Elixirで記述されたWeb開発フレームワークPhoenixを扱う、初心者向けコミュニティです。
> piyopiyo.exを通して、少しでも楽しかったりワクワクしたり、何か感じることがあれば嬉しいです。
> れっつえんじょい！

<font color="purple">$\huge{楽しそうです!!!}$</font>
[Elixir](https://elixir-lang.org/)をはじめてみよう! という方に広く門扉を開いているようです。

以下、もう少し[piyopiyo.ex](https://piyopiyoex.connpass.com/)についてご紹介します[^2]。

[^2]: そういえば、私は[piyopiyo.ex](https://piyopiyoex.connpass.com/)に一度も参加したことはありません。[elixir.jp Slack](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w)の`#piyopiyo-ex`チャンネルには参加しているので、気分だけはイベントの常連のつもりです。

## ダブルオーガナイザー

@kn339264 さんと@t-yamanashi さんのダブルオーガナイザー体制です。

## 過去の開催実績は？

https://piyopiyoex.connpass.com/event/

2021/11/06（土）に[第1回](https://piyopiyoex.connpass.com/event/225997/)が開催された、できたばかりのコミュニティです。
2022/02/05（土）は[第4回](https://piyopiyoex.connpass.com/event/235758/)とのことでした。

## 次回は？

すでに予定されています。

**2022/03/05（土） 12:30〜**

https://piyopiyoex.connpass.com/event/238827/

**piyopiyo.ex #5：ビューにスタイルをあてよう！(daisyUI、tailwindCSS)**
私はフロントエンドをちっともわかっていないので、次回こそは参加して学びたいと**おもっています**[^3]。

[^3]: おもっています。あくまでも「**おもっています**」


# イベント

Zoomでの開催です。
**everyone, onlineでenjoyです。**

[イベント案内のページ](https://piyopiyoex.connpass.com/event/235758/)をみると、13人参加予定でした。

# [elixir.jp Slack](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w)の`#piyopiyo-ex`チャンネル

[elixir.jp Slack](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w)の`#piyopiyo-ex`チャンネルの書き込みをみてみました。
これで気分だけは参加した気になれます。

以下、気づいた点を私のコメントもいれながらピックアップしていきます。

## [PostgreSQL](https://www.postgresql.org/)

[Phoenix](https://www.phoenixframework.org/)では、デフォルトのデータベースに[PostgreSQL](https://www.postgresql.org/)が使われます。
[PostgreSQL](https://www.postgresql.org/)まわりは、ハマるとはまってしまいますよね :sweat_smile: 

[Docker](https://www.docker.com/)を使う案です。

```
$ docker run -d --rm -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres postgres:13
```

`mix phx.new sample`でつくった[Phoenix](https://www.phoenixframework.org/)の雛形アプリとつなげられます。


### mix setup

あと、ついでにお伝えすると、`mix setup`タスクがオススメです。
[Phoenix](https://www.phoenixframework.org/)プロジェクトのルートにある`mix.exs`に書いてあります。
内容は以下の通りです。

- `mix deps.get`と`mix ecto.setup`をやってくれます
- `mix deps.get`はおなじみのタスクで依存するHexをインストールしてくれます
- `mix ecto.setup`はこれまた`mix.exs`に書いてありまして、以下を行ってくれます
  - `mix ecto.create`
  - `mix ecto.migrate`
  - `mix run priv/repo/seeds.exs`

なんなら毎回`mix setup`やってもよくて、これと`mix phx.server`を覚えておけばだいたいなんとかなります。

## piyopiyo.exのキャラクター名を募集！

https://elixirjp.slack.com/archives/C02GAN58E9H/p1644039298273499

![スクリーンショット 2022-02-06 0.59.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/e2d35782-155b-fdb9-0a1c-a1bdc4c6a2b2.png)

キャラクターというのはこのかわいらしい、このキャラクターです。

![076e4be216a7d0273409e68a6a76cda9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/31c21ff9-0958-51bd-6736-ee2f7bf0bab1.png)

「**ぴよぴよ太郎**」「**ぴよ太**」がいまのところ候補なのだそうです。

私も考えてみます。

- ピヨピヨックス
- ピヨックス
- ピ(ヨ)クサー
- ぴよぴよくん
- ぴよひこ
- ぴよひこさん
- **ぴよすけ**
- ピヨスケ
- ぴよきち
- ぴよ太郎
- ピヨ太郎
- [ピコ太郎](https://www.youtube.com/watch?v=0E00Zuayv9Q)

すけ = 助 です。
相互に助け合う、 **"We are the Alchemists, my friends!"** にも通じます。

- [Elixir](https://elixir-lang.org/)をはじめたばかりの方は、@kn339264 さんと@t-yamanashi さんの助けを借りて、大きく羽ばたいていく
- 巣立った人は、[piyopiyo.ex](https://piyopiyoex.connpass.com/)に戻ってきて、次代の育成に協力するでもいいし、はたまた別なところで[Elixir](https://elixir-lang.org/)の楽しさをNew comerに伝える
- そういう助け合いの連鎖が広がり、@kn339264 さんと@t-yamanashi さんに**something**が還元される

ということで、私の案は、ひらがなの方の**ぴよすけ**です。

あっ、いや
<font color="purple">$\huge{ぴよぴよ太郎}$</font>
でいいとおもいます:rocket::rocket::rocket:

![076e4be216a7d0273409e68a6a76cda9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/31c21ff9-0958-51bd-6736-ee2f7bf0bab1.png)


---

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

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


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

[^4]: まずは私自身が[piyopiyo.ex](https://piyopiyoex.connpass.com/)に参加してみたいと、**おもっています[^3]**。


[piyopiyo.ex](https://piyopiyoex.connpass.com/)は、[Elixir](https://elixir-lang.org/)をはじめてみたばかりの方、はじめてみようとおもった方にオススメのコミュニティです。


次回は、**2022/03/05（土） 12:30〜**です。

https://piyopiyoex.connpass.com/event/238827/

すでに募集が開始されています:rocket::rocket::rocket:

<font color="purple">$\huge{れっつえんじょい！}$</font>

以上です。

---

# 付録

以下、付録です。





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

```elixir
iex> Date.diff(~D[2022-05-24], ~D[2022-02-05])
108
```


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

[Elixir](https://elixir-lang.org/)、[Phoenix](https://www.phoenixframework.org/)をはじめられたばかりの方も、腕におぼえがある方も、どんなものなのかなあと様子見をきめこんでいる方も、
つまりは
<font color="purple">$\huge{全人類のみなみなさま！！！}$</font>
**お手にとって、お楽しみください!!!**

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">We, <a href="https://twitter.com/tamanugi?ref_src=twsrc%5Etfw">@tamanugi</a> <a href="https://twitter.com/torifukukaiou?ref_src=twsrc%5Etfw">@torifukukaiou</a> <a href="https://twitter.com/the_haigo?ref_src=twsrc%5Etfw">@the_haigo</a> <a href="https://twitter.com/mokichi_s12m?ref_src=twsrc%5Etfw">@mokichi_s12m</a> including me, wrote featured articles for WEB+DB PRESS Vol.127 about Elixir and Phoenix! It&#39;s being published on 24, Feb.<a href="https://t.co/UPNiVU1zG9">https://t.co/UPNiVU1zG9</a></p>&mdash; 栗林健太郎 (@kentaro) <a href="https://twitter.com/kentaro/status/1489441847130746880?ref_src=twsrc%5Etfw">February 4, 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さん(@kn339264) 作、素敵な資料:clap::clap_tone1::clap_tone2::clap_tone3::clap_tone4::clap_tone5:)

# [Elixir](https://elixir-lang.org/)のイベント情報

@koga1020 さんが作成されたイベントカレンダーがあります。
[https://elixir-jp-calendar.fly.dev/](https://elixir-jp-calendar.fly.dev/)

https://elixir-jp-calendar.fly.dev/

気になるイベントにはぜひ参加してみましょう!!!

上記サイトの解説記事は[こちら](https://zenn.dev/koga1020/articles/6e67765cc53539)です。

https://zenn.dev/koga1020/articles/6e67765cc53539


---

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

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