Let me express the greetings of the season.
Advent Calendar 2022 1日目1の記事です。
私のAdvent Calendar 2022 一覧。
はじめに
Elixirを楽しんでいますか
趣味: 「Qiita Advent Calendar 2021に記事を書くこと」です。
趣味と言うからには、25日分どこかのカレンダーに記事を書きました。
12月も後半に近づくとこんなことをおもいました。
毎日が12月だったらいいのに!!!
I hope every day was in December!!!
Qiitaに記事を毎日投稿し続けると、レベルアップできるかもしれないからです。
12月が終わることを惜しんでいました。
そう言いながら、実は、私は逃げていました。
現実には1月になり、もうアドベントカレンダー向けに記事を書かなくてよいとホッとしている自分がいるのです。
本当に「毎日が12月だったらいいのに」とおもっているのなら、今日からアドベントカレンダーを書き始めればいいわけです。
自分自身との闘いです。
否。闘ってなんていません。とにかく楽しむだけです。
「これから自分たちは、何があっても前を見て、ただ前を見て進みたいと思いますので、みなさんよろしくお願いします。」
そんなことを、@kaizen_nagoya さんの「「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 1日目 Most Breakthrough Generator」をファミレスで読んでいておもいました。
Elixirで新年のごあいさつ、いろいろ
ユー、Elixirをインストールして、iex
コマンドにて、IExと呼ばれるREPL(Read-Eval-Print Loop)2を起動して、下記のコード片をおもむろにコピペしてEnterしちゃいなよ。
私から
[72, 97, 112, 112, 121, 32, 78, 101, 119, 32, 89, 101, 97, 114, 33]
[73, 109, 112, 111, 115, 115, 105, 98, 108, 101, 32, 124, 62, 32, 73, 39, 109, 32, 112, 111, 115, 115, 105, 98, 108, 101]
Charlistと呼ばれるものです。
@mnishiguchi さんから
'6ErKZ>u[\\:HJ8rM' |> Enum.map(&Kernel.+(&1, 12300)) |> List.to_string
Stringと呼ばれるものです。
@piacerex さんから
<<80, 108, 101, 97, 115, 101, 32, 108, 105, 118, 101, 32, 119, 101, 108, 108, 32, 116, 104, 105, 115, 32, 121, 101, 97, 114>>
Binaryと呼ばれるものであり、この例は、
A string is a UTF-8 encoded binary
です。
@t-yamanashi さんから
[20170, 24180, 12418, 12424, 12429, 12375, 12367, 12362, 12397, 12364, 12356,
12375, 12414, 12377] |> List.to_string()
[20170, 24180, 12418, 12424, 12429, 12375, 12367, 12362, 12397, 12364, 12356,
— ymn (@ymnbuild) December 31, 2021
12375, 12414, 12377] |> List. to_string
[12417, 12362, 12369, 12354]
|> Enum.reverse()
|> String.Chars.to_string()
[12417, 12362, 12369, 12354]
— ymn (@ymnbuild) December 31, 2021
|> Enum.reverse
|> String. Chars. to_string
眠いので先に書いときます。
Wrapping up
Enjoy Elixir !!!
今年も楽しんでいきましょう。
今年やりたいとおもってファミレスでナプキン3に走り書きしたことをさらして、1日目の記事を終えます4。
以下、少し言葉を補いながら、文字起こししておきます。
- そもそもアドベントって何?
- アドベントカレンダーアプリをPhoenixで作る
- autoracexの公式LINEアプリを作る
- Slackのスラッシュコマンドで、我が家のNervesアプリが反応する(誰得? なんて気にしない。我が家の温度・湿度を返したり、スピーカーが鳴り出したりするコマンドをリリースしちゃう)
- 型仕様を理解してちゃんと書く
- Text to Speechをいい加減、Hexリリースする
-
Banditを利用して
Bolt for Elixir
- そのHTTP POSTは、本当にLINEから来たの? Slackから来たものなの? をチェックするアレをそれだけに絞ってHexリリースする
- Ectoの理解を深めるためにそもそもSQL力を鍛える (ナプキンには一言も書いていないです)
- Neos.exからメタバースを楽しむ(ナプキンには一言も書いていないです、他力本願)
- Go, Rust, C#, TypeScriptなど私があまり触れたことのないプログラミング言語に触れてみる
-
@kaizen_nagoya さんの「「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 1日目 Most Breakthrough Generator」から着想を得て、模倣いたしました。 ↩
-
IEx
って、REPL(Read-Eval-Print Loop)って呼んでいいんだよね? ↩ -
なぜナプキンに書いたのか? って。それは https://www.amazon.jobs/jp/landing_pages/about-amazon に書いてある故事にならいました。 ↩
-
他にもたくさん、まだまだあんなことやこんなことありますが、それはここでは言いますまい。 ↩