いざというときに仕えるし、実用性もあるという品を入手です。

この、充電ケーブルそのものがストラップになっているという仕様。

スマートフォンケースにアタッチメントを取り付けるだけ。

これで、ショルダーストラップ完成。

保護カバーを取り外せば充電もできます。しっかりと落ちないようにストラップつきでした。
いざというときに仕えるし、実用性もあるという品を入手です。

この、充電ケーブルそのものがストラップになっているという仕様。

スマートフォンケースにアタッチメントを取り付けるだけ。

これで、ショルダーストラップ完成。

保護カバーを取り外せば充電もできます。しっかりと落ちないようにストラップつきでした。
スマートフォンからの画像を自分のPCに転用する形で用いているNextcloud。
アップロードが途中で失敗したり、特定の条件下で接続が切れたりすることがあります。Apacheビルトインのmod_reqtimeout設定を最適化し、サーバーの安定性と利便性を両立させるためのチューニングを行いました。
このモジュールがビルトインされたのは、Slowlorisという、非常に低コストで強力な攻撃手法への対抗があります。
通常のDoS攻撃は大量の通信を送りますが、Slowlorisは逆に「極めてゆっくり」通信します。
結果 サーバーの同時接続数の上限が攻撃者の「待ち」状態で埋まってしまい、正規のユーザーがアクセスできなくなります。
mod_reqtimeout は、この「嫌がらせ」を許さないための防衛線です。
Apacheサーバーが1つの接続を維持するには、メモリやCPUリソースを消費します。
もしタイムアウト設定がない、あるいは極端に長い場合、以下のような問題が発生します。
Nextcloudのデータの性質と通信の仕組みにあります。
Nextcloudは、数MBから数GBあるような大きなファイルを送る際、一気に送らずにファイルを分割して、「チャンク(塊)」に分割して送信します。
Nextcloudは外出先のスマートフォンから使うことを想定しています。
これも、先のSlowloris攻撃と見做されてしまいます。
だからといって、このmod_reqtimeoutを無効にすると、それらの攻撃への備えがなくなります。
Nextcloudの利便性を高めつつ不審な攻撃を守るというのは
「任務」は遂行する「部下」も守る
お前ごときに「両方」やるというのはそう難しいことじゃあないな
ぐらいの精神でやっていきましょう。
sudo apache2ctl -M |grep req
reqtimeout_module (shared)を確認します。(apacheをapt等で入れていれば、まず入っています)
sudo cp -pi /etc/apache2/mods-available/reqtimeout.conf /path/to/backup/directory/reqtimeout.conf.$(date +%Y%m%d)
/path/to/backup/directoryは自分の環境に合わせます。
diff -u /path/to/backup/directory/reqtimeout.conf.$(date +%Y%m%d) /etc/apache2/mods-available/reqtimeout.conf
エラーがないことを確認します。
/etc/apache2/mods-available/reqtimeout.confを管理者権限で修正します。
筆者は以下のように行いました。
-RequestReadTimeout body=10,minrate=500
+RequestReadTimeout body=20,minrate=500
具体的には、リクエストボディ(データの送信本体)の読み取り開始を待機する時間を10秒から20秒へ延長しています。
diff -u /path/to/backup/directory/reqtimeout.conf.$(date +%Y%m%d) /etc/apache2/mods-available/reqtimeout.conf
以下のような差分を確認します。
-RequestReadTimeout body=10,minrate=500
+RequestReadTimeout body=20,minrate=500
sudo apache2ctl configtest
→ Syntax OKとなることを必ず確認してください。でないと、apacheサービスが停止したままとなってしまい、サービス断が発生します。
sudo systemctl reload apache2.service
systemctl status apache2.service
active(running)を確認します。
Nextcloudサーバーにおいて、RequestReadTimeout のbody待ち時間を延長することは、「モバイル環境や大容量ファイル送信時の安定性」を向上させるために非常に有効な手段です。
もし、ログ(Apacheのerror_log)に The timeout specified has expired や request body read timeout といった記録が残っている場合は、この値を調整してみることをお勧めします。
sudo grep "request body read timeout" /var/log/apache2/error.log
昨日の続き、メインディッシュと言える食事群です。

本当に鰯なのかと言うぐらいの大きさ。骨離れも良好。ワタもみっちり詰まって濃厚。身の脂ののりも言うまでもないです。

フィッシュアンドチップスの定番、鱈がこうなるという例。白身がふわふわで、英国時代のものとは次元が違いました。

自家製という気合いの入れよう。ジャガイモを皮ごと潰した野趣あふれる風味が最高でした。

ブリの漬けを手巻きにするという技巧。のりがふやけないうちにすぐに食べる必要があったものの、これもおいしかったです。
いずれも、いい食事で心が満たされました。
週末、お世話になっているお店でのおいしい食事をいただきました。

刺身から始まり。この切付の時点で鮮度と腕がうかがえます。

蒸したジャガバターの上にウニをのせるという背徳的な食べ方をしたり

旬のホタルイカの酢味噌和え、

店の自作という牡蠣のオイル漬け。
この時点でも感動は極上でしたが、まだ続きがあります。
友人と卓を囲みました。

色を絞れたこともあり、40点差をつけての勝利。(上のタイルは計算のため順番を変えています)

納涼落語会での『牡丹灯籠』に年末落語会の『芝浜』をかけることができました。

一色10点で勝利。発展カードの偏りを読み取れたのが功を奏しました。

計略カードと援軍が勝敗を形づけるゲーム。運と戦略が絡むゲームではありましたが敗北。
いい気分転換でした。
警告: 実行中のバージョン: 2.0.4~docker; サーバーはこのTalkバージョンの全ての機能をサポートしていません。欠落している機能: chat-relay
と出たので、それに対応していきます。
アップデートは、こちらの手順で、コマンドラインから行いました。
その後、管理画面で上記のエラーが出たという次第です。
このNextcloudを個人的に運用しているのならばそのまま行って構いません。しかし、これを組織で運用しているとなると話はまるで違います。
※ 検証環境を用意できる程度には時間と予算と環境に余裕がある方は、その環境にいることを感謝しつつ、検証を重ねていきましょう。
cd /path/to/nextcloud/root/directory && pwd
自分の環境に合わせます。(筆者環境/home/www-data/nextcloud)
sudo -u www-data php occ maintenance:mode --on
運用中のNextcloudのURLにアクセスし、メンテナンスモードであることを確認します。
server.conf) の構成sudo cp -pi /hoge/docker/files/nextcloud-signaling/server.conf /path/to/backup/directory/server.conf.$(date +%Y%m%d)
自分の環境に合わせます。
diff -u /path/to/backup/directory/server.conf.$(date +%Y%m%d) /hoge/docker/files/nextcloud-signaling/server.conf
差分がないことを確認します。
server.confファイル修正chat-relay 機能を有効にするため、以下のように項目を付け加えます。
[chat]
enabled = true
追記したら保存を行います。
diff -u /path/to/backup/directory/server.conf.$(date +%Y%m%d) /hoge/docker/files/nextcloud-signaling/server.conf
以下の差分を確認します。
+ [chat]
+ enabled = true
これが地味にハマりました。古い docker-compose (v1.29.x等) を使用している環境だと、イメージのメタデータ構造の違いによるエラー(KeyError: 'ContainerConfig')が発生。
それを避けるための手順です。
docker-compose を介さず、Docker本体で最新イメージをプルする。
sudo docker pull strukturag/nextcloud-spreed-signaling:latest
sudo docker pull nats:2.9
作成失敗などで残った残骸を削除し、競合を防ぐ。
sudo docker container prune -f
sudo docker-compose up -d
sudo -u www-data php occ maintenance:mode --off
運用中のNextcloudのURLにアクセスし、管理画面に入ります。
Nextcloudの「設定」>「Talk」にある高性能バックエンド設定で、URL横の「チェックマーク(保存)」を押し、chat-relay が Available features に含まれたことを確認して対処完了です。
Dockerは確かに便利な代物ですが、管理が複雑になっていくというのが難点。それ故、Dockerは最小限にして登録していきたいものです。
宅内でのサーバとして立てているUbuntu20.04という完全にEOLを迎えている機体。それがエラーを起こしたときのメモです。
Ubuntu 20.04を入れているミニPCの起動時、画面に以下のメッセージが表示され、デスクトップが立ち上がらずに (initramfs) というプロンプトで停止しました。
sgx: disabled by BIOS(initramfs) _ (入力待ち状態)以下、Geminiからのアドバイス。
これに従って対処を行いました。
(initramfs) プロンプトで exit を入力
エラーの詳細(どのパーティションが壊れているか)を確認するために、まず exit と打ちます。
The root filesystem on /dev/sdb2 requires a manual fsck
というメッセージが表示されました(筆者環境)これをメモします。
特定したデバイス名に対して修復コマンドを実行します。
fsck /dev/sdb2 -y
※ -y オプションを付けることで、すべての修復箇所を自動で「Yes」として処理します。
FILE SYSTEM WAS MODIFIED と表示されたら、以下のコマンドで再起動(またはブート続行)を試みます。
reboot
または
exit
機器が古すぎたためのディスクエラー につきます。
これが仕事でしたら「さっさと取り替えろ」「いや、取り替えないように準備する」なのですが、自分の環境なのでそうはいかず。
なんとか予算と時間を見つけてリプレースをする必要に迫られました。
こちらのデッキで用いるトークン群をGemini nano banana 2にて生成。

それに合わせて、
統率者でよく混乱しがちになる

などを生成した後、L判で出力。B7ハードケースにも詰めました。

隙間があるのが課題なので、そのあたりを詰めればもっといいものになりそうです。
行き狩りの電車でプレイしている『ガイアプロジェクト』で珍しい事象が起きました。
使った勢力はお気に入りのダー・シュワーム。

まず完成図がこちら。ここまで宙域を伸ばしているのも異例ですが

マジョリティ「惑星改造」が9。つまり、航法5の暗黒惑星を含めてコンプリート。

惑星改造ゴールはアンバスに取られたものの、同盟×5タイルと研究ごとに2点タイルを取ることができて

最終得点は173点。まず取ることがない航法ゴールをダー・シュワームでやったという珍事です。
何かと現役なUSBメモリ。再セットアップ中に(Windows管理→ディスク管理)

このように見割り当て/もしくは複数のパーティションができた場合に対応するときのメモです。
この操作を行うと、USBメモリ内のデータはすべて消去されます。 必要なファイルがある場合は、作業前に必ずパソコン本体などへバックアップを取ってください。
ディスク番号は絶対に間違えないでください。
OSインストールドライブが文字通り吹っ飛ぶような操作です。
Windowsキー→cmdを入力。コマンドプロンプトが入力されたら、右クリックで「管理者として実行」を選択。
diskpart
を入力してEnterを実行。
list disk
を実行。
この時、上述したディスク3が操作をするUSBメモリであることを確認しましょう。
※ここでディスク番号を間違えると、パソコンのSSDなどを消去してしまうため慎重に選んでください。
select disk 3
を実行します。「ディスク 3 が選択されました」と表示されます。
clean
を実行します。これで、ディスク内の全てのパーティションが消えます。
create partition primary
を実行します。
fs=ntfs quick
等でフォーマットを行います。
exit
でdiskpartを抜けます。
Powered by WordPress & Theme by Anders Norén