田舎で並行処理の夢を見る

試したこと、需要がないかもしれないけど細々とアウトプットしてます

【第16回清流elixir勉強会】今年のElixirに関する学習を振り返る会

トピック

elixir-sr.connpass.com

早いもので今年ももう終わろうとしています。今年度より清流elixirというコミュニティを立ち上げて勉強会を行い今回を含めて合計16回の勉強会を開催することが出来た。幅広い方に参加して頂き、多くの方と知り合うことが出来た。それに見える世界観も大きく変わった

ここまで、この勉強会を継続出来たのは多くの方のご助力のおかげです。いつも有難うございます。今年度の勉強会はこれで最後になりますが、また来年からドシドシ活動をしていきますので、よしなにお願い致します🙇‍♂️

elixir-sr.connpass.com

清流elixir-infomation
開催場所: 丸の内(愛知)
参加人数: 4 -> 3 コミュニティ参加人数 : 37 -> 37
2019/12/21現在

第16回の勉強会について

今回は参加者の方と共に、今年のElixirに関する学習を振り返って共有した。やり方はシンプルかつノープランで各々、5~10分程度で軽く今年のElixirに関する学びを話す。それを順に回していくというスタイルになる
自分が何を話していたのかを正確には覚えていないが、参加者のtorifukukaiouさんがメモをとって下さりました。有難うございます。非常に助かります

自分が話したこと。今年の学び

  • 3月から清流elixirを開始
  • 知人がPythonの勉強会を全然知らない頃からはじめていまは約300名。その話を聞いたことで開催を決意
  • 当時は関数型なんぞやから。Elixirを知らなかった。パイプラインとか 分散とかやってみたい。面白そう
  • 基本的にはプログラミングElixirで勉強
  • 今年の一番の学びは基礎文法、バックグラウンド(用途、得意なこと)
  • 清流elixirの今年度の目標 -> 「Elixirとはなにができるものか、用途が向いているか」は説明できるようになったので目標達成
  • アプリケーションを作ったりはまだできていない
  • 来年はElixirで何か作る悪だくみをする
  • 文法わかりました。仲間が増えた。Elixirという好きな物の話しが出来て楽しい

当初、清流elixirを立ち上げた際は何度も話しているが、Elixirについてはほとんど知らなかった。そんな状態から今年はスタートした。torifukukaiouさんElixirの学びをまとめていらっしゃるスプレッドシートが素晴らしかったので、パクリつつ今年の学習を後日談として細かく振り返ってみる。ブログにまとめていて良かったなぁとしみじみ思う

2019年のOKBとElixir

清流elixirを発足する

今年の3月22日のこと。発足の理由は何度も話した通り。当時からその気持ちはぶれていないつもりだ
www.okb-shelf.work

とりあえずアウトプットのためにブログをスタートする

何だこの痛い記事は...1000文字しか書いてねぇ...。この時点で「まつもとゆきひろ」さんの考えを大切にしている
www.okb-shelf.work

怒涛の勢いでElixirの勉強をしてアウトプット

関数型言語なるものを触るのがはじめて、再帰関数であったり、ElixirEnum、特にEnum.reduceなんかが面白くて、色々試してはコードを書いてブログにまとめていた。この辺りの時期がもっともElixirを書いていただろうか

www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work

第2回清流elixir勉強会を開催

パイプライン演算子にまつわる勉強会。引数が流れて気持ちいんじゃあ^〜と喜びあったのを覚えている
www.okb-shelf.work

ちょっと凝ったことを試し始める

ElixirからPythonで記述した関数を呼び出したり、http clientを扱ったりと、少し玄人感が出てきたなと思っていたはずだ

www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work

第3回清流elixir勉強会を開催

パイプライン演算子に続き、Elixirと言えば、パターンマッチでしょということでパターンマッチをしまくる勉強会。map型のパターンマッチに苦戦したのを思い出す

www.okb-shelf.work

少し並行処理を意識しだす

以前行なったmessage passingを発展させたTaskがかなりしっくりきて、並行処理が出来たことに喜びを感じた

www.okb-shelf.work

Elixirでアルゴリズムを実装する

ゴールデンウィークに入ったこともあり、購入した「なっとく!アルゴリズム」という書籍を元にソートを始めとした様々なアルゴリズムElixirで実装していった。Elixirの勉強にもなったし、計算量という概念も身につき、コードを書く際の視点が増えて、業務で非常に役にやっている

www.okb-shelf.work

www.okb-shelf.work

www.okb-shelf.work

www.okb-shelf.work

www.okb-shelf.work

www.okb-shelf.work

www.okb-shelf.work

第4回清流elixir勉強会を開催

前回に引き続き、パターンマッチの学習を行なった。第4回の勉強会は常連参加者のりき さんが進行をしてくれた。難しいことは考えないようにしたきたが、「値の束縛」という概念など非常に分かりやすく説明してくれた。さらに第4回の勉強会の内容をいつも通り、はてなブログにまとめてtwitterに投稿したところ、fukuoka.exさんを主催されており、日本のElixir先駆者である、piacere さんにRTを頂き、多くの方に認知して頂けた。第4回の勉強会をきっかけに全国各地の方とつながりを持つことが出来た

www.okb-shelf.work

はじめてWebFrameworkを触る

なぜかPhoenixではなく、trotというマイクロなFrameWorkを使ってAPIを作ってみた。確か、git hubexploreで見つけた記憶がある

www.okb-shelf.work

第5回清流elixir勉強会を開催

再帰関数について取り組んだ。個人的に再帰関数という考えがお気に入りで、説明していて楽しかった記憶がある
www.okb-shelf.work

Elixirで学ぶコンピューターサイエンス

自分がコンピューターサイエンスを学んでいないことでマウントを取られることが多くて、悔しい思いをしたので書籍を購入して誰も挑戦していないElixirで各章の課題を記述した。パターンマッチが論理ゲートを実装する上で非常に役に立った

www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work

Elixir/Erlang Fest2019に行ってきた

トップの人たちが集まる環境に行けることは滅多にないので、東京に行ったことが2度しかなく、初めての1人東京だったが参加してきた。当日のLTはレベルが高すぎて自分にはよく分からなくて、いい刺激を貰えた。参加した知見を清流elixirに持ち帰ろうと思っていたが、常連参加者の全員がElixir/Erlang Fest2019に参加してため、世間の狭さを感じた

www.okb-shelf.work

第6回清流elixir勉強会を開催

今まで使用していた4畳程のレンタル会議室を抜け出し、Misoca様のオフィスにお邪魔させて頂き勉強会を開催した。今まで競技プログラミングの経験は無かった為、かなり苦戦したが、Elixirのパイプラインが非常に役になった。参加者のthara さんが書くコードがスタイリッシュすぎて感動したことを覚えている

www.okb-shelf.work

第7回清流elixir勉強会を開催

初めてのリモート勉強会。fukuoka.exさんで勉強会を主催されているkoga さんに準備をして頂き人生初のリモートでの勉強会参加をした。この頃から福岡のエンジニアのレベルの高さには驚かされた

www.okb-shelf.work

第8回清流elixir勉強会を開催

以前行なった、競技プログラミングの問題をElixirを使って解くというのが面白かったので、再度同じテーマで開催。ちょうど、この頃から新たなレンタルオフィスを見つけてそちらへ移動した。以前より広くモニターも使えて、安く使い勝手が良い

www.okb-shelf.work

第9回清流elixir勉強会を開催

ここまでElixirについて自身が学習をするということを行なってきたが、新規の参加者を増やす、Elixirを東海で布教するという目的に挑戦するために、Elixirに興味がある、やってみたいという方向けにElixirの入門会を初めて開催した。当日は新たに3名の方に参加して頂き、Elixirの魅力を伝えることが出来たのではと思う

www.okb-shelf.work

色々、挑戦する

Enum.map再帰関数どちらが早いのかを調べたり、今更ながらPhoenixに取り組んだりと、的を絞らず様々なことをやっていた。基本的な文法を触れ終えて実践的なことを始めようと動き出していたはずだ。OTPがかなりしっくりきた

www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work

第10回清流elixir勉強会を開催

ブログで行なったEnum vs 再帰関数の知見を元に、条件分岐構文とパターンマッチのどちらが早いのかを調べた。ちょうど、この辺りから業務が忙しくなり、Elixirを触る時間が確保出来なくなってしまった

www.okb-shelf.work

第11回清流elixir勉強会を開催

ついに勉強会で並行処理に挑戦。内容はTaskを使ったシンプルなものだが、mixを使ってプロジェクトを作成するところまでを完遂することが出来てかなり内容も充実させられるようになってきた

www.okb-shelf.work

第12回清流elixir勉強会を開催

以前よりずっと、行いたかったCode ReTreatというテーマを決めて、各チームでそれに取り組むというミニハッカソンのようなイベントを開催した。テーマはソートアルゴリズムを採用した。30分のセクションを2回行なったが、とても面白かった。もっと時間と良いテーマを決めて、再度取り組みたいイベントだ

www.okb-shelf.work

尖りだす

Erlangの知見を習得し始めたり、環境を構築したりと少し尖ったことを学習し始める。しかし、個人的にはこんな感じの学習が結構好きだったりする。業務は忙しいが何とか時間を作って、自分の取り組みたいことをするようにした。以前のような学習に義務感はなく好きなテーマを好きに取り組むようになった

www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work

第13回清流elixir勉強会を開催

Elixirのことをそこそこ理解しているつもりになっていたが、この勉強会で自分はまだまだだと思い知らされた。随所で使われているマクロや、見たこともない構文に手も足も出なかった。fukuoka.exさんのpiacereさんの解説がなければ詰んでいた

www.okb-shelf.work

人生で初めてLTをする。しかもリモートで

業務で登壇したり、セミナーで答弁したりすることはあったが、それは自分の意志ではない。自分からLTをしようと気持ちはあまりなかったが、piacereさんからお誘い頂き、これまでの清流elixirの活動をfukuoka.ex秋のLT大会にてお話させて頂いた。ブログとはまた違うアウトプットの方法に刺激を受けた

www.okb-shelf.work

マクロの学習を始める

前回の勉強会で非常に悔しい思いをしたのでマクロの勉強を始める。構文に関してはこのアウトプットで何とかなったはずだ

www.okb-shelf.work

第14回清流elixir勉強会を開催

以前、悔しい思いをしたマクロに挑戦する勉強会を開催した。今回はfukuoka.exさんと合同での勉強会を開催して、計全国3カ所を繋いだ壮大な勉強会となった。マクロを学習する中で、今までのプログラミング言語の概念がぶっ壊されて非常に勉強になった。まだまだ知らないことが多すぎて驚くばかりだ

www.okb-shelf.work

少しレイヤーの低い知識をインプット

Elixirの仕様を理解するためにErlangの理解が必要になることがあり、Erlangの知見をインプットした。Elixirに比べて日本語情報が少なく、理解がかなり難しかった

www.okb-shelf.work
www.okb-shelf.work
www.okb-shelf.work

qiitaに初投稿

fukuoka.exさんのアドベントカレンダーに参加さえて頂き、LTした内容をさらに詳細にまとめたものを投稿した。qiitaに投稿することで、また普段とは違い方に見て頂けるチャンスが得られることが分かった。自身の登校日のPVが普段の3倍ほどになっていた

qiita.com

第15回清流elixir勉強会を開催

fukuoka.exさんのもくもく会に並行開催させて頂き、qiitaのアドベントカレンダーに記載する記事を書くために色々触ってみた。もとより、分散処理を華麗にこなしたいという気持ちがあったので、Node間での通信について、取り組んだが時間が足りず途中で終わった。

www.okb-shelf.work

そして伝説へ

ここまで今年度の主な自身のElixirに関する活動になる。実はいろいろとgit hubのprivateのレポジトリで色々と作ったりはしていたが、どれも上手くいかずに途中で投げ出している。Phoenixで作りたいアプリの構想もいくらかあるし、Nervesを触るために購入したラズベリーパイも触れていない。ある程度、基礎的な知識は身についているはずので、来年度は形があるものを作って、世の中に出せたらと思う

今回の参加者の方々の「ものを作る」という活動にとても心打たれた。自分も作ってみようと思う

結論として、Elixirの学習を始めてよかった。言語仕様の他にも色んな知見やつながりを得ることが出来た。来年度も清流elixirの活動は積極的に行なっていきますので、また宜しくお願い致します。