こう言う感じのHTMLがあったとして
<ul id="hoge"> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> <li>eee</li> </ul>
<li>
が何個あるか知りたいって時のオペレーション。知らなかったのでメモ
生のjs
document.getElementById("hoge").children.length;
$('#hoge li').length
こう言う感じのHTMLがあったとして
<ul id="hoge"> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> <li>eee</li> </ul>
<li>
が何個あるか知りたいって時のオペレーション。知らなかったのでメモ
生のjs
document.getElementById("hoge").children.length;
$('#hoge li').length
singylarity結構便利でデフォルトでホームディレクトリと/tmp
がコンテナにバインドされる。
とはいえ/mnt/
以下にデータを書き出したい場合などは、singularityのコンテナに明示的に/mnt
以下などをバインドする必要がある。
ちなみにバインドしなくてもシンボリックリンクでなんとかなるかなと思ったけど、それはsingularityの内部から解決することができなかった。
bindの方法自体は↑のドキュメントにある感じで極めてシンプルで、 --bind
の後ろにhost:container
の順でパスを書くとマウントされる。
$singularity run --bind /mnt/hdd1:/hdd1 hoge.sif
あんまし使っていないけどdockerと同じでread onlyにするフラグなどもあるらしい。
なんか今日docker for macがアップデート入った。
今まで通りdocker-compose up
したらこんな感じの表示が出た
$ docker-compose up Docker Compose is now in the Docker CLI, try `docker compose up`
なんかdocker compose up
してみろとか描いてあったので使ってみた
$ docker compose up [+] Running 0/1
もうちょっと煌びやかな感じの表示が出ていた。 それっぽいコンテナの起動ログが出た後に
The new 'docker compose' command is currently experimental. To provide feedback or request new features please open issues at https://github.com/docker/compose-cli Error response from daemon: Duplicate mount point: /xxxx/hoge
とかでて死亡していた。実験的か。
docker-composeはpython製で、dockerコマンド自体はgolang製だったと思うのだけど、docker compose up
はどっちの言語で実装されているのだろうと思って、メッセージにあったURLをふむとどうもdocker compose up
はgolangらしい。
docker-compose
いれるのめんどうなのでdockerコマンドに内包されると便利そうだけど、微妙に機能が違うとかありそう。しばらくはdocker-compose up
で問題ない気がする。
知らなかったのでメモ
実際にMSDNのページにある例題を手打ちして確認したのだけど、JavaScriptで*. dataset.*
で値を取れるのなかなか面白かった。
webアプリ読んでいて、データ格納用のattrかな〜みたいなざっくりした認識だったのだけど、まさかデータ属性というまんまの名前がついていたとは...。
JavaScriptなんでもできるな...と思っていたところ、CSSもdata属性に応じて色々当てられるので、自分が思っていたよりも奥深い気がする。MSDNのチュートリアル全部やるべきだな...。
だいたいほとんど素のvimで生活していたんだけど、最近はvscode使ったりしている。 だいたいいじるコード全部GitHubで管理されていて、scrapboxとかslackでコードについて言及したい時はGitHubのURLを貼りたくなる。
vimの時はhubかなんかのコマンド経由でURLをパッと出していた気がするのだけど、vscodeだと気合いで手作業でURL作っていた。 めんどいなーと思って雑にググったところQiitaのエントリが出てきたのでこれいれるかーとなっていた。
と思ってextensionsのボタンからGitHubで検索したところ、なんか公式のような顔をしているやつが出てきた。
説明をみてる感じコマンドパレットでいろいろできそうなので、インストールして、コマンドパレットにGithubといれたところ
こんな感じのいかにもなメニューが出てきて、押すといい感じにGitHubでファイル開いてくれた。 もちろんブランチも考慮されるので、GitHubに今いじってるのと同じブランチがあれば一発でソースコードが出てきて便利。 これで生活の質が向上した気がする。いろいろextensions探したい。
ついに社会人になり、主戦場がmercurialからgitになりました。
gitは今まで脳死でanatofuz@gmail.com
でcommitしていたのですが、娑婆にでると会社のドメインでcommitする必要性が出てきます。
しかし一般的な趣味プロダクトとかで会社のドメインを使うと不要な怒られが発生する可能性がある...!! 会社のプロダクトに関するものだけ会社のドメインを利用したい...!! という感じで、ディレクトリに応じてgitの設定を切り替えるようにしてみます。
ディレクトリごとに設定を切り替える場合はリポジトリをローカルでどうやって管理するかが重要になってきます。 こういうときはghqを使うと良い感じにURLに応じてディレクトリを掘ってくれるので、会社のドメインに応じたディレクトリを勝手に作ってくれます。
今回は github.com/borderShoji
みたいな会社グループのリポジトリをcloneしてきたと仮定して、ghqのルートディレクトリを~/src
とします。
つまりgithub.com/borderShoji/naruto
みたいなリポジトリをcloneしたローカルディレクトリは~/src/github.com/borderShoji/naruto
となります。
~/.gitconfig
の設定次はgit全体が見る ~/.gitconfig
の設定を書き換えます。
すでにgitconfigにはuserに関する次のような設定が書かれているものとします。
[user] name = AnaTofuZ email = anatofuz@gmail.com username = AnaTofuZ signingkey = XXXXX
この設定がある場合、このマシンで行われる全てのgitのオペレーションはこのuser情報が利用されます。
さて最近のgitはconditional includes機能があり、ディレクトリごとで設定ファイルを独自定義できるようになっています。
ここで、先程のgithub.com/borderShoji
ディレクトリ以下のgitリポジトリに対して設定を独自定義し、デフォルトの設定を上書きするような記述をgitconfigに書いてみます。
[includeIf "gitdir:~/src/github.com/borderShoji/"] path = ~/.gitconfig.bordershoji
ここでのポイントはincludeIf
の末尾に必ず/
をつけるです。/
があるとzshでいうところの**/*
が書かれているのと等価になり、ディレクトリを再起的にたどってくれますが、/
がないとピンポイントでそのディレクトリだけになってしまいます。
あとは~/.gitconfig.bordershoji
に上書きしたいgitの設定を描きます。
[user] email = anatofuz@borderShoji.net signingkey = FFFFFFFFF
こうすると何も考えずにgitの設定がディレクトリごとに代わり、社会性を得ることができます。これで安心!!!!!!
知らなかったのでメモ。
#!/usr/bin/env perl use strict; use warnings; sub hoge { print "hello\n"; } *foo = \&hoge; foo();
この例題を実行すると元気にhelloと表示される。 これは型グロブを使ってhogeサブルーチンのエイリアス的にfooを登録している。 代入しているのはサブルーチンリファレンスなので参照している実態は同じとなる。
また代入先も変数そのものではなくて型グロブに対してなので、呼び出しが$foo->()
ではない。
世間で使われているものだとSmart::Argsに使われていた。
よくみたら公式ドキュメントにそれっぽい記述があった。
これができるのも面白いけどuse strict
環境で普通に実行できたのがびっくり。。。。