@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

gitに新しいサブコマンドが追加された (ブランチ切り替え: switch, ファイルを戻す: restore)

Read more

gitとdockerをWindowsで使う時に気をつけること。特に改行コード

環境の差異をDockerで解決できる。と喜んだのもつかの間。 macLinux前提で進めているとやっぱりハマった。

TL;DR

  • Windows 10でもHomeエディションだとHyper-Vが利用できない
    • VirtualBox利用のDocker Toolboxとなり、volumeの記述がそのまま使えない
    • 環境変数を見て上書きするymlを追加した
  • gitの設定で、改行コードがCRLFになる
Read more

docker-composeで動く時のユーザをホストのユーザにする

docker-compose.ymlにuserを追加して、その変数をコマンドで渡す。

services:
  app:
    user: ${CURRENT_UID}
CURRENT_UID=$(id -u):$(id -g) docker-compose ...

medium.com

idが指定されている要素にそこへのリンクを併記するブックマークレット

id属性が指定されているタグに、そのタグまで飛べるリンクを表示するブックマークレットを雑に書いた。

ページ内の特定の場所を共有したいときに便利。

Read more

ES2019の実装QuickJSを試せるDockerイメージを作った

QuickJSというES2019の実装が出てきたと見かけたので Dockerで使えるようにしてみた。

bellard.org

alpineイメージでMulti stageビルドして、qjsなど成果物だけを設置したalpineイメージになっている。

Docker hub上では15MBほど、ローカルで確認すると40MB程度。

peccu/qjs - Docker Hub

qjsを直接叩く例

$ docker run -it --rm --name qjs peccu/qjs qjs
QuickJS - Type "\h" for help
qjs > console.log("Hello World");
Hello World
undefined
qjs >

shを叩く例

/workが作業ディレクトリになってるのでそこをボリュームで指定してあげれば使える。

$ docker run -it -v $PWD:/work --rm --name qjs peccu/qjs
/work # qjs -m /quickjs/examples/hello_module.js
Hello World
fib(10)= 55
/work # 

QuickJSに含まれていたdoc/examples/ディレクトリを/quickjsに展開している。

qjs, qjsc, run-test262, qjsbn, qjsbnc, run-test262-bn のコマンドにパスが通っている。