みずりゅの自由帳

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

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

2019/09/29に、「tokyo.ex #13 elixir本体ソースコードもくもくリード会」に参加してきました。
今回は、fukuoka.ex さんとのオンライン接続によるコラボ開催(笑)です。

beam-lang.connpass.com

fukuokaex.connpass.com

そのイベントで、独自のコードを含めてElixirをコンパイルしてきたので、簡単に記録しておきます。

https://cdn-ak.f.st-hatena.com/images/fotolife/m/mzryuka/20190929/20190929202523.png

続きを読む

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

PhoenixLiveViewとNervesをさわるElixirへのいざない」というタイトルのElixir入門本を2019年9月22日の技術書典7で頒布する予定です。

タイトルが長いので「えりいざ」とでも略してください。

本のタイトルの通り、Phoenix LiveViewNervesと呼ばれるプログラミング言語Elixirの2つのフレームワークについて、『実際にさわって体験をしてみよう』な内容となっています。

先日、「ねこのしっぽ」さんで早割入稿してきました。

これで、本については会場で受け取って頒布するだけです。

比較的余裕もできたので、紹介ページを用意しました。

サークル名は「URAMASU」です。
また、配置場所は「せ27D」で、会場の2F側です。詳細は下の会場画像を参照ください。

f:id:mzryuka:20190908224303p:plain

紹介文を読んで興味を持たれた方は、ぜひお寄りください。

また、サークルチェックもつけてくださると当日までの励みになります。


techbookfest.org

続きを読む

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
REPOSITORY    TAG       IMAGE ID            CREATED             SIZE
elixir        1.9.1     3a74c2e86069        3 weeks ago         1.08GB
elixir        1.8.1     7923a9d70b5e        3 months ago        1.08GB
elixir        latest    7923a9d70b5e        3 months ago        1.08GB

そのため、タグを指定しないとElixirのバージョンは1.8.1でiexが起動される。

$ docker run -it --rm elixir
Erlang/OTP 21 [erts-10.3.5.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Interactive Elixir (1.8.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>

docker rmi コマンドで、<REPOSITORY>:<TAG>の書式で削除したいTAGを指定する。
今回の場合は、elixir:latest を指定する。

$ docker rmi elixir:latest
Untagged: elixir:latest

その後、もう一度 docker image ls で確認する。

$ docker image ls
REPOSITORY    TAG       IMAGE ID            CREATED             SIZE
elixir        1.9.1     3a74c2e86069        3 weeks ago         1.08GB
elixir        1.8.1     7923a9d70b5e        3 months ago        1.08GB


あらためて、docker run で elixirを指定して実行みると、イメージのダウンロードが始まった。

$ docker run -it --rm elixir
Unable to find image 'elixir:latest' locally
latest: Pulling from library/elixir
9cc2ad81d40d: Pull complete
・・・

Docker image のtagを付与

新規取得ではなく、既存のDocker Image に別のImageファイルにタグ付をしたい場合。

この場合には、docker tag コマンドを利用する。

書式は、以下のイメージ。

docker tag <元のREPOSITORY>:<TAG> <付けたいのREPOSITORY名>:<つけたいTAG名>

今回は、「elixir:1.9.1」に「elixir:latest」とタグをつける。

$ docker tag elixir:1.9.1  elixir:latest

docker tagの場合、成功しても特にメッセージは出ない。

実行結果を docker image lsで確認する。

$ docker image ls
REPOSITORY    TAG       IMAGE ID            CREATED             SIZE
elixir        1.9.1     3a74c2e86069        3 weeks ago         1.08GB
elixir        latest    3a74c2e86069        3 weeks ago         1.08GB
elixir        1.8.1     7923a9d70b5e        3 months ago        1.08GB

タグlatestを、1.9.1と同じDocker Imageに設定することができた。

$ docker run -it --rm elixir
Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Interactive Elixir (1.9.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>

elixir:1.9.1側を起動しても同じもの。

$ docker run -it --rm elixir:1.9.1
Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Interactive Elixir (1.9.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>

参考URL:

blog.jnyo.net

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

Ubuntu 19.04 にインストールしたasdfコマンドをssh接続で利用しようとした際に遭遇。

概要:

asdfコマンドが利用できるUbuntu 19.04に対して別端末からsshでログイン。
その際に、asdfコマンドへのパスが通っていなかった。
同様の設定をしていた「CentOS 7.6」では、別端末からのsshログインでもasdfコマンドへのパスは通っていた。

原因は、Ubuntu 19.04側で中身が空の「 ~/.bash_profile 」ファイルを作成していたため。
~/.bash_profile 」 の削除後、ssh接続をやり直したらasdfコマンドへのパスも通った。

続きを読む

Maker Faire Tokyo 2019 に行ってきた

2019年8月3日、「Maker Faire Tokyo 2019」に行ってきました。

昨年に続いての参加です。備忘のため、簡単に参加レポートを書いておきます。

といっても、主に自分のTwitterの内容になります。動画も撮ってたので、それらの紹介もかねてということで。

 

makezine.jp

続きを読む

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

先日、ハマったproxy関連の対応についての続報。

mzryuka.hatenablog.jp

Ubuntu デスクトップ(19.04)でdnsの参照先が自身のIPアドレスしかない場合、コンテナ内の「/etc/resolv.conf」には勝手に「nameserver 8.8.8.8」「nameserver 8.8.4.4」が追加される。
そして、Proxy環境下ではこの設定が邪魔をして、elixirのmixコマンドが実行できなかった。

これに対応する場合の処理を見つけたので記述しておく。

続きを読む