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

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

Elixir

プログラミングErlang7章を読んで。並行処理とアクターモデルについて考えてみた

並行処理について 人間なら誰でも並行処理を理解している。 この世界は並列だ。 Erlangのプログラミングは人間の思考と対話をモデル化している。 人間はそれぞれメッセージを送ることによって通信し合う独立した存在として動く。 誰かが死ねば、他の誰かが気…

【第15回清流elixir+fukuoka.exもくもく勉強会】Elixirでチャットサーバーを作りながらNode間通信を試す

トピック elixir-sr.connpass.com Qiitaのアドベントカレンダーの執筆したり、業務が忙しすぎたり、PIDの闇にハマっていたりで、少し間が空いてしまいましたが第15回のレポートをまとめました 今回も前回同様に、kogaさんにお声がけ頂きましてfukuoka.exさん…

Elixrのプロセスとは一体何なのか。探索の旅に出てた

今更だけど Node間通信のチャットサーバーを作っている時にふとなぜか、「Elixirでspawnとかした後に返ってくるPIDって一体何なんだ?」と思い立った なぜsend(target_pid, message)とするだけで対象のプロセスにdataを送ることが可能なのだろか。Node間通信…

【第14回清流elixir勉強会】Elixirのマクロを完全に理解する会

トピック elixir-sr.connpass.com 第14回目となる清流elixirの勉強会を開催しました 今回からは本格的にリモート参加枠を用意した。しかし、これが思っていたよりも何倍も難しい。会場のホットな温度感や議論が始まるとリモート参加者にはその現場感を伝える…

Elixirのマクロに非黒魔術士が挑む

マクロは黒魔術 以前からメタプログラミングという単語を耳にしたことはあり、存在は認知していた。マクロはメタプログラミングを行うための機能、言語という意味で捉えれば良い(マクロ in メタプログラミングという階層になっている) 要するに言語拡張のた…

人生で初めてLTしてきたので後日談【よわよわな新卒が勉強会を始めた話】

後日談とは(1週間以上経ってる いつもお世話になっているからpiacereさんから声を掛けて頂き、人生で初めての自身のネタでのLTかつリモートLTをしました fukuokaex.connpass.com 今回話したネタは「清流elixirのこれまで -東海にElixir界の異端児が生まれた…

【レポート】第13回清流elixir勉強会を開催しました【Elixirで作成されたOSSのコードを読んでみる会】

トピック elixir-sr.connpass.com 第13回目の清流elixirの勉強会を開催しました 今回はOSSのコードを読んでElixir力をあげるという目的かつ、弊コミュニティ初の試みとしてリモート(Zoom)での参加にも対応しました これで全国からのジョインが可能に!! 勉強…

Elixirでプロセスをspawnで生成してErlangの:random.uniformを呼び出すと全て同じ値になる

何が起こったのか これの実行結果が全て同じ数値になるのなぜ...???https://t.co/DoUBNy6BoJ(1..10, fn _ -> spawn(fn -> num = :random.uniform() IO.puts(num) end) end)— OKB(岡部) (@sing_mascle69) October 22, 2019 まず、プロセスを複数立ち上げて並…

Elixirで定数を定義する

Elixirには標準にconstがない ※書き方が早く知りたい方はこの章は読み飛ばして頂いて構いません Elixirはいわゆる関数型言語だが変数の再代入、正しくはパターンマッチを何度も行うことが出来る。またgo-langのような厳密な型の指定も必要ない user_input = …

docker-composeを使ってReact+phoenix+postgresの環境を構築する

概要 ほとんど個人的メモです 自身でよく構築することの多い以下の環境を毎度、調べながら作るのが面倒なのでまとめたって感じです React(front end) phoenix(backend, elixir web framework) postgres(open source database) 毎度悩むのが、dockerのimageを…

【レポート】第12回清流elixir勉強会を開催しました【elixirでミニCodeReTreatやろうぜ!!】

トピック 今回で第12回目の勉強会を開催致しました。いつのまに12回も... elixir-sr.connpass.com 以前よりずっと個人的にやりたいなーって思っていたCodeReTreatを開催しました 名古屋でも開催されているのをちらちらと見たことがありますが、中々参加でき…

【レポート】第11回清流elixir勉強会を開催しました【Taskを使った並行処理に入門】

トピック 今回で第11回目の勉強会を開催致しました elixir-sr.connpass.com 隔週にて勉強会を開催していたのですが、先月は仕事の都合で日程が合わずで3週間時間が空いてしまった こういうのは一回サボる癖が付いてしまうと徐々に習慣化してしまうので気をつ…

スタックサーバーを実装しながらElixirでOTPへ入門する

そもそもOTPとは 一言で言えば、Erlangで用意された便利なライブラリなどの集合体で便利ツールをまとめたものという認識をしている OTPとはopen telecom platoformの略で当初は堅牢性が重要な電話交換機を開発するために使用されていた 今になってはElixirで…

【レポート】第10回清流elixir勉強会を開催しました【Elixirで速度測定】

トピック 今回で第10回目の勉強会を開催致しました elixir-sr.connpass.com 3月の下旬に始めた当勉強会も、気づけば10回もやってたのかと感慨深い 「どうやって運営してるんですか?」とよく聞かれることがあるが別に何か特別なことはしていないはず ただ、自…

fukuoka.exさんのもくもく会にリモートで参加させて頂きました【Phoenix入門】

参加したもくもく会 以前から合同で勉強会をさせて頂いていたり、様々なことを教えて頂いているfukuoka.exさんのリモート勉強会に再び参加させて頂きました 名古屋には多くの勉強会があるとは言える状況ではないですが、リモートで接続可能な勉強会があると…

Elixirでの実行速度の測定と色々と実験してみた【Enun.sum vs Enum.reduce etc...】

測定に至る背景 再来週に開催する清流elixirの勉強会でifとパターンマッチでそれだけ実行速度に差が出るのかを測定しようと企画している そのために自身の予習を兼ねて、Elixirでの実行速度の測定方法について調査し、簡単な実験を行なってみた 以前から気に…

【レポート】第9回清流elixir勉強会を開催しました【ウェルカムElixir入門会】

トピック 今回で第9回目の勉強会を開催致しました elixir-sr.connpass.com 東京で参加したElixir&ErlangFest2019やfukuoka.exさんの勉強会にリモート参加させて頂いた中で コミュニティの盛り上がり、参加する人の多さが非常に重要であると痛感した fukuokae…

ElixirでアセンブラとVM変換器がとりあえず出来た

なにこれ(5度目 Elixirでコンピューターサイエンスを学ぶシリーズの第5弾で以下記事の続編です www.okb-shelf.work この本を参考に勉強しつつコードを書いています www.oreilly.co.jp 以前の記事まではかなり低レイヤーの部分をメインとして扱っていた 論理…

ElixirでDフリップフロップと1Bitレジスタをそれっぽく実装してみる【順序回路】

なにこれ(4度目 Elixirでコンピューターサイエンスを学ぶシリーズの第4弾で以下記事の続編です www.okb-shelf.work この本を参考に勉強しつつコードを書いています www.oreilly.co.jp 今回は順次回路と呼ばれるCPUのクロックを受けて同期する回路の作成に取…

【レポート】第8回清流elixir勉強会を開催しました【競プロ(Cake and Donuts)@Elixir2】

トピック 今回で第8回目の勉強会を開催致しました elixir-sr.connpass.com 隔週で勉強会を開催して早3ヶ月... 当初はElixirについてほとんど知らなかったが、現在ではある程度語れるレベルにはなった Elixirを勉強しないという気持ちから、この面白い言語を…

ElixirでそれっぽいALUがついに出来た【ALUについて】

なにこれ(3度目 Elixirでコンピューターサイエンスを学ぶシリーズの第3弾で以下記事の続編です www.okb-shelf.work この本を参考に勉強しつつコードを書いています www.oreilly.co.jp 相変わらず内容に結構つまづいている 今、土日はだいたいこの本 + couser…

【第7回清流elixir勉強会@fukuoka.exさん】Elixirのシギルについて調べて色々試した【リモートでジョイン】

トピック 昨週に引き続き、清流elixirの第7回目の勉強会を開催させて頂きました 今回は清流elixirのみではなく福岡を拠点に活動されているfukuoka.exさんのもくもく会に リモートでジョインさせて頂きました fukuokaex.connpass.com もくもく会を主催されて…

Elixirで加算器を実装する【加算器】

なにこれ(既視感 Elixirで論理ゲートを実装する【ブール理論】の記事の続編です まだ挫折してないです www.oreilly.co.jp この本を勉強しているつもりなのですが、普通に難しい 僕のレベルが低いのもあるが、説明があるようでなかったりと結局ググらないと分…

【レポート】第6回清流elixir勉強会inMisoca様を開催しました【競プロ@Elixir】

トピック 今回で第6回目の勉強会を開催致しました elixir-sr.connpass.com 2019年4月から清流elixirの運営を初めて早2ヶ月 Elixirを全く知らない状態 & 新卒のクソザコでも何とかなりました 昨週、東京に行って感じたことは名古屋はまだ多くの技術がブルーオ…

Elixirでcsvデータを触る関数作ったので使い物になるのか検証

ゆるふわな動機 pythonのライブラリにpandasと呼ばれるものがある 厳密にはC言語で書かれているのでpythonかというとそうでもないが このpandasが提供しているAPIにread_csvというものがあり csv形式のファイルをdf形式で読み込みpandasでお気軽にゴリゴリと…

岐阜県民だけどErlang&ElixirFest2019に行ってきた

Erlang & ElixirFest2019とは Erlang & Elixirが大好きな人やら興味のある人が集まる万博みたいなお祭り 年に一度開催されていらっしゃるようで今年で3度目になるそうです Erlang & ElixirFest2019 connpassのページ 開催場所はご想像の通り、東京です Erlan…

Elixirで論理ゲートを実装する【ブール理論】

なにこれ 僕は一応、理工学部の出身ではありますが建築土木が専攻でした この業界にいながらcsについての知識が皆無 前からやらねば...やらねば..と思ってはいたが触れる機会がない & 一度挫折済み しかし、アルゴリズムの勉強を始める中でデータ構造の重要…

【レポート】第5回清流elixir勉強会in丸の内を開催しました【再帰関数】

トピック 今回で第5回目の勉強会を僕の運営しているコミュニティで開催することができました 清流elixir 先週にはfukuoka.exを運営されているpiacereさんと Twitterで繋がらせて頂きまして多くの方に清流elixirの名を知って頂けました 本当にあざます!!! や…

Elixirのtrotを使って爆速APIを立ち上げる

おなじみgit探検隊 Elixirに限ったことではないが、定期的にgitでトレンドのレポジトリはチェックするようにしている そうすると大体、何が流行っていて何に注目が集まっているかが何となく分かる 最近は中国語のREAD.MEが多くて翻訳ないと詰む さておき、ま…

【レポート】第4回清流elixir勉強会in丸の内を開催しました【色々なパターンマッチ】

トピック 今回で第4回目の勉強会を僕の運営しているコミュニティで開催することができました 清流elixir connpassでの参加人数+開催直前に新規の1名の方に参加して頂けました 少しずつ賑わってきてる感があって素直に嬉しいです また参加者の業種や立場がバ…