Railsのハマり案件。状況収束。

昨日のこの案件は無事に解決。

対処

原因が自分のRails/Rubyによるものが明らかだったので、それぞれの入れ直しです。

Rubyアンインストール

sudo apt remove --purge ruby ruby-dev rubygems
apt autoremove

として、関連のパッケージを全て削除。設定は特にしていなかったのが幸いしました。

Ruby 再インストール

sudo aptitude install ruby libruby ruby-dev libmysqlclient-dev
sudo aptitude install libapache2-mod-passenger

gemで関連パッケージインストール

sudo gem install bundler racc mysql2

apache再起動

sudo systemctl restart apache2.service && echo $?

→ 0が返ってきたので反映もOK。

後はbundle installもDBマイグレーションも無事に通るようになりました。

Railsのハマり案件。状況発生。

前に見たことがないエラーにとっ捕まったため、状況をメモしておきます。

環境

  • Ubuntu 24.04
  • Ruby 3.2

何が起きているか

Redmineの検証のため、新たに5.1を立てています。

  1. SVNでチェックアウト
  2. DBなどを作成
  3. database.ymlにDB情報を追記
 sudo -u www-data bundle exec rake generate_secret_token

実行後、

rake aborted!
NameError: uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)

    Logger::Severity.constants.each do |severity|
          ^^^^^^^^^^
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:16:in `<module:LoggerThreadSafeLevel>'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:9:in `<module:ActiveSupport>'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:8:in `<top (required)>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `<top (required)>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `<top (required)>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `<top (required)>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/railties-6.1.7.10/lib/rails.rb:7:in `<top (required)>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
/home/www-data/hideout/config/application.rb:5:in `<top (required)>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:38:in `require'
/home/www-data/hideout/Rakefile:5:in `<top (required)>'
/home/www-data/hideout/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

が発生。そのため、DBマイグレーションも通らないという状況。

この問題はやっかいそうなので、まずは事象が発生したという事実だけメモをします。

ボードゲーム『アイドルアライブ』開封と収納。

プレイする前にやるべきだった内容です。

2024年末にこちらを購入。

開封

コンポーネントは

  • カード
  • チップ
  • キューブ
  • 駒(アイドル)立て
  • そして、

ステージに見立てたダブルレイヤーのボードです。

収納

収納はシンプルに。

カードはスリーブごとにキャンドゥで売られているカードケース(薄型)2つで収まりました。

チップ類はそのままジップバッグに入れています。

エキスパートルールやアップグレードのプレイマットなどを考えると、別の箱(ストレージ)に入れることも考慮です。

『ライザのアトリエ3』 秘密の鍵の重ねがけによるパラメータ上昇の比較。(有料DLC『ロスカ島』解放後の装備品調合)

『ライザのアトリエ3』周回プレイにおいて、ロスカ島をフル通しで攻略した際に、以下の検証を行いました。

テーマ: 「無垢の鍵の上位種(≠上位互換)である『白楼の鍵』のシンセサイズキーを用いることで、装備品のパラメータ(ステータス)はどこまで上がるのか?」

ここでは、具体的な調合手順と実際の結果をまとめます。


検証対象の装備

基本情報

名前ウォーロックリング
HP258
攻撃力520
防御力376
素早さ713

効果・特性

効果・特性名内容
死神の魔術魔法ダメージ増加、クリティカル時のダメージがさらに増加する
魔の領域アイテムダメージが増加する
アタッカーの証5アタッカーレベル加算、アタッカーロールになりやすくなる
境界越え状態異常耐性増加、自身の状態異常付与確率上昇
攻速強化++ 99攻撃力と素早さが最大で100増加
防速強化++ 99防御力と素早さが最大で100増加
全能力強化++ 99全ての能力値が最大で50増加
英雄の心得アタッカーレベル上昇

説明: この「ウォーロックリング」は、魔法攻撃やアイテムダメージを重視するライザやアンペル向けの最上位装備品です。高難易度の敵に対しても、超高火力で対応できます。


調合の前提条件

  • 本編クリア済み。(ロスカ島はクリアデータが必要なため)
  • シナリオロスカ島は「白楼の鍵」解放済み。
  • 全スキル(アドバンススキル含む)を解放済み。
  • 必要な原料は十分に揃っている:
    • エメラルドグラス
    • 闇水晶の欠片
    • 賢者の石(古の賢者の石でも可)
    • グランツオルゲン
  • 以下の秘密の鍵を使用:
    • 名前:神秘の支配者の鍵
    • レアリティ:スーパーレア
    • モチーフ:羽根
    • シンセサイズ効果:全能力上昇・神域

白楼の鍵の具体的な調合方法は以下の通りです。

上記の鍵を手に入れるにはちょっとした根気が必要なので、各ランドマークをファストトラベルしてトライしましょう。


調合と検証結果

以下の手順でステータスの上昇を比較しました。

手順概要

  1. 「ウェイクエメラルド」を投入
  2. エメラルドグラスを効果1に使用。
  3. 神秘の力のマテリアル環に、全属性を付与した賢者の石を投入。
  4. 闇水晶の欠片を投入し、「ウォーロックリング」にレシピ変化。
  5. レシピ変化後、金属のマテリアル環に「グランツオルゲン」を限界まで投入。
    • 特性を付与:
      • 防速強化++ 99
      • 攻速強化++ 99
      • 全能力強化++ 99

パターンごとのステータス上昇

こちらが、秘密の鍵を用いた上昇値の比較です。

パターンA:秘密の鍵を使用しない場合

パラメータHP攻撃力防御力素早さ
上昇値+90+205+90+195

パターンB:レシピ変化前に「投入回数増加」変化後に「全能力上昇・神域」を使用

パラメータHP攻撃力防御力素早さ
上昇値+170+320+170+325
Aとの差+80+115+80+130

パターンC:レシピ変化前と変化後で「全能力上昇・神域」を使用

パラメータHP攻撃力防御力素早さ
上昇値+208+344+208+349
Bとの差+38+24+38+24

比較表

パターンHP攻撃力防御力素早さ
A+90+205+90+195
B+170+320+170+325
C+208+344+208+349
Aとの差+118+139+118+154

比較の結果

パターンCでは、ステータスの向上が最も顕著でした。

この方式を用いることで、調合からリビルドまで一貫して効率的にステータス強化を行うことが可能となります。

以下は具体的な手順です。

調合

ロスカ島「アイテムレベル低下」の古代の錬金釜で調合を行います。

場所はこちら。時限性(ランドマークパワーと同じ)ため、ここぞというときに使いましょう。

属性値やリビルドレベルは問題ないとはいえ、念のための保険です。

調合を行います。

上記の調合と検証で、パラメータ(ステータス)上昇のみを行います。この時点で各効果や特性の発現は行いません。

リビルドとリンクコールを行います。

ここからは任意のアトリエで実施します。

先ほど調合したウォーロックリングの効果3をリンクコール。「古の闘剣」を投入してアタッカーの証に上書きます。これは、アタッカーレベルを上昇させることで、装備したアルケミストの証の効果をより高めるためです。

リビルドは

  • 賢者の石
  • クリスタルエレメント
  • 朽ち果てぬ箱

などの拡大影響を持つ素材をふんだんに用います。

なお、超特性は「英雄の心得」で更にアタッカーレベルを上昇させます。

装備強化を行います。

効果スロットは全て埋まっているので、単純にステータス強化を図ります。並べ替え→素早さ順で一番素早さが上がるものを選択しました。

まとめ

今まで、秘密の鍵の重ねがけによって属性や属性値を増やすということはやってきましたが、シンセサイズ効果によるステータス上昇には気づきませんでした。

まだまだ見直す余地があるようです。

『フォレストシャッフル』プレイした感想。

ボードゲームカフェで『フォレストシャッフル』を遊んでみました。一回だけのプレイではありますが、非常に印象的な作品でした。

ゲームの概要

このゲームは、木を植え、その木に動物や昆虫、キノコといったカードを配置していくセットコレクション型のボードゲームです。木は「宿り木」として他のカードが配置され、生態系が視覚的に再現されます。

ルールは「カードを引く」か「カードをプレイする」だけというシンプルさが特徴で、そのため1回の手番はスムーズに進行します。

よかった点

  1. 生態系の再現性 カードの配置が視覚的に「生きている森」を感じさせ、木カードの縦横に差し込む構造がとても楽しかったです。
  2. 発見できるコンボの多様性 ウサギと狐の弱肉強食や、菌糸類が土壌を支える役割など、プレイを重ねるごとに多くのコンボが発見できました。一見弱そうなカードが重なると強力な効果を発揮する仕組みも秀逸でした。
  3. プレイヤー間のインタラクション 木をプレイした際にコストとして捨てたカードが「空き地」に置かれ、他のプレイヤーがそれを利用する可能性があるという仕組みが、さりげない駆け引きを生み出していました。
  4. ゲーム終了の緊張感 冬カードが3枚めくれるとゲーム終了というトリガーが設定されており、「あと一手足りない」という場面が緊張感を高めていました。

少し残念だった点

  1. 得点計算の煩雑さ 特定の条件で点数が加算されるルール(○枚ごとに×点など)が多く、計算が少々手間取りました。ボードゲームカフェで提案された得点チップを用いる措置が無ければかなり混乱していたでしょう。
  2. 場所を取るゲーム設計 カードを並べる性質上、2人プレイでもテーブル全体を使用しました。5人プレイ可能とされていますが、スペース的な制約から、現実的には2~3人が最適という結論です。
  3. アイコンの視認性 落葉樹と針葉樹、肉食系と草食系などのアイコンがやや見分けにくく、慣れるまで少し手間取りました。

まとめ

シンプルなカードとボードだけで構成されたコンポーネントは、見栄えが良くテーマ性も十分。手札管理やセットコレクションが好きな人には強くオススメできる作品です。

運と戦略のバランスが良く、リプレイ性も非常に高いと感じました。機会があればもっとプレイしてみたいゲームです。

余談

ソロプレイルールが無かったため、購入は見送ったのが少々残念です。

2025年1月現在、在庫が無いため再販された際にはぜひ手に入れたいと思っています。

『ライザのアトリエ3』有料DLC『ロスカ島』白楼の鍵の効率的な生産。

DLCロスカ島(要クリアデータ)で解禁される

  1. 虚ろの鍵
  2. 無垢の鍵

に続く新しい鍵、『白楼の鍵』。

  • 作成した鍵の使用回数が6回増加する
  • 変質鍵の抽選確率が上昇する
  • 生成される鍵の数が増加する
  • 完璧な鍵(SSRプラスアルファ)を生成できる

効果を持っています。

これの作り方並びに、一回の調合で多くの鍵を作るTIPSです。

必要な材料

砂嵐の結晶

ロスカ島、砂嵐で出てくる敵のドロップアイテムです。

この鍵が解禁されるまではブレイクダメージが通らないため、「ブレイク必中」で無理矢理ブレイクにするか、超高火力のコアアイテムで押し切ります。

用いるアイテム

以下、かなりの材料が必要です。

久遠の白砂

ロスカ島の砂から通常採取で入手できます。

アウロラジュエル

  • アメトライト(ロスカ島の虹色の水晶から採取)
  • 磨き砂(研磨剤→グリッターサンドでレシピ変化)
  • 久遠の白砂

を用いて調合します。

理力のランプ

  • 千古の灯火(下記を使って調合。いずれもロスカ島で採取)
    • 遺却された陶器
    • モータルアニマ(強敵のドロップアイテム)
  • アウロラジュエル(上述した調合アイテム)

を用いて調合します。

賢者の石

  • 精霊の小瓶(セプトリエン)
  • └クリスタルエレメント(エーテルコア)

から調合。属性追加・火で全属性に影響拡大を作用させます。本庁号の必須アイテムではありませんが、「作成個数+」が今回の肝です。

古の賢者の石

  • 精霊の小瓶(セプトリエン)
  • └クリスタルエレメント(エーテルコア)
  •  └賢者の石(アダマント)

とレシピ変化を繰り返します。どこかのタイミングで属性追加・氷のシンセサイズキーを使っておくと全属性に影響拡大が効果を及ぼすので便利です。

調合の前に

古代の錬金釜に移動します。異空の社の北、「作成個数増加」から調合です。

調合

調合メニューから「白楼の鍵」を選択。属性値4以上の久遠の白砂を入れます。

砂嵐の結晶を1つ入れます。(属性値は問いません)

もう一つの久遠の白砂(属性値3以上)を入れます。

特製枠、神秘の力のマテリアル環に賢者の石を入れます。

シンセサイズキー(スーパーレア以上)を入れます。レア以上で「投入回数増加・強」があるならそちらの方を使用します。

効果2にアウロラジュエルを入れます。(影響拡大での発現不可)

効果3に理力のランプを入れます。(影響拡大での発現不可)

効果4に古の賢者の石を入れます。(影響拡大での発現不可)

残り回数、神秘の力のマテリアル環にありったけの賢者の石を入れます。

これで、38個ほどの白楼の鍵ができあがります。

属性を適当に決め、調合完了です。

後は鍵束に装備して使っていきましょう。

白楼の鍵でのキーメイク

効果の上乗せは「神域」となっています。また、上記の手順通りに作っているなら1回の調合で+3個入手できます。

注意点

白楼の鍵は、キーメイクの生成確率の補正がありません。

そのため、

のように、ブレイクさせて実施した方が無難です。

『ライザのアトリエ3』有料DLC「ロスカ島」砂嵐での戦い方。

割と難易度が高めのDLC(要クリアデータ)、「ロスカ島」でフィーチャーされた仕様について。

砂嵐での戦い

フィールド探索中に出てくる砂嵐。

ここで採取できるものは全て超特性つきと大盤振る舞いの反面、

この中で敵とエンカウントすると以下のハンデを背負います。

味方には一定時間ごとのスリップダメージ。

魔物は「ブレイクダメージ無効化」となり、ブレイクゲージを削ることができません。

加えて、敵のステータスも高めです。(上記数値はLEGEND)

ブレイク必中

そんなときの戦い方で便利なのが超特性「ブレイク必中」を付与したコアアイテム。

これは、「ブレイクゲージはそのままの状態で魔物を無条件でブレイク」させる特性を持っています。

これを付与したコアアイテム「ラブリーブロッサム」をぶち当てます。

これで一撃でブレイク。

コアアイテムの効果もそのまま乗るので、戦いは有利に行うことができます。

Redmine View Customizeで、ステータスに応じてバージョンを移動させる。

個人用のメモとして活用しているRedmine。

ステータスをハリポタシリーズの呪文に見立てているなど、かなり遊んでいます。

そこで、

  • 終わったチケット
  • 却下されたチケット

を、自動的にそれらのバージョンに移動できないかということで組んだCustomizeです。

  • Redmine 5.1
  • View Customize

で動作を確認しています。

カスタマイズ

  • パスのパターン:空白
  • プロジェクトのパターン:空白
  • 挿入位置:全ページのヘッダ
  • 種別:JavaScript
$(document).ready(function() {
  const prophecyRoomId = 4; // 「予言の間」のバージョンID
  const azkabanId = 5; // 「アズカバン」のバージョンID

  $('#issue_status_id').change(function() {
    const statusId = parseInt($(this).val()); // ステータスのIDを取得
    if (statusId === 5) { // FinitoのステータスID(例)
      $('#issue_fixed_version_id').val(prophecyRoomId); // 「予言の間」に変更
    } else if (statusId === 6) { // Avada KedavraのステータスID(例)
      $('#issue_fixed_version_id').val(azkabanId); // 「アズカバン」に変更
    }
  });
});

変数は自分が分かればいいのでこのような形にしています。なお、バージョンやステータスのIDは管理画面で把握できます。

あとは保存して、

  1. チケットのステータスを移動
  2. それに応じてバージョンが変わる

ことを確認できればOKです。

Redmine 5.1にパスワードマネージャーをインストール&初期設定

概要

性質上、パスワードをやりとりすることが多いRedmine。その管理を一括で行うためのプラグイン、vaultをインストールしてみました。

特記事項

  • ※パスワードを管理するという性質上、インターネットからアクセスできるサイトでこのプラグインの運用はオススメしません。
  • コンフィグファイルをいじるため、可能な限り検証環境でテストを行ってから導入を試みてください。

環境

  • Redmine 5.1
  • Ubuntu 22.04
  • Apache 2.4
  • MySQL
  • Ruby 3.0.2

※筆者環境のRedmineとApacheの実行ユーザーは www-data です。

さっくりとしているけどさっくりとはいかない手順

Redmineサーバでのターミナル操作です。(要管理者権限)

  1. gitでプラグインをcloneします。
  2. DBのマイグレーションを行い、プラグインをインストールします。
  3. Webサービスを再起動します。
  4. 初期設定をWebとターミナルで行います。

プラグインをgit cloneして配置

  • Redmineのプラグイン配置ディレクトリに移動
cd /path/to/redmine/plugins && pwd

自分の環境に合わせます。 (筆者環境 /home/www-data/redmine/plugins )

  • git clone
sudo -u www-data git clone https://github.com/noshutdown-ru/vault
  • clone確認
ls -ld vault

ディレクトリがあることを確認します。

プラグインのインストール

  • Redmineのルートディレクトリに移動
cd /path/to/redmine && pwd

自分の環境に合わせます。 (筆者環境 /home/www-data/redmine )

  • bundle
sudo -u www-data bundle install
  • DB マイグレーション
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
  • マイグレーションの成功確認
echo $?

0を確認します。0以外は何らかのエラーが起きています。

Webサービスの再起動

  • Webサービス(apache)再起動
sudo systemctl restart apache2.service && echo $?

0を確認します。0以外は何らかのエラーが起きています。

  • Webサービス起動確認
systemctl status apache2.service

active (running)を確認します。

プラグインのインストール確認と初期設定

  • ブラウザでRedmineにログイン

管理者権限でログインします。ログイン後、ヘッダーにKeysというメニューが表示されています。クリックしても

500
The encryption key is not set in the settings

というエラーが出ていますので、対応を行います。

  • 管理画面に移動

管理>Vaultに移動します。

  • 暗号化キーの設定

暗号化キーを、ランダムな文字列:英数記号16文字で入力します。

head /dev/urandom | tr -dc 'a-zA-Z0-9!@#$%^&*()_+{}|:<>?' | head -c 16; echo

等とすると、16文字の文字列を完全ランダムに生成することができます。

この文字列を「暗号化キー」の後のテキストボックスに入れます。

Use Redmine encryptionにもチェックを入れ、適用をクリックします。

この後、Redmineのサーバにターミナルログインします。

Redmineサーバでのパスワードファイルの暗号化

  • Redmineのコンフィグファイル配置ディレクトリに移動
cd /path/to/redmine/config && pwd

自分の環境に合わせます。 (筆者環境 /home/www-data/redmine/config )

  • configuration.ymlのバックアップ
sudo -u www-data cp -pi configuration.yml /path/to/backup/directory/configuration.yml.$(date +%Y%m%d)

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

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

差分が無いこと(エラーがないこと)を確認します。

  • configuration.ymlの編集

教義・信仰に則ったエディタを用いて以下のように編集します。

production:
  database_cipher_key: "上記で入力した16文字の文字列"
  • production:の項目がある場合は、そのセクションの下に書きます。
  • その際、と、半角スペース2つを行頭に入れるのを忘れないでください。

編集後、保存をします。

  • configuration.ymlの編集後の差分確認
diff -u /path/to/backup/directory/configuration.yml.$(date +%Y%m%d) configuration.yml
+production:
+  database_cipher_key: "上記で入力した16文字の文字列"

を確認します。(productionが既にある場合は + database_cipher_key: "上記で入力した16文字の文字列" )

  • Redmineのルートディレクトリに移動
cd /path/to/redmine && pwd

自分の環境に合わせます。 (筆者環境 /home/www-data/redmine )

  • configuration.ymlに基づき暗号化
sudo -u www-data bundle exec rake redmine:plugins:vault:convert RAILS_ENV=production
  • 暗号化の成功確認
echo $?

0を確認します。0以外は何らかのエラーが起きています。

Webサービスの再起動

  • Webサービス(apache)再起動
sudo systemctl restart apache2.service && echo $?

0を確認します。0以外は何らかのエラーが起きています。

  • Webサービス起動確認
systemctl status apache2.service

active (running)を確認します。

設定反映確認

  1. Redmineのサイトに管理者権限でログインします。
  2. ヘッダーの Keys をクリックしてエラーがないことを確認します。

使い方に関しては改めて。

回る台。(百均グッズによる撮影グッズその52)

キャンドゥで見つけた回転台。

単三電池/太陽電池のハイブリッドの小型の回転台です。

これにフィギュアを乗せてみました。

台の形状と耐荷重性を考えると、ねんどろいどやPop-up Parade、figmaあたりが限界です。1/7以上の大きさだと

  • 重い
  • 台座にくぼみがあるパターンが多いため台に水平にならない

の欠点がありました。

バランス等を考えると限界はfigma。

思わぬ始点からとれるという気づきがありました。

Page 1 of 243

Powered by WordPress & Theme by Anders Norén