「これをやらないとこの年は終わらない」と思った結果です。

2025年、プライムデーでしれっと手に入れていた『スリザリンの紋章/談話室レゴ』。
「巳の年の締めくくり」にこれ以上のものはない
思いつつ組み立て。

パーツの割に分厚いインストラクション。これは相当かかりそうだと思いながら

完成。映画1本分を消費する程度の組み立て時間でした。

展開することで、あの映画の談話室をイメージできるようになっているのが高ポイント。

きちんと壁掛けの強度もあるのも良かったです。
「これをやらないとこの年は終わらない」と思った結果です。

2025年、プライムデーでしれっと手に入れていた『スリザリンの紋章/談話室レゴ』。
「巳の年の締めくくり」にこれ以上のものはない
思いつつ組み立て。

パーツの割に分厚いインストラクション。これは相当かかりそうだと思いながら

完成。映画1本分を消費する程度の組み立て時間でした。

展開することで、あの映画の談話室をイメージできるようになっているのが高ポイント。

きちんと壁掛けの強度もあるのも良かったです。
今回は軽めのボードゲーム。

やはりこれは面白い。単語の使い道や語彙力が囚われます。
また、新たなゲームとしてロストシティタイルゲーム」を実施。

初戦、敗北。2ゲーム目は勝利。三戦目、マイナスが発生しての敗北。
二戦のゲームではありましたが、三戦目に自分がマイナス点を取っての敗北という。言いゲームである以上に、友人との近況報告で盛り上がりました。。
以前も作った天かす入りのポテトサラダ。

今回、新たにツナも足しました。いい出来だったのでメモを残します。
ジャガイモにじゅうぶん火が通ったら調理開始。
ここからは「粗熱を取る必要はありません」。混ぜるさなかで冷えていくからです。
また、耐熱ガラスボウルに入れることで、他の器に入れることなくダイレクトに混ぜあわせが可能です。

今回の流れはこちら。
こういうちょっとした手順確認でも使えるので便利です
ちょっとしたプレゼントをもらいました。

『ハリー・ポッターとアズカバンの囚人』タイムターナー。

早速の取り付け、既に取り付けてあるグリフィンドールの紋章ともピッタリ。
こういう飾りのために各所にハードポイントをつけてくれた母には感謝です
iPhoneAIRに買い換えた際についでに買った充電器。

「安いから」「置くだけだし」思いながら買ったのはいいのですが
などの問題点があり、それなら普通にUSBに挿すだけでいいのではという根源的な疑問にたどり着きました。


ニトリにて見つけた充電器つきの置き時計。

見た目はインテリアにも映えるモダンでシンプルなデジタル時計ですが

この置くだけ充電は、ずれようがないのが魅力。
「運用が大変ならば設計から変える」
のシンプルな答えでした。
制度や画面性勢力が向上したNanobanana 3.0。その検証です。

臨場感はこの時点でもかなりあります。

なんと、基本が横長画像。
見てお分かりのように、よりリアルなライブ感が足され、魔法のエフェクトもたされています。
では、この4つのGeminiで




生成された4人のライブシーン。これを「1つのライブ会場で演奏させる」というのを指示してみます。

と、恐るべき制度での合成がありました。
ここまで進化したGoogleAIの力に改めて驚嘆です。
以前のシェルスクリプト、メモリとCPU使用率を見るスクリプトを改修しました。
#!/bin/bash
# スクリプト名: top_procs.sh
# 説明: システム全体の負荷状況と、CPU/メモリ使用率が高い上位プロセスを表示します。
# 表示するプロセス数の設定
TOP_N=5
# ヘルプ表示関数
show_help() {
echo "--- プロセス監視スクリプト ---"
echo "このスクリプトは、システム全体の負荷状況(CPU/メモリ/LoadAvg)と、"
echo "リソース消費が多い上位${TOP_N}つのプロセスを表示します。"
echo ""
echo "使用方法: $0 [オプション]"
echo ""
echo "オプション:"
echo " -c : CPU使用率 (%\$CPU) の高い上位${TOP_N}つのプロセスを表示します。"
echo " -m : メモリ使用率 (%\$MEM) の高い上位${TOP_N}つのプロセスを表示します。"
echo " -a : CPUとメモリの両方の上位${TOP_N}つのプロセスを表示します。(引数なしと同じ)"
echo " -h : このヘルプを表示します。"
echo ""
echo "出力形式: 割合(%) PID COMMAND"
echo "-----------------------------------------"
}
# システム全体のリソース状況表示関数
show_system_summary() {
echo "--- システム稼働状況 ---"
# 1. Load Average (uptimeコマンドから抽出)
# 出力例: 16:45:23 up 10 days, ... load average: 0.05, 0.03, 0.01
local load_avg=$(uptime | awk -F'load average:' '{ print $2 }' | xargs)
echo "Load Average : $load_avg"
# 2. CPU使用率 (vmstatコマンドから直近1秒の状態を取得)
# vmstat 1 2 の2行目(最新の状態)を取得し、アイドル率($15)を100から引く
if command -v vmstat >/dev/null 2>&1; then
local cpu_idle=$(vmstat 1 2 | tail -1 | awk '{print $15}')
local cpu_usage=$((100 - cpu_idle))
echo "CPU Usage : ${cpu_usage}%"
else
echo "CPU Usage : (vmstatコマンドが見つかりません)"
fi
# 3. メモリ使用率 (freeコマンドから計算)
# free -m の出力を解析
if command -v free >/dev/null 2>&1; then
local mem_info=$(free -m | grep Mem:)
local mem_total=$(echo "$mem_info" | awk '{print $2}')
local mem_used=$(echo "$mem_info" | awk '{print $3}')
# awkで浮動小数点計算
local mem_pct=$(awk "BEGIN {printf \"%.1f\", ${mem_used}/${mem_total}*100}")
echo "Memory Usage : ${mem_pct}% (${mem_used}MB / ${mem_total}MB)"
else
echo "Memory Usage : (freeコマンドが見つかりません)"
fi
echo "------------------------"
}
# プロセス情報表示関数
# 引数1: ソート対象 (CPU/MEM)
# 引数2: ソートフィールド番号 (ps auxの3番目か4番目)
# 引数3: タイトル
show_top_procs() {
local type=$1
local field=$2
local title=$3
echo ""
echo "--- ${title} (上位 ${TOP_N} プロセス) ---"
echo " %${type} PID COMMAND"
echo "-----------------------------------------"
ps aux |
# ヘッダー行をスキップ
tail -n +2 |
# 指定フィールド (CPU:%3, MEM:%4) で降順ソート
sort -k ${field} -r |
# 上位N行を抽出
head -n ${TOP_N} |
# PID ($2)、割合 ($field)、COMMAND ($11以降) を整形して表示
awk -v field="${field}" '{
cmd="";
for(i=11;i<=NF;i++){
cmd=cmd" "$i
};
# $fieldには$3(%CPU)または$4(%MEM)の値が入る
printf "%6.2f%% %6s %s\n", $field, $2, cmd
}'
}
# メインロジック
# まずシステム全体のサマリーを表示 (ヘルプ以外の場合)
if [ "$1" != "-h" ]; then
show_system_summary
fi
if [ "$#" -eq 0 ] || [ "$1" == "-a" ]; then
# 引数なし、または -a の場合 (全て表示)
show_top_procs "CPU" 3 "CPU使用率"
show_top_procs "MEM" 4 "メモリ使用率"
elif [ "$1" == "-c" ]; then
# -c の場合 (CPUのみ)
show_top_procs "CPU" 3 "CPU使用率"
elif [ "$1" == "-m" ]; then
# -m の場合 (メモリのみ)
show_top_procs "MEM" 4 "メモリ使用率"
elif [ "$1" == "-h" ]; then
# -h の場合 (ヘルプ)
show_help
else
# 不正な引数の場合
echo "不正なオプションです: $1" >&2
show_help
exit 1
fi
あとはこれに
chmod +x top-proc.sh
で実行権を付与します。
./top-proc.sh
--- システム稼働状況 ---
Load Average : 1.30, 1.40, 1.32
CPU Usage : 23%
Memory Usage : 60.5% (3583MB / 5920MB)
------------------------
--- CPU使用率 (上位 5 プロセス) ---
%CPU PID COMMAND
-----------------------------------------
52.10% 12345 ruby_app_server: /var/www/webapp1 (production)
9.40% 1086 /usr/sbin/database_server [...]
3.80% 42162 /usr/sbin/web_server -k start
1.50% 42161 /usr/sbin/web_server -k start
0.90% 7978 nodejs_process /path/to/nodejs_app/server.js
--- メモリ使用率 (上位 5 プロセス) ---
%MEM PID COMMAND
-----------------------------------------
13.10% 1984 /usr/bin/java -Xms256m -Xmx256m [...] search_engine -Des.path.home=/usr/share/search_engine [...]
10.00% 1086 /usr/sbin/database_server [...]
7.50% 12345 ruby_app_server: /var/www/webapp1 (production)
3.90% 78630 ruby_app_server: /var/www/webapp2 (production)
3.80% 76583 ruby_app_server: /var/www/webapp3 (production)
と出てきます。
として、より現実値に近づけています。
sudo ln -sf /path/to/script/top-procs.sh /usr/local/bin/top-procs
として、どこからでもコマンドを呼び出せるようにしておくといいでしょう。(スクリプトの場所は自分がこれを保存した絶対パスを指定してください)
既にコマンド化している場合は、このスクリプトを差し替えるだけでOKです。
連休時の話。
お世話になっている肩にご馳走になりました。

予想外にも程があった伊勢エビ。過去に数回食べたことがありましたが

この量が出るのは驚きでした。しかし、それ以上に驚きだったのが「これは半身です」と言われたこと。

残りの半身は天ぷら。確かに海老は天ぷらの種としての定番ですが、伊勢エビというのも予想外でした。上品な甘味と歯触り、いずれも素晴らしいものでした。
しかし、話はそれだけでは終わらず。

刺身で出てきた尾頭は具足煮。しかも、前身をこんがりあぶった鬼殻焼きスタイルです。
頭の味噌から出る出汁がたっぷり出ていて、残っていた頭の肉も食べ応え十分。
これをその他と言っていいのかは不明ですが:

兜煮。全体は崩れず、味がしっかり染みている当最高の出来。目玉のゼラチン質も最高です。

ご飯は伝統的な塩むすびと

ネギトロ&トロタク。
ここまで贅沢でいいのかという形の、非常に充実した食事でした。
GrowiでElasticsearchによる全文検索を利用している中でのアップデートの注意点です。なお、Growiをオンプレ運用していてサーバリソースの関係上などでElasticsearchを用いていないという方はここから下は参考程度にとどめてください。
sudo aptitude upgrade
(※筆者は好みでaptitudeを使っています)
とした中で、
以下のパッケージが更新されます:
elasticsearch
と、elasticsearchを含むアップデートがあったときの注意点です。
(データベースを読み込んでいます ... 現在 170063 個のファイルとディレクトリがインストールされています。)
.../elasticsearch_9.2.0_amd64.deb を展開する準備をしています ...
elasticsearch (9.2.0) で (9.1.5 に) 上書き展開しています ...
elasticsearch (9.2.0) を設定しています ...
設定ファイル '/etc/elasticsearch/jvm.options'
==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
==> パッケージ配布元が更新版を提供しています。
どうしますか? 以下の選択肢があります:
Y か I : パッケージメンテナのバージョンをインストールする
N か O : 現在インストールされている自分のバージョンを残す
D : 両バージョンの差異を表示する
Z : 状況を調査するためにシェルを開始する
デフォルトでは現在使っている自分のバージョンを残します。
*** jvm.options (Y/I/N/O/D/Z) [デフォルト=N] ?
の質問が来た場合、N を確実に選んでください。手なりでのyは厳禁です。なぜなら、Growi設定時に
-Xms256m
-Xmx256m
の2行を追記しているからです。(※数値は環境によって異なりますが、Growi推奨値が256MBです)
この -Xms256m および -Xmx256m の2行は、Elasticsearch の JVMヒープメモリの初期サイズ(Xms)と最大サイズ(Xmx) を指定しています。これが削除される、つまりデフォルト設定に戻ると、Growi の安定性やパフォーマンスに以下のリスクがあります。
Y/Iを選択してしまったら?/etc/elasticsearch/jvm.options.dpkg-old
または
/etc/elasticsearch/jvm.options.dpkg-dist
にオリジナルが残されています。
sudo cp -pi /etc/elasticsearch/jvm.options.dpkg-old /etc/elasticsearch/jvm.options
または
sudo cp -pi /etc/elasticsearch/jvm.options.dpkg-dist /etc/elasticsearch/jvm.options
として復旧させましょう。
そうして、アップデートが完了後、
Restarting services...
systemctl restart elasticsearch.service
Warning: The unit file, source configuration file or drop-ins of elasticsearch.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for elasticsearch.service failed because the control process exited with error code.
See "systemctl status elasticsearch.service" and "journalctl -xeu elasticsearch.service" for details.
systemctl status elasticsearch.service
failed (Result: exit-code)
と、failed (Result: exit-code)が出てサービスの再起動に失敗することがあります。この場合、Growiの全文検索は使うことができません。
Growiインストール時、Elasticsearch用の
のプラグインをインストールしています。これはパッケージと同時にアップグレードされません。Elasticsearchのコマンドで導入したパッケージのためです。
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-icu
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-kuromoji
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
まず、Run 'systemctl daemon-reload'と言われているので、
sudo systemctl daemon-reload
で更新されたデーモン設定ファイルを読み込みます。
次いで、
systemctl status elasticsearch.service
で、Elasticsearchが依然としてfailed (Result: exit-code)となっていることを確認。その後、
sudo systemctl restart elasticsearch.service
としてサービスを再起動。今度はエラーが起きないと思います。
systemctl status elasticsearch.service
でもactive/runningを確認しましょう。
接続の状態 接続されていますと表示されていることを確認し、
トップページに戻って検索を開始。想定通りの検索結果が出れば対処完了です。
プロジェクトのナレッジベースプラグインのアイキャッチをクリックした際、添付画像に直接飛ぶView Customizeの設定です。

ここの画像をクリックすることで、

この添付ファイル画像へと飛びます。
以下のようにして新しい表示を追加します。
/projects/[^/]+/knowledgebase/articlesと、ナレッジベースの機器一覧を設定以下のように入力。
$(function() {
// Knowledgebase記事一覧内のサムネイルのコンテナを対象とする
$('.article-list-thumbnail').each(function() {
var $container = $(this);
var $img = $container.find('img');
var originalSrc = $img.attr('src');
// サムネイルのURLをフルサイズ画像のURLに変換
// 例: /attachments/thumbnail/946 -> /attachments/946
if (originalSrc && originalSrc.includes('/attachments/thumbnail/')) {
var fullSizeSrc = originalSrc.replace('/attachments/thumbnail/', '/attachments/');
// <a>タグを作成し、サムネイル画像を囲む
var $link = $('<a>')
.attr('href', fullSizeSrc)
.attr('target', '_blank') // 新しいタブで開く
.addClass('knowledgebase-zoom-link'); // 独自のクラスを追加 (後でLightboxプラグインと連携する際などに便利)
// 画像をリンクで置き換える
$img.wrap($link);
// (オプション) カーソルをポインターに変更し、クリック可能であることを示す
$img.css('cursor', 'pointer');
}
});
});
これを有効にして保存。
設定したRedmineサイトの任意のナレッジベースにアクセス。
上記のように、一覧の画像をクリックして添付ファイルが開けば設定完了です。
Powered by WordPress & Theme by Anders Norén