月: 2024年8月 Page 1 of 4

ViewCustomizeによるガントチャートの修正

RedmineのViewCustomizeはいじりがいがあるプラグインです。

今回もまたちょっとした要望に応えるユースケースとなりました。

やりたいこと

攻略情報をRedmineのチケットとして載せています。

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

この、「アトリエ-全般」やチケットNo.が視認性を悪くしているので、これの表示を変えます。

具体的には

トラッカー名-チケット番号-チケットの件名

を、

チケットの件名-トラッカー名-チケット番号

に変える形です。

環境

  • Redmine 4.2
  • View_Customizeプラグインが入っていること

手順

※ 参考:Redmine View Customizeサンプルスクリプト:ガントチャートでトラッカー名・チケット番号を非表示にする

  1. Redmineの管理画面にログインします。
  2. 「管理」 > 「表示のカスタマイズ」に移動します。
  3. 「新しい表示のカスタマイズ」をクリックします。

以下の通り設定します。

  • 「パスのパターン」: /issues/gantt
  • 「プロジェクトのパターン」:空白
  • 「挿入位置
  • 「種別」:JavaScript
  • コード
$(function() {
$('div.issue-subject span').each(function() {
var $this = $(this);
var issue_link = $this.find('a.issue');
var issue_number = issue_link.text().trim();
var issue_title = $this.clone().children().remove().end().text().trim();
var new_html = issue_title + ' ' + issue_number;
// 新しいHTMLを設定
$this.html(new_html);
// リンクを再設定
$this.wrapInner('<a href="' + issue_link.attr('href') + '"></a>');
});
});
  • コメント:ガントチャートの並び順を変える
  • 有効:チェック
  • プライベート:チェックを外す

設定後、保存します。

修正確認

上記の設定を行ったプロジェクトのガントチャートを確認します。

このように、並び順が変われば設定OKです。

弁当の時短と彩り。

日々の弁当は作りやすさと盛り付けのしやすさ、時間を加味して

  • ごはん(ふりかけや海苔含む)
  • メインのおかず
  • 副菜
  • 卵焼き

に抑えています。ここで時間を詰められるのが副菜。

ふとしたことで作った副菜が割とよかったのでメモしておきます。

ピーマンとトウモロコシのベーコン炒め

材料

  • ピーマン 1袋
  • トウモロコシの缶詰1缶
  • 刻みベーコンひとつかみ
  • 調味料

手順

  1. フライパンに油を引きます。
  2. その上に洗ったピーマンを適当な大きさにちぎっていきます。
    • 種もヘタもまるごと入れていきます。
    • これで時短を図ります。
    • 気になるという方は取り除いておきます。
  3. 火にかけて炒めていきます。
  4. ピーマンがしんなりしてきたらトウモロコシ、ベーコンを入れて更に炒めます。
  5. 調味料で味付けします。このとき自分が使ったのはこんな感じです。
    • 味覇
    • ショウガ
    • 醤油
  6. 味が行き渡ったら完成。

と、材料の時点でカットされているベーコンを使い、ピーマンはまるごと、そのままちぎって入れることで時間の短縮を図りました。(気にならなければ、ですが)

こうしてできたのがこんな形です。ピーマンと油の相性がよく、いい感じの箸休めとなりました。

Nextcloud Ver.29.05(?)でのうれしい改良点。

バージョンアップしたNextcloudに、ある意味で待っていた機能が改善されました。

見出しのマルチバイト対応。

なぜか、今まで、

# で見出しタグを指定した後に文字を入力しようとすると日本語で文字が入力できないというかなり厳しい事象がありました。

そのため、Markdwonの文書の書き出しは

  • テキストエディタでMarkdwon直打ち
  • ローカル環境のGrowiをコピペする
  • その上で、一度、Redmineのチケットにする

ぐらいしか手はありませんでしたですが、今回(かは不明ですが)のバージョンアップによって

このように、見出しの後にそのまま日本語入力ができます。

「オンラインで気兼ねなくメモを取れる」環境がほしかったので、これは大きな改善。

モバイルアプリなどを利用してのメモ書きの効率化も図れそうです。

Nextcloud 29.05のバグをパッチ適用で修正。

Nextcloudのバージョンを29.05に上げたところ、以下のメッセージが出てきました。

One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command occ maintenance:repair --include-expensive to perform the migrations.

「1つ以上のMIMEタイプの移行が利用可能です。特定のファイルタイプをより適切に処理するために、新しいMIMEタイプが追加されることがあります。大規模なインスタンスではMIMEタイプの移行に時間がかかるため、アップグレード時に自動的には行われません。移行を実行するには、occ maintenance:repair --include-expensiveコマンドを使用してください。」

とあるので、この警告に対処していきます。

自環境

  • Ubuntu 20.04
  • PHP 8.1
  • Apache 2.4
    • (www-dataとして実行)
  • Nextcloudを29.04→29.05にアップデート直後

1回目の手順:occ実行 → 失敗

Nextcloudがインストールされているサーバにログインしての作業です。

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

cd /var/www/html/nextcloud && pwd

自分の環境に合わせます。

occコマンドを実行します。 → 失敗

sudo -u www-data php occ maintenance:repair --include-expensive

Nextcloudの実行ユーザー(www-data)を付与した上でoccを実行します。

ですが、以下のエラーが出てきて問題は解決しませんでした。

WARNING: Failed to create filecache trigger (compatibility mode will be used): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1419 You do not have the SUPER privilege and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)
- exiftool binary is configured: /var/www/html/nextcloud/apps/memories/bin-ext/exiftool-amd64-glibc
- go-vod binary is configured: /var/www/html/nextcloud/apps/memories/bin-ext/go-vod-amd64
- WARNING: ffmpeg binary could not be configured

調査の結果、バグと判明

そこで、このエラーメッセージで探したところ、そのものズバリのバグが報告されていました。

[Bug]: Warning: One or more mimetype migrations are available #47359

どうやら、RepairMimeTypes.phpファイルがver29.0.5を正しく読んでいないようです。

そこで、改めての対処です。

2回目の手順:パッチ作成と適用 → ○

パッチファイルを作成します。

  • 任意の作業ディレクトリに移動
cd /hoge && pwd

自分の環境に合わせます。

  • 修正前のファイルをバックアップ
sudo cp -pi /var/www/html/nextcloud/lib/private/Repair/RepairMimeTypes.php /hoge/RepairMimeTypes.php.$(date +%Y%m%d)

Nextcloudのルートディレクトリ (自分の環境に合わせます)から作業ディレクトリにコピーします。

  • 修正されたファイルを取得
wget https://raw.githubusercontent.com/nextcloud/server/stable29/lib/private/Repair/RepairMimeTypes.php -O RepairMimeTypes.php.fixed
  • パッチを作成
sudo -u www-data diff -u /var/www/html/nextcloud/lib/private/Repair/RepairMimeTypes.php RepairMimeTypes.php.fixed > RepairMimeTypes.patch
  • 作成したファイルの確認
cat RepairMimeTypes.patch
--- /var/www/html/nextcloud/lib/private/Repair/RepairMimeTypes.php      2024-08-20 17:56:22.000000000 +0900
+++ RepairMimeTypes.php.fixed   2024-08-26 14:14:11.568462741 +0900
@@ -424,7 +424,7 @@
                        $out->info('Fixed ReStructured Text mime type');
                }

-               if (version_compare($mimeTypeVersion, '30.0.0.0', '<') && $this->introduceExcalidrawType()) {
+               if (version_compare($mimeTypeVersion, '29.0.5.0', '<') && $this->introduceExcalidrawType()) {
                        $out->info('Fixed Excalidraw mime type');
                }

差分(プラスマイナス)が2行のみを確認します。

パッチを適用します。

  • パッチ適用
sudo patch -d /var/www/html/nextcloud/lib/private/Repair  < /hoge/RepairMimeTypes.patch 

/hogeはパッチを作成したディレクトリをフルパスで指定します。

  • 差分確認
sudo -u diff -u /hoge/RepairMimeTypes.php.$(date +%Y%m%d) /var/www/html/nextcloud/lib/private/Repair

以下のような差分を確認します。

-               if (version_compare($mimeTypeVersion, '30.0.0.0', '<') && $this->introduceExcalidrawType()) {
+               if (version_compare($mimeTypeVersion, '29.0.5.0', '<') && $this->introduceExcalidrawType()) {
  • 権限確認
ls -l /var/www/html/nextcloud/lib/private/Repair/RepairMimeTypes.php

念のため、パッチを当てても所有者が変わっていない(www-data)ことを確認します。

改めてoccを実行し、Webサービス再起動の上で修正を確認します。

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

cd /var/www/html/nextcloud && pwd

自分の環境に合わせます。

occコマンドを実行します。 → 成功

sudo -u www-data php occ maintenance:repair --include-expensive

今度は通ります。

  • Webサービス(apahce)再起動
sudo systemctl restart apache2.service
  • 再起動後のステータス確認
systemctl status apache2.service

active(running)を確認します。

  • 事象の解消を確認
  1. 作業を行ったサーバで稼働するNextcloudに管理者権限でログインします。
  2. 管理者メニューで以下の通りWarningが解消されていることを確認します。

ufwの過剰設定によるサーバの暴走とufwの設定リセット。

「やらかしてしまった」メモです。

起こしてしまったこと

事象

aws lightsailで動かしているUbuntu20.04サーバにアクセスできない事象が発生しました。

Webサイトはもちろん、sshにもつながりません。

確認と一時対処。

awsの管理画面にログインしてリソース状況を確認したら、CPUがバースト。いわゆる暴走状態なのでこの状態を止めます。

「停止」→「起動」を選択。(再起動では完全に暴走が止まりませんでした)

それから程なくしてssh接続ができるまでは回復。ですが、

netstat -lntp

を実行してもWebサービスがリッスンしていません。

systemctl status apache2.service

でサービスは動いていることを確認。状態を確認できたところで原因を特定します。

事象発生前に何をしていたか?

バーストが発生しているサーバで、ufwの作業をしていました。これ以外に設定は特にやっていないので、ほぼおおそらくこれが問題だろうと判断。

取り急ぎ、

sudo ufw disable

を行い

サイトが見られることを確認しました。判断するに

  • ルールの数を増やしすぎて処理性能が追いつかなくなった。
  • 増やしたルールがコンフリクトやループを起こしハングアップ。

等でバースト、暴走したと考えられます。

不審なアクセスを無計画に弾いていたことが徒になった形です。

対処

ufwの強制リセットと最小限の設定

ufwが原因だと特定したものの、サーバ内のFWが有効化されていないのは危険です。そこで、以下のようにして設定を強制リセットしました。

  • 設定の強制リセット
sudo ufw --force reset
  • sshとweb通信のみを有効化
sudo ufw limit proto tcp from any to any port 22
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
  • 設定反映
sudo ufw enable

設定確認

  • ステータス確認
sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
22/tcp                     LIMIT       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  

を確認しました。

  • 通信確認
  1. ssh接続ができること
  2. このサーバで稼働しているWebサイトが見られること

を確認し、対処完了です。

本件の教訓

「FWをいじるだけだから、特に作業履歴をやらなくてもいいだろう」という慢心から起きたものでした。

個人で運営しているサーバだったことに救われた形です。

また、この程度の作業ということで、システム全体のバックアップを取らなかったことも冷や水でした。

  • 自分の作業によって起きる影響
  • ufwの効率的な管理
  • 作業前のバックアップ確認

といった基本的な運用の管理への意識を改める自戒の出来事でした。

卵焼き、再現性の更新。

様々なサイトの情報を辿り、ここまで行きました。

平日のほぼ毎日、卵焼き作りを心がけ、

  • 中までしっかり火が通り
  • きれいに巻けて
  • 焦げもない

卵焼きのレシピが取り敢えず完成です。

材料

  • 卵:2個
  • 水と白出汁の混合液:40cc(白出汁は5~7cc)
  • 砂糖:カレースプーン8分目
  • マヨネーズ:カレースプーン1杯分 

最後のひと味は

https://www.kewpie.co.jp/mayokitchen/urawaza/urawaza01.html

厚焼き玉子が時間が経つとかたくなってしまうのは、加熱する時にたんぱく質がかたく結合してしまうから。卵にマヨネーズを加えると、乳化された植物油や酢が、加熱によるたんぱく質の結合をソフトにし、ふわふわに。しかもこの乳化された植物油は冷めてもかたまらないから、やわらかいままです。さらに、酢のはたらきにより仕上がりもきれいなたまご色に。

こちらでした。

上記の説明通りに柔らかくなって出汁をしっかりと引き立てます。

朝作って、お昼に食べる直前がこちら。

  • 最初に水を加えてふっくら感を増す
  • 泡立て器でよく攪拌する
  • その上でマヨネーズを加えて更に攪拌する

の段階を経てようやくここまでたどり着きました。

『ライザのアトリエ2』ショップ開発による素材先取り。(DLC対応のエリキシル剤調合)

『ライザのアトリエ2』での素材や調合品の売却手段、フォーゲル商会(ロミィの店)。

一定の素材を売ることでまだ採取/調合できない素材を先取りできます。

今回はこれを用いて、全体のシナリオ中盤で、最高クラスの回復アイテムを作ります。

作成:エリキシル剤

項目概要備考
種別薬品
Lv1
消費CC1
対象味方全体
属性氷、風
属性値5
効果1HP回復・極
効果1説明HPを極めて大きく回復する
効果2復調の薬効
効果2説明HP継続回復状態を付与し、ブレイク値を回復する
効果3平癒の薬効
効果3説明全ての状態異常を治療し、全ての悪性以上を消し去る
効果4起死回生の薬効
効果4説明戦闘不能状態を解除し、HPを大きく回復する
特性1永久機関消費CCが1減少するが、威力が大きく減少する。消費CCは1未満にはならない
特性2クリティカル+ 60アイテムの使用時にクリティカルになる確率が最大で60%増加する
特性3回復力上昇+ 30アイテムの快復力が最大で30%増加する

ストーリーを勧めきっていないので、特性はまだ弱め。EV効果もありませんが、十二分に強力な効果です。

タイミング

メインクエスト『炎の仕掛け』受諾中。古代マナ工房のボス一歩手前です。

その間、遺跡の謎を解き、品質上限999とリビルドレベルを上げておきます。

ショップ開放

フォーゲル商会で「賢者の石」を売ると、ショップでドンケルハイトが解放されます。

これを買ってからのスタートです。

なお、賢者の石の材料である『エーテルコア』は

こちらで紹介した「巨岩の兵士」を倒すことで確率でドロップします。いったんドロップしたら「神秘の種」から確率で採取可能です。

前準備

  • 「賢者の石」「クリスタルエレメント」などの影響拡大を持つアイテムはふんだんに使います。
    • 「竜の涙」を2種類(火属性付与と風属性付与)を持っておけば更に安心です。
  • 「水の種」でリュウグウオウムガイを採取しておきます。
  • エッセンス「極星のエッセンス」(DLC)を精製します。

調合

アイテム「ネクタル」からのレシピ変化で調合します。

ネクタルの段階で影響拡大形を入れ、ドンケルハイトを投入します。

「極星のエッセンス」でマテリアル環の属性値が大きく引き上げられているため、投入回数に余裕ありません。

特に、CCを減らす効果のあるリュウグウオウムガイは4つぐらい使います。

最後に特性を選んで完成。

  • CC1で発動できて
  • 器用さが低いキャラクターでも利用できる

万能の回復薬。難易度Very Hardぐらいであれば最後まで活躍できます。

『ライザのアトリエ2』「神秘の力」の特性を移し替え。

本作には特定の材料にしかない特性がいくつか登場します。

そのなかの「空間を繋ぐ(対象のWTを短縮する)」効果を他の素材でも持たせたいときに使うケーススタディーです。

前提

  • 古代マナ工房で「マナランタン」のレシピを取得していること。
  • 水底の星都で採取できる「導きの星の欠片」を持っていること。
  • その他、適切な材料を持っていること。

マナランタンを作っていきます。

材料を投入していきます。

その中のマテリアル環に「神秘の力」を入れることが出来るので、導きの星の欠片」を投入。

その他の素材を入れて、効果を発現。特性に「空間を繋ぐ」を忘れないように入れます。

  • 燃料
  • 金属

と扱いやすい素材が出来ました。

後は中和剤に入れるだけ。ゼッテルで統合、そこから旅人の水珠など容易に加工が出来ます。

『ライザのアトリエ2』品質600までの解放の状況でのアクセサリ作成。(四精霊のアミュレット)

概要

  • レントを仲間にしていない状態で
  • 調合品質は600までが限度
  • それでも強くしたい

という状況で、四精霊のアミュレットを作ります。

前提

ロックされている以外のスキルツリーは全て解放されているという状況です。

そして、フォーゲル商会でセプトリエンを売りグランツオルゲンを解放済み。(デニスの店に在庫が補充されます)

これに留まらず、インゴット系を山ほど複製。売りさばいてLv.20にしておきます。

そんなグランツオルゲンを買い、20個以上複製しておきます。

エッセンスは極天のエッセンスを使用。レシピ変化事に投入回数が増えるので、「装備品調合時利用でステータスが上がる」インゴットを限界までいられます。

調合

ミックスオイルからスタート。極天のエッセンスをいきなり入れて

  1. ミックスオイル
  2. アルケミーペイント
  3. 精霊の小瓶
  4. クリスタルエレメント

まで調合を繰り返します。

そこに来たらグランツオルゲンを投入。「四精霊のアミュレット」に進めます。

そんなアミュレットにグランツオルゲンをギリギリまで投入。適当な効果を上げたいところでエッセンスを入れていきます。

その後

  1. リビルドで特性を発現
  2. デニスの工房でステータス強化

まで進んだのがこちら。。難易度を上げてもなお殲滅が容易な構成が確立しました。

その立役者となったローゼフラムはまた改めてのご紹介です。

巻きの改善、盛りの均質。

非常に厳しい暑さが続く中でのお弁当作りを続けて得た知見です。

卵焼きの改善。

お弁当の献立における必須パーツ。これがうまくできることを願っているので、形よく整えるために巻きすを導入。

結果はこんな感じです。まだまだ白身が残っているものの、むらなく焼けてきているのが目に見えているのがいい点です。

ご飯の盛り

一段の弁当箱なので、ご飯は

  • 片方に寄せつつ
  • 斜めにする

を心がけています。これによって、

おかずがはみ出るように盛り付けることができるようになりました。

そんなこんなで記録も継続。

限られた調理時間でしっかり火を通していくのが大事とはいえ、もう少しレパートリーを増やしていきたいところ。

Page 1 of 4

Powered by WordPress & Theme by Anders Norén