岐阜だからさElixir

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

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関数…

形態素解析をササッと試すならMecabよりもjanomeが良い感じ

janomeとは janomeの公式ページ(可愛い絵がありますねぇ!) pythonで書かれている日本語の形態素解析ツールです 自然言語処理などでよく形態素解析ってのをやります どういうものかというと 手をつないだら行ってみよう こいつをjanomeで形態素解析すると 手 …

cloud-function使ってクラウドのDatabaseの値を取得して返す

前回 cloud-functionのデプロイまでを触ってみたの記事で cloud-functionを使って、元から記述されていたサンプルコードをデプロイするところまで触りました 今回はもう少し面白みのありそうなことをやってみたので記事にしました こちらの動画を元にやって…

cloud-functionのデプロイまでを触ってみた

何かサーバーレスたるものが流行ると聞く サーバーレスって何やねん APIなどがcallされた時に動き出して、処理が終了したらまたさよなら 常時サーバーが起動してない。呼ばれた時にパッと現れパッと消える インフラを作る必要なし。コード(関数)のみをデプロ…

新卒がconpassで新規コミュニティ作って勉強会開いてみて得られた知見

なんで新規コミュニティを作ったのか 元々は社内で勉強会をちょろっとやってたんですが、中々上手くいかず... 一番しんどかったのは毎回リソースを用意して体験してもらうっていう 「主催者」 -> 「参加者」 一方的な関係が正直なところ苦手です 僕の理想で…

【レポート】第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での再帰関数の動かし方

再帰関数っていいよね たまにelixirでも「for使いてぇ~」って邪悪な思想に染まる時がありますが 再帰関数やEnumなどを使って目標を達成できると最高の気分になりますね 再帰関数に至っては関数型言語に共通することです 自分の簡潔な言葉で「再帰関数って何…

現役エンジニアが考察するエンジニアに転職したいならProgateは控えるべきって話

著者のバックグラウンドについて 現在(2019年4月)、僕はエンジニアとして名古屋の企業で働いています 一応、理工学部の出身ではありますが環境工学(土木/建築)を専攻してました(ゆうて真面目に勉強してない) つまりはプログラミングに関しては大学3年生まで…

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

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

elixirでクソ簡単にAmazonレビューをスクレイピングする

用意するもの elixir(1.8.1でやってます) mix(elixirのビルドツール。クソ便利) HTTPoison(HTTPクライアント) Floki(HTMLパーサー) 事前準備について elixirのインストールについては割愛します 公式のドキュメントみた方が圧倒的ッ!に早いです こちらに各環…

【事後報告】清流elixirというコミュニティを立ち上げました

今更ですが connpassで東海地方(主に岐阜/名古屋)でelixir勉強しようぜ!!って 安直な気持ちで立ち上げました「清流elixir」です 名前の由来はアホほど適当で、僕は岐阜出身です 岐阜といえば川でしょ。綺麗だから清流でええや。elixirのアイコンも雫みたいな…

elixirで2次元のリストを縦方向に結合(merge)する

日本語が下手な件 どういうことかというと... #この配列を _lst_data = [ [1,2,3], ["a", "b", "c"], [true, false, true] ] #こうしたい _output_image = [ [1, "a", true], [2, "b", false], [3, "c", false] ] 要するに「2次元のリストを縦方向に結合(mer…

親が激推しする公務員を大学3年生の時に目指すのをやめた理由

この記事について 社会経験のない学生が偉そうにイキってる記事です 現職の公務員の方や公務員志望の方を蔑む記事ではありません こういう考え方も出来るのかという暖かい視点でご覧ください 自分のバックグランドについて まず自分が何者なのかについてざっ…

優しく分かるEnumのreduce関数と簡単なサンプル

reduce関数の動き方 reduce関数好きですか?僕は嫌いです。最近は好きです javascriptにもpython(要import)あるreduce関数なんですけど 使い道があんまり思いつかなかった頃がありました map関数とかfilter関数は名前の通りで使いやすいんですけど reduce関…

ゆるく理解するElixirのデータ構造体と簡単なパターンマッチング例

elixirでのデータ構造体 リスト タプル マップ キーワードリスト (構造体) ※今回は触れません よく混同するのでまとめときました リスト[] (list) javascriptやpythonでいう配列(array)です elixirではリストと名乗ってます _simple_numbers = [1,2,3,4,5] #…

優しく始めるelixirのEnumと簡単な使用例

Enumとは何なのか 恐ろしいほど簡単に説明すると Enum Enumerables(列強可能な)なデータに対して使える便利な関数たち といったところですね。iterationに近いもんだと思ってます 詳しいことは公式ドキュメント を読みましょう(無責任 Enumはelixirの強みの1…

適当なきっかけで関数型言語(elixir)を始めました

適当なきっかけ 今まで新米のエンジニアとして頑張ってきたつもりです 色々なものを書いた気がしますね... フロントやったりバックやったり... 色々な業務を経験させて頂いていることには感謝しかありません そんな中で同じ業種の人達を見ていると、まぁ大体…

新米エンジニアが一度挫折したブログを再び開設しました

私は帰ってきた(自分目線) 初めまして。苗字が岡部なのでOKBと名乗っています 決してどこかの銀行を真似しているわけではありません ブログ開設時(20190326)の時点で僕は22歳です 大学の学部を卒業したばかりの新米です 色々ありまして...はてなブログで再び…