岐阜だからさElixir

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

Elixir

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のデータを返すということがやりたかったんですけど そこそこ記事が長くなってしま…

Elixirからpython呼び出してjanomeで形態素解析していく

ErlPortなるものを発見 色々とネットサーフィンしてたらErlPortというErlangのライブラリを発見 なんとErlang環境からpythonとRubyを実行できる模様...凄すぎる ErlangのモジュールはElixirから呼び出し可能なので勝ちました 前回の記事で作成したparser関数…

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

トピック 第2回清流elixir勉強会 昨日、無事に第2回の勉強会を開催させて頂きました 第1回目では方針を決める時間が長く、手を動かす時間が全くなかったのですが 今回の勉強会では「パイプ演算子を触る」というテーマで 普通に真面目に勉強しました(そこそこ…

優しく理解するelixirのOptionParserでCLIを使い慣れる

OptionParserとCLI 最近はこってりした記事を書いてばかりなので 久々にあっさりした記事を書こうと思います CLIって何 ここらへんは自己満程度の部分でメインはOptionParserの使い方のところなので そんなもん知っとるわという方は飛ばしてください Command…

elixirで並列処理を使ってファイルを同時に開き特定の文字を検索する

あいかわらず長いタイトル どういうことかというと ./file/file1.txt ./file/file2.txt : ./file/file99.txt file(n).txtには単純に文字が書いてあるだけです こんな感じですかね ppppppcatpppppppppppppp ppppppcatpppppppppppppp ppppppcatpppppppppppppp …

elixirでcsvファイルにデータを書き出す

mixのプロジェクトの用意 前提としてmix newでプロジェクトが作成されている状態とします mixコマンドを使ってプロジェクトを作成するまでの手順は こちらの前半部分で触れていますので 必要であればご覧ください テキトーにgitを覗いてみる あった(秒速 bea…