Elixir
k近傍法とは ざっと説明するとAというデータとBというデータが どれだけ近しいかを予測するためのアルゴリズム 仕組みは超簡単で以下のようなデータがあったとする size(大きさ)は1~5の5段階 is_red(見た目)は1~5の5段階 has_seed(種があるかないか)は0or1 a…
プログラムでタイプミスを修正する難しさ 以下のような変数があったとする user_input_textは自身で入力したテキストで"apple"と入力したつもりが 間違えて"anpple"と入力してしまっている user_input_text = "anpple" answer_text = "apple" 他にもタイプミ…
Setは非推奨 元々、Elixirに実装されていたSetという集合のモジュールは現在、非推奨となっており MapSetを使ってくれよなと公式が言っている なのでよほどの理由がない限りはMapSetを使えばいいんじゃないかなと MapSetの使い方 MapSetモジュールを使うこと…
グラフと最短経路 こんなグラフのネットワークがあったとする Start, A, B, Goalをそれぞれノードといい 6,2,3...のような数字をエッジの重み(ここでは距離)という StartからGoalへの最短経路は見て分かるように Start -> B -> A -> Goal になるかと思う こ…
githubの探検中に面白いものを見つける なんだこれは(褒め言葉 Faker 公式(hex)ドキュメント Faker is a pure Elixir library for generating fake data. fmfm... どうやらフェイクデータを色々作れるライブラリだそうです 公式ドキュメントを見てみると 名…
Elixirにqueueがなかった件 しかし、Erlangには用意されていた Erlangの公式ドキュメントにばっちしqueueについて記述されている Elixirで解決できない時はErlangのドキュメントを見るというのは本当ですね Elixirからのqueueの使い方 新規のqueue作成 2つの…
ソートの必要性について 前回の記事で実装した二分探索は 対象のリストがソートされていることが前提 つまりはリストをソートしてくれるアルゴリズムが必要になる え?もうEnum.sort()あるけど?とは言わない約束 一度自分で実装することが大事なんじゃないか…
二分探索の生まれた背景 昇順ソート済みのリスト(配列)から特定の値のindex番号を取得したいとする #8のindex番号はいくつ?(7が知りたい) item = 8 lst = [1,2,3,4,5,6,7,8,9,10] これを単純に配列の頭から探索していくと index番号の0から初めて7番目、すな…
Taskってなんじゃい Elixirでプロセスを作成する方法はいろいろあります 以前はelixirで並列処理を使ってファイルを同時に開き特定の文字を検索するで 並列処理をやりましたが、その時は spawn(module, :func, [argument) こんな感じでspawnメゾットを使って…
トピック 昨日、愛知県の丸の内にて私が運営しているコミュニティ清流elixirで 第3回目となる勉強会を開催させて頂きました さすがに3回目ともなると多少は要領が分かってきてわりとスマートに 活動できるようになってきたかと思ってます(力不足ですません …
公開APIについて 以前「清流elixir」の勉強会でこの公開API、通称ジブリAPI(勝手に命名)を Enumとパイプ演算子を使って遊ぶ予定だったんですけど 当日になってcurlの戻り値が%{}(マップ形式)となっていないことに気づく(そりゃそう 知見としてもかなり強力な…
続編のそれ 前回の記事でElixirからpythonの関数を呼び出して 最終的にjanomeを使って形態素解析を行いました 本当はpythonのclassメゾットの呼び出しとElixirに対して Atomのデータを返すということがやりたかったんですけど そこそこ記事が長くなってしま…
ErlPortなるものを発見 色々とネットサーフィンしてたらErlPortというErlangのライブラリを発見 なんとErlang環境からpythonとRubyを実行できる模様...凄すぎる ErlangのモジュールはElixirから呼び出し可能なので勝ちました 前回の記事で作成したparser関数…
トピック 第2回清流elixir勉強会 昨日、無事に第2回の勉強会を開催させて頂きました 第1回目では方針を決める時間が長く、手を動かす時間が全くなかったのですが 今回の勉強会では「パイプ演算子を触る」というテーマで 普通に真面目に勉強しました(そこそこ…
OptionParserとCLI 最近はこってりした記事を書いてばかりなので 久々にあっさりした記事を書こうと思います CLIって何 ここらへんは自己満程度の部分でメインはOptionParserの使い方のところなので そんなもん知っとるわという方は飛ばしてください Command…
あいかわらず長いタイトル どういうことかというと ./file/file1.txt ./file/file2.txt : ./file/file99.txt file(n).txtには単純に文字が書いてあるだけです こんな感じですかね ppppppcatpppppppppppppp ppppppcatpppppppppppppp ppppppcatpppppppppppppp …
mixのプロジェクトの用意 前提としてmix newでプロジェクトが作成されている状態とします mixコマンドを使ってプロジェクトを作成するまでの手順は こちらの前半部分で触れていますので 必要であればご覧ください テキトーにgitを覗いてみる あった(秒速 bea…
用意するもの elixir(1.8.1でやってます) mix(elixirのビルドツール。クソ便利) HTTPoison(HTTPクライアント) Floki(HTMLパーサー) 事前準備について elixirのインストールについては割愛します 公式のドキュメントみた方が圧倒的ッ!に早いです こちらに各環…
今更ですが connpassで東海地方(主に岐阜/名古屋)でelixir勉強しようぜ!!って 安直な気持ちで立ち上げました「清流elixir」です 名前の由来はアホほど適当で、僕は岐阜出身です 岐阜といえば川でしょ。綺麗だから清流でええや。elixirのアイコンも雫みたいな…
日本語が下手な件 どういうことかというと... #この配列を _lst_data = [ [1,2,3], ["a", "b", "c"], [true, false, true] ] #こうしたい _output_image = [ [1, "a", true], [2, "b", false], [3, "c", false] ] 要するに「2次元のリストを縦方向に結合(mer…
reduce関数の動き方 reduce関数好きですか?僕は嫌いです。最近は好きです javascriptにもpython(要import)あるreduce関数なんですけど 使い道があんまり思いつかなかった頃がありました map関数とかfilter関数は名前の通りで使いやすいんですけど reduce関…
elixirでのデータ構造体 リスト タプル マップ キーワードリスト (構造体) ※今回は触れません よく混同するのでまとめときました リスト[] (list) javascriptやpythonでいう配列(array)です elixirではリストと名乗ってます _simple_numbers = [1,2,3,4,5] #…
Enumとは何なのか 恐ろしいほど簡単に説明すると Enum Enumerables(列強可能な)なデータに対して使える便利な関数たち といったところですね。iterationに近いもんだと思ってます 詳しいことは公式ドキュメント を読みましょう(無責任 Enumはelixirの強みの1…
適当なきっかけ 今まで新米のエンジニアとして頑張ってきたつもりです 色々なものを書いた気がしますね... フロントやったりバックやったり... 色々な業務を経験させて頂いていることには感謝しかありません そんな中で同じ業種の人達を見ていると、まぁ大体…