サーバー移行後、HPの様子がおかしい。証明書エラーがでたり、証明書エラーを無視してアクセスするとトップページがnot foundになっていたり。H2Oの設定を調べてみると、hosts下に並べてあるホストの内のひとつにlisten > hostの設定がなかった。
hosts:
"abc.example.com:443":
listen:
port: 443
host: 0.0.0.0
ssl:
certificate-file: "/path/to/cert.pem"
key-file: "/path/to/key.pem"
paths:
"/":
file.dir: /var/www/html/abc
"def.example.com:443":
listen:
port: 443
host: 0.0.0.0
ssl:
certificate-file: "/path/to/cert.pem"
key-file: "/path/to/key.pem"
paths:
"/":
file.dir: /var/www/html/def
"ghi.example.com:443":
listen:
port: 443
# host: 0.0.0.0がない
ssl:
certificate-file: "/path/to/cert.pem"
key-file: "/path/to/key.pem"
paths:
"/":
file.dir: /var/www/html/ghi
上のようになっていたため、他の全てのホストがghi.example.comの扱いになってしまっていた。
どういう仕組みか分からないが、listen>hostの設定がないと他の全てのホストがそのホストの扱いになってしまうようだ。他の設定に合わせてhost: 0.0.0.0を追加したら直った。
これはlablogの記事にするか。
lablogの表示が変になっていた。Urvanov Syntax Highlighterがエラーを起こしているようだった。PHPのバージョンを上げたのが原因か。古いプラグインを維持していくのも面倒なので、多少表示は安っぽくなるが切ってしまうことにした。
これもlablogの記事にしよう。
今日解いた競プロの問題。
AGC053-A 自力AC。だいぶ悩んだが、よく考えたら変てこな最大化は大体二分探索なのでそう考えたら一瞬で解けた。気持ちいいが気持ち良くない!最初から一瞬で解きたかった。
NHKのワイルドライフだか地球ドラマチックだかでやっていて、ビスカッチャ(ビスカーチャ)という動物を知った。ウサギみたいなリスみたいな容姿だが、げっ歯目でチンチラの仲間らしい。
断崖絶壁をとんでもなく自由自在にぴょんぴょん跳ね回るのでかなりびっくりした。高山性のヤギでもああは動くまい。
しかし調べてみると、なかなかそれらしい情報が出てこない。のんびりした動物だとか、夜行性だとか(番組に映っていたのは明らかに昼だった)、一度に2匹の子供を産むだとか(番組では一度に1匹と言っていた)、どうも釈然としない。
そしてどうやら分かったことには、ビスカーチャ属にはビスカーチャのほかにヤマビスカーチャなどの亜種がいる。多分その内の一つなのだろう。おそらくヤマビスカーチャだと思うのだが、出てくる情報が少なすぎてどうも確信が持てない。なにより、とんでもないインパクトを与えた断崖絶壁を上り下りする映像がネットでは全く出てこないのが釈然としなかった。
VisualStudioに依存した開発環境が癪になってきたので、C++によるネイティブアプリをVSCodeで開発する環境を整えた。ビルドにはCMakeを用いているのでビルドツールの選択も自由になっているはず。…たぶん。
構成(ざっくり)
- tasks.jsonにCMakeによるデバッグビルド処理を記述した。type: shellにしておけばシェルスクリプトを動かせる。
mkdir -p build && cmake -S . -B ./build -DCMAKE_BUILD_TYPE=Debug && cmake --build ./build
- launch.jsonにデバッグ設定を記述した。gdbによる方法の解説は巷にあふれているが、MSVCでやるにはtype: cppvsdbgを指定するらしい。これに辿り着くのに時間がかかった。
- デバッグ設定のpreLaunchTaskに前述のCMakeによるビルド処理タスクを指定した。各タスクは「label」の文字列によって識別されるらしい。
- CMakeLists.txtを用いて、MSVCの場合はリンカにちょっとオプションを付けるようにした。Windowsアプリケーションの場合普通はWinMainがエントリポイントになるが、どっちでもmainをエントリポイントにしたかったため。
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup")
- Releaseビルド時はコンソールのないネイティブアプリケーション、デバッグ時はコンソールアプリケーションになるようにした。
set_property(TARGET ShinchokuMiharu PROPERTY WIN32_EXECUTABLE $<NOT:$<CONFIG:Debug>>)
参考資料
- https://qiita.com/UMA821/items/e38ed259f262d093d2a1
- cl.exeを使ってデバッグをする方法の参考にした。結局のところMSVCでビルドしているので、gdbよりはMSVCのツールを使いたい。gdbのためだけにMSYSとか入れるの面倒だし。そもそもMSVCでビルドしたものにgdb使えるのか?
- https://code.visualstudio.com/docs/editor/tasks
- CMakeの実行をタスクとして登録していたのだが、CMakeを実行するたびターミナルが増えるので、その対処のために参考にした。presentationでいろいろ挙動を指定できるらしい。
- https://stackoverflow.com/questions/33873735/correctly-set-visual-studio-linker-flag-subsystem-in-cmake/57645234
- https://cmake.org/cmake/help/latest/command/add_executable.html
- https://cmake.org/cmake/help/latest/prop_tgt/WIN32_EXECUTABLE.html
- https://cmake.org/cmake/help/latest/command/set_property.html
- なんも指定しないと勝手にコンソールアプリになり、コンソールが表示されるので、その対処の参考にした。add_executableでWIN32を付ければ解決するらしいが、デバッグ時はコンソールを出したい。それで仕組みを調べてみたところ、内部的にはWIN32_EXECUTABLEというプロパティをtrueにしているだけのようなので、set_propertyとジェネレータ式
$<CONFIG:Debug>
を組み合わせて解決した。
- なんも指定しないと勝手にコンソールアプリになり、コンソールが表示されるので、その対処の参考にした。add_executableでWIN32を付ければ解決するらしいが、デバッグ時はコンソールを出したい。それで仕組みを調べてみたところ、内部的にはWIN32_EXECUTABLEというプロパティをtrueにしているだけのようなので、set_propertyとジェネレータ式
今日は生活習慣の改善とMPの回復のために一日使った。
- 昼寝をした。
- やりたいことを整理し、一日のスケジュールを見直した。
- やりたいことは山ほどあるが、時間に追われているものはそこまで(種類として)多くないことに気付けた。
- 最近心の余裕がなくなっている気がするので、あえて読書をスケジュールに入れてみた。これがどう出るか。
- 早めに風呂に入って寝る準備を整えた。
風呂上り、久しぶりに足の爪を切ったら足の指がものすごく臭かった。
これはさすがにいかんだろというレベルだったので、もう一回風呂場に行って足だけ石鹸で念入りによく洗ったらほとんど気にならないレベルに落ち着いた。
普段一応普通に洗っているつもりだったのだが、上手く洗えていなかったのだろうか。爪を切ったとたんに臭気があふれたのも気になる。爪の間に臭いものが溜まるのだろうか。なんにせよ、足の爪はもっと頻繁に切ろう。手の指と違って、足の指は作業には用いないので放置しがちになる。
Categories: 未分類