やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

2019-01-01から1年間の記事一覧

【Elixirで学ぶCS】ElixirでそれっぽいALUが実装できるまで

なにこれ(3度目 Elixirでコンピューターサイエンスを学ぶシリーズの第3弾で以下記事の続編です www.okb-shelf.work この本を参考に勉強しつつコードを書いています 並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング作者:Clay Bresh…

ベンチャーで働く新卒のエンジニアが新卒研修に行かされて感じたこと

バックグラウンド タイトルでざっくりと述べているが、一応新卒の22歳です 名古屋の某ベンチャー企業でエンジニアとして勤務しています(社名は伏せる) 改めて自分のブログを見てみるとプロフィールの詳細が無かったので 情報の信頼性を高めるためにも自分が…

【第7回清流elixir勉強会@fukuoka.exさん】Elixirのシギルについて調べて色々試した【リモートでジョイン】

トピック 昨週に引き続き、清流elixirの第7回目の勉強会を開催させて頂きました 今回は清流elixirのみではなく福岡を拠点に活動されているfukuoka.exさんのもくもく会に リモートでジョインさせて頂きました fukuokaex.connpass.com もくもく会を主催されて…

【Elixirで学ぶCS】Elixirで加算器を実装するまで

なにこれ(既視感 前回の記事の続編です www.okb-shelf.work まだ挫折してないです www.oreilly.co.jp この本を勉強しているつもりなのですが、普通に難しい 僕のレベルが低いのもあるが、説明があるようでなかったりと結局ググらないと分からない部分が多い …

【レポート】第6回清流elixir勉強会inMisoca様を開催しました【競プロ@Elixir】

トピック 今回で第6回目の勉強会を開催致しました elixir-sr.connpass.com 2019年4月から清流elixirの運営を初めて早2ヶ月 Elixirを全く知らない状態 & 新卒のクソザコでも何とかなりました 昨週、東京に行って感じたことは名古屋はまだ多くの技術がブルーオ…

【実装コード有り】Elixirでpandasっぽいcsvファイルを触るモジュールを作ってみた

ゆるふわな動機 pythonのライブラリにpandasと呼ばれるものがある 厳密にはC言語で書かれているのでpythonかというとそうでもないが このpandasが提供しているAPIにread_csvというものがあり csv形式のファイルをdf形式で読み込みpandasでお気軽にゴリゴリと…

岐阜県民だけどErlang&ElixirFest2019のために初ソロ東京に行ってきた

Erlang & ElixirFest2019とは Erlang & Elixirが大好きな人やら興味のある人が集まる万博みたいなお祭り 年に一度開催されていらっしゃるようで今年で3度目になるそうです Erlang & ElixirFest2019 elixirconf.connpass.com 開催場所はご想像の通り、東京で…

【Elixirで学ぶCS】Elixirで論理ゲートを実装するまで

なにこれ 僕は一応、理工学部の出身ではありますが建築土木が専攻でした この業界にいながらcsについての知識が皆無 前からやらねば...やらねば..と思ってはいたが触れる機会がない & 一度挫折済み しかし、アルゴリズムの勉強を始める中でデータ構造の重要…

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

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

【続編】Responderで作成したAPIをheorkuにデプロイするまで

やりたいこと www.okb-shelf.work 前回の記事でResponderを使って作成したAPIをherokuにアップしたい 野望としてはDockerに乗せてアップしたかったのだが、時間的な都合もあり とりあえずはDocker無しで動くものを一旦デプロイした 公式のサンプルが当てにな…

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

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

【超簡単】PythonとResponderで爆速でAPIを立ち上げるまで

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

【超簡単】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 になるかと思う こ…

【サンプルコード有り】ElixirとFakerを使ってサンプルデータを作る方法

githubの探検中に面白いものを見つける なんだこれは(褒め言葉 github.com hexdocs.pm 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で実装する

ソートの必要性について www.okb-shelf.work 前回の記事で実装した二分探索は対象のリストがソートされていることが前提であり、つまりはリストをソートしてくれるアルゴリズムが必要になるということ え?もう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でのhttpリクエストを簡単な叩き方

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

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

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

Elixirからpythonを呼び出してJanomeで形態素解析してみた

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

【サンプルコード有り】形態素解析をササッと試すならMecabよりもJanomeが良い感じ

Janomeとは mocobeta.github.io Pure Python(通常のpythonのみ)で書かれている日本語の形態素解析のためのパッケージです。自然言語処理で主に行われる「形態素解析」を気軽に行うことが出来ます。そもそも「形態素解析って何?」という方のために形態素解析…

cloud-functionにFirebaseの値を取得して返すAPIをデプロイしてみた

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