アルパカログ

Webエンジニアでマネージャーな人がプログラミングやマネジメントの話題を中心に書いているブログです。

Elixir

Elixir DoS脆弱性になり得るAtom枯渇と対策(Atom Exhaustion)

Erlang/Elixirにおいて、Atomを使うことはよくあります。このエントリでは、DoS脆弱性になり得るAtom枯渇(Atom Exhaustion)とその対策について説明します。

Elixir エラーハンドリング構文try~catchとtry~rescueの違い

エラーハンドリング構文と言えばJavaScriptでは try~catch, Rubyでは begin~rescue, Pythonでは try~except があります。そう、多くの言語でエラーハンドリング構文は1つです。しかしElixirには2種類のエラーハンドリング構文があります(!?)。いったいどんな…

Elixir Ectoで複数IDを指定してレコードを取得する方法

EctoはElixirのORMで、ElixirにおけるActiveRecordのような存在です。EctoとActiveRecordの書き方はよく似ていますが、言語が違うので当然、違いもあります。このエントリでは、Ectoで複数IDを渡してレコードを取得するメモしておきます。

Elixir キーの存在で異なるMapの更新方法

ElixirにおけるMapの更新方法は、対象のキーがある場合とない場合とで違います。このエントリでは、キーの存在で異なるMapの更新方法を紹介します。