Websocket とグラフィックライブラリ
node.js は普通の socket通信よりも websocket で通信するものらしい。
一方、C++でwebsocket通信をするならば Boost::Beast が良さげ。
websocketなexsampleがいくつか用意されているのがありがたい。
ただ、マルチプラットフォームなだけに、cmake なプロジェクトであり、
ビルドに苦労する。
階層的にCMakefile が配置され、部分的にビルドする場合の変数の受け渡し方法がわからない。ライブラリぱすとか。
グラフィックライブラリ
SDL2
Qt
skia
Mangaro と MX Linux
ふと思い立って、 Ubuntu なPCに VirtualBox をインストールした。
今どき流行りの Linux ディストリビューションを調べて、 Mangaro と MX をダウンロードした。
とりあえず、Mangaro をインストールした。
Docker や Kubernetes の勉強を始めたが、理解を深めるにはまずモノリシックなアプリケーションを作り、それをコンテナに分ける、というのが良いのではないかと思った。
なので。仮想マシン上に典型的なWebアプリケーションをモノリシックに作ろう、と思い立って VirtualBox と Manjaro をインストールしたのだった。
典型的なWebアプリケーションとしては
- nginx
- node.js
- mongoDB
を想定する。 Express を使うと nginx って不要かもしれない。
【C++】関数スコープ静的変数の初期化のタイミング
いや〜奥が深い。
コンストラクタなしだと、main()より前に初期化される。
https://wandbox.org/permlink/oTDnnjBwE2cs0OYJ
しかし、コンストラクタを書くと、0で初期化されている。
関数を呼び出したあと、初期値で初期化されている。
https://wandbox.org/permlink/7VNXUFiQ5iRKATjc
上記は gcc での実験結果。
clang ではどうなるか、試してみた。
まず、コンストラクタなし。mainより前に初期化。
https://wandbox.org/permlink/9nkMD1iNGQjX2xMx
次にコンストラクタあり。やはり、mainより前は 0 クリアされており、
foo()で初期値で初期化されている。
https://wandbox.org/permlink/hWzk7sS2DIyG9iK9
static X x = {0xcafe, 0xbabe};
と
static X x{0xcafe, 0xbabe};
の結果は同じだった。(あたりまえ)
https://wandbox.org/permlink/uQsN8hAOvpmAjyR9
もしかしたらコンストラクタ初期化子の部分だけはmain()関数より前に初期化されたりしないか?と思って試した。
https://wandbox.org/permlink/siR1Wp6Txc0n8z2M
new だとダメだった。
コンパイル時にアドレスが決まっている場合で試してみた。
https://wandbox.org/permlink/AreXSt1Xn9v2bRMj
やはり、初期化子リストは foo()まで実行されなかった。
Infrastructure as Code
Cloud nativeな今時は terraform が良いらしい。
5分で分かるTerraform(Infrastructure as Code) | セキュリティ対策のラック
AWSでTerraformに入門 | Developers.IO
全体像を掴むのに次の表がありがたかった。
Ansibleを使いこなす ❶ 基本の知識 - アイマガジン|i Magazine|IS magazine
Ansibleを使いこなす ❸ オンプレ環境のインフラ構築を自動化する - アイマガジン|i Magazine|IS magazine
IaC では設定ファイルにシークレットを書くことが躊躇われるが、シークレット管理サービスを利用すれば良いことがわかった。
External Secretsを試してみる - TECHSTEP
EKSでの機密情報の隠蔽にkubernetes-external-secretsを導入してみた - asoview! TECH BLOG
悩みに悩んだ Kubernetes Secrets の管理方法、External Secrets を選んだ理由 | PLAID engineer blog
【C++】c++ core guideline
良いものを見つけた!
続きを読む【Memo】reStructuredText の Tips
表示の折りたたみ
HTMLに変換したとき、階層化した項目の内容を表示・非表示の切り替えをできるようにしたい。
SphinxをCSSとJavaScript(jQuery)で拡張する — Algo13 2016.12.17 ドキュメント
折り畳み(表示/非表示) — Algo13 2016.12.17 ドキュメント
目次の番号
サイドバーのアウトライン(目次)に番号をつけたい。
TOC Tree — Sphinxでウェブサイトを作ろう 0 ドキュメント
残念ながら numbered はHTML専用らしい。 PDF には反映されない。
reStructuredText のウェブサービス
【Memo】reStructuredText の Tips
表示の折りたたみ
HTMLに変換したとき、階層化した項目の内容を表示・非表示の切り替えをできるようにしたい。
SphinxをCSSとJavaScript(jQuery)で拡張する — Algo13 2016.12.17 ドキュメント
折り畳み(表示/非表示) — Algo13 2016.12.17 ドキュメント
目次の番号
サイドバーのアウトライン(目次)に番号をつけたい。
TOC Tree — Sphinxでウェブサイトを作ろう 0 ドキュメント
残念ながら numbered はHTML専用らしい。 PDF には反映されない。