Redmine View Customizeを用いて、alt属性がついた画像を拡大して表示する。

こちらの記事の応用となります。

のように、alt属性がついた画像をマウスオーバーしたときに

拡大表示させます。

前提

  • Redmine View Customize がインストールされていること。
  • Redmine 5.1で動作を確認しています。

手順

画面移動

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズに移動します。

カスタマイズ作成:JavaScript

表示のカスタマイズに移動後、「新しい表示のカスタマイズ」をクリックします。

以下の通りに入力します。

  • パスのパターン
  • 空白
  • プロジェクトのパターン
  • 空白
  • 挿入位置
  • 全ページのヘッダ
  • 種別
  • JavaScript

コード

// JavaScript部分
$(document).ready(function() {
$('img[alt]').hover(
function() {
$(this).css({
'transform': 'scale(1.5)',
'transition': 'transform 0.3s ease'
});
},
function() {
$(this).css('transform', 'scale(1)');
}
);
});

// CSS部分
var style = document.createElement('style');
style.innerHTML = `
img[alt] {
transition: transform 0.3s ease;
}
`;
document.head.appendChild(style);
  • コメント
  • 任意「alt画像のホバー表示(javascript)」など
  • 有効
  • チェック
  • プライベート
  • チェックを外す

設定後、保存をクリックします。

動作を確認します。

上記設定後、チケット詳細などのアイコンが表示されているページに遷移します。

冒頭のようにマウスカーソルを近づけた際に拡大されれば設定は完了です。

Redmine View Cutomizeを用いてアイコンを拡大表示させる。

概要

アイコンの画像にマウスを近づけたとき、

アイコンを拡大表示させるためのView_Customizeのスクリプトです。

前提

  • Redmine View Customize がインストールされていること。
  • Redmine 5.1で動作を確認しています。

手順

画面移動

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズに移動します。

カスタマイズ作成:JavaScript

表示のカスタマイズに移動後、「新しい表示のカスタマイズ」をクリックします。

以下の通りに入力します。

  • パスのパターン
  • 空白
  • プロジェクトのパターン
  • 空白
  • 挿入位置
  • 全ページのヘッダ
  • 種別
  • JavaScript

コード

$(document).ready(function() {
// gravatarクラスを持つ画像にホバーイベントを追加
$('img.gravatar').hover(
function() {
$(this).css({
'transform': 'scale(1.5)', // 拡大率
'transition': 'transform 0.3s ease' // 拡大のスムーズなアニメーション
});
},
function() {
$(this).css({
'transform': 'scale(1)', // 元のサイズに戻す
'transition': 'transform 0.3s ease' // 縮小のスムーズなアニメーション
});
}
);
});
  • コメント
  • 任意「アイコンのホバー表示(javascript)」など
  • 有効
  • チェック
  • プライベート
  • チェックを外す

設定後、保存をクリックします。

カスタマイズ作成:CSS

表示のカスタマイズに移動後、「新しい表示のカスタマイズ」をクリックします。

以下の通りに入力します。

  • パスのパターン
  • 空白
  • プロジェクトのパターン
  • 空白
  • 挿入位置
  • 全ページのヘッダ
  • 種別
  • CSS

コード

/* gravatarクラスを持つ画像のスタイル */
img.gravatar {
transition: transform 0.3s ease; /* スムーズなアニメーション */
cursor: pointer; /* ポインタを表示 */
}
  • コメント
  • 任意「アイコンのホバー表示(CSS)」など
  • 有効
  • チェック
  • プライベート
  • チェックを外す

設定後、保存をクリックします。

動作を確認します。

上記設定後、チケット詳細などのアイコンが表示されているページに遷移します。

冒頭のようにマウスカーソルを近づけた際に拡大されれば設定は完了です。

Redmine 5.1にWikiエディタのフルスクリーンモードを追加するプラグイン。

概要

RedmineのWiki編集ページを他のマークダウン対応エディタのようにフルスクリーンモードを追加します。

動作を確認した環境

  • Ubuntu 22.04 / 24.04
  • Redmine 5.1
  • Apache 2.4

さっくりとした手順

  1. Redmineのプラグイン配置ディレクトリに移動します。
  2. git cloneを行います。
  3. Webサービスを再起動します。
  4. 動作を確認します。

Redmine プラグイン配置ディレクトリに移動

cd /home/www-data/redmine && pwd

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

プラグインインストール

  • git clone
sudo -u www-data git clone https://github.com/sk-ys/redmine_wiki_fullscreen_editor
  • clone 確認
ls -ld redmine_wiki_fullscreen_editor

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

Webサービス再起動

sudo systemctl restart apache2.service

動作確認

  1. Redmineに管理者権限でログインします。
  2. チケットやコメント編集など、任意のWiki編集画面を表示させます。
  3. 以下のように「フルスクリーン有効化」ボタンが出ればインストール完了です。

終わらせるときは右上の「フルスクリーン無効化」をクリックすれば解除できます。

Wasabi障害切り分け。

障害報告

2024/11/30 9:00頃 ~ 2024/11/30 11:20

筆者が運営しているサイト

で画像が見られない事象が発生しました。

原因

Wasabiクラウドストレージの全リージョンのネットワークトラブル。

原因追及の切り分け

「Webサイトにアクセスできるのに画像が表示されない」でした。

WebArena にs3プロトコルでwasabiクラウドストレージにマウントしており、

df -h

を行ってもマウント情報が見られなかったためです。

念のため

sudo umount /mnt/wasabi && sudo mount -a

を実行しましたがマウントされず。

次に、Webコンソールにログインを試み、何か情報があるかを確認。

→ ログインそのものができませんでした。

そこで思ったことは

  • 何らかの理由でWasabiクラウドストレージに障害が発生
  • 自分のアカウントが無効化された

の2つ。情報を見るためTwitterで検索をしたら、自分と同じような状況に陥っているアカウントを見つけて、前者であると判断。

そこから30分後。

https://status.wasabi.com

で全域での障害を確認しました。

後は復旧を待つだけという状態。

復旧後の確認

sudo umount /mnt/wasabi && sudo mount -a
df -h

でマウントされていることを確認。

念のため

sudo systemctl restart apache2.service

を行って冒頭の2サイトにアクセス。

画像が見られることを確認しました。

サーバ全体のストレージを安価なクラウドストレージにしていることが災いしました。

オフラインバックアップなどを考慮したいところです。

続・Ubuntuで特定のディレクトリに移動した際にカスタムメッセージを表示する。

こちらの記事に更に処理を付け加えました。

  • /etc/profile.d/cd.sh
# カスタムcd関数を定義
cd() {
# ビルトインcdコマンドの実行
builtin cd "$@" || return

# PWDに基づいて処理を実行
case "$PWD" in
"/etc/apache2/sites-available")
echo "注意: .confファイルのバックアップを取ること"
;;
"/var/log" | "/var/log/"*)
echo "注意: ログファイルを定期的にチェックすること"
;;
# 任意の作業ディレクトリを追加
"/home/hoge/work")
echo "作業ディレクトリに移動しています..."
new_dir="$(date +%Y%m%d)"
mkdir -p "$new_dir" && builtin cd "$new_dir"
;;
*)
# 他のディレクトリでは何もしない
;;
esac

# 現在のディレクトリを表示
pwd
}

付け加えた機能は

  • cd コマンド実行時、pwdを追加で行う。
  • /var/log 配下全てのディレクトリで 「注意: ログファイルを定期的にチェックすること」と表示されるようにしたこと。
  • 任意の作業ディレクトリに遷移した際、自動的にyyyymmdd形式のディレクトリを作り、更にそのディレクトリに移動する。

後は

sudo chmod +x /etc/profile.d/cd.sh
source /etc/profile.d/cd.sh

とすれば、運用時の注意点や作業ディレクトリの自動作成まで行ってくれます。

地図とスニッチ。

今年に入って変遷を重ねている弁当箱。

趣味も兼ねてこちらを試してみます。

『ハリーポッター』シリーズから

  • 『アズカバンの囚人』からのキーアイテム「忍びの地図」
  • 金のスニッチ

をかたどった弁当箱。

よりサイズダウンした形です。

  • スープジャーを導入したことにより、メインのお弁当箱は更に小さくする必要があった
  • 汁物と明確化できる算段があったので、弁当箱自体の液漏れは気にしない運用ができるようになった

故のチョイス。

実際に盛るとこうなりました。弁当箱の仕切りがなくても小分けすることで機能を果たしています。

今年いっぱいはこれで運用してみます。

カジュアル&コラボ。(統率者メモ2024/11/29)

このデッキ購入から1ヶ月ほど。少しカードを加えてみました。

統率者

  • ウォードクター/The War Doctor
  • K-9 マークI型/K-9, Mark I

デッキ

クリーチャー

  • ローズ・タイラー/Rose Tyler
  • アトラクシの管理者/Atraxi Warden
  • タイムビートル/Time Beetle
  • フレッシュの複製体/Flesh Duplicate
  • クロノゾア/Chronozoa
  • 永劫の年代史家/Aeon Chronicler
  • スターホエール/Star Whale
  • 炎族の伝令/Flamekin Herald
  • 神秘的な預言者/Sibylline Soothsayer
  • 再鍛の刃、ラエリア/Laelia, the Blade Reforged
  • 地質鑑定士/Geological Appraiser
  • ローリー・ウィリアムズ/Rory Williams
  • 初代ドクター/The First Doctor
  • 11代目ドクター/The Eleventh Doctor
  • 10代目ドクター/The Tenth Doctor
  • 宇宙船内の恐竜/Dinosaurs on a Spaceship
  • ジャドゥーンの執行者/Judoon Enforcers
  • ケイト・スチュワート/Kate Stewart

インスタント

  • 皆に命を!/Everybody Lives!
  • 塵への帰結/Return to Dust
  • 時計回し/Clockspinning
  • 遅延/Delay
  • 極性を反転せよ/Reverse the Polarity
  • 歴史への投入/Hurl into History
  • ゾヨワの裁き/Zoyowa's Justice
  • ギャリフレイの陥落+終止符を/Gallifrey Falls+No More

ソーサリー

  • リヴァー・ソングの結婚式/The Wedding of River Song
  • 告別/Farewell
  • すべてが塵と化す/Everything Comes to Dust
  • 不定的時間的/Wibbly-wobbly, Timey-wimey
  • ナノジーンの変換/Nanogene Conversion
  • 通り抜け/Step Through
  • ある日のことごと/Twice Upon a Time
  • 鼓舞のリフレイン/Inspiring Refrain
  • 熱狂のリフレイン/Rousing Refrain
  • 恍惚の美/Ecstatic Beauty
  • 臆病者+殺人鬼/Coward+Killer
  • 時の一掃/Time Wipe

エンチャント

  • 4回のノック/Four Knocks
  • 暖炉の少女/The Girl in the Fireplace
  • 時空からの退去/Out of Time
  • 命運の掌握/Grasp of Fate
  • 時の裂け目/Crack in Time
  • 11番目の時間/The Eleventh Hour
  • わかれ道/The Parting of the Ways
  • 再生の回復/Regenerations Restored
  • ドクターの日/The Day of the Doctor

アーティファクト

  • 太陽の指輪/Sol Ring
  • オゾリス/The Ozolith
  • 独創のタリスマン/Talisman of Creativity
  • 精神石/Mind Stone
  • 確信のタリスマン/Talisman of Conviction
  • 秘儀の印鑑/Arcane Signet
  • 思考の器/Thought Vessel
  • ターディス/TARDIS
  • モメント/The Moment
  • 稲妻のすね当て/Lightning Greaves
  • ソニック・ドライバー/Sonic Screwdriver
  • 回転する暖炉/Rotating Fireplace
  • パンドリカ/The Pandorica

プレインズウォーカー

  • クイントリウス・カンド/Quintorius Kand

土地

  • 3:平地/Plains
  • 3:島/Island
  • 3:山/Mountain
  • 隠された中庭/Hidden Courtyard
  • トレンザロアの時計塔/Trenzalore Clocktower
  • 天啓の神殿/Temple of Epiphany
  • 凱旋の神殿/Temple of Triumph
  • 啓蒙の神殿/Temple of Enlightenment
  • 凍沸の交錯/Frostboil Snarl
  • 怒静の交錯/Furycalm Snarl
  • 港町/Port Town
  • さびれた浜/Deserted Beach
  • 日没の道/Sundown Pass
  • 嵐削りの海岸/Stormcarved Coast
  • 焦熱島嶼域/Fiery Islet
  • 灼陽大峡谷/Sunbaked Canyon
  • 氷河の城砦/Glacial Fortress
  • 灌漑農地/Irrigated Farmland
  • 広漠なるスカイクラウド/Skycloud Expanse
  • 興隆する絶壁/Thriving Bluff
  • ラウグリンのトライオーム/Raugrin Triome
  • 神秘の僧院/Mystic Monastery
  • 祖先の道/Path of Ancestry
  • 風変わりな果樹園/Exotic Orchard
  • ギャリフレイ評議堂/Gallifrey Council Chamber
  • 統率の塔/Command Tower
  • 不吉な墓地/Ominous Cemetery
  • ならず者の道/Rogue's Passage
  • 作戦室/War Room
  • 無限地帯/Myriad Landscape

オリジナルから統率者をぐっと変えました。

主なコンボ

  1. ウォードクターと炎族の伝令がいる中でK-9 マークI型を唱えると、ライブラリー全てのカードが追放されることになり、その分の時間カウンターが置かれます。後は攻撃して1人にワンショット。以下でも可能。
    1. ターディス
    2. ゾヨワの裁き
  2. 相手の手札が7枚以上ある中で以下を組み合わせ無限トークン。
    1. 10代目ドクター
    2. 鼓舞のリフレイン
    3. クロノゾア

とはいえ、条件が厳しく再現性もないデッキ。

高額なカードを入れずフレーバーに即したワンショットとなるとこういう形になるかと。

Ubuntuで特定のディレクトリに移動した際にカスタムメッセージを表示する。

概要

Ubuntuで、特定のディレクトリに移動した際にカスタムメッセージを表示するTIPSです。

例えば、cd /etc/apache2/sites-availableとしたときに「.confファイルのバックアップを取ること」といった確認メッセージを表示させることができます。

環境a

  • Ubuntu 22.04 /24.04
  • BashまたはZshシェル

手順

1. スクリプトを作成

まず、/etc/profile.d/cd.shにカスタムcd関数を追加します。

sudo tee -a /etc/profile.d/cd.sh > /dev/null << 'EOF'
# カスタムcd関数を定義
cd() {
# ディレクトリに移動
builtin cd "$@"

# 特定のディレクトリに移動したときのメッセージ
case "$PWD" in
"/etc/apache2/sites-available")
echo "注意: .confファイルのバックアップを取ること"
;;
"/var/log")
echo "注意: ログファイルを定期的にチェックすること"
;;
*)
# 他のディレクトリの場合は何もしない
;;
esac
}
EOF

2. スクリプトに実行権限を付与します。

sudo chmod +x /etc/profile.d/cd.sh

3. スクリプトを反映

source /etc/profile.d/cd.sh

動作確認

設定が正しく反映されているか確認するために、特定のディレクトリに移動してみます。

cd /etc/apache2/sites-available

注意: .confファイルのバックアップを取ることと表示されることを確認します。

cd /var/log

注意: ログファイルを定期的にチェックすることと表示されることを確認します。

スクリプト修正ポイント

ディレクトリの追加:

新しいディレクトリに対してメッセージを表示させたい場合は、case文に新しい条件を追加します。

メッセージの変更:

各ディレクトリに対するメッセージを変更する場合は、echoコマンドの内容を編集します。

case "$PWD" in
"/new/directory/path")
echo "新しいディレクトリに移動しました"
;;
# 他のディレクトリの条件を追加
esac

これで、特定のディレクトリに移動したときにカスタムメッセージを表示する方法が設定できました。

Ubuntu24.04のauth.logから不正ログイン試行を確認するワンライナー。

Ubuntu 24.04でWebサーバを公開中。

/var/auth.logから、失敗したアクセス(認証に失敗したユーザー)を確認するためのワンライナーです。

  • コマンド
sudo awk '/Disconnected from invalid user/ {print $(NF-4)}' /var/log/auth.log | sort | uniq -c | sort -nr
  • 実行結果
43 root
36 ubuntu
24 user
20 test
13 admin
8 deploy
6 guest
6 ftpuser
5 oracle
5 hadoop
5 dev
5 debian
4 user1
4 sysadmin
4 samba
3 test1
3 mysql
3 max
3 kafka

と、アカウントごとに失敗したユーザーを表示してくれます。

成功したログインを日付時刻を付与した上で表示する

/var/auth.logから、ログインに成功したユーザーを調べます。

  • コマンド
sudo awk '/Accepted/ {split($1, date, "T"); split(date[2], time, "."); gsub("-", "/", date[1]); print date[1] " " substr(time[1], 1, 5) " " $7}' /var/log/auth.log | sort | uniq -c | sort -nr

日付は2024-11-25T16:21:14.772402+09:00のような形式から2024/11/25 14:38に修正しています。ログの形式が異なる場合は調整が必要です。

  • 実行結果
1 2024/11/25 14:38 hoge

これで、ログの視認性が高まりました。

体調復旧とボードゲーム。

今月の中旬、軽さと重さの中間のような病にかかり療養。

その間は症状がちょっと厳しく、家にいてもほぼ何もできない状態でした。

その症状が軽くなったため、勘を取り戻すかのようにボードゲームのソロプレイです。

例によってのアグリコラ。

アクションスペースのめくり運が悪かったものの、

  • 大鎌使い
  • 薪集め

により食料と木材¥の調達が楽になり、小進歩も材料調達の手間を軽減。

おかげで、60点とソロにしてはなかなかの得点です。

そして、ボドゲ棚の隙間に転がっていた『タッジー・マッジー』が見つかったのでルールを思い出しながらのソロプレイ。

1ラウンドごとにカードが増えていく強敵(見習い)に対して1点差の勝利。

運が強めですが、それだけに高得点がとれたのは耐えがたく。

体調復旧の兆しが見えました。

Page 1 of 239

Powered by WordPress & Theme by Anders Norén