2024-01-01から1年間の記事一覧
Canada という小さな実装のライブラリがあります。 hex.pm Ruby でいうところの CanCanCan のような権限判定のためのライブラリなのですが、とても興味深い実装をしています。 例えば user が article を read できるか判定するとき、 can?(user, read(artic…
ただしサーバとは言っても 祝日一覧をダウンロードする エンコーディングを変換する CSV をパースする データを ETS に格納する データを検索する サーバを作る いつか読むはずっと読まない:全史ならぬ前史 ただしサーバとは言っても Web サーバ等ではなく…
遅ればせながら。 Phoenix Playground の存在に気づきました。 hex.pm 以前から。 状態の変化を LiveView を使ってブラウザ上で閲覧できるようにすることを考えているのですが、ごく簡単な情報を表示するために Phoenix app を構築するのが割に合わず、結局…
条件による分岐をハードコーディングせずに実現する方法について考えてみました。 ただし、ここで試してみた方法はライブラリやフレームワークとして再利用するというよりも、再実装せずにふるまいを変えることができる電子回路のジャンパピンのような仕組み…
ネット上の CSV データを、Req パッケージを使ってダウンロードし、NimbleCSV でデコードしようとしていたのですが。 hex.pm hex.pm 二つのパッケージをインストールして、Req のレスポンスのボディを NimbleCSV でデコードしたら失敗し、ボディがテキストデ…
Elixir には演算子を再定義できる機能が備わっています。 https://hexdocs.pm/elixir/operators.html#custom-and-overridden-operators defmodule Foo do def lhs + rhs do String.to_integer(Integer.to_string(lhs) <> Integer.to_string(rhs)) end end 普…
PureScript というプログラミング言語があります。 Haskell のような構文で記述でき JavaScript を出力できる、ということを半年ほど前に知ったのですが。 www.purescript.org 最近になって、バックエンドを切り替えれば Erlang のソースコードを出力できる…
前回の続きです。 前回は BDF ファイルをパースして読み込む話をしました。 そして、BDF ファイルは単純なテキストファイルだし、Nerves アプリケーションへそのまま持っていっても大丈夫だろう、と高を括っていたのですが。 Raspberry Pi ZERO W の非力さを…
Glyph Bitmap Distribution Format (BDF) というフォントフォーマットがあります。 en.wikipedia.org 記事の最後の方に書いたような理由があって、 BDF を読み込むパッケージを書いています。 道半ばなのですが、お試しで使えるくらいにはまとまったので、一…