
『Aqua Garden』などをリリースしているショップで注文しました。ボードゲーム『アグリコラ』の資源トークンです。


- 木材
- レンガ
- 葦
- 石材
- 麦
- 野菜
の6品目。特に、
「形が同じだった葦と麦」「色が同じの石と猪」の判別がつきやすくなっています。

オーガナイザーにもしっかりフィット。

また、資源そのものも撮影に併せられるクォリティです。
Linux Mint 20.3でGrowiを運用しています。
aptによるアップデート後、Growiで全文検索ができない現象が発生しました。

[root@chisato.lyco.reco ~]# systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2022-10-30 19:06:41 JST; 1 day 1h ago
Docs: https://www.elastic.co
Process: 983 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=1/FAILURE)
Main PID: 983 (code=exited, status=1/FAILURE)
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:637)
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:928)
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java>
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158)
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/java.lang.Thread.run(Thread.java:1589)
10月 30 19:06:41 chisato.lyco.reco systemd-entrypoint[983]: at java.base/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:186)
10月 30 19:06:41 chisato.lyco.reco systemd[1]: elasticsearch.service: Main process exited, code=exited, status=1/FAILURE
10月 30 19:06:41 chisato.lyco.reco systemd[1]: elasticsearch.service: Failed with result 'exit-code'.
10月 30 19:06:41 chisato.lyco.reco systemd[1]: Failed to start Elasticsearch.
→ この後、
systemctl restart elasticsearch.service
を行っても起動しません。この事象を解決したときのメモです。
cat /var/log/elasticsearch/elasticsearch.log
(中略)
java.lang.IllegalArgumentException: Plugin [analysis-icu] was built for Elasticsearch version 7.17.6 but version 7.17.7 is running
を発見しました。ElasticSearchをバージョンアップしたのに、動いてるプラグインが対応しきれなかったためエラーになったようです。
以下のコマンドを実行しました。
/usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-icu
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
/usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-kuromoji
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
# 問題を起こしているプラグインの削除→再インストールを実施
systemctl restart elasticsearch.service
systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-10-31 21:23:02 JST; 23s ago
Docs: https://www.elastic.co
Main PID: 5424 (java)
Tasks: 94 (limit: 9199)
Memory: 768.5M
CGroup: /system.slice/elasticsearch.service
├─5424 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true>
└─5617 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
10月 31 21:22:38 chisato.lyco.reco systemd[1]: Starting Elasticsearch...
10月 31 21:23:02 chisato.lyco.reco systemd[1]: Started Elasticsearch.

で、正常に起動したことを確認できました。
様々なケースを懸案していた結果、これに落ち着きました。

ジブン手帳。
実は9年も前に使っていたものだったりします。
この理由が最大のもので、スケジュールをオフラインで確認したいケースが多々生まれてきました。
LAMYを揃えたことで、「手書きの楽しさ」がいや増していき、それならいっそのことと思った次第です。

と、かゆいものに手が届きます。これらの利点はなぜやめてしまったかレベルです。




この革のカバー、当時、すごく奮発したことを思い出しました。ずっと放置していて傷が目立ち、手入れもおざなりでしたのにしっかり形が残ってくれていたことに感謝。


まずは保護のため、ツバメノートのマルチケースに収納することにしました。
手入れを復活させたり、本格的に運用していくためのルールを定めたりとやることが色々です。
以前紹介したボードゲーム『宝石の煌めき』のソロバリアント(出典:BBG[Board Game Geek])を元に、よりマイルドな難易度のバリアントとして調整しました。
プレイヤーは、擬似的な対戦相手「ボット」と対峙し、宝石商としてより多くの威信を得ることを目的とします。
これにつきます。こちらが2~3手番でようやくカード1枚購入できるのに対し、ボットは1手番でカードを手に入れます。この圧倒的速度はゲームに慣れていない人の心を折るには十分です。
程よい重量感もあって質感が素晴らしい宝石トークンのやりとりは最序盤~中盤にかけてのゲームの華。このやりとりもまたゲームの一部なので、こちらのバリアントに取り入れました。
また、ソロバリアントは宝石を各1枚しか取れないのも不満が残りました。
「威信ポイント15点以上」がゲーム終了のトリガーである本ゲームにおいて、
を一瞥することは重要です。そして、その鍵となるカードの確保をどのタイミングで行えばいいのかをトレーニングできるようなルールにチューニングしました。
2人戦と同じようにセットアップします。
まで同じですが、ボット用に6面体ダイスを1つ用意します。
ボットは黄金トークンを1つ受け取ります。
Lv.1の発展カードの山札の一番上にあるカードを表向きにして、それを受け取ります。
つまり、ボットはLv.1の発展カード1枚と黄金トークン1つのアドバンテージを得た上でゲームを開始します。
ボットの先攻でスタートします。
ボットが確保している
を数えます。(このカウントは、対人戦でも癖にしておきましょう)
ボットは以下の行動パターンに沿ってカードを獲得していきます。
上記に従ってカードが買えない場合、ボットは以下の条件に沿ってトークンを獲得します。
6面体ダイスを1つ振ります。
ボットは黄金トークンを受け取ります。(カードの確保は行いません)
プレイヤー、ボットともに通常のゲームと同じです。
通常のゲームと同じです。ボットが先攻なので
となります。同点だった場合は、カードの少ない方が勝利です。(このカードにはボットが『確保』した威信ポイント1点分のカードは含まれません)
こんなものまで売られるようになったとは驚きでした。

そのままズバリのリングライト。撮影時、照明は多様性があったほうが助かります。
そして、今回はこれをこのように用いました。

ために可能だった前面からの光。
これにより


こういった撮影ができるようになったのは大きな収穫でした。
ここから更に改良を加えました。
以下を導入済みです。
全て管理者権限で実施しました。
mkdir /var/lib/redmine/log/suspicious_ip
cd /hoge/
vi negativelist_add.sh
#!/bin/sh
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
cd /var/lib/redmine/log
cat error.log | awk 'match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) { print substr($0, RSTART, RLENGTH) }' | sort | uniq > /var/lib/redmine/log/suspicious_ip/suspicious_ip.`date +%Y%m%d`
chown www-data:www-data /var/lib/redmine/log/suspicious_ip/suspicious_ip.`date +%Y%m%d`
cat /var/lib/redmine/log/suspicious_ip/suspicious_ip.2* |sort |uniq > /var/lib/redmine/log/suspicious_ip_all.txt
cat suspicious_ip_all.txt > /etc/apache2/sites-available/negativelist.txt
chown www-data:www-data suspicious_ip_all.txt
sed -i /除外したいIPアドレス/d /etc/apache2/sites-available/negativelist.txt
chmod +x negativelist_add.sh
ここでは/etc/apache2/sites-available/redmine-le-ssl.conf にコンフィグを作成済みです。
cd /etc/apache2/sites-available
cp -pi redmine-le-ssl.conf redmine-le-ssl.conf.bak
vi redmine-le-ssl.conf
<VirtualHost _default_:80>
servername [redmineのドメイン名]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost _default_:443>
servername [redmineのドメイン名]
CustomLog /var/log/redmine/access.log combined
ErrorLog /var/log/redmine/error.log
Alias /redmine /var/lib/redmine/public
# Mod Security
SecRuleEngine On
## ModSecurity有効化
SecRequestBodyInMemoryLimit 524288000
SecRequestBodyLimit 524288000
## ファイルのアップロードをできるようにします。
SecRuleRemoveById 949110
SecRuleRemoveById 941310
SecRuleRemoveById 980130
SecRuleRemoveById 911100
SecRuleRemoveById 200002
SecRuleRemoveById 200003
SecRuleRemoveById 200004
SecRuleRemoveById 959100
## 上記を無効化しないとチケット更新時にエラーとなりました(偽陽性)ため、上記ルールを除外します。
SecRule ARGS:modsecparam "@contains test" "id:4321,deny,status:403,msg:'ModSecurity test rule has triggered'"
## テスト用の検知パラメータを付け加えます。
## Negativelist
SecRule REMOTE_ADDR "@pmFromFile negativelist.txt" "phase:1,id:2,deny,msg:'Negativelisted IP address'"
# /etc/apache2/sites-available/negativelist.txt に記載されたIPアドレスを自動的に遮断します。
<Location /redmine>
PassengerBaseURI /redmine
PassengerAppRoot /var/lib/redmine
Require all granted
<RequireAll>
Require all granted
</RequireAll>
</Location>
SSLEngine on
Protocols h2 http/1.1
Header always set Strict-Transport-Security "max-age=63072000"
SSLCertificateFile [let's encryptが指定した証明書ファイルのパス]
SSLCertificateKeyFile [let's encryptが指定した秘密鍵ファイルのパス]
#Include /etc/letsencrypt/options-ssl-apache.conf
RewriteEngine On
RewriteCond %{HTTP_HOST} ^samplehoge\.hogehoge
RewriteRule ^/$ https://samplehoge.hogehoge/redmine/ [R]
</VirtualHost>
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
apache2ctl configtest
# Syntax OKを確認します
systemctl restart apache2
crontab -e
0 8 * * * /hoge/negativelist.sh
これで、以下の動きができるようになります。
昨年から、丸一年経っての出来事です。
ふと思い立ち、丸善の文具コーナーに訪れたら幸運が待っていました。

レモンのチャーム付きLAMY万年筆。

しかも、一番好きなこの明るい緑で彩られています。


昨年のものとは異なり、二つ切りのレモンとまるごとをあしらった形です。

今回のペン先は極細を選びました。
と、三拍子が揃った道具を入手しました。
Nextcloudにアップロードされた画像をタグ付けしてくれる「recognize」アプリを使っています。
それを用いて運用したところ、以下のエラーに出くわしました。
メニュー > Administration settings > 概要

これを放置していったところ、Webサービスが止まり、SSHにも接続できなくなりました。そのため、以下の対処を施しました。
以下の環境で動いています。
※snapは使わず、オンプレで構築しました。
また、Opcacheモジュールは設定済みです。
以下、管理者権限で実施しています。
mkdir /etc/old
cd /etc/php/7.4/mods-available
cp -pi opcache.ini /etc/old/opcache.ini.`date +%Y%m%d`
vi opcache.ini
opcache.interned_strings_buffer=16
; 8 → 16に修正
apache2ctl configtest
# Syntax OK を確認します
systemctl restart apache2
メニュー > Administration settings > 概要
へと進みます。

「全てのチェックに合格しました。」
を確認します。
万単位のファイルを既にインポートしたため、画像認識とタグ付けのためにかなりのCPUリソースを消費します。(平均オーバーロードが7を超えるときもありました)
そのため、zabbix等で負荷を監視している場合は認識中は閾値を上げておく等の対処が必要です。
Powered by WordPress & Theme by Anders Norén