かなり「刺さる」グッズを入手です。
見た目はコッペパン。パッケージもそれっぽいのですが
よく見ると「消費期限」ではなく「使用期限」と書かれています。
封を開けるとファスナーであり、
このように、ペンケースとなっている次第。
尤も、パンの見た目やふわっと感を強調しているためにあまりペンを入れることができません。容量を増やすには中を切って詰め物を抜く作業が別途必要でしょう。
とはいえ、いちごジャムのチャームなどの心憎い演出もありますので、
室内撮りの背景として使うのが良さそうです。
かなり「刺さる」グッズを入手です。
見た目はコッペパン。パッケージもそれっぽいのですが
よく見ると「消費期限」ではなく「使用期限」と書かれています。
封を開けるとファスナーであり、
このように、ペンケースとなっている次第。
尤も、パンの見た目やふわっと感を強調しているためにあまりペンを入れることができません。容量を増やすには中を切って詰め物を抜く作業が別途必要でしょう。
とはいえ、いちごジャムのチャームなどの心憎い演出もありますので、
室内撮りの背景として使うのが良さそうです。
個人的に用いているRedmine。一つのチケットにコメントを連ねていくことで、準備や事前情報などを系統立てて表示させることができます。
そこで「携行品はある程度傾向があるから、テンプレートプラグインで管理できそうだ」
と、こういう風にコメントテンプレートで管理。
しかし、ここに落とし穴がありました。
これは家族に言われて気づいたことです。
などを全く考慮していませんでした。思い直してリパッキング。
この状況もチケットに書き足していきます。
そうして、旅の途上での出来事も次々に書いていき、
もチケット自体に記載。
こうして、旅自体を振り返りながら
なども気軽に書けるので、そこは、Redmineを運用して良かったと思ったわけで。
日々の記録に、ブログ/redmineの下書きに、思考の整理にと役立っているgrowi。
https://github.com/weseek/growi/releases/tag/v6.1.0
で、growiの新しいバージョンを確認したので実施しましたが、ハマりましたのでメモとして残します。
また、以下を実施済みです。
https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/28
こちらに沿って実施しました。
sudo yarn
[1/5] Validating package.json...
error growi@6.1.0: The engine "node" is incompatible with this module. Expected version "^16 || ^18". Got "14.21.3"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
とあったので、nodeのバージョンアップが必要でした。
以下の記事で、最新安定版のnode.jsに差し替えました。
https://manualmaton.com/2023/03/15/
nodeのアップデート後、正常にyarnを行うことができました。
sudo systemctl start growi.service
を実行しても起動せず。
systemctl status growi.service
で状況を確認します。
/bin/sh: 1: turbo: not found
というエラーが出ました。
1への対処時、付随するnpmパッケージを削除したことが原因です。
sudo npm install -g turbo
として、再度
sudo systemctl start growi.service
を実行。
systemctl status growi.service
起動を確認しました。
このバージョンアップは是が非でも行いたいものでした。
なぜなら、念願のmermaid.jsが実装されたからです。
これで、別のアプリを起動せず、growiのみでのmermaid記法が楽になりました。
今回の旅行での収穫です。
こちらの道の駅でお土産を物色中に見つけました。
熊の爪キーホルダー。
3080円と思ったよりも高かったものの、
という希少性や見た目に惹かれて購入。帰宅して、早速の開封です。
毛先はかなり鋭く、多少の水は軽く弾くという印象。(生来のものか加工によるものかは不明)
爪先は鋭く、引っかけやすい形状をしているのために、獲物を引き裂くのは容易いだろうなと想像です。
そんなキーホルダー、ペンケースに取り付けました。ペンケースの革やキャンバス地に結構合います。また、このペンケースを取り出す度に今回の温泉やらを思い出せるので記憶のトリガーとしてもナイス。
Nextcloudをバージョンアップ後、以下のような警告が管理画面で出てきました。
セットアップに関して警告がいくつかあります。
データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 "occ db:add-missing-indices"を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。
テーブル "oc_filecache"のインデックス "fs_parent"が見つかりません。
での対応です。
cd /var/www/html/ && pwd
# Nextcloudのあるディレクトリに移動します
sudo -u www-data /bin/php occ db:add-missing-indices
# Webサービスの実行者(ここではwww-data)を指定します
Check indices of the share table.
Check indices of the filecache table.
Adding additional parent index to the filecache table, this can take some time...
Filecache table updated successfully.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Check indices of the schedulingobjects table.
Check indices of the oc_properties table.
Check indices of the oc_jobs table.
Check indices of the oc_direct_edit table.
Check indices of the oc_preferences table.
Check indices of the oc_mounts table.
Nextcloudの管理画面でリロードを行いました。
全てのチェックに合格しました。
と出たのでOKです。
プログラム自身がチェックを行ってくれるのがNextcloudの強み。
連休も終わるという中で購入しました。
タイトルにもあるようにGarminのスマートウォッチです。
Apple WatchやPixel Watchではなくこれにした理由はいくつか。
通常利用であれば最大21日、ソーラー充電でも補えるのは魅力的。
他のモデルのように日々の活動ログを記録するためのものが丸一日持たず、かつ、毎日充電が必要というのは心もとなかったのです。
フェイスをタップしたりスライドする必要がないのは逆に好印象。手袋をしていても手が濡れていても確実に操作できるのはアウトドアでは有利です。
今までためしたスマートウォッチよりも小さく(購入したものは女性向けモデル)手首への負担を最小限に抑えられると判断しました。
トドメでした。この明るめの緑は自分の推し色。バンドのフィット感も自分の好みだったので、決め手となって購入です。
中身はいたってシンプル。これの他に簡単な説明書と充電ケーブルがついているのみとなっています。
程々のサイズに、バッテリー持ちと視認性を重視した液晶画面と、今の所動作に問題はありません。
この利用感やフィードバックは後々、思い出したように書いていきます。
割とシンプルながら、障害などの特定を効率よくするためのスクリプトを書いてもらいました。
以下の通りです。
以下を満たすスクリプトを書いてください。
1. プロンプトにてエラーログをフルパスで質問
1-1. エラーログが見つからなければ「ファイルがありません」を返して終了
2. プロンプトにて検索したい単語を指定
3. 検索単語にて行数を表示
4. 「○件見つかりました。該当する行を表示しますか?」でy/n確認
4-1. nの場合は処理を終了
4-2. yの場合は該当行を表示して終了
ほぼ一発で想定通りの動きを見せるスクリプトを書いてもらいました。
# 1. プロンプトにてエラーログをフルパスで質問
print "エラーログのフルパスを入力してください: "
error_log_path = gets.chomp
# 1-1. エラーログが見つからなければ「ファイルがありません」を返して終了
unless File.exist?(error_log_path)
puts "ファイルがありません"
exit
end
# 2. プロンプトにて検索したい単語を指定
print "検索したい単語を入力してください: "
search_word = gets.chomp
# 3. 検索単語にて行数を表示
line_numbers = []
File.open(error_log_path, "r") do |file|
file.each_line.with_index(1) do |line, line_number|
line_numbers << line_number if line.include?(search_word)
end
end
puts "#{line_numbers.length}件見つかりました。"
# 4. 「○件見つかりました。該当する行を表示しますか?」でy/n確認
unless line_numbers.empty?
print "該当する行を表示しますか? (y/n): "
display_lines = gets.chomp.downcase
if display_lines == "y"
File.open(error_log_path, "r") do |file|
file.each_line.with_index(1) do |line, line_number|
if line_numbers.include?(line_number)
puts "行 #{line_number}: #{line.chomp}"
end
end
end
else
exit
end
else
exit
end
エディタに記述、保存後に
ruby search_log.rb
を実行。
これで、
などを絞ることが可能になり、ここからの加工も容易になります。
こちらの記事の続き。
インク切れや何やらで洗浄したLamy Safariの感想が思ったより早く終わりましたので、インクを詰めていきます。
今回、ちょっとした趣向を設けました。
軸とボディのミキシング。
白やクリアカラーなどが2本ずつ持っているので、もっと明確に区別をつけました。洗浄したからできる芸当です。
そうした上でインクを補充し――
ペンケースにも収まりました。
書き心地も新たに、ペンケースも充実です。
1 | 2 | 3 | 4 |
Win + L (ウィンドウロック) | Ctrl | Shift | Ctrl + Space 日本語入力切替 |
に変更。一番多用する組み合わせはCtrl+Spaceの日本語入力切替でした。(自分のキーバインドによります)
特に、マークダウンを多用するため、箇条書きの「-」やリストの「1.」のため、スムーズな切り替えが必要です。
これは予想外でした。
フットスイッチをなんとか使いこなそうと足を駆使した結果、膝の関節に思った以上の負荷がかかりました。
だからといってフットスイッチの使用を諦めることはしません。
なぜなら、これによってキーボード入力時に最も負荷がかかる左手の小指が軽減されたからです。
なので、
などで、改善の兆しがありました。
フットスイッチ自体、とても役立ちますし入力精度や効率も随分上がります。
最終的に、体全体の負荷を減らしていかなくては。
この記事の更に続きとなります。
以前作成したスクリプトに問題点があったので修正します。
アップデートするパッケージによってはコンフィグを残すか否かをアップデート中に聞いてきます。
このプロンプトが表示されるとスクリプトは停止。処理を手動で中断して実行する羽目になります。
これを回避するため、以下のように修正いたしました。
- aptitude -y full-upgrade | tee $upgraded_packages >/dev/null
+ DEBIAN_FRONTEND=noninteractive aptitude -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" full-upgrade | tee $upgraded_packages >/dev/null
※chatGPTの回答なので信頼性は各自ご判断ください。
DEBIAN_FRONTEND=noninteractive
: DEBIAN_FRONTEND
環境変数に noninteractive
を設定し、aptitude
コマンドを非対話モードで実行します。これにより、パッケージの更新時に表示される確認メッセージを自動的に承認することができます。aptitude -y
: aptitude
コマンドに -y
オプションを指定して、すべての質問に対して自動的に yes
を返答するようにします。-o Dpkg::Options::="--force-confdef"
: dpkg
コマンドに --force-confdef
オプションを指定して、パッケージがインストールされる際に必要なデフォルトの設定値を使用するように指定します。-o Dpkg::Options::="--force-confold"
: dpkg
コマンドに --force-confold
オプションを指定して、既存のコンフィグファイルを保持するように指定します。full-upgrade
: aptitude
コマンドの full-upgrade
オプションを指定して、すべてのパッケージを最新バージョンに更新します。| tee $upgraded_packages >/dev/null
: 更新されたパッケージのリストを一時ファイルに保存します。パイプライン演算子 |
を使用して、aptitude
コマンドの出力を tee
コマンドに送信し、同時に一時ファイルに書き込むように指定します。>/dev/null
を追加することで、標準出力を無効化し、結果を表示しないようにします。#!/bin/bash
# インストールされているパッケージの一覧を取得して別ファイルに出力します。
now1=$(date +%Y%m%d)
dpkg-query -W > installed_packages_$now1.txt
# aptitude updateを行います。
aptitude update
# updateの結果:
if aptitude search '~U' | grep -q '^i'; then
# 対象パッケージ,変更前バージョン,変更後のバージョン を記入した日付付きのファイルを作成。
now1=$(date +%Y%m%d)
upgraded_packages=$(mktemp)
# パッケージのキャッシュをクリアした上でパッケージアップグレードを実施。
aptitude clean
DEBIAN_FRONTEND=noninteractive aptitude -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" full-upgrade | tee $upgraded_packages >/dev/null
# パッケージ一覧からの差分を別ファイルで作成。(実行日の日付を付与)
new_packages=$(mktemp)
dpkg-query -W > $new_packages
diff -u installed_packages_$now1.txt $new_packages > package_diff_$now1.txt
# 新しいパッケージ名を取得
DIFF_FILE="package_diff_$now1.txt"
NEW_PACKAGES=$(grep -E "^\+[^+]" $DIFF_FILE | awk '{print $1}' | cut -c 2-)
# 変更されたパッケージの数と、新しいバージョンのパッケージ名のリストを表示
UPDATED_PACKAGES=$(echo "$NEW_PACKAGES" | wc -l)
echo "$UPDATED_PACKAGES 件のパッケージに変更がありました。以下のパッケージが更新されました:"
echo "$NEW_PACKAGES"
# checkrestartを実行して結果を取得
now=$(date +%Y%m%d)
checkrestart_output=$(checkrestart)
# サービスを再起動する必要のあるプロセスを抽出してファイルに出力
restart_services=$(echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | awk '{print $NF}' | sort -u)
if [[ -n "$restart_services" ]]; then
# ファイル名に日付を追加
now2=$(date +%Y%m%d)
filename="restart_services_$now2.txt"
echo "以下のサービスを再起動してください:" >> "$filename"
echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$" >> "$filename"
echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$" >> "$filename"
echo "以下のサービスを再起動してください:"
echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$"
echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$"
else
echo "再起動するサービスはありません"
fi
fi
これでコンフィグを残すか否かのアップデートでも停止することなく動きましたが、肝心の
などが不明。なので、改善点はまだまだです。
Powered by WordPress & Theme by Anders Norén