html5のtemplateタグは、ただ非表示にする普通のタグでは無い
最近記事を書いていなかったので、書き殴った。
templateタグ
続きを読むHTML のコンテンツテンプレート (<template>) 要素 は、すなわちページの読み込み時にすぐには描画されないものの、後で JavaScript を使用してインスタンスを生成できる HTML を保持するメカニズムです。
Android Emulator のコーデックがオーディオコーデックしか無い
無いのかな。
概要
Android API16 以降には android.media.MediaCodec
というクラスが居る。
ローレベルなコーデックにアクセスするためのインターフェースで、
ffmpegとかの特別なライブラリを必要とせず動画を展開・圧縮できる。
使い方は書かない。というか、勉強中なので書けない。
問題
以下のコードで、コーデック一覧を取得できる。
private void hoge() { MediaCodecList mcl = new MediaCodecList(MediaCodecList.ALL_CODECS); for (MediaCodecInfo mci : mcl.getCodecInfos()) { Log.d(TAG, mci.getName()); for (String type : mci.getSupportedTypes()) { Log.d(TAG, mci.getName() + " supports " + type); } } }続きを読む
公開鍵SSHが Permission denied で落とされると思ったらホームディレクトリの権限が原因
note: 本記事は 2019/12/25 に執筆されたまま下書きに眠っていました
現象
さくらVPSに公開鍵認証を使って SSH で接続しようとしたところ、
$ ssh example.com -l hoge hoge@example.com: Permission denied (publickey).
というありがちなエラーが返ってきた。
特に不思議だったのは、リモートデスクトップ上か何か少なくとも1つの端末がログインしていれば、SSH で接続出来るようになること。
/var/log/auth.log
を見てみたが、
Dec 25 00:25:47 tk2-410-46464 sshd[13641]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60132 [preauth] Dec 25 00:25:47 tk2-410-46464 sshd[13643]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60134 [preauth] Dec 25 00:25:47 tk2-410-46464 sshd[13645]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60136 [preauth] Dec 25 00:25:48 tk2-410-46464 sshd[13647]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60138 [preauth]
連打した跡が残っている事しか分からない。
解決策
ログインしようとしていたユーザのパーミッションが 700
だった。
701
にすると、ログイン中の端末が存在していなくても、ログインできるようになった。
sudo chmod 701 ~
権限が理由でSSH接続出来ないのは分かるのですが、ログイン中の端末があれば接続出来てしまうのが謎でした。
Siv3D で自動操縦AIを作成してみた
はじめに
本記事は、Siv3D Advent Calendar 2019 の 15 日目です。
Siv3D を触ってみたので、感想とか、こう実装してみた、という話を書きます。
本当は機械学習導入したかったんですけどね…
もの
— shonen (@shonen9th) 2019年12月15日
ソースはここ
面倒くさくなって実装も全部ヘッダに書いてます
TL;DR
ゲームよりもゲームの仕組みを作って遊びたいC++17使いにとって Siv3D は超強力
続きを読むRaspberryPi zero のMACアドレスがランダムになっていたので戻した
現象
リブートする度に、MACアドレスが変わってしまう。
これでは、ラズパイ先生に固定IPを供給出来ない。
原因
network-manager
をインストールした。(元からインストールされていたかもしれないけれど。)
NetworkManager には MAC アドレスのランダム化の設定項目があり、デフォルトで有効になっている。
解決策
アンインストールすれば解決できるかもしれないけれど、まあまあ便利なツールなので、妥当な解決策では無い。
以下を /etc/NetworkManager/NetworkManager.conf
に追記することで、MAC アドレスのランダム化を無効化できる。
[device] wifi.scan-rand-mac-address=no
参考
archlinuxのサイトだけれど、NetworkManagerの設定はこちらを参照した。
ここに至るまでに参照したサイトとか。
ランダム化とは関係無かった。固有のMACアドレスの割り振られ方。
g_ether も g_cdc も関係無かった。ドライバかな。
MAC アドレス偽装。色々な方法があるんですね。