月: 2024年2月 Page 2 of 3

統率者デッキのニコイチ。(統率者メモ2024/02/19)

  1. ドクター・フー 統率者デッキ『過去からの来襲』
  2. カルロフ邸殺人事件 統率者デッキ『数々の手がかり』

両方ともデッキカラーが一致(青白緑)していて、トークンを出すことには長けています。

なので、組み合わせたら面白いと思って、デッキを統一です。

構築済み2つがベースなのでレベルは低め。とはいえ、昨今の構築済みのコンセプトはよくできているので、Party~Battleで戦えるような形です。

統率者

  1. 7代目ドクター/The Seventh Doctor
  2. 恐れ無き反逆者、エース/Ace, Fearless Rebel

デッキ

クリーチャー

  • 動物学者、ベニー・ブラックス/Bennie Bracks, Zoologist
  • 真実の商人/Merchant of Truth
  • 天駆ける恐喝者/Aerial Extortionist
  • エルドワルの照光/Erdwal Illuminator
  • 月間最優秀探偵/Detective of the Month
  • 天上の調査員/Ethereal Investigator
  • 空夢想士、アランドラ/Alandra, Sky Dreamer
  • 河童の砲手/Kappa Cannoneer
  • サイバードライブの起動者/Cyberdrive Awakener
  • 煌めくドラゴン/Shimmer Dragon
  • 思考の監視者/Thought Monitor
  • 絡み集めの海藻/Tangletrove Kelp
  • ガラクタ這い/Junk Winder
  • ムウォンヴーリーの世捨て人、ジョルレイル/Jolrael, Mwonvuli Recluse
  • 目ざとい新人/Sharp-Eyed Rookie
  • 不屈の追跡者/Tireless Tracker
  • 転置された恐竜/Displaced Dinosaurs
  • ハイドロイド混成体・Hydroid Krasis
  • 暗号動物学者、ローニス/Lonis, Cryptozoologist
  • メノプトラの指導者、ヴレスティン/Vrestin, Menoptra Leader
  • 私立探偵、ダッガン/Duggan, Private Detective
  • 好奇心の神童、ケラン/Kellan, Inquisitive Prodigy
  • 双子唱者、アドリックスとネヴ/Adrix and Nev, Twincasters
  • アリステア准将/Alistair, the Brigadier
  • 3代目ドクター/The Third Doctor
  • 星界の大蛇、コーマ/Koma, Cosmos Serpent
  • フラクタルの花、エシックス/Esix, Fractal Bloom
  • アカデミーの整備士/Academy Manufactor

呪文

  • 剣を鍬に/Swords to Plowshares
  • 証拠固め/Armed with Proof
  • 家宅捜索/Search the Premises
  • 別世界への追放/Banish to Another Universe
  • 燻蒸/Fumigate
  • 告別/Farewell
  • 継続する調査/Ongoing Investigation
  • 啓示の終焉/Finale of Revelation
  • 極性を反転せよ/Reverse the Polarity
  • 500年日記/Five Hundred Year Diary
  • 機械化製法/Mechanized Production
  • 肉体の裏切者、テゼレット/Tezzeret, Betrayer of Flesh
  • テフェリーの永遠の洞察/Teferi's Ageless Insight
  • 疑惑の裏付け/Confirm Suspicions
  • 英雄的介入/Heroic Intervention
  • 追跡調査/On the Trail
  • ウルヴェンワルドの謎/Ulvenwald Mysteries
  • 殺しのサービス/Killer Service
  • 荒野の再生/Wilderness Reclamation
  • 法廷の騒乱/Disorder in the Court
  • 時の一掃/Time Wipe
  • 太陽の指輪/Sol Ring
  • 好奇のタリスマン/Talisman of Curiosity
  • 団結のタリスマン/Talisman of Unity
  • 発展のタリスマン/Talisman of Progress
  • 秘儀の印鑑/Arcane Signet
  • アゾリウスの印鑑/Azorius Signet
  • シミックの印鑑/Simic Signet
  • 鼓舞する彫像/Inspiring Statuary
  • ソニック・ドライバー/Sonic Screwdriver

土地

  • 2:平地
  • 2:島
  • 3:森
  • 隔離されたステップ/Secluded Steppe
  • 孤立した砂州/Lonely Sandbar
  • トレンザロアの時計塔/Trenzalore Clocktower
  • 平穏な茂み/Tranquil Thicket
  • 灌漑農地/Irrigated Farmland
  • 氷河の城砦/Glacial Fortress
  • 神聖なる泉/Hallowed Fountain
  • 大草原の川/Prairie Stream
  • 広漠なるスカイクラウド/Skycloud Expanse
  • 啓蒙の神殿/Temple of Enlightenment
  • 天界の列柱/Celestial Colonnade
  • アダーカー荒原/Adarker Waste
  • 金属海の沿岸/Seachrome Coast
  • 港町/Port Town
  • 神秘の神殿/Temple of Mystery
  • 冠水樹林帯/Waterlogged Grove
  • 繁殖池/Breeding Pool
  • ヤヴィマヤの沿岸/Yavimaya Coast
  • 地平線の梢/Horizon Canopy
  • まばらな木立ち/Scattered Groves
  • 豊潤の神殿/Temple of Plenty
  • 梢の眺望/Canopy Vista
  • 産業の塔/Spire of Industry
  • 海辺の城塞/Seaside Citadel
  • 風変わりな果樹園/Exotic Orchard
  • 統率の塔/Command Tower
  • 祖先の道/Path of Ancestry
  • 霧深い雨林/Misty Rainforest
  • 吹きさらしの荒野/Windswept Heath
  • クローサの境界/Krosan Verge
  • ガヴォニーの居住区/Gavony Township

土地と数枚のカード以外は構築済みデッキ由来です。

コンセプト

手がかりを軸にしたドローとビートダウン。

  1. アリステア准将
  2. サイバードライブの起動者

による一撃も狙っています。

回した感じは序盤がもたついているので、そこを解消しつつカードの入れ替えで調整していきます。

買い増し・買い足し。(統率者メモ2024/02/18)

先だって購入した『カルロフ邸の構築済み』。

  • 青白緑のデッキである
  • アーティファクトシナジーを有する

ことから、先月購入した『ドクター・フーの統率者デッキ』と相性が良さそうだと薄々感じていました。

ですが、その統率者デッキはそのままデッキとして残したい。

そこで執った手段は

もう一個、購入です。

必要なパーツを買うよりもトータルでは安くなりますし、また、ここに入っているカードを統率者に据えた方が面白そうという判断からでもあります。

そしてもう一つ。

ドクター・フーの構築済み統率者『パラドックスパワー』も買い足しです。

「手札以外から唱える」の条件は比較的緩く、また、それ以外の能力も有用だと思い、こちら。

デッキの確認や調整、そして大戦後のフィードバックなどの番外も楽しいのがこのゲーム。

調整結果などは追って記します。

対話式にLinuxサーバの再起動・停止を行うシェルスクリプト。

概要

メンテナンスなどで、指定する時刻にLinuxサーバを停止・再起動したいときは割合にあります。

そこで、そんなスクリプトです。

スクリプト内容

  • server_shutdown.sh
#!/bin/bash

# メッセージを表示して日付を入力
read -p "このサーバを停止・再起動する日付をyyyymmdd形式で入力してください: " input_date

# メッセージを表示して時刻を入力
read -p "このサーバを停止・再起動する時刻をhhmm形式で入力してください: " input_time

# メッセージを表示して再起動か停止かを入力
read -p "再起動は1、停止は2を入力してください(空エンターは1): " restart_option
restart_option=${restart_option:-1}  # デフォルトは再起動(1)

# 日付と時刻を結合
scheduled_datetime="${input_date} ${input_time}"

# オプションに応じてコマンドを設定
case $restart_option in
    1)
        action="再起動"
        ;;
    2)
        action="システム停止"
        ;;
    *)
        echo "無効なオプションが選択されました。スクリプトを終了します。"
        exit 1
        ;;
esac

# 確認メッセージを表示して、実行の可否を確認
read -p "$(date -d "$scheduled_datetime" '+%Y/%m/%d %H:%M') に$action します。よろしいですか?(y/n): " confirmation

if [ "$confirmation" == "y" ]; then
    # 指定した日時まで待機し、処理をバックグラウンドで実行
    (sleep $(( $(date -d "$scheduled_datetime" '+%s') - $(date '+%s') )) && {
        echo "システムに常駐し、指定日時に$action を行います。"
        if [ $restart_option -eq 1 ]; then
            shutdown -r now
        elif [ $restart_option -eq 2 ]; then
            shutdown -h now
        fi
    }) &
    disown  # バックグラウンドプロセスをデタッチ
    echo "処理をバックグラウンドで実行しました。プロンプトに戻ります。"
else
    echo "操作をキャンセルしました。"
fi

作成後、

sudo chown root:root server_shutdown.sh

として所有者をrootに変更。その後、

sudo chmod 744 server_shutdown.sh

で、rootのみに実行権を付与します。

実行時の動き

sudo bash server_shutdown.sh
このサーバを停止・再起動する日付をyyyymmdd形式で入力してください: 20240216
このサーバを停止・再起動する時刻をhhmm形式で入力してください: 0215
再起動は1、停止は2を入力してください(空エンターは1): 1
2024/02/16 02:15 に再起動 します。よろしいですか?(y/n): y
処理をバックグラウンドで実行しました。プロンプトに戻ります。

と、プロンプトが出て指定時刻にサーバーの再起動/停止を行います。

動きを止めたいとき

バックグラウンドで処理が走っているので、プロセスを確認して止めます。

  • プロセス確認
ps aux |grep server_shutdown
root        2202  0.0  0.0  11020  1528 ?        S    16:32   0:00 bash server_shutdown.sh

2202のように、PIDを確認します。

  • プロセス停止
sudo kill 2202

PIDに停止シグナルを送り、処理を止めます。

  • プロセス確認
ps aux |grep server_shutdown

該当するバックグラウンドの処理がなければ大丈夫です。

Nextcloud 28.02のエラー「メンテナンス

概要

Ubuntu 22.04でも稼働を始めたNextcloud。28.02にアップグレード後、管理者画面から以下の警告が出てきました。

サーバーにはメンテナンスウィンドウの開始時間が設定されていません。これは、リソースを多く使用する日常のバックグラウンドジョブが、メインの利用時間中にも実行されることを意味します。利用者がこれらの重いタスクによる負荷の影響を受けにくくするために、低い利用時間に設定することをおすすめします。 詳細については、ドキュメント↗を参照してください。

対処

https://docs.nextcloud.com/server/28/admin_manual/configuration_server/background_jobs_configuration.html

上記の通りに行うこととします。

以下、NextcloudがインストールされているサーバにSSHログイン(または直接コンソール接続)での操作です。

環境

  • Ubuntu 22.04
  • php 8.1
  • Apache 2.4

手順

root昇格

Nextcloudは、コンフィグ系が全てWeb実行ユーザ(www-data)等に統一されているため、

sudo su -

での操作を行います。

バックアップ取得

  • ディレクトリ移動
cd /home/www-data/nextcloud/config && pwd
  • バックアップ
cp -pi config.php /path/to/backup/directory/config.php.$(date +%Y%m%d)

任意のバックアップディレクトリを指定します。

  • バックアップ確認
diff -u config.php /path/to/backup/directory/config.php.$(date +%Y%m%d)

エラーが出なければ(差分がなければ)バックアップ成功です。

config.php修正

以下のファイルを、以下の通り追記します。

/home/www-data/nextcloud/config/config.php

  • 追記内容
  'default_timezone' => 'Asia/Tokyo',
  'maintenance_window_start' => 1,
  • 差分
+  'default_timezone' => 'Asia/Tokyo',
+  'maintenance_window_start' => 1,

config.phpでタイムゾーンを指定済みであれば、追記は下の行だけで大丈夫です。

修正反映

  • Apache再起動
systemctl restart apache2.service
  • rootから抜ける
exit

解消確認

ブラウザから上記の処置を施したNextcloudにアクセス。管理者画面で「サーバーにはメンテナンスウィンドウの開始時間が設定されていません~」が出なければOKです。

増えるベースデッキ。

またしても気になる統率者デッキのベースを手に入れました。

土地: 37呪文:31
3平地/Plains1証拠固め/Armed with Proof
6島/Island1遺体の追跡/Follow the Bodies
5森/Forest1追跡調査/On the Trail
1梢の眺望/Canopy Vista1知識は力なり/Knowledge Is Power
1風変わりな果樹園/Exotic Orchard1身代金要求/Ransom Note
1灌漑農地/Irrigated Farmland1告別/Farewell
1大草原の川/Prairie Stream1燻蒸/Fumigate
1まばらな木立ち/Scattered Groves1有機体の絶滅/Organic Extinction
1広漠なるスカイクラウド/Skycloud Expanse1家宅捜索/Search the Premises
1産業の塔/Spire of Industry1疑惑の裏付け/Confirm Suspicions
1サングラスの大草原/Sungrass Prairie1啓示の終焉/Finale of Revelation
1啓蒙の神殿/Temple of Enlightenment1機械化製法/Mechanized Production
1神秘の神殿/Temple of Mystery1テフェリーの永遠の洞察/Teferi's Ageless Insight
1豊潤の神殿/Temple of Plenty1肉体の裏切者、テゼレット/Tezzeret, Betrayer of Flesh
1アゾリウスの大法官庁/Azorius Chancery1殺しのサービス/Killer Service
1統率の塔/Command Tower1法廷の騒乱/Disorder in the Court
1クローサの境界/Krosan Verge1忘却の偶像/Idol of Oblivion
1孤立した砂州/Lonely Sandbar1鼓舞する彫像/Inspiring Statuary
1祖先の道/Path of Ancestry1イラクサ嚢胞/Nettlecyst
1聖遺の塔/Reliquary Tower1剣を鍬に/Swords to Plowshares
1海辺の城塞/Seaside Citadel1継続する調査/Ongoing Investigation
1隔離されたステップ/Secluded Steppe1ウルヴェンワルドの謎/Ulvenwald Mysteries
1セレズニアの聖域/Selesnya Sanctuary1荒野の再生/Wilderness Reclamation
1シミックの成長室/Simic Growth Chamber1秘儀の印鑑/Arcane Signet
1邪神の寺院/Temple of the False God1アゾリウスの印鑑/Azorius Signet
1平穏な茂み/Tranquil Thicket1シミックの印鑑/Simic Signet
クリーチャー 321好奇のタリスマン/Talisman of Curiosity
1地下海の探偵、モルスカ/Morska, Undersea Sleuth1発展のタリスマン/Talisman of Progress
1嗅ぎ回る探偵、ソフィア/Sophia, Dogged Detective1団結のタリスマン/Talisman of Unity
1真実の商人/Merchant of Truth1拡大鏡/Magnifying Glass
1物静かな捜索者/Serene Sleuth
1月間最優秀探偵/Detective of the Month
1絡み集めの海藻/Tangletrove Kelp
1無害の研究者/Innocuous Researcher
1天駆ける恐喝者/Aerial Extortionist
1動物学者、ベニー・ブラックス/Bennie Bracks, Zoologist
1空夢想士、アランドラ/Alandra, Sky Dreamer
1天上の調査員/Ethereal Investigator
1河童の砲手/Kappa Cannoneer
1水底のクラーケン/Nadir Kraken
1煌めくドラゴン/Shimmer Dragon
1思考の監視者/Thought Monitor
1女王スズメバチ/Hornet Queen
1ムウォンヴーリーの世捨て人、ジョルレイル/Jolrael, Mwonvuli Recluse
1不屈の追跡者/Tireless Tracker
1双子唱者、アドリックスとネヴ/Adrix and Nev, Twincasters
1伝承の語り部、チュレイン/Chulane, Teller of Tales
1フラクタルの花、エシックス/Esix, Fractal Bloom
1ハイドロイド混成体/Hydroid Krasis
1星界の大蛇、コーマ/Koma, Cosmos Serpent
1暗号動物学者、ローニス/Lonis, Cryptozoologist
1帰還した探検者、セルヴァラ/Selvala, Explorer Returned
1アカデミーの整備士/Academy Manufactor
1精神の病を這うもの/Psychosis Crawler
1エルドワルの照光/Erdwal Illuminator
1ガラクタ這い/Junk Winder
1つむじ風のならず者/Whirler Rogue
1墓モグラ/Graf Mole
1波ふるい/Wavesifter

見た目はアーティファクトシナジー。トークンを増やすコーマ、双子唱者、エシックスなど、好みのカードが入っているのが購入の決め手。

また、サンプルブースターからも当事者ケランが登場。早速このデッキに使えといわんばかりの性能です。

まずはそのまま使ってみて、方向性を決めたいと思います。

自分用Redmineのステータスと評価。

自分のタスクやスケジュール管理に利用しているRedmine。

ステータスという呪文

作って間もない頃はプロジェクトやトラッカーに合わせて専用のステータスを作っていましたが、

「どれがどの状態か不明」

という状況に陥りました。

自分にとって必要なのは

  • ボールは自分にあるのか?
  • 相手にあるならいつチェックするのか?
  • フィードバックは必要か?

の3つぐらいだという結論。人に任せるわけでもない自分のタスク管理なので、ステータスはプロジェクト共通でいいと判断。

ステータス説明
Alohomora(開けよ)新たにチケットを発行するとき
Locomotor(動け)チケットを開始する
Arresto Momentum(遅く)様子見の必要があるため、一時的に中断したい場合
Depulso(除け)ボールが自分にあるとき。すなわち、自分の案件を押しつける。
Accio(来い)ボールが他人にあるとき。すなわち、状況を呼び寄せる。
Lumos(光よ)案件にスポットライトを当てる。フィードバック待ちのとき。
Obliviate(忘却せよ)準備が整って、実行するだけのチケット。なので、時期が来るまで忘れてもいいステータス。
Finito(終われ)案件が解決し、チケットを終わらせるとき
Avada Kedavra(息絶えよ)却下されたり却下したなどで、未解決状態でチケットをクローズ

『ハリー・ポッター』シリーズで出てくる呪文と擬えました。これなら、分かりやすく、必要なステータスのみに集中できます。

評価

そして、自分が発行したチケットは「期待通りか」のフィードバックが必要だと思いまして、カスタムフィールドを利用して、以下の形にしました。

  • U:不明 / Ungraded and Unglued
  • O:優 / Outstanding
  • E:良 / Exceeds Expectations
  • A:可 / Acceptable
  • P:不可 / Poor
  • D:落第 / Dreadful
  • T:トロール並 / Troll

「Ordinary Wizard's Level:OWL」試験の評価に、現段階では評価できない不明「Ungraded and Unglued」を加えました。

自分だけが使うツールは、こういう遊びの余地があるから好きです。

Windows 11、jpg画像を保存する際にjfifになる現象の修正。

事象

Windows 11にアップデートしてから、jpg画像の拡張子が「jfif」となりました。

Nextcloudでの画像プレビューに支障を来すので、修正を行います。

注意

レジストリを修正します。作業には細心の注意を払ってください。

手順

参考:
https://ameblo.jp/yuhwila/entry-12503707873.html

レジストリエディタを起動

  1. 「Windows」キー + 「R」で名前を指定して実行を起動します。
  2. 「regedit」を入力してレジストリエディタを起動します。

以下の箇所を探します。

\HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg

値を修正します。

  • Extensionを右クリックして「修正」

.jfifを.jpgに変更して「OK」

修正を確認します。

念のため、再起動を行います。

画像を保存する際の形式が.jpgになっていればOKです。

いちいち拡張子を変えるのが面倒だったので、これで一安心です。

シールの分類・整理。

PCや写真などを飾るときにちょくちょく買っては散逸してしまうフレークシール。

探しやすくするための工夫を行いました。

まずは以前もらっていた缶に入れてみます。ある程度の整理ができてきたところ、百均でこちらを見つけました。

ポケット付きのシール分類ファイル。

フラップ付きの小袋になっているため、目的のものを探しやすくなっています。

買ったものに関しては

  • 厚みが少なく大きいシールが入らない
  • ポケットの絶対数が少ない

欠点がありましたが、これはまたべつのそういうバインダーを探していけば解決は見えそうです。

SNS、切り替え開始。

X(Twitter)で様々な不快な情報が流れるようになったので、Blueskyに切り替えです。

自分が取得したドメインをそのままアカウントにできるということで

https://bsky.app/profile/reisalin.com

この形になりました。

ネットにある情報を参考に、LightsailでのDNSに必要とするtxtレコードを登録後、自分のドメインでログインすることができました。

X(Twitter)の状況がもう少しマシになるまでは

  • フォロワーの現況を知る
  • DMでの会話
  • 公式アカウントでの情報収集

ぐらいしか使わないと思います。

ChatGPTによるRubyスクリプト。(対話式パスワード生成)

前回作成したパスワード生成スクリプト。変数で指定するのはCron処理などでは便利でしたが、日常には不向き。

そこで、再びChatGPTに相談し、

以下の要件でスクリプトを作成です。

要件

  • スクリプトを実行する
  • 発行強度を1~3で指定する (空エンターは中)
    • 1:弱 8桁/英数字のみ
    • 2:中 10桁/小文字・大文字・英数字と単純な記号
    • 3.強 12桁/小文字・大文字・英数字と複雑な記号
  • 表示するパスワードの数を数字で指定する (空エンターは4個)

スクリプト

できあがったのがこちら。

  • password_generate.rb
def generate_password(length, complexity, password_count)
  case complexity
  when 1
    chars = [('a'..'z'), (0..9)].map(&:to_a).flatten
  when 2
    chars = [('a'..'z'), ('A'..'Z'), (0..9), ['!', '@', '#', '$', '%', '^', '&', '*']].map(&:to_a).flatten
  when 3
    chars = [('a'..'z'), ('A'..'Z'), (0..9), ['!', '@', '#', '$', '%', '^', '&', '*'], ['-', '_', '=', '+', '<', '>', '?']].map(&:to_a).flatten
  else
    puts "無効な発行強度です。"
    return
  end

  password_count.times do |i|
    password = (0...length).map { chars[rand(chars.length)] }.join
    puts "Password #{i + 1}: #{password}"
  end
end

def get_complexity
  print "発行強度を1から3の範囲で入力してください (デフォルトは2):\n"
  complexity_input = gets.chomp

  complexity = complexity_input.empty? ? 2 : complexity_input.to_i

  until (1..3).cover?(complexity)
    print "有効な範囲で入力してください(1から3): "
    complexity = gets.chomp.to_i
  end

  complexity
end

def get_password_count
  print "表示するパスワードの数を入力してください (デフォルトは4): "
  count_input = gets.chomp

  count = count_input.empty? ? 4 : count_input.to_i

  count
end

puts "パスワードを生成します。"
complexity = get_complexity
password_count = get_password_count

case complexity
when 1
  generate_password(8, complexity, password_count)
when 2
  generate_password(10, complexity, password_count)
when 3
  generate_password(12, complexity, password_count)
end

実行例

ruby password_generate.rb
発行強度を1から3の範囲で入力してください (デフォルトは2):
2
表示するパスワードの数を入力してください (デフォルトは4): 9
Password 1: ILAXRn!O47
Password 2: P^qmiduucK
Password 3: 8ytFezU%fU
Password 4: O!6OFeHgYe
Password 5: Ua&!Ryg039
Password 6: &T@AtiNpWy
Password 7: Jz8jyPbp#3
Password 8: HOWE66ki1I
Password 9: 9WRdsHhk*H

Page 2 of 3

Powered by WordPress & Theme by Anders Norén