$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$
$\huge{闘魂とは己に打ち克つこと。}$
$\huge{そして闘いを通じて己の魂を磨いていく}$
$\huge{ことだと思います}$
はじめに
2024年5月21日(火)に、「e-ZUKA Tech Night vol.62 -STORES襲来!-」というイベントが行われます。
本資料は、そのイベントでの私のLT(Lightning Talks)で使う資料です。
LT(Lightning Talks)とは、短いプレゼンテーションです。1
e-ZUKA Tech Nightでは、5分となっております。
(テックイベントに初参加の新入生などがいるのでLTとは何かを注釈しています。)
自己紹介
- 九州工業大学 情報工学部 機械システム工学科
- 学籍番号「97234070」(1997年に入学という意味です)
- 名乗るほどのものではございません
- Elixir ConfのTシャツを着てきました(USには行っていません。通販で買いました)
書籍『Elixir実践入門』
- 2024年2月24日発売
- 技術評論社さん
- 名乗るほどのものでもない私の名前「山内修」が執筆陣に並んでいます(つまりは、書きました!)
What is Elixir?
- 関数型言語(Haskellは、関数型言語)
- Erlang VMの上で動く
- 並列処理に優れている
- 耐障害性を備えている
- アクターモデル
- Rubyの弟分
(なにを言っているのかわかりませんね)
論よりRun🚀🚀🚀
黒い画面編
Dockerを使ってイゴかします(※西日本地域の方言で「動かします」の意です)。
docker pull hexpm/elixir:1.16.2-erlang-26.2.5-alpine-3.17.7
docker run --rm -it hexpm/elixir:1.16.2-erlang-26.2.5-alpine-3.17.7
コンテナが立ち上がったら、IExという interactive shellを起動します。
/ # iex
以下のプログラムを迷わず打ち込んでください。
(迷わず行けよ 行けばわかるさ)
iex> Mix.install([{:req, "~> 0.4.0"}])
iex> "https://qiita.com/api/v2/items?query=tag:Elixir"
|> Req.get!(pool_timeout: 50000, receive_timeout: 50000)
|> Map.get(:body)
|> Enum.map(& Map.take(&1, ["title", "url"]))
ReqはHTTPクライアントライブラリです。
|>は、パイプ演算子と呼ばれます。前の計算結果を次の関数の第1引数に入れて実行してくれます。
Elixir
タグが付いた直近20件のQiita記事を取得するプログラムです。
Livebook編
当日のデモはこちらでします。
docker run --rm -p 8080:8080 -p 8081:8081 --pull always ghcr.io/livebook-dev/livebook
Visit: http://localhost:8080/?token=secret
※ secret
は実行の都度ランダムに変わりますので、実行ログをよく見てください。
New notebook
Mix.install([
{:kino, "~> 0.12.3"},
{:req, "~> 0.4.0"}
])
"https://dog.ceo/api/breeds/image/random"
|> Req.get!()
|> Map.get(:body)
|> Map.get("message")
|> Req.get!()
|> Map.get(:body)
#|> dbg()
迷わず実行(evalutate: 評価)してください。
いろいろな犬の絵がランダムに表示されます。
dbg()
を有効にすると、各関数が実行(評価)されたところまでの結果を確認できます。
さいごに
関数型言語を何かひとつ習得しておくと、あなたのコーディングスキルの幅を広げてくれるでしょう。
そんな方にElixirはお勧めです。そして、その入門書に書籍『Elixir実践入門』をお勧めします。この本では、基本文法の説明から丁寧にはじめて、Web開発、機械学習、IoTへと実践を進めて行く、頼もしいガイドです。
私たちハウインターナショナルには、私を含め書籍の著者となっている人がゴロゴロ在籍しています。
あなたのLTをお待ちしております。あなたの話をぜひ聞かせてください。
編集後記
このあと、 @tsuruoka91 さん、 @mnishiguchi さんの発表が続きました。
闘魂とは、 「己に打ち克つこと。そして闘いを通じて己の魂を磨いていくことである」 との猪木さんの言葉をそのまま胸に刻み込んでいます。
知っているだけで終わらせることなく、実行する、断行する、一歩を踏み出すことを自らの行動で示していきたいとおもいます。
アントニオ猪木さんのメッセージから元氣をもらったものとして、それを次代に語り継ぎ、自分自身が「闘魂」を体現するものでありたいとおもいます。
$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$
$\huge{1、2、3 ぁっダァー!}$
-
テックイベントに初参加の新入生などがいるのでLTとは何かを注釈しています。 ↩