みずりゅの自由帳

主に参加したイベントやソフトウェア技術/開発について記録しています

Elixir

Elixirで無名関数の直接呼び出す

備忘。 Elixirで、無名関数の直接呼び出しをする場合の記法。 無名関数を利用する場合、従来は何かしらの変数へ束縛したのち利用する。 iex> noname_fn = fn -> "無名関数の呼び出し" end #Function<45.97283095/0 in :erl_eval.expr/5> iex> noname_fn.() "…

Elixirの関数の処理時間を「:timer.tc」で計測する

Elixirの関数の処理時間を計測するとき、Erlangの関数:timer.tcを利用します。 :timer.tcの使い方としては、次の通り3種類あります。 tc/1: 関数名を指定(引数なし) tc/2: 関数名、引数を指定。引数はリスト形式で渡す。 tc/3: モジュール名、関数名、引…

Elixirの関数名に感嘆符をつける意味

備忘。 Elixirの命名規約を見直していて、感嘆符(かんたんふ/exclamation mark(エクスクラメイション マーク))*1こと「!」が末尾についた関数をあまり意識していなかったので再確認。その意味は「例外が発生する可能性のある関数/マクロに対して、習慣…

書籍「プログラミングElixir」の「1.5 練習問題」の注釈リンクについて

備忘。Elixirの技術同人誌を書くために、書籍『プログラミングElixir』を読み直してた時に気付いたのでメモ。 もしかしたら、電子書籍版なり以降の発行物では是正されているのかもしれないが、備忘として記録しておく。 なお、自分の所持しているものは物理…

「Elixir/Nerves入門!堅牢なIoT Edgeデバイスプログラミングをお手軽に」に参加しました

2020/07/10にオンラインイベントである『Elixir/Nerves入門!堅牢なIoT Edgeデバイスプログラミングをお手軽に』に参加しました。algyan.connpass.comこちらは、IoT ALGYAN(あるじゃん)( https://algyan.connpass.com/))様の開催イベントとなっております…

ネタ:Elixirへのいざない外伝:ラクダとヘビ

注:薄い本(技術同人誌)向けのネタ話です。以前、こんなネタを書きました。今回も似たようなものを。mzryuka.hatenablog.jp今回は"命名規則"について。

ネタ:Elixirへのいざない外伝:束縛してみよう

注:今回は薄い本(技術同人誌)向けのネタ話です。インプレスR&D社さんから出版した「Elixirへのいざない」*1の献本が届きました。同人誌の時も思いましたが、製本されてるものを見ると、心が弾むものですね。特に、表紙の女の子が可愛いです。それで、表紙…

「Elixirへのいざない」商業版の出版について(ウラ話あり)

2020年6月5日、「Elixirへのいざない」という商業書籍を出版しました。 インプレスR&Dさんの「技術の泉」シリーズとしての出版です。 技術書典7で頒布した技術同人誌「PhoenixLiveViewとNervesをさわるElixirへのいざない」を底本した書籍となっています。 …

備忘:Elixir関連のHexdocsのURL

備忘。 Elixir関連のHexdocsを参照するのにググることが多くなってきたので、リンク先を記録しておく。

Nerves1.6.1対応のためにfwupをアップグレードする

ElixirのIoTフレームワークであるNervesですが、日本時間の2020年3月20日にバージョン1.6.1がリリースされています。 バージョンの1.6.0から1.6.1からの差分として、以下の2点があります。 「nerves_bootstrap」のバージョン1.8に対応。*1 「fwup」の要求バ…

Phoenixフレームワークのv1.5系がリリースされました

日本時間の2020年4月23日1時18分、ElixirのWebフレームワークであるPhoenix Frameworkのv1.5.0がリリースされました。 https://github.com/phoenixframework/phoenix/releases/tag/v1.5.0 なお、その12時間後の2020年4月23日13時15分には、v.1.5.1がリリース…

Phoenixフレームワークのv1.5.0-rc.0を試す

日本時間の2020年4月17日5時34分に、Phoenixフレームワークのv1.5.0-rc.0がリリースされています。 https://github.com/phoenixframework/phoenix/releases/tag/v1.5.0-rc.0 ドキュメントをざっと読んでいた際に、mix phx.newのオプションに--liveと--no-das…

技術書典8向けに書いた「Elixirへのいざない2」PDF版をBOOTHで頒布しています

2020年2月29日から、技術書典8向けに執筆した「 Elixirへのいざない2 〜もっとNervesをさわる〜 」をBOOTHにて頒布しています。こちらの表紙が目印です。PDF版のみで、価格は500円。表紙込の71ページです。 BOOTH内で「技術書典 elixir」で検索すると表示さ…

技術書典8向けに書いた「Elixirへのいざない2」PDF版の無料お試しダウンロードをはじめました

技術書典8、残念ながら中止になってしまいました。techbookfest.orgとはいえ、規模と集客力/影響力などを考えると致し方ないでしょう。 むしろ、このような苦渋の決定をした技術書典の運営の英断を支持いたします。さて、本題です。以前の記事で書いた通り…

技術書典8でElixir本「Elixirへのいざない2」を頒布予定です

技術書典8のサークル配置が決まったので、自分自身の鼓舞のためにも記述しておきます。2020年3月1日の技術書典8「Elixirへのいざない2〜もっとPhoenixLiveViewとNervesをさわる〜」というタイトルのElixir本を頒布する予定です。タイトルが長いので、「えり…

第二回技術書同人誌博覧会でごまなつプロジェクトさんに委託してえりいざ本を頒布します

2019年12月14日(土)に開催され第二回 技術書同人誌博覧会 (略称:技書博)に、「PhoenixLiveViewとNervesをさわるElixirへのいざない」(通称:えりいざ本)を委託で頒布します。 gishohaku.dev 委託先は、「ごまなつプロジェクト」さんです。当日の配置…

IoTつくるよ!2 〜みんなで盛り上げるIoT博覧祭〜 に行ってきました。

2019年11月30日、「IoTつくるよ!2」に参加してきました。 2となっている事から分かるように、第2回目の開催だそうです。1回目は昨年とのこと。 若干偏った内容にはなっていますが、参加してきた内容を記録しておきます。 algyan.connpass.com

tokyo.ex #13に参加して、Elixir本体をコンパイルしてきた

2019/09/29に、「tokyo.ex #13 elixir本体ソースコードもくもくリード会」に参加してきました。 今回は、fukuoka.ex さんとのオンライン接続によるコラボ開催(笑)です。beam-lang.connpass.comfukuokaex.connpass.comそのイベントで、独自のコードを含めて…

技術書典7でElixir本「PhoenixLiveViewとNervesをさわるElixirへのいざない」を頒布します。

「PhoenixLiveViewとNervesをさわるElixirへのいざない」というタイトルのElixir入門本を2019年9月22日の技術書典7で頒布する予定です。タイトルが長いので「えりいざ」とでも略してください。本のタイトルの通り、Phoenix LiveViewとNervesと呼ばれるプログ…

ElixirのDocker Imageで latest タグを付け替える

備忘。ElixirのDocker Imageで、latestタグがバージョン1.8.1に割り当たっていた。 これを、バージョン1.9.1のものに変更する。 Docker image のtagを削除 docker image ls を実行すると、latest タグが elixirの1.8.1 に付与されていた。 $ docker image ls…

smallexライブラリのJson.getと、HTTPoison.getを触ってみる

下記の記事で利用されていた「smallex」ライブラリの「Json.get」について簡単に調べてみた。qiita.com

ssh接続したUbuntu 19.04 でasdfコマンドが呼べなかった

Ubuntu 19.04 にインストールしたasdfコマンドをssh接続で利用しようとした際に遭遇。 概要: asdfコマンドが利用できるUbuntu 19.04に対して別端末からsshでログイン。 その際に、asdfコマンドへのパスが通っていなかった。 同様の設定をしていた「CentOS 7…

UbuntuデスクトップでDockerコンテナに任意のdnsを設定する

先日、ハマったproxy関連の対応についての続報。mzryuka.hatenablog.jpUbuntu デスクトップ(19.04)でdnsの参照先が自身のIPアドレスしかない場合、コンテナ内の「/etc/resolv.conf」には勝手に「nameserver 8.8.8.8」「nameserver 8.8.4.4」が追加される。 …

ホストマシンの違いでコンテナ内でmix local.hexが実行できなかった話

よくある「Proxy環境下」でハマった話。ElixirのPhoenix Frameworkの開発環境を作ろうと思い、Dockerfileを用意。 だが、同じDockerfileを使ってイメージ/コンテナを作成したにも関わらず、ホストマシンのOSの違いで「mix local.hex」コマンドが実行できる…

Nerves1.5.0からasdfの設定先が.bashrcに変更されている

Nervesのインストール手順を見ていて気づいた点。Nervesの1.5.0がリリースされて、「Erlang 22」「Elixir 1.9.0-otp-22」対応となった。 そのため、Nervesのインストール手順では、asdf経由でインストールするErlang とElixirのバージョンは、それぞれ22と1.…

nerves_bootstrap1.6.0ではElixir1.9を要求される

※本記事は、2019.07.15時点の情報で記述しています。備忘。「mix local.nerves」コマンドを実行してnerves_bootstrap のバージョンを上げてしまい、「mix nerves.new」コマンドが実施できなくなった。バージョンアップしたnerves_bootstrapが利用できるElixi…

Dockerを使ってPhoenixを試す

ElixirベースのフレームワークであるPhoenix Frameworkをちょっと試してみたい人向け。 Elixirインストール済みのDockerを利用して、Phoenixを構築/起動するまでの手順。ひとまずは、コンテナは都度消す設定(--rmオプションの付与)にしています。手順は以…