yu-tarrrrの日記

完全に個人の趣味でその時々書きたいことを書く

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

Elixirでさくっとスクレイピングする

はじめに 今回はAPIが提供されていないWebサイトに対して、スクレイピングをして何かしら加工して出力したいと思います また、あくまでも私的利用であり数回しか叩かない予定であり、スクレイピングを推奨している訳ではありません 用意したもの Elixir1.10 …

gaugeとTypeScriptでテストをいい感じにする

はじめに 今回はgaugeというテストライブラリを使い、web driverを使ったテストを書いていこうと思います そもそもgaugeとは gauge.org マークダウン形式でテストシナリオを定義でき、実行ファイルとシナリオを定義しているファイルを分離できるというもの …

Elixirで日付比較を不等号で行ってはいけない、絶対にだ!

はじめに 釣りタイトルみたいな話ですが、実際に私がやってしまっていたことを包み隠さず話そうと思います tipsみたいな記事なので大したことは書きません 実現したかったこと 構造体の配列を日付の降順で並べ替えたいということを思っていた ElixirにはEnum…

ElixirのEnumをそれなりに使いこなしたい

はじめに 今回のブログはElixirのEnum.XXを使いこなせるようになりたいという願望です きっかけはプロダクションコードで、配列操作をするときにEnum.mapで力でねじ伏せることが多くなり、もっとスマートにもっとElixirらしくかけたらいいのにという思いが生…

Elixirでテストファイルとの行き来を楽にする

はじめに 今回はtips的な記事です 背景 Elixirを書いているときにテストファイルと実行ファイルの行き来に困っていました JavaとかKotlinを書いていたときはIntelliJ IDEAがいい感じにやってくれていた分、Elixirはエディタがなんでも良い分そこら辺を拡張で…

Elixirでいい感じに並行処理を行う

はじめに 今回は表題の通りです よくあるケースでAPIコールを並列で行いたい時に、Elixirだったらどうするのかというのを残しておきたいと思います 実践 まず、公式を参照する Task.async/ 1という関数で非同期的に処理を呼び出せて、Task.await /2という関…

プロダクションコードででElixirを採用した話

はじめに 今回は表題の通りなんでElixirをプロダクションコードとして採用した話をします もともと、プロダクトチームではElixirの採用実績はあったが、BFFとかではなく定期実行などで叩かれるAPIなどに止まっていました 背景 弊社Uzabaseでは下記のようなプ…

リーンソフトウェア開発を読んだのでまとめておく

はじめに 今回は表題の通りです すこし古い本ではありますが、下記の本を読んでのでさらっとまとめていきます www.amazon.co.jp リーンの7大原則 リーンには7つの原則があります(以下列挙) ムダを排除する 学習効果を高める 決定をできるだけ遅らせる できる…

入門 ~ iced coffee~

はじめに 今回は技術に全く関係ないですが、完全に優勝するアイスコーヒーのレシピを見つけたので、経緯から実践した結果、考察までをまとめて書き残しておく 経緯 今まではごく普通の水出しアイスコーヒーを飲んできた 作り方は一般的で、コーヒー豆と水の…

アート・オブ・アジャイル・デベロップメントを読む

はじめに 今回は少し古い本ではありますが アート・オブ・アジャイル・デベロップメントを読んだ感想をさらっと書いておきます そもそも なんで読んだのか? チームでXPを実践していて、個人的にインプットが欲しかった CTOがチームの新卒に勧めていた コロ…

Elixir School 4日目

はじめに 今回は前回の応用編の続き 並行プログラミングについて学んでいく 並行性 actors Elixirでは actor modelと呼ばれる並行プログラミングの手法が使用できる 参考 このモデルでは actorたちは並行で動く独立した entitiesである actorは独立している…

Elixir School 3日目

はじめに 前回までにElixir Schoolの基礎編はやりきったので、今回から応用編に取り組んでいきます Erlangとの相互運用 ElixirはErlangのVM上で動作するプログラミング言語 なのでErlangのライブラリなどをElixirから利用することができる Erlangモジュール…

Elixir School 2日目

はじめに 前回の続き 今回もiexをベースに基礎編のインプット・アウトプットをする モジュールについて モジュール classみたいな感じで、複数の関数などを束ねることが可能 defmoduleで定義することが可能。またmoduleはネストすることも可能である。 構造…

Elixir School 1日目

はじめに 今回から早速Elixirの勉強を始める 完全に自分のためのアウトプットである しばらくはiexをベースに基礎編のインプット・アウトプットをし、それが終わり次第umbrellaプロジェクトを作成して進めていく 基本データ型について 基本データ型で用意し…

Elixirに入門する

はじめに 久しぶりの投稿になりますが、今回はElixirに入門してみます 背景 私はプログラマになって3年経ちますが、圧倒的に静的型付け言語を書くことが多く、パラダイムの違う言語を書きたいと強く思い、この度Elixirに入門することにしました。 というのも…

Quarkus×KotlinでReactive programmingしてみる

はじめに 今回はQuarkusでReactive programmingをしてみます Springでは5系からweb-fluxというリアクティブ・プログラミングが実装されました キーワードとしては、非同期・ノンブロッキング I.Oというのがあげられます そのReactive programmingをQuarkusで…

Quarkus×Kotlinで遊んでみる②

はじめに 今回は前回のブログの続きでDBアクセスする簡単なAPIを作成したいと思います ソースコードは前回の続きです 実装開始する まずはgradleにORMの依存を注入する ./gradlew listExtensions依存できるものを確認できるが、今回はagroalを追加すれば良い…

Quarkus×Kotlinで遊んでみる

はじめに 今回はQuarkusでAPIを立ち上げようと思います どこまで書けるかわかりませんが、とりあえず突き進む予定です What's Quarkus? KubernetesネイティブなJavaフレームワーク Kubernetesの利用やマイクロサービス・サーバレス化が進み、アプリケーショ…