岐阜だからさElixir

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

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

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

Responderで作成したAPIをheorkuにデプロイする

やりたいこと PythonとResponderで爆速でAPIを作成するでResponderを使って作成したAPIを herokuにアップしたい 野望としてはDockerに乗せてアップしたかったのだが、時間的な都合もあり とりあえずはDocker無しで動くものを一旦デプロイした 公式のサンプル…

VSCode使って初学者とコードレビュー兼ペアプロしてみた感想

やってもらった課題 未経験者にプログラミングを教えて得られた知見と反省点と登場したA君に やってもらっていた課題が完成しましたとの報告が届いた ちなみにどんな課題をやってもらっていたかというと name score subject Kennith Kling 18 math Oliver O'…

PythonとResponderで爆速でAPIを作成する

Responderについて 2018年の10月ぐらいに公開されたPythonのWebフレームワーク 当時からスター稼ぎまくりのおばけプロジェクトだった たまたま仕事で触る機会があったので自分のメモがてらまとめておく Python界隈では有名な方が作成しており FlaskとFalcon(…

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

形態素解析をササッと試すなら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…