岐阜だからさElixir

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

Elixir

スタックサーバーを実装しながら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名の方に参加して頂けました 少しずつ賑わってきてる感があって素直に嬉しいです また参加者の業種や立場がバ…

Elixirでk近傍法を実装して近しいデータを予想する

k近傍法とは ざっと説明するとAというデータとBというデータが どれだけ近しいかを予測するためのアルゴリズム 仕組みは超簡単で以下のようなデータがあったとする size(大きさ)は1~5の5段階 is_red(見た目)は1~5の5段階 has_seed(種があるかないか)は0or1 a…

Elixirで最長共通部分列使ってタイプミスしてるかを調べる

プログラムでタイプミスを修正する難しさ 以下のような変数があったとする user_input_textは自身で入力したテキストで"apple"と入力したつもりが 間違えて"anpple"と入力してしまっている user_input_text = "anpple" answer_text = "apple" 他にもタイプミ…

ElixirのMapSet(集合)の使い方と集合カバー問題を解いてみる

Setは非推奨 元々、Elixirに実装されていたSetという集合のモジュールは現在、非推奨となっており MapSetを使ってくれよなと公式が言っている なのでよほどの理由がない限りはMapSetを使えばいいんじゃないかなと MapSetの使い方 MapSetモジュールを使うこと…

最短経路を求めるためにElixirでダイクストラ法を実装する

グラフと最短経路 こんなグラフのネットワークがあったとする Start, A, B, Goalをそれぞれノードといい 6,2,3...のような数字をエッジの重み(ここでは距離)という StartからGoalへの最短経路は見て分かるように Start -> B -> A -> Goal になるかと思う こ…

Faker使ってテキトーなサンプルデータを作る

githubの探検中に面白いものを見つける なんだこれは(褒め言葉 Faker 公式(hex)ドキュメント Faker is a pure Elixir library for generating fake data. fmfm... どうやらフェイクデータを色々作れるライブラリだそうです 公式ドキュメントを見てみると 名…

Elixirでqueue使って幅優先探索を実装する

Elixirにqueueがなかった件 しかし、Erlangには用意されていた Erlangの公式ドキュメントにばっちしqueueについて記述されている Elixirで解決できない時はErlangのドキュメントを見るというのは本当ですね Elixirからのqueueの使い方 新規のqueue作成 2つの…

セレクトソートとクイックソートをElixirで実装する

ソートの必要性について 前回の記事で実装した二分探索は 対象のリストがソートされていることが前提 つまりはリストをソートしてくれるアルゴリズムが必要になる え?もうEnum.sort()あるけど?とは言わない約束 一度自分で実装することが大事なんじゃないか…

ゆるく理解する二分探索とElixirでの実装

二分探索の生まれた背景 昇順ソート済みのリスト(配列)から特定の値のindex番号を取得したいとする #8のindex番号はいくつ?(7が知りたい) item = 8 lst = [1,2,3,4,5,6,7,8,9,10] これを単純に配列の頭から探索していくと index番号の0から初めて7番目、すな…

並行処理したい人に送るElixirのTaskの使い方と簡単な遊び方

Taskってなんじゃい Elixirでプロセスを作成する方法はいろいろあります 以前はelixirで並列処理を使ってファイルを同時に開き特定の文字を検索するで 並列処理をやりましたが、その時は spawn(module, :func, [argument) こんな感じでspawnメゾットを使って…

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

トピック 昨日、愛知県の丸の内にて私が運営しているコミュニティ清流elixirで 第3回目となる勉強会を開催させて頂きました さすがに3回目ともなると多少は要領が分かってきてわりとスマートに 活動できるようになってきたかと思ってます(力不足ですません …

Elixirでクソ簡単に公開APIをcallする

公開APIについて 以前「清流elixir」の勉強会でこの公開API、通称ジブリAPI(勝手に命名)を Enumとパイプ演算子を使って遊ぶ予定だったんですけど 当日になってcurlの戻り値が%{}(マップ形式)となっていないことに気づく(そりゃそう 知見としてもかなり強力な…

ErlPortでpythonのクラスメゾット呼び出しとElixir側にAtomを返す

続編のそれ 前回の記事でElixirからpythonの関数を呼び出して 最終的にjanomeを使って形態素解析を行いました 本当はpythonのclassメゾットの呼び出しとElixirに対して Atomのデータを返すということがやりたかったんですけど そこそこ記事が長くなってしま…