easylist (LaTeX)で `問1` , `(1)` など接頭辞をつける方法
xparseでコマンドを作成し、CtrComオプションを利用する。1
1 | \documentclass[autodetect-engine,ja=standard]{bxjsarticle} |
xparseでコマンドを作成し、CtrComオプションを利用する。1
1 | \documentclass[autodetect-engine,ja=standard]{bxjsarticle} |
LuaTeX/LuaLaTeX/XeTeX/XeLaTeX + BXjscls/LuaTeX-ja
+ Latexmk/ClutTeX + BibLaTeX +
LaTeX Workshop
+ Git + pre-commit + GitHubLuaTeX/LuaLaTeX/XeTeX/XeLaTeXはぴーでぃーえふのコンパイルに使うエンジンだにょ。BXjscls/LuaTeX-jaは日本語を表示するための文章クラスだにょ。Latexmk/ClutTeXはコンパイルのためのコマンドを必要なだけ呼び出すためのツールだにょ。BibLaTeXは参考文献を管理するためのパッケージだにょ。LaTeX WorkshopはVS
CodeでLaTeXをべんりに使えるVS Code拡張機能だにょ。Gitは編集履歴をよさげに管理してくれるソフトウェアだにょ。pre-commitはGitで履歴を付ける前にフォーマットしてくれるソフトだにょ。GitHubはいろいろべんりなGitのリモートだにょ!LuaTeX vs XeTeX vs upLaTeX vs
pLaTeX vs
pdfTeX ?
upLaTeXとpLaTeX以外では、日本語文章用のパッケージを別途使うようです。LuaTeX-jaはLuaTeX使用時によく用いられ、ltjs~等の文章クラスも提供している。BXjsclsはこのような日本語文章用のパッケージを自動的に読み込む文章クラスのパッケージであり、上で挙げた5つに全て対応している。2upLaTeXとpLaTeXはGitHubで管理されているようだが、最終コミット日時はそれぞれ2022/7/14,
2023/2/15であった。一方で、LuaTeX-jaパッケージの最終更新時は2023/10/10であったが、GitHubで管理されていない。BXjsclsはGitHubで管理されており、最終コミット日時は2023/8/6であった。LaTeXに“テンプレート”という概念があるので、検索するのがとても難しいにょ。
Latexmk vs llmk vs ClutTeX vs arara vs ptex2pdf
中間ファイルを別の場所に置いてくれるClutTeXを使うにょ!特に設定はいらないにょ。これでファイルがすっきりするにょ。
ClutTeXに乗り換えるにあたって中間ファイルを消すにはどうするにょ?
git cleanを使うにょ。 まず
1 | git clean -x -n |
でなくなったらこまるファイルが消されないか確かめるにょ。大丈夫なら
1 | git clean -x -f |
で消すにょ。
LaTeX Workshopを使ってしまうと、エディターに対する依存性が高まってしまうと思います。
.latexmkrcの設定
./.latexmkrc
1 | #!/usr/bin/env perl |
使うTeXの種類によって$pdf_mode等を変更する必要があります。ここではLuaTeX+Biber+makeindexにおける例を挙げます。BibLaTeXのバックエンドにはBiber,
BibTeX,
bibtex8があるようですが、普通はBiberを使うようです。
参考
サブディレクトリにある.texファイルをコンパイルする場合、LaTeX Workshopはそのディレクトリからコマンドを呼び出すため、.latexmkrcもそのディレクトリに置くか、または引数に.latexmkrcのファイルパスを指定する必要があります。
1 | { |
.latexmkrcが適切に読み込まれていない場合、LaTex Compilerの出力を見ると、-interaction=nonstopmodeが指定されていないために途中で止まっているかもしれません。その場合は、LaTeX WorkshopのウィンドウからTerminate current compilationを押します。
ClutTeXやLatexmkをLaTeX Workshopと一緒に使うために.vscode/settings.jsonを作るにょ!
1 | { |
pre-commitはどのフックを使うにょ?.texのフォーマットには、まずlatexindentをつかうにょ!LaTeX Workshopのデフォにょ。.texのフォーマットにpre-commit-latex-hooksも使うにょ。.texのリントにはchktexとlacheckをつかうらしいにょ。3.bibのフォーマットにはbibtex-tidyをつかうにょ!latexindentと.latexindent.yamlの設定素直にコピペするにょ!(view rawからまず開くにょ!)
prettierにyamlとして認識されないため、コメントを除去する必要がある。そこまでして使う価値があるかは、筆者には判断しかねる。
オプションは以下を参照した。
.bibのフォーマットはLaTeX Workshopに直接実装されているため、pre-commitと同時に使いにくいし、こちらもあまり特定のエディターに依存したくない。
あまりメンテナンスされているフォーマッタは無いが、bibtex-tidyが一番まともだと思われる。但し、v1.9.0より後ではpre-commitのargsが正常に動作しないという不具合が現時点で解決されていない。
.latexmkrcはPerlファイルであるため、やり過ぎ感はあるが、一応フォーマットする。Perlのインストールが必要。Strawberry
PerlとActivePerlがあるが、段々と前者が主流になっている模様。4
1 | winget install -e --id StrawberryPerl.StrawberryPerl |
1 | - repo: https://github.com/henryykt/pre-commit-perl |
pre-commit-latex-hooksは”pre-commit
latex”等で検索すると最も上に出てくる。Rustのインストールが必要。
Rustをインストールしておくにょ。
1 | winget install -e --id Rustlang.Rustup |
pre-commit-config.yaml
1 | # See https://pre-commit.com for more information |
コンパイルにもcluttexを使うにょ!Dockerの起動に2分ぐらいかかるからprivateリポジトリの場合残り時間に気をつけるにょ。1日60分ぐらい使えるから、10回/日ぐらいが無難にょ。
.github\workflows\build.yaml
1 | name: Build LaTeX document |
ちなみにcluttexはデフォルトで--halt-on-error --file-line-errorとなっているから気をつけるにょ。GNU Parallelで高速化してるにょ。actions/cacheでもっと速くなると思うにょ。Latexmkを使うときはlatex-actionをそのまま使うといいにょ。
Ctrl+Dで次の同じワードにも同時にカーソルをおけるにょ。\begin{...}...\end{...}の...の中身を変えるのに使えるにょ。ドキュメントを読むにょ!
特にこだわりがなければとりあえずLaTeX WorkshopのWikiにあるスニペット(例:BEQ→\begin{equation}...\end{equation})とサジェスト(例:@a→α,
@/→\frac{}{})の説明を読むにょ!
さらなる高みを目指すなら下のファイルも使うなり改造するなりするにょ。
.vscode/latex.code-snippets
人によってdfn,Def,defi,definitionなど定理環境の派閥の違いがあることを考えると(GitHubで調べると面白いにょ!)、自動生成するのもありにょ。
1 | from pathlib import Path |
複雑なスニペットで長いコマンドをすぐに書けるようにするよりも\NewDocumentCommandや\DeclareDocumentCommandでコマンドを定義したほうが良いかもしれないにょ。そーゆう意味で下のHyperSnips用のファイルはいらないかもしれないにょ。
.vscode/latex.hsnips
| 種類 | サイズ |
|---|---|
| 菊判 | 234x159 |
| A5 | 210x148 |
| B6 | 182x128 |
ヤング率E、最大圧縮/引張/曲げ/剪断応力σc, σt, σb, σs、安全率を指定する必要がある。 木材にはJAS規格で定められた等級区分製材と定められていない無等級区分製材があるが、我々が一般に入手可能であるのは無等級材である。 特に政令に従う必要はないのだが、
上の表は見づらかったり有償であったりするので、木造の設計メモやICBAの第9章 許容応力度及び材料強度を見れば良いと思われる。(前者は値が正しいかは確認できていない。)
| 材質 | σc | σt | σb | σs | E | ρ |
|---|---|---|---|---|---|---|
| S-P-F-甲種-2級 | 17.4 | 11.4 | 21.6 | 1.8 | 9.6 | 0.50? |
| すぎ(無等級) | 17.7 | 13.5 | 22.2 | 1.8 | 7.0 | 0.38? |
漫画の密度を求めるのは難しいが、0.8g/cm^3とする。厚さの平均は11mmとするが、ジャンルに大きく依るだろう。(少年漫画等はもっと分厚くなり、A5版の四コマ漫画等はもっと薄くなるだろう。) 追記:漫画の密度は出版社等により大きく変わるようである。いくつか計測したところ、B6/178pの夢喰いメリー1巻が169g、A5/168pのゆるゆり2巻が293g、A5/118pのドージンワーク1巻は260gと、A5の芳文社の漫画は特に重めであるようである。下の計算はA5の芳文社の漫画の重量を過小評価していると思われる。
よく分からないが、両脚絞端矩形ラーメンに当たると思われる。 つまり、地震等を考えない場合、普通の単純支持梁と両端ピン支持の長柱と同じとしてよいはず。(自信無し)
ηは両端ピン支持の長柱ではπ2 ≊ 9.8696となるが、両端ピン支持?の自重を受ける長柱では18.5687となる。2 これらを使って計算すると、上述の結果になると思われる。
材料は価格が安ければ良いため、SPF(松)か杉か合板が良さそうである。
SPFの場合、B6では1x6、それ以外では1x8となる。(1x7材は見たことがない。)
杉の場合、長さは6尺(1820mm)が良いだろう。厚さは分(3mm)単位、幅は寸(30mm)単位となっているようで、体感的に3,4,(5,6,)12分(9,12,(15,18,)35)x3,4,6寸(90,120,180)が多い気がする。厚さがあまり本棚に適していないものが多い模様。中古品やプレーナー仕上げされていない材(荒材)が多いため、注意。
合板の場合、大きさは3尺x6尺(910x1820mm)となる。厚さは15,18mmが良いだろう。
楽天市場 レビュー件数順に検索した。https://search.rakuten.co.jp/search/mall/%E6%9D%89/100896/?s=5
| ショップ名 | サイズ | 価格 | 価格/2m | URL |
|---|---|---|---|---|
| DIY木材センター | 杉 150x2000x15 | 1360 | 1360 | https://item.rakuten.co.jp/mokuzai-o/sps152002000/?variantId=sps151502000 |
| fiscu フィスク | 杉 17.5x1820x18 4 | 3740+1750(0) | 935 | https://item.rakuten.co.jp/fiscu/81701820/ |
| fiscu フィスク | 杉 18x1820x12 4 | 3740+1750(0) | 748 | https://item.rakuten.co.jp/fiscu/81140001/ |
| 木一筋 楽天市場店 | 杉 85x2000x12 20 | 5670+2200 | 567 | https://item.rakuten.co.jp/kihitosuji/sugi12x85x2000/ |
| 木一筋 楽天市場店 | 杉 70x2000x12 24 | 6760+2200 | 563.3 | https://item.rakuten.co.jp/kihitosuji/sugi12x70x2000/ |
| 吉和民家 | 杉 120x910x12 24 | 4400+990 | 366.7 | https://item.rakuten.co.jp/yoshiwa-minka/dsm910120-24/ |
| 岡元木材 | 杉 1x6 6F (140x1985x19) | 890+2200 | 890 | https://item.rakuten.co.jp/okamoku-s/i0000236/ |
| 岡元木材 | SPF 1x6 6F (140x1830x19) | 1460+2200 | 1460 | https://item.rakuten.co.jp/okamoku-s/10000570/ |
| 東條製材所 楽天市場店 | 杉 7275x900x1213 48 | 4800+2000+0 | 566.7 | https://item.rakuten.co.jp/toujyou-seizai/10000015/?s-id=bh_pc_item_list_name |
| 木工ランド | SPF 1x8 6F | 810+150 | 810 | https://www.mland.gr.jp/products/spf/001/ |
| 木工ランド | 杉 1x6 6F | 1080+100 | 1080 | https://www.mland.gr.jp/order_select.php |
| カインズホーム | SPF 1x6 6F | 1180+NaN | 1180 | https://www.cainz.com/g/4528182160115.html |
| カインズ ホーム | SPF 1x6 12F | 1580+NaN | 790 | https://slowlifeblog.com/spf-wood-homecenter/ |
| カインズ | SPF 1x6 6F | 709+NaN | 709 | https://slowlifeblog.com/spf-wood-homecenter/ |
| コーナン(プロ) | SPF 1x6 6F | 548+NaN | 548 | https://slowlifeblog.com/spf-wood-homecenter/ |
| カインズ ホーム | SPF 1x8 6F | 1080+NaN | 1080 | https://slowlifeblog.com/spf-wood-homecenter/ |
| カインズ | SPF 1x8 6F | 982+NaN | 982 | https://slowlifeblog.com/spf-wood-homecenter/ |
| コーナン(プロ) | SPF 1x8 6F | 980+NaN | 980 | https://slowlifeblog.com/spf-wood-homecenter/ |
| コメリ | SPF 1x4 6F | 298+NaN | 596 | https://www.komeri.com/shop/g/g132611/ |
| コメリ | SPF 1x6 6F | 1080+NaN | 1080 | https://www.komeri.com/shop/g/g469523/ |
| コメリ | SPF 1x8 6F | 1480+NaN | 1480 | https://www.komeri.com/shop/g/g469523/ |
| コメリ | ラワン合板 15x1820x910 | 3980+NaN | 663.3 | https://www.komeri.com/shop/g/g253571/ |
| 満点木材 | 杉 180x1820x15-2 (取り寄せ) | 347+? | 347+? | https://lumber.ocnk.net/product/192 |
| 満点木材 | 松 150x1820x15 6 | 8690 | 1448.3 | https://lumber.ocnk.net/product/718 |
| 満点木材 | 桧 150x2000x15 6 本実 | 7150 | 1191.7 | https://lumber.ocnk.net/product/1123 |
| 満点木材 | 桧集成 150x2000x15 6 本実 | 5819? | 969.8 | https://lumber.ocnk.net/product/1165 |
| 満点木材 | 桧 115x2000x15 8 本実 | 5280? | 660? | https://lumber.ocnk.net/product/893 |
| 満点木材 | 楢 120x2000x15 7 本実 | 9075 | 1296.4 | https://lumber.ocnk.net/product/1023 |
| 満点木材 | 栗 120x2000x15 7 本実 | 8800 | 1257.1 | https://lumber.ocnk.net/product/1133 |
| 満点木材 | 樺桜 130x2000x15 7 本実 | 8525 | 1217.9 | https://lumber.ocnk.net/product/983 |
| 満点木材 | 樺桜 75x2000x15 12 本実 | 3980 | 663.3 | https://lumber.ocnk.net/product/1194 |
| 羽目板屋どっとこむ | 杉 135x1900x15 10 本実 | 9245 | 924.5 | https://lumber.ocnk.net/product/718 |
| ウッディヨネダ(※加工屋) | 杉 150x1800x150 | 5346 | 5346 | https://woodyyoneda-shop.com/products/detail.php?product_id=4 |

出典:「激安 樺桜 幅広 カバザクラ オイル塗装 フローリング材床材」https://lumber.ocnk.net/product/983, 2023/08/08閲覧.
全体として18mmの杉材が入手しにくく、迷い中である。
背板は合板、天井材の選択肢があると考えられる。
| ショップ名 | サイズ | 価格 | 価格/1820x910mm | URL |
|---|---|---|---|---|
| コメリ | ラワン合板 4x1820x910 | 1350+NaN | 1350 | https://www.komeri.com/shop/g/g1270996 |
| コメリ | ラワン合板 5.5x1820x910 | 1550+NaN | 1550 | https://www.komeri.com/shop/g/g1271005/ |
| 満点木材 | 杉 330x1820x7 6 | 5489 | 2744.5 | https://lumber.ocnk.net/product/540 |
| 三祐木材 | 桧合板 5.5x1820x910 | 1920+2000 | 1920 | https://www.sanyumokuzai.co.jp/product/%E3%80%90%E3%81%B2%E3%81%AE%E3%81%8D%E3%80%91-%E6%A7%8B%E9%80%A0%E7%94%A8%E5%90%88%E6%9D%BF%E3%80%80-%E7%AF%80%E3%81%AA%E3%81%97%E3%80%803x6%E3%82%B5%E3%82%A4%E3%82%BA-%E3%80%90%EF%BC%94%E3%82%AB/ |
1台あたり8枚使うため、裏表合わせて0.15 ⋅ 1.82 ⋅ 8 ⋅ 2 = 4.4m2必要で、ニスは2回塗りで約0.1L/m^2必要であるから、440mL程度必要である。和信のニスが最もメジャーであるようだが、3000円/0.7L、9600円/4kgもする。 さらなる仕上がりを目指す場合サンディングシーラーを使うようである。こちらも1回塗りで約0.1L/m^2必要で2700円/0.7L、8000円/4kgする。 したがって塗料だけで2000~5700円程度かかる。
※Amazonのリンクを踏んでも当方にお金は入りません。
本棚を販売している企業が出している動画であることに留意する必要があるが、やはり突っ張りであると安心な気がする。
ラックは事実上製造しているのが一社(OEM,台湾製?)しかないようである。OEM先を特定しようとしてAliexpressや画像検索等で大分調べたが、うまく行かなかった。 棚板をバラで売っているところも見つけられなかった。山善、菊屋等の商社が販売しているようである。 側板の網目が3マスのものは幅63cm, 78cm, 92.5cmを確認しており、4マス 最下段の板の下にも本を置けば9段になる。本棚を買うよりコストパフォーマンスが相当良いが、ラックを採用するとB6だと段あたり12kg、A5だと16kg程度かかるため、場合によっては耐荷重オーバーになる。 天井高が2.2m程度の場合A5ならこれでピッタリだが、B6の場合は1段分スペースが余ると思われる。天井高が2.4m程度の場合は、更に1段分余ることになる。 奥行き24cmがあれば、ちょっと壁面から離せばB6を二段重ねに出来、1350~1500冊程度入りそうだが、より耐荷重オーバーになる。
10840円,幅78,奥行24,8段 [asin:B00MUI17RK:detail]
13400円,幅78,奥行25,8段 [asin:B003WIZ75A:detail]
21,980円,幅92.5,奥行き25,10段 [asin:B00V7JZ71A:detail]
11,990円,幅68,奥行き34,8段 [asin:B0BSDXTVVP:detail]
12,990円,幅88,奥行き34,8段 [asin:B0BSDYD96J:detail]
16000円,幅63,奥行き25,8段,部分的に背板?がある変種 [asin:B094VBCV8F:detail]
17999円,幅78,奥行き25,8段,部分的に背板?がある変種 [asin:B094V7GDB7:detail]
突っ張りまでいくほど高いものはほぼ山善の独壇場になっている模様……。
19911円,幅81,奥行15.5,9段 [asin:B09YXD6PQD:detail]
24800円,幅101,奥行15.5,9段 [asin:B09YXDHDL8:detail]
17392円,幅70,奥行18,10段 [asin:B07R453XHZ:detail]
突っ張りを諦めると途端に安くなる。
9980円,幅89,奥行28.8,高さ180.0,8段 [asin:B08D6KJ84X:detail]
流石にシューズラックは駄目かな……
2380円 [asin:B09LH1JFFM:detail]
ということで厚さ18mmの板で頑丈な本棚を作ろうものなら12000円かかるので、自分の人件費と比べると大して得にならず、時間がかかりすぎるので(調べるだけで何日も無駄にした……)ちょっと保留。
結局YahooショッピングでTP-5405を実質7620円~で4個購入した。既存の本棚に新たに突っ張り棒を設置するのはコストが掛かり面倒でもあるため、耐震性の観点から古い本棚はこれらで順次取り替えることにした。
Xでカーソルを更新しながら再生Ctrl+Bでラベルを追加Ctrl+Shift+Lまたはファイル(F)>書き出し(E)>複数ファイルの書き出し(M)…The Lab Page - RTINGS.com 液晶テレビをPCモニタとして使うスレ Part72
「年式 [サイズ] -ジャンク」で2023/03に検索したときの落札相場を下の表に示したが、いくつか注意点がある。
| 年式 | 43 | 49 |
|---|---|---|
| 2015 | 落札価格 最安 1,000円 最高 39,800円 平均 14,261円 | 落札価格 最安 3,450円 最高 40,000円 平均 16,221円 |
| 2016 | 落札価格 最安 3,800円 最高 41,500円 平均 19,380円 | 落札価格 最安 2,100円 最高 45,000円 平均 22,240円 |
| 2017 | 落札価格 最安 1円 最高 55,000円 平均 22,018円 | 落札価格 最安 1,700円 最高 60,000円 平均 24,635円 |
| 2018 | 落札価格 最安 1,000円 最高 57,800円 平均 24,895円 | 落札価格 最安 540円 最高 72,000円 平均 31,757円 |
| 2019 | 落札価格 最安 1,000円 最高 77,000円 平均 33,672円 | 落札価格 最安 10,638円 最高 99,501円 平均 44,848円 |
| 2020 | 落札価格 最安 1,800円 最高 87,000円 平均 33,217円 | 落札価格 最安 15,500円 最高 105,000円 平均 47,399円 |
| 2021 | 落札価格 最安 5,250円 最高 150,000円 平均 44,671円 | 落札価格 最安 30,306円 最高 90,200円 平均 61,499円 |
| 2022 | 落札価格 最安 2,000円 最高 101,200円 平均 47,856円 | 落札価格 最安 14,520円 最高 125,000円 平均 82,890円 |
らくらく家財宅急便がよく使われる。大型家具家電の輸送 らくらく料金検索 | ヤマトホームコンビニエンス
| サイズ | 家財便ランク | 料金 |
|---|---|---|
| 43 | B | 4400- |
| 49 | B-C1 | 4400,7535- |
| 55 | C | 7535- |
| 65 | C-D | 7535,10945- |
というわけで、再現性がある落札価格としては、1.6万が下限であるように思う。(逆に新品が3.7万で買えることを考えれば、この値段で買えなければあまり中古で買う意味が無い気がする。)
ということで2015-16年の4Kテレビを調べることになったが、かなり情報がまとまっていない。
Panasonic5, Samsung, TCL, Hisense, Sharp, VizioはVAのため除外。
この他にもFUNAI等メーカーは存在するが、つかれたので割愛。 60p入力しかできない倍速液晶は、性質上表示開始時間が0.5フレーム分(8ms)遅延する。
重い処理を同時実行したいときに、非同期を使う。Pythonの非同期処理には2つのライブラリが存在し、以下のような簡単な方法でどちらを使うべきか知ることができる。
重い処理がasyncioに対応しているとき。(I/O待ちであるとき=await asyncio.sleep(n)がその関数の中で呼ばれているとき。)
concurrent.futuresのProcessPoolExecutorおよび**
joblibのParrarel**
重い処理がasyncioに対応していないとき。(CPUが動いているとき。)
joblibで使われるlokyはこのconcurrent.futuresが元になっているが、ローカル関数が使えたり、(デッドロックせずに)入れ子された(nested)非同期処理が可能になるため、より推奨される。ProcessPoolExecutorは内部でmultiprocessingモジュールを使っているが、このモジュールを直接使うのは特別な理由がない限り推奨しない。asyncio.loop.run_in_executorで併用できるが、あまり使われない。tasksとresultsを分けて書いたが、joblibでは普通一行で書く。asyncio1 | import asyncio |
joblib1 | import joblib |
concurrent.futures1 | import concurrent.futures |
1 | pip install tqdm |
asyncio1 | import asyncio |
joblib1 | pip install tqdm_joblib |
1 | import joblib |
concurrent.futures1 | import concurrent.futures |
注意:筆者は全く法律に詳しくなく、またよく間違った内容の記事を放出します。
我々が弁護士の見解を伺ったところ,まず生声については,用意された短い文章を淡々と読み上げた録音音声データに過ぎず,著作物とは言えないと考えられ,また,その読み上げの際に芸術的な性質を有する演技が行われているわけでもないため,著作隣接権の対象たる実演にも該当しないと考えられるとのことである.
その生声からコエ生成エンジンによりコエが生成されるが,コエは単なるその人の声の特徴を抽出したエッセンスデータであるため,著作物とは言えない.
合成音声は,作家の創作物であるテキストの複製物という扱いになり,作家の著作権が合成音声にも及ぶと考えられる.通常の収録音声の場合,声優などの読み上げた者(実演家)が芸術的な演技を伴って創作されたと見なされた場合には,実演家にも著作隣接権が認められることがあるが,合成音声の場合,声優は合成音声の生成において何も芸術的な演技を行わないため,著作隣接権も認められないと考えられる.尚,ユーザの読み調整により合成音声に創作的な表現が顕れるような場合には,合成音声は作家の創作物のユーザによる翻案物という扱いになり,権利関係は,作家が原著作物であるテキストの著作権を,ユーザが翻案物たる合成音声の著作権を有し,作家は合成音声について原著作者として権利を行使できる,ということになる.
VPSでよく用いられるプラットフォーム仮想化ソフトウェアには、以下の2つがある。
FastVM, Clovux3
その他の仮想化ソフトウェアの詳細についてはComparison of platform virtualization software - Wikipediaを参照。
仮想化ソフトウェアは各インスタンスに仮想コア(vCPU)を割り当てる。ところで、実はこの2つのソフトウェアはどちらもvCPU数を物理CPU数よりも大きくすることができる。vCPU数はしばしば性能の指標とされるが、実際の性能を保証するものでは全くないため、要注意。4 5 KVMではCPUが共有されないというのは誤情報である。ただし、OpenVZはより少ないリソースで性能を出すことができるため、利益を重視している業者によく使われがちであるという意見もある。6 7
サーバーの初回契約時にSetup Feeを要求する業者があるが、AWS EC2が秒単位で使える事を考えると、実際にセットアップ自体にお金がかかるとは思えない。むしろ、Setup Feeは性能の悪いVPSを提供して顧客が1ヶ月でやめることを事前に想定して、2ヶ月分とっておこう+既存顧客を取っておこうという意図があるように思われる。Setup Feeを要求しない業者はたくさんあるので、最初からサーバーを長く使おうとSetup Feeを飲み込むべきではない。むしろ、契約し始める最初こそ、いろいろなプロバイダーで失敗することを想定して、なるべく無料トライアルや1時間・1日単位で契約できるプロバイダーを探すべきである。1ヶ月契約、特にSetup Feeを要求する1ヶ月契約は地雷である。
Linodeなどの一部のプロバイダーは特定のリンクから契約しなければ無料クレジットをもらえない場合がある。このとき普通に登録して無料クレジットがもらえなかったり、アフィリンクを踏んで意図せず知らない人にお金が入ったりすることが無いように注意が必要である。また、OCI(コア数に制限), DigitalOcean(Sharedのみ)8, GCP9など無料クレジットでは/支払履歴がなければ性能の低いインスタンスしか使えないプロバイダーもある。
| Service | Credit ($) | Expiration (Month) |
|---|---|---|
| Azure | 200 | 1 |
| GCP | 300 | 3 |
| OCI | 300 | 1 |
| IBM | 200 | 1 |
| DigitalOcean | 100 | 2 |
| Linode | 100 | 2 |
| Vultr | 50 | 1 |
| OVH | 100 | 2 |
| Tencent Cloud | 50 | 1 |
国内VPSは英語で物事を検索するという発想が無い人のためにあるように思われるため、除外。その他上の基準に従って適当に検索していくともう両手で数えるほどしか残らないが、ここに要件を足してServerHunterに載っていないAWSなど(意外と安い)も追加で検討していき、地雷回避をやれば、わりあいと決まるのではないだろうか。
非同期でpytestを使う場合、pytest-asyncioを使うことになるが、やや使いにくいのでunittestのIsolatedAsyncioTestCaseを使った。
実装例
1 | from asyncio import sleep |
二酸化炭素濃度と人間のパフォーマンスには確かに相関関係があるである。上の2つの図からは、建築基準法で指定されている1000ppmであっても認知機能に影響があることがわかる。この現象には、NLRP3とIL-1βなるものが関係していると一番下の図に書いてあるが、よくわからなかった。
二酸化炭素濃度わずかでも高いと認知機能に限らず様々な問題が起きると一番下の図の論文は主張している。

出典:Associations of Cognitive Function Scores with Carbon Dioxide, Ventilation, and Volatile Organic Compound Exposures in Office Workers: A Controlled Exposure Study of Green and Conventional Office Environments | Environmental Health Perspectives | Vol. 124, No. 6 https://ehp.niehs.nih.gov/doi/10.1289/ehp.1510037#pane-pcw-references

出典:Is CO2 an Indoor Pollutant? Direct Effects of Low-to-Moderate CO2 Concentrations on Human Decision-Making Performance https://www.semanticscholar.org/paper/Is-CO2-an-Indoor-Pollutant-Direct-Effects-of-CO2-on-Satish-Mendell/309e7ebea6e880cd2393bc38596933813022d335

出典:Direct human health risks of increased atmospheric carbon dioxide | Nature Sustainability https://www.nature.com/articles/s41893-019-0323-1
| エネルギー代謝率(RMR) | 作業程度 | 二酸化炭素発生量[m^3/(h・人)] |
| 0 | 安静時 | 0.0132 |
| 0~1 | 極軽作業 | 0.0132~0.0242 |
| 1~2 | 軽作業 | 0.0242~0.0352 |
| 2~4 | 中等作業 | 0.0352~0.0572 |
| 4~7 | 重作業 | 0.0572~0.0902 |
「5.1 完全混合濃度に基づく基本必要換気量」http://tkkankyo.eng.niigata-u.ac.jp/HASS/5_1.html より引用
室内ガス濃度K、導入外気ガス濃度(定数)Ko、単位時間あたりガス発生量(定数) $M 、単位時間あたり換気量(定数)Q、部屋の容積(定数)V$に対し、
変形して
ところで
より、
積分して
初期条件K(0) = Koとすれば、
許容室内ガス濃度$ K_m を設定すると、必要換気量 Q_m $は、
春秋ならば窓を開け放して$ Q を大きくしたいが、夏冬は空調機を使う。空調機が使う電力(と電気代)が換気量に比例すると仮定する。これは、外温
T_o
Qm = 22 [m3/h]
1畳は1.62m^2、部屋の高さは普通2.4-2.5mであるから、n畳の場合
| 面積[畳] | 時間[h] |
| 4 | 1.14 |
| 6 | 1.72 |
| 8 | 2.29 |
| 10 | 2.86 |
参考文献:「必要換気量の求め方|三菱電機 空調・換気・衛生」https://www.mitsubishielectric.co.jp/ldg/ja/air/guide/support/knowledge/detail_01.html
筆者はNDIR式のCO2モニタを購入し検証したところ、換気のない6畳間洋室で420ppmから1020ppmに上昇するのに2時間半程度かかった。(部屋にこもり続けた。)これは理論値の1.45倍である。図のグラフはやや上に凸であるように見えるため、部屋が完全に密閉されているわけではないことが原因であろう。

ここ数日CO2モニタを眺めていた感想だが、筆者の6畳間洋室では以下のようであるに思えるが、数値は時により変動し、部屋に居続けるのも大変であり、夜間はPCを落としているのでログが取れずうまく検証できていない。さらに、都市部では排気ガスと交通量の変化の影響で、時間帯により外気のCO2濃度は25-50ppm異なる、ご飯を食べたあとは消化により代謝が上がりCO2濃度の増加が早まるなど、他の誤差要因も存在する。
| 窓の状態 | Q |
|---|---|
| 密閉 | 20 |
| 2つ5mm | 30 |
| 2つ12mm | 40 |
EfbrazilCC 表示-継承 4.0, リンクによる
数十年後では大気中のCO2濃度は無視できないほど上昇する可能性があり、その場合上の計算を改める必要があるだろう。


1 | # Licensed under CC0: https://creativecommons.org/publicdomain/zero/1.0/deed.en |