カテゴリー: ガジェット Page 43 of 97

『ライザのアトリエ3』三周目の記録と高難易度の挑戦。

一周目と二周目の概要

  1. 1周目は実績全解除を目指しました。(リンク先ネタバレあり)
  2. 2周目は各地に存在する見聞録を集めました。(リンク先ネタバレあり)

三周目の挑戦

そこで、3周目は「各地のランドマーク」をRedmineに重点的に記録していきます。

https://atelier.reisalin.com/issues/162

と、今後の調合の際に「どこに行けどの超素材が手に入るか」を記録しようというわけです。

難易度『LEGEND』追加

そんな中、待望のアップデート実施。

最高難易度「LEGEND」追加。折しも三週目に入ったばかり。引き継ぎ時に作成していたコアアイテムがどこまで通用するかを試す絶好の機会です。

結果は圧勝というか鎧袖一触。

コアアイテムを調整していないのでアイテムが使えるようなCCが溜まる前に殲滅するケースがほとんど。

こちらに関してはストーリー進行に合わせて挑戦しがいが出てくればと思います。

“早矢仕”と“檸檬”。

ちょっと用があったので丸の内に赴きました。

最初の理由はこちら。

久しく食べていなかったハヤシライスをいただくため。(この早矢仕ライスは丸善が開祖の一つだとか)

じっくり煮込まれた肉とトマトの風味がクリームコロッケとマッチ。久しぶりの害ショックということもあって満足です。

そしてもう一つ。

LAMY Al-Starの新色とLAMY Safariの「シャープペンシル」です。

こちらも「何年ぶりか」というレベルでシャープペンシルを買いました。

  • 手続きや何やらで使う機会がある
  • 書き味が思った以上に悪くない

と気づいたためです。

既に手に入れているライムカラーの万年筆と対になるように購入。(上述したように推し色ですし)

2本揃ったので、併せて撮影です。

Let’s Encryptの証明書整合でハマったこと。(ECDSA方式での整合性確認)

概要

更新サイクルが3ヶ月と短いものの、無料で利用できるということで愛用しているLet's Encrypt。
デフォルトの暗号化形式がRSAからECDSA方式に変わったようで確認方法でハマりました。

なんとか解決したのでメモを残します。

従来の確認方法

RSA方式での証明書は、以下の

openssl x509 -in /etc/certs/hoge.example.com.crt -noout -modulus | md5sum
# SSL証明書ファイル

openssl rsa -in /etc/private/hoge.example.com.key -noout -modulus | md5sum
# 秘密鍵ファイル

を実行し、それぞれのハッシュ値が合致していることで証明書と秘密鍵の整合性の確認を取ることができています。

ECDSA方式に変わったことでの問題

2023年4月時点で、Let's Encryptのデフォルト暗号化形式がRSA→ECDSA方式に変わっていました。

openssl rsa -in /etc/private/hoge.example.com.key -noout -modulus | md5sum
# 秘密鍵ファイル

を実行すると

139945929635648:error:0607907F:digital envelope routines:EVP_PKEY_get0_RSA:expecting an rsa key:crypto/evp/p_lib.c:469:

といったエラーが出ます。

これでは証明書と秘密鍵の整合性が確認できません。

しばらくGoogleと格闘し、なんとか解決策を見つけました。

https://security.stackexchange.com/questions/73127/how-can-you-check-if-a-private-key-and-certificate-match-in-openssl-with-ecdsa

ECDSA方式でも証明書と秘密鍵の整合性が確認できるコマンド

まず、鍵がECDSA方式であることを確認。

  • 確認コマンド
openssl ec -in /etc/private/hoge.example.com.key -text -noout
# 秘密鍵のパスを指定します
  • 確認結果
(略)
ASN1 OID: prime256v1
NIST CURVE: P-256
# 上記が表示されればECDSA方式であると確認できます。

次に、以下のようにして公開鍵を抽出してハッシュ値を割り出します。

openssl x509 -pubkey -in /etc/certs/hoge.example.com.crt -noout | openssl md5
(stdin)= ハッシュ値
# SSL証明書ファイル

openssl pkey -pubout -in /etc/private/hoge.example.com.key | openssl md5
(stdin)= ハッシュ値
# 秘密鍵ファイル

### 2つのハッシュ値が合っていれば証明書と秘密鍵の整合性は取れています

以上、ECDSA方式でも整合性を確認することができました。

余談

この、「鍵を用いて鍵を取り出す」って、『ライザのアトリエ3』で無垢の鍵から秘密の鍵を抽出しているようだなと益体もないことが脳裏をよぎりました。

吸い取り紙の威力。(ブロッター導入)

使われている道具には意味があると実感です。

到着:ブロッター

黒板消しというかバレンというか、そういった体の道具、ブロッター。曰く

「余分なインクを吸い取る」

道具は必要あるのかと最初は侮っていました。(手帳に書くときは間にティッシュ挟んでますし)とはいえ、

  • 常時10本以上の万年筆を持ち歩いている
  • 定期的な補充やメンテナンスを欠かさない

身としては検証して損はないと思って注文し、到着。

驚きの使い勝手

日記を書いているときに早速利用。効果は驚きでした。

「こんなに余分なインクがあったのか」というのにも驚きですし、吸い取った跡を手で撫でてもインクがつかないことに驚愕。

検証の価値は十分にありました。自宅のみならず職場にも置いておきたい一道具です。

Redmineのチケットによるゲーム情報管理と一括登録。(『ライザのアトリエ3』ネタバレ要素あり)

Redmineのチケット機能、プライベートでも活躍。

こんな感じで一つの事柄に対してコメントを足していくことで、「1つの目的で必要な要素」を網羅しました。

今回は逆に「多数の要素を一つの目的に落とし込む」ための機能を用いました。

攻略時のメモ記載。

『ライザのアトリエ3』での攻略メモ、(2周目に入ってから)見落としがちな見聞録や料理のレシピなどを残しておきました。

https://atelier.reisalin.com/issues/46

これを加工していきます。

インポート用データ作成。

  • チケットのステータス
  • 対象バージョン
  • カスタムフィールド(見聞録入手条件)

等、

スプレッドシートに書いていきます。「説明」欄にマークダウンを記入できるのである程度テンプレ化できるのも強み。

ゲーム中に取得したスクリーンショットはコメントへのリンクを張っていきます。

CSVインポート

こうして作ったデータをCSVインポートでそのまま取り込み。

バージョン管理

ここでは、ゲーム中に訪れる地方を「バージョン」と位置づけました。

なので、インポートされた見聞録のデータはこのように一瞥できるようになります。

https://atelier.reisalin.com/projects/ryza3/issues/gantt

チケットの詳細をクリックするとこんな形になりました。

Redmine4.2にissue_importerをインストール。

概要

基本的に:「Excelが大嫌いなのでRedmineを使っている」というのがスタンスです。
ですが、「大嫌いなExcelシートで加工した方が効率がいい状況」は多々発生します。

そんな加工したデータをチケットとして登録するためのプラグインを導入しました。

RedmineにはCSVインポート機能が備えられているものの、本項で紹介するプラグインはチケットの更新も行えるのが特徴です。

プラグイン名

  • redmine_importer
    • https://github.com/agileware-jp/redmine_importer

動作を確認した環境

  • Ubuntu 20.04
  • Redmine 4.2
  • Apache 2.4
  • Mod_passanger

導入時

Gem追加:不要
DBマイグレーション:要

手順

さっくりとした手順

  1. SSHログイン後、Redmineプラグインに移動
  2. gitでレポジトリをダウンロード
  3. DBマイグレーション
  4. Webサービス再起動

ディレクトリに移動します。

cd /home/www-data/redmine/plugins
# 自分の環境に合わせます。

プラグインを配置します。

sudo -u www-data git clone https://github.com/agileware-jp/redmine_importer

ls -ld redmine_importer
# このディレクトリがあることを確認します

DBのマイグレーションを行います。

cd /home/www-data/redmine
# 自分の環境に合わせます。

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

設定後の動作

  1. 管理者権限でRedmineにログインします。
  2. プロジェクト > 設定>モジュールに進み「importer」にチェックを入れます。
  3. プロジェクトのタブに「インポート」が表示されれば動作完了です。

こちらではインストールまで実施。具体的な使い方は別途紹介します。

動作確認日

2023/04/13

鍵と装飾。-百均グッズの撮影用小物(その43)

最近、百均で見つけたものです。

椅子型のスマホスタンド

本物そっくりのディティールが特徴的なパイプ椅子。ストッパーが付いていてスマートフォンを載せられる実用性もあります。

1/12 figmaサイズにはやや大きめですが、きちっと座らせられました。

フレークシール

このそっけないカバーを装飾します。

ちょうど魔術というか錬金術っぽいシールがまとめて売られていたので、早速の貼り付け。自分のものだとわかりやすくすると同時に、カバンの中でもどちらがカバー部分化を判別できる利点もあります。

鍵オブジェ

『ライザのアトリエ3』のサブタイトルが「秘密の鍵」ということで、百均で見つけた瞬間に「これは合わせることができる」と狙ってみました。

思ったとおり、figmaライザに抱えさせることで写真のアクセントとすることができました。

Webサーバ:メモリ漸増への対処。(cronによる監視とWebサービス再起動)

概要

AWSで使っているWebサーバのメモリ使用量が漸増していくため、以下の処置を施しました。

実行環境

  • Ubuntu 20.04を稼働しているWebサーバ
  • メモリは4GB

さっくりとした手順

  1. メモリ使用量をトリガーとして、閾値を超えたらWebサービスの再起動を行うスクリプトを作成。
  2. このスクリプトをCron化。

スクリプト作成

管理者権限で以下を作成します。

  • memory_monitor.sh
#!/bin/bash

# メモリ使用量の閾値を設定する(ここではメガバイト単位で指定)
threshold=3584

# ログの保存パスと名前を設定する
log_path="/var/log/"
log_name="restart.log"

# 現在のメモリ使用量を取得する
mem_used_before=$(free -m | awk 'NR==2{print $3}')

# メモリ使用量が閾値を超えた場合にWebサービスの再起動を行う
if [ "$mem_used_before" -gt "$threshold" ]; then
    systemctl restart httpd
    # 極端な話、reboot と指定することでシステムそのものの再起動も可能です
    mem_used_after=$(free -m | awk 'NR==2{print $3}')
    mem_used_diff=$((mem_used_after - mem_used_before))
    echo "httpd service restarted on $(date). Memory usage difference: $mem_used_diff MB" >> "${log_path}${log_name}"
fi

作成後、実行権限を付与します。

sudo chmod 744 memory_monitor.sh

cron登録

sudo crontab -e -u root
  • 登録内容
*/15 * * * * /path/to/directory/memory_monitor.sh
# 格納したパスを指定します
# 15分おきに実行としています。

今後の課題

これはあくまでも対処療法。根本的なボトルネックの究明は継続して行います。

キーホルダーとディスプレイ。

10日ほど前に遡ります。

アズールレーン×ライザのアトリエ2/3のコラボ商品が届きました。アクリルキーホルダーのセット。

これを飾るのに丁度いいものが百均に売られていました。ディスプレイケース仕切り付き(4マス)。

このように、収納と保管とディスプレイを全部こなしてくれるのがありがたい限りです。

そして、一つは手帳ケースのファスナーに飾りました。

ケースのデザインとも合うのがナイスです。

ChatGPTが各シェルスクリプト。(motdに一文をランダムで表示)

「ちょっとしたことを試したいけど方法が分からない」時のChatGPTは本当に頼りになります。

やりたいこと

こちらの発展系。サーバログイン時にランダムに一文を書いてほしいと思い立ちました。

スクリプト

管理者権限で以下のファイルを作成します。

/etc/update-motd.d/20-quote

#!/bin/bash

# 20-quote - MOTDにquote.txtからランダムな引用を表示するスクリプト

# quote.txtファイルのパス
QUOTE_FILE="/hoge/quote.txt"

# quote.txtファイルの行数を取得する
NUM_LINES=$(wc -l < "${QUOTE_FILE}")

# ランダムな行番号を生成する
RANDOM_LINE=$((1 + RANDOM % NUM_LINES))

# ランダムな行番号に該当する引用を表示する
sed "${RANDOM_LINE}q;d" "${QUOTE_FILE}"

作成後、実行権を付与。

sudo chmod +x /etc/update-motd.d/20-quote

引用文も書いてもらいました。

quote.txt

A penny saved is a penny earned / 節約した1ペニーは1ペニー稼いだのと同じ
Actions speak louder than words / 言葉より行動
All good things come to those who wait / 望むことは遠くにあり、我慢して待てば必ず手に入る
An apple a day keeps the doctor away / 1日にリンゴを食べると医者は遠ざかる
Don't count your chickens before they hatch / 卵を孵す前に小鳥を数えるな
Every cloud has a silver lining / 苦しいことの中にも良いことがある
Fortune favors the brave / 運は勇気ある者に付きもの
Honesty is the best policy / 誠実は最高の策略
If at first you don't succeed, try, try again / 失敗してもくじけずに何度でも挑戦せよ
Necessity is the mother of invention / 必要は発明の母
No pain, no gain / 苦労なくして報酬なし
Penny wise, pound foolish / 1を惜しんで100失う (木を見て森を見ず)
Practice makes perfect / 習うより慣れろ
Rome wasn't built in a day / ローマは一日にして成らず
The early bird catches the worm / 早起きは三文の徳
The grass is always greener on the other side of the fence / 隣の芝は青く見える
The squeaky wheel gets the grease / うるさい方が注目を集める
There's no such thing as a free lunch / 無料の昼食は存在しない
Time is money / 時間は金
Where there's smoke, there's fire / 煙のあるところには火がある

ChatGptが提供したイギリスのことわざ

これで、SSHログイン時に上記の文章がランダムで表示されるようになりました。

Page 43 of 97

Powered by WordPress & Theme by Anders Norén