月: 2025年1月 Page 1 of 4

OODAループの逆用:『ハリー・ポッターと炎のゴブレット』ウィーズリー家の双子から学ぶ心理戦(一部ネタバレ有り)

昨年読み終えたハリー・ポッターシリーズの原作小説。

ハリー・ポッターのあるシーンを読み返していた時、登場人物の行動がOODAループという意思決定プロセスと酷似していることに気づきました。

この記事では、OODAループに着目してみようと思います。

OODAループとは何か?

OODAループとは、アメリカ空軍のジョン・ボイド大佐が提唱した意思決定プロセスです。

  1. 観察(Observe):状況を観察し、情報を収集する
  2. 状況判断(Orient):収集した情報をもとに、状況を分析する
  3. 意思決定(Decide):次の行動を決定する
  4. 行動(Act):決定した内容を実行する

変化の激しい状況下での迅速な意思決定に役立つフレームワークですが、相手のOODAループを意図的に混乱させることで、優位に立つことも可能です。

OODAループの実例:映画『ハリー・ポッターと死の秘宝 Part2』

ホグワーツの守りを固める際のキングズリー・シャックルボルトたちがその好例です。

観察:(Observe)

戦略立案の際に

「マクゴナガル先生に伝えろ。こっちは私とリーマスで守る」
「了解」

まずは必要な人員をキングズリー自身とリーマス(ルーピン)であると判断。

状況判断:(Orient)

「いやディーン、ちょっと待て」

城外の大攻勢が見積と大きく違うことを判断。

意思決定(Decide)

「杖をもう1~2本、応援によこせと伝えてくれ」

ここでいう「杖」は「魔法を使える者」。つまり「戦えるもの」を指します。

行動(Act)

その言葉を聞いたフレッド・ウィーズリーとジョージ・ウィーズリーがすっと前に入ります。

戦場の状況を見て彼我の戦力を算出し、その「戦力」が行動する様は先に説明した「激しく変化する状況下での柔軟な意志決定」を可能にします。

OODAループの逆用例:小説『ハリー・ポッターと炎のゴブレット』

OODAループを逆用するとは?

OODAループを逆用するとは、相手に誤った情報を提供したり、選択肢を限定したりすることで、意図的に誤った判断をさせることです。

小説『ハリー・ポッターと炎のゴブレット』に登場するフレッド&ジョージ・ウィーズリーの「トン・タン・トフィー(ベロベロ飴)」作戦が、OODAループ逆用の好例でした。

トン・タン・トフィー(ベロベロ飴)作戦:OODAループをいかに破壊するか?

状況:

  • 夏休み、ハリーはダーズリー家に帰省中。
  • ダドリーは学校シーズン中に太り過ぎと診断されたため、家族全体(ハリー含む)を巻き込んでのダイエット中だった。
  • そんな中でウィーズリー家のロン/フレッド&ジョージの双子/アーサーがダーズリー家にハリーを迎えに行く
  • 居間が混乱する中、フレッド&ジョージがトフィーを落として煙突粉で去って行く。
  • これはフレッド&ジョージの開発したトン・タン・トフィー(見た目は美味しそうなトフィーだが食べると舌が猛烈に膨れ上がるいたずらアイテム)。
  • それを食べたダドリーの舌が1m近く膨れ上がり、さらなる混乱を呼び起こした。

ダドリーの思考の流れと、フレッド&ジョージの介入:

OODA段階ダドリーの思考の流れフレッド&ジョージの介入介入の結果
1. 観察 (Observe)「魔法の食べ物は危険だ!でも、これは美味しそう…」落としただけなので、敵意がないように見せかける観察情報が誤誘導される
2. 状況判断 (Orient)「落ちているなら安全かもしれない。甘いもの食べたい…」甘味に飢えている心理を利用し、警戒心を解く安全と錯覚させる
3. 意思決定 (Decide)「食べちゃおう!」選択肢を“食べる”しかない状況に誘導誤った決定を下す
4. 行動 (Act)食べるトフィーの効果で舌が膨れ上がるOODAループの完全破壊

フレッド&ジョージの巧妙な戦略

このループに加え、以下の戦略もありました。

  1. 「ダドリー自身の意思決定」に見せかけることで自己責任にする
  • 落ちたお菓子をダドリーが自主的に食べたと錯覚させることで、
  • 「魔法のせいだ!」と怒るのではなく、「自分のミス」と認識させる。
  1. 報復のターゲットをアーサー・ウィーズリーに誘導
  • フレッド&ジョージは煙突飛行粉(フルーパウダー)で逃亡。
  • ハリーもすぐに去るため、ダーズリー家が怒りをぶつけられるのはアーサーだけ。
  • アーサーの「魔法なら簡単に治せる」という考えと、ダーズリー家の「魔法そのものが脅威」という価値観が衝突し、さらに怒りを煽る。

他人の意志決定プロセスを誤誘導するだけでは無く、自身が安全圏に逃げる手段まで画策していたのです。

まとめ:OODAループ逆用の重要性

OODAループは、迅速な意思決定を支援するだけでなく、相手のOODAループを破壊することで、優位に立つための強力な武器となります。

フレッド&ジョージの戦略は、OODAループの逆用だけでなく、心理学的な要素も巧みに利用した高度な心理戦と言えるでしょう。

戦略立案においては、OODAループの活用と同時に、相手のOODAループをいかに妨害するかという視点も重要になることを示唆しています。

筆者の趣味、ボードゲームにおいても以下の逆用が考えられると思いました。

  1. 観察の欺瞞:相手に自分の手の内を悟らせない。
  2. 状況の誤判断:相手の観察を逆用し、他の手を打たせるように誘導。
  3. 意志決定の悪用:ブラフがそれに相当。油断している状況なら速攻も視野に入れます。
  4. 行動:自分が利する行動を取り、状況から去ります。

この、相手のOODAループを読み、逆手に取るメソッドはあらゆる状況に使えます。

Rubyスクリプト改修。(SSL証明書の有効期限確認)

SSL証明書の有効期限を確認するスクリプト、改修しました。

スクリプト内容

require 'openssl'
require 'socket'
require 'date'
require 'uri'
require 'timeout'

# ユーザーからURLを対話的に受け取る
def get_user_input
  print "チェックしたいサイトのドメインを入力してください(例: example.com): "
  domain = gets.chomp

  # 入力がhttp://またはhttps://で始まらない場合は、https://を追加
  domain = "https://#{domain}" unless domain.start_with?('http://', 'https://')
  
  domain
end

# 変数で指定したURLに接続して証明書の有効期限を取得するメソッド
def get_certificate_expiry_date(url)
  uri = URI.parse(url)
  hostname = uri.host
  ssl_socket = nil
  tcp_client = nil

  begin
    # タイムアウトを5秒に設定してSSL接続を確立
    Timeout.timeout(5) do
      tcp_client = TCPSocket.new(hostname, 443)
      ssl_context = OpenSSL::SSL::SSLContext.new
      ssl_socket = OpenSSL::SSL::SSLSocket.new(tcp_client, ssl_context)
      ssl_socket.hostname = hostname
      ssl_socket.connect

      # 証明書の有効期限を取得
      cert = ssl_socket.peer_cert
      expiration_date = DateTime.parse(cert.not_after.to_s)
      days_remaining = (expiration_date - DateTime.now).to_i

      return expiration_date, days_remaining
    end
  rescue Timeout::Error
    return nil, "サーバーへの接続がタイムアウトしました。"
  rescue => e
    return nil, e.to_s
  ensure
    ssl_socket&.close
    tcp_client&.close
  end
end

# メイン処理
def main
  # コマンドライン引数を確認
  url = if ARGV[0]
          # 引数でドメインが指定されている場合
          domain = ARGV[0]
          domain = "https://#{domain}" unless domain.start_with?('http://', 'https://')
          domain
        else
          # 対話的に入力を受け付ける
          get_user_input
        end

  expiration_date, days_remaining = get_certificate_expiry_date(url)

  if expiration_date
    formatted_date = expiration_date.strftime("%Y/%m/%d")
    puts "サイト #{url} の有効期限は #{formatted_date} です。残り #{days_remaining} 日です。"
  else
    puts "証明書の取得に失敗しました: #{days_remaining}"
  end
end

# メイン処理を呼び出し
main

改修内容

引数化したことです。

ruby ssl_checker.rb google.co.jp
サイト https://google.co.jp の有効期限は 2025/03/31 です。残り 61 日です。

と、スクリプトの後にドメイン指定で残り日数を示します。

ruby ssl_checker.rb
チェックしたいサイトのドメインを入力してください(例: example.com): google.co.jp
サイト https://google.co.jp の有効期限は 2025/03/31 です。残り 61 日です。

引数なしだと対話式に切り替わります。

これで、変数をハードコートする必要がなくなり、他のスクリプトにも組み込みやすくなりました。

撮影ボックスの故障と公言入れ替えのテスト。

昨年11月頃に買った撮影ボックス、LEDコントローラーが壊れてしまうトラブルが発生。

ただ、ボックスとして捨てるほどではなかったので、備え付けの光源を他のものに差し替えてのテストです。

テスト1

より大きいLEDになったためか、今まで当たらなかったところに光が入るようになりました。

ついでに足した鏡も貢献しています。

テスト2

こちらも性質上、暗くなりやすい造形ですが、これも光が入るようになりました。

現時点での検証:まずまず。

補助光を足したり構図を工夫することで、この運用はうまくいきそうです。

『ライザのアトリエ3』最序盤での中和剤の調合。

「中和剤」は本作の基本的な調合剤であると同時に

  • 火薬や石材などの素材として扱える
  • 特性ループにより高品質の素材の元になる

ため、終盤であっても(むしろゲームが進むにつれ)重要になってくる調合アイテムです。

本作が簡単に進むか難しく感じるかは、この、中和剤の作り方を序盤から理解するか否かにかかっています。

とはいえ、最初期の(カーク群島を目指すような)タイミングでは、投入回数の少なさに加え「そもそも良質な素材が取れない」制約があります。

そんな中で、多少、いい品質を作るためのTIPSです。

ケーススタディ:中和剤・赤

カーク群島を目指すタイミングでの最優先は「中和剤・赤」です。

  • 属性値が(このタイミングでは大きめの)2の素材が揃っている。
  • ゼッテルによる中和剤ループを組み込みやすい。
  • 基本攻撃アイテムフラムの原料としても有用

などの良好な条件が揃っています。

原料を入手。

中和剤・赤の基本材料は

  • 火薬
  • 燃料

です。とりわけ重要な「火薬」と「水」に沿っていきます。

火薬-セキネツ鉱

ランドマーク『彩花の円環』にある赤い岩をスウィングすることで得られるセキネツ鉱は

「火薬」を持ち、属性値がこの段階では2もあります。

水:七色葡萄

ライザの家から北東に延びる道で通常採取可能。

最序盤で属性値が「2」ある「水」を持つ素材。

基本的にこれを用いて調合します。

調合

調合メニューから「中和剤・赤」を選択して、効果1に属性値2のセキネツ鉱を入れます。

効果2に属性値2の七色葡萄と属性値1の氷属性を持つ属性値1の水を入れます。

効果3に、セキネツ鉱を2と1で足して3になるように入れます。

スキルツリーが最初の状況だと、この特性枠を1つだけ埋めることができます。

このタイミングで投入回数がリミットになるので、特性を1つだけ選んで調合を終えます。

こうして得た中和剤・赤は「属性値が2」ある火薬/燃料となります。

これ自体を中和剤・赤のループになります。

  • 最初は安定して属性値2の中和剤を作る。
  • 特性を更に詰めて属性値を増やしていく

を心がけることで、道中の調合に如実に差が出ていきます。

『ライザのアトリエ2』有料超高難易度DLC「陽炎の島」遺跡の欠片まとめ。

続いては「陽炎の島」についての遺跡の欠片をまとめます。

こちらの本筋はむしろ

  • 文字通り「格が違う」強さの敵を
  • 今までの特性を覆す超強力な特性で

どうにかしていくのが私見のため、ストーリーは余り印象に残らなかったという形。

ですが、どのようにしてライザにあのアイテムがもたらされたかが分かるようになっています。

☆運命の大鏡/Great Mirror of Fate(真実の地底湖:エリア3)

特別なレシピからです。最後のエリアでの開放ですが、そもそもここにたどり着くのが大変です。

○陰る鏡に光を/Light for the Darkened Mirror

  • 若き探求者の思い出3/Young Explorer's Memory 3
  • 魔法道具の修理法/Repairing Magic Artifacts
  • 若き探求者の思い出2/Young Explorer's Memory 2

○扱いきれぬ秘宝/Leftover Treasure

  • 隠れ谷の秘伝書/Secret of the Hidden Valley
  • 船長の思い出3/Captain's Memory 3
  • 流浪の民の思い出/Wanderer's Memory

☆流刑者の集落跡/Exile Colony(上陸地点:エリア1)

○古代の遺物/Ancient Relic

  • 流刑者の思い出/Exile's Memory
  • 官吏の記録1/Official's Record1

○人らしい暮らし/Human Life

  • 官吏の思い出1/Official's Memory 1
  • 流刑者の日記/Exile's Diary

○荒廃する島/Devastated Island

  • 官吏の思い出3/Official's Memory 3
  • 荒ぶる島の守り鏡/Harsh Islands's Guradian Mirror

☆地下円形監獄/Underground Prison(悲嘆の監獄:エリア2)

○かき乱される運命/Rwecked Fates

  • 首領の思い出1/Leader's Memory 1
  • 注意喚起の立て札/Warning Sign
  • 官吏の思い出2/Official's Memory 2

○海に沈む野心/Sunken Ambition

  • 看守の記録/Guard Record
  • 首領の思い出2/Leader's Memory 2
  • 官吏の記録2/Official's Record

☆海賊船の残骸/Pirate Ship Remnants(上陸地点:エリア1)

○海賊の根城/Pirate's Hideout

  • 船長の思い出1/Capatain's Memory 1
  • 船長の思い出2/Captain's Memory 2

○継承の儀式/Succession Ceremony

  • 船長の思い出4/Captain's Memory 4
  • 継承の唄/Song of Succession

○挑戦者への試練Challenger's Trial

  • 錆びた片刃剣/Rusty Single-Edged Sword
  • 儀式に挑む者へ/Challenger to the Ceremony

☆探求者の標/Explorer's Monument(真実の地底湖:エリア3)

○探求者の使命/Explorer's Mission

  • 若き探求者の思い出1/Young Explorer's Memory 1
  • 若き探求者の思い出4/Young Explorer's Memory 4
  • 魔法使いの心得/Mage's Knowledge

○ややネタバレのため記載せず

  • 探求者の思い出7/Explorer's Memory 7
  • 探求者の思い出8/Explorer's Memory 8
  • 古い魔石のペンダント/Old Fairystone Pendant

『ライザのアトリエ2』無料DLC「ケルドラ城」遺跡の欠片まとめ。

『ライザのアトリエ2』もこの機会に整理を進めます。

無料DLC「ケルドラ城」の遺跡の欠片をまとめます。

文章はネタバレになるので、「どの欠片を上から埋めていったか」の記録です。

※ DLCのため、実績には関係ありません。
※ このDLC「ケルドラ城」と有料DLC「陽炎の島」に出てくる人物は、ライザが使うことになったアイテムと縁があります。

旧鉱入り口/Old Mine Entrance

雲上楼閣エリア2最奥 で入手します。 エリア3へと進むアイテムのレシピが報酬なので、まずはこの欠片を埋めるところからです。

天然の障壁/Natural Barrier

  • 骨董屋の思い出2/Antique Dealer's Memory 2
  • 鉱員へのお触れ書き/Officeial Notice to Miners
  • 蒐集家の思い出2/Collector's Memory 2

火の山の燃料/Fire Mountain Fuel

  • 魔石掘りの思い出2/Fairystone Miner's Memory 2
  • 蒐集家の走り書き/Collector's Note
  • 骨董屋の観測記録

結晶の渦/Crystal Vortex

エリア3:地を結ぶ旧鉱で入手します。

異なる世界より/From Another World

  • 狩人の思い出2/Hunter's Memory 2
  • 骨董屋の思い出3/Antique Dealer's Memory3
  • 骨董屋の思い出4/Antique Dealer's Memory 4

太陽と月の逢瀬/Meeting of the Sun and Moon

  • 蒐集家の思い出3/Collector's Memory 3
  • 連なる星の図画/Twin Star Drawing
  • 鉱員の日誌/Miner's Log

鉱山の資料庫/Mine Archives

エリア1、山麓の火炎林から入手します。

採掘の痕跡/Mining Remnants

  • 結晶化したツルハシ/Crystallized Pick
  • 重い布袋/Heavy Cloth Bag

魔石の国/Fairystone Land

  • 来たれ王国の担い手
  • 魔石の利用法/Making Use of Fairystones.

閉山と傾国/Mine's Closure and Downfall

  • 立入禁止の札/"Do Not Enter" Sign
  • ケルドラの衰退/Keldra's Downfall

結晶の楼閣/Crystal Castle

エリア2「雲上楼閣」で入手します。

亡国の遺産を求めて/Seeking Lost Kingdom's Treasure

  • 骨董屋の思い出1/Antique Dealer's Memory 1
  • 蒐集家の思い出1/Collector's Memory 1
  • 狩人の思い出1/Hunter's Memory 1

幻のごとき城/Phantom Castle

  • 蒐集家の思い出4/Collector's Memory 4
  • 亡国の遺産/Lost Kingdom's Treasure
  • 旧時代の地図/Ancient Map

残された住居/Dwelling Remains

エリア2「雲上楼閣」で入手します。

炎に飲まれて/Swallowed by Flames

  • 異邦の薬師の思い出2/Foreign Apothecary's Memory 2
  • 魔石掘りの思い出3/Fairystone Miner's Memory 3
  • 魔の山の消失事件/Demonic Mountain Desolution

災禍の前触れ/Impending Doom

  • 鉱山の業務連絡/Mining Business Notification
  • 魔石掘りの思い出1/Fairystone Miner's Memory 1
  • 異邦の薬師の思い出1/Foreign Apothecary's Memory 1

シェルスクリプト天気予報ツールの改良:機能追加とエラー処理の強化

以前作成したコマンドラインでの天気予報ツールについて改良を行いました。

修正前のスクリプト

まず、修正前のスクリプトはこちらです。

#!/bin/bash

# 都市名をコマンドライン引数から取得するか、ユーザーに尋ねる
city=$1
if [[ -z "$city" ]]; then
  echo "都市名を入力してください:"
  read city
  if [[ -z "$city" ]]; then
    echo "都市名が入力されませんでした。"
    exit 1
  fi
fi

# ansiweatherコマンドを実行して天気情報を表示
echo "ansiweatherの情報:"
if ! ansiweather -l "$city"; then
  echo "ansiweatherから情報を取得できませんでした。"
fi

# curlコマンドを使用してwttr.inから天気情報を表示
echo "wttr.inの情報:"
if ! curl -s "wttr.in/${city}?lang=ja"; then
  echo "wttr.inから情報を取得できませんでした。"
fi

このスクリプトは、コマンドライン引数で都市名を受け取るか、引数がなければユーザーに都市名の入力を求め、ansiweathercurlを使って天気情報を取得し表示します。

問題点

  • エラー処理が不十分: 都市名が入力されない場合のエラー処理はありますが、ansiweathercurlコマンドが失敗した場合の処理は警告メッセージを表示するだけです。
  • 入力検証がない: 空白のみの入力など、不正な入力に対する検証が行われていません。
  • 複数都市に対応していない: コマンドライン引数で複数の都市を指定することができません。
  • コードの再利用性がない: 処理がまとまっていないため、コードの再利用が難しいです。

修正後のスクリプト

そこで、以下のように修正です。

#!/bin/bash

# 都市名を取得する関数
get_city() {
  if [[ -z "$1" ]]; then
    read -p "都市名を入力してください: " city
    if [[ -z "$city" ]]; then
      echo "エラー: 都市名が入力されていません。" >&2
      return 1
    fi
  else
    city="$1"
  fi

  # 入力値の検証
  if [[ "$city" =~ ^[[:space:]]+$ ]]; then
    echo "エラー: 都市名に空白のみが入力されています。" >&2
    return 1
  fi
  return 0
}

# 天気情報を表示する関数
show_weather() {
  local city="$1"

  echo "--------------------"
  echo "ansiweatherの情報 (${city}):"
  if ! ansiweather -l "$city"; then
    echo "警告: ansiweatherから情報を取得できませんでした。" >&2
  fi

  echo "--------------------"
  echo "wttr.inの情報 (${city}):"
  if ! curl -fs --connect-timeout 5 "wttr.in/${city}?lang=ja"; then
    echo "警告: wttr.inから情報を取得できませんでした。" >&2
  fi
}

# メイン処理
if [[ $# -eq 0 ]]; then
    if ! get_city; then
        exit 1
    fi
    show_weather "$city"
elif [[ $# -gt 0 ]]; then
    for city in "$@"; do
        if ! get_city "$city"; then
            echo "$city の処理をスキップします。" >&2
            continue
        fi
        show_weather "$city"
    done
fi

exit 0

修正の意図と変更点

  • 関数化: get_city()関数とshow_weather()関数に処理を分割し、コードの可読性と再利用性を向上させました。
  • エラー処理の改善:
  • get_city()関数内で都市名が入力されない場合や空白のみが入力された場合にエラーメッセージを出力し、終了ステータスを返しています。エラーメッセージは標準エラー出力(>&2)に出力することで、通常の出力と区別しています。
  • show_weather()関数内でansiweathercurlコマンドが失敗した場合に警告メッセージを標準エラー出力に出力するように変更しました。
  • 入力検証の追加: get_city()関数内で空白のみの入力に対する検証を追加しました。
  • 複数都市への対応: コマンドライン引数で複数の都市を指定できるように変更しました。forループを使って、それぞれの都市に対して天気情報を取得し表示します。
    ./script Narita Londonとすることで、出発地と目的地の天気を同時に示すことができます。
  • curlコマンドのオプション変更: curl -sに加えて-f(エラー時にHTTPステータスコードを返す)と--connect-timeout 5(接続タイムアウトを5秒に設定)を追加し、より堅牢な処理を実現しました。

修正後に加わった挙動。

  • コマンドライン引数で複数の都市を指定して実行できるようになりました。例:./script.sh Osaka Kyoto
  • 都市名が入力されない場合や空白のみが入力された場合、エラーメッセージが表示されるようになりました。
  • ansiweathercurlコマンドが失敗した場合、警告メッセージが標準エラー出力に出力されるようになりました。
  • curlコマンドのタイムアウトが設定されたため、ネットワークの問題などで応答がない場合に処理が止まるのを防ぐことができます。

Redmine5.1に文書管理プラグイン(dmsf)をインストールする上での注意点。

こちらの記事の補足となります。

前提

2025/01/23時点のdmsfプラグインの最新バージョンはRedmine 6.0に合わせたものです。

そのため、git cloneする際に

https://github.com/danmunn/redmine_dmsf/releases

を確認して、Redmineのバージョンと合っているかを確認。

その上で

sudo -u www-data git clone -b v3.2.4 https://github.com/danmunn/redmine_dmsf

バージョンを指定してからgit cloneします。

これを怠ると

自分の例ですが、「Redmineそのものが深刻な機能不全を起こしました」。

具体的に言うと

  • チケットを発行、閲覧、更新時にエラーが起きる
  • Something wrongの画面が出る

などです。

重ねての注意点

  1. 強力な機能をもたらすプラグインほどDBや機能に深刻な影響をもたらします。DBのバックアップは必須です。
  2. 本当に動くバージョンかを更に確認。

と、躓いた上での経験談でした。

Redmineのかんばんプラグインの差し替えメモ。

概要

Redmineのプラグインをかんばんからダッシュボードプラグインに差し替えたときのメモです。

環境

  • Ubuntu 24.04
  • Redmine 5.1
  • MySQL 8
  • Ruby 3.2
  • Apache 2.4

さっくりとした手順

  1. DBのバックアップ
  2. 既存のかんばんプラグイン削除
  3. ダッシュボードプラグインインストール
  4. 動作確認

DBバックアップ

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

任意の作業ディレクトリに移動

  • DBバックアップ
mysqldump -h localhost -u redmine -p --no-tablespaces --single-transaction redmine > redmine_backup.$(date +%Y%m%d).sql
  • バックアップ確認
view redmine_backup.$(date +%Y%m%d).sql

Redmine kanbanのアンインストール (退避)

  • ディレクトリ移動
cd /path/to/redmine/root/directory/plugins && pwd
  • kanbanプラグインの退避
sudo mv kanban /path/to/backup/directory/kanban_org_$(date +%Y%m%d)
  • 退避確認
ls -ld /path/to/backup/directory/kanban_org_$(date +%Y%m%d)
  • Webサービス再起動
sudo systemctl restart apache2.service && echo $?

0を確認

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

  • git clone
sudo -u www-data git clone https://github.com/jgraichen/redmine_dashboard
  • clone 確認
ls -ld redmine_dashboard
  • Redmineルートディレクトリに移動
cd /path/to/redmine/root/directory && pwd
  • bundle install
sudo -u www-data bundle install --without development test
  • DBマイグレーション
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
  • Webサービス再起動
sudo systemctl restart apache2.service && echo $?

0を確認

確認

  1. Redmineに管理者権限でログイン
  2. 管理>プラグインにRedmine Dashboard pluginがあることを確認
  3. 任意のプロジェクト>設定で「ダッシュボード」を有効化して保存。
  4. プロジェクトのタブにダッシュボードが表示されること、自分が担当するチケットをドラッグアンドドロップで表示されることを確認

2024年のお茶記録。

弁当の他に、毎日どのようなお茶を消費していたかもメモしています。

No.茶葉の名前入手日開封日消費完了日種別ベースコメント
2024T01シンプーリ2023/12/312024/04/122024/06/16紅茶ダージリン(夏摘み)福袋(松)
2024T02タルボ2023/12/312024/06/122024/07/12紅茶ダージリン(夏摘み)福袋(松)
2024T03サングマ2023/12/312024/07/122024/09/06紅茶ダージリン(春摘み)福袋(松)
2024T04グームティー2023/12/312024/01/042024/04/08紅茶ダージリン(春摘み)福袋(松)
2024T05カイルベッタ2023/12/312024/02/182024/04/03紅茶ニルギリ福袋(松)
2024T06テミ2023/12/312024/01/152024/02/17紅茶シッキム福袋(松)
2024T07マハガストット クオリティー2023/12/312024/09/062024/10/31紅茶セイロン・ヌワラエリヤ福袋(松)
2024T08白桃烏龍 極品2023/12/312024/03/232024/04/14フレーバーティー中国茶福袋(松)
2024T09文山包種 特級 春摘み2023/12/312024/04/142024/05/12台湾烏龍茶中国茶福袋(松)
2024T10台湾烏龍茶 早春摘み2023/12/312024/01/012024/01/20台湾烏龍茶中国茶福袋(松)
2024T11五ヶ瀬釜炒り新茶 特上 20232023/12/312024/01/282024/03/16緑茶緑茶福袋(松)
2024T12本山釜炒り新茶 香寿 20232023/12/312024/06/272024/07/09緑茶緑茶福袋(松)
2024T13大隅新茶 さえみどり「春景色」20232023/12/312024/07/102024/09/02緑茶緑茶福袋(松)
2024T14ロゼ ロワイヤル2023/12/312024/01/042024/02/02フレーバーティー紅茶福袋(竹)
2024T15メルシー ミルフォア2023/12/312024/01/102024/02/13フレーバーティー紅茶福袋(竹)
2024T16オレンジ&ジンジャー2023/12/312024/01/102024/02/16フレーバーティー紅茶福袋(竹)
2024T17キャラメレ2023/12/312024/02/132024/03/11フレーバーティー紅茶福袋(竹)
2024T18ルバーブ&ストロベリー2023/12/312024/02/022024/03/19フレーバーティー紅茶福袋(竹)
2024T19クッキー2023/12/312024/03/132024/04/15フレーバーティー紅茶福袋(竹)
2024T20ウェディング2023/12/312024/01/052024/02/20フレーバーティー紅茶福袋(竹)
2024T21サクランボ2023/12/312024/03/112024/04/24フレーバーティー紅茶福袋(竹)
2024T22アールグレイ ダージリン2023/12/312024/01/232024/02/26フレーバーティー紅茶福袋(竹)
2024T23ホワイトサングリア2023/12/312024/03/212024/04/30フレーバーティー紅茶福袋(竹)
2024T24アップルティー2023/12/312024/02/202024/04/1フレーバーティー紅茶福袋(竹)
2024T25白桃2023/12/312024/02/162024/03/21フレーバーティー紅茶福袋(竹)
2024T26フランボワーズショコラ2023/12/312024/02/262024/03/13フレーバーティー紅茶福袋(竹)
2024T27スウィートオレンジ2023/12/312024/03/192024/04/08フレーバーティー紅茶福袋(竹)
2024T28マスカット2023/12/312024/04/082024/05/15フレーバーティー紅茶福袋(竹)
2024T29メルシー ミルフォア(特典)2023/12/312024/04/012024/04/10フレーバーティー紅茶福袋の特典
2024T30白桃煎茶2023/12/312024/04/102024/04/22フレーバーティー緑茶福袋の特典
2024T31ダージリン・ザ ファーストフラッシュ2023/12/312024/01/012024/01/05ブレンドダージリン(春摘み)福袋の特典
2024T32雪蓮茶2024/03/252024/03/262024/06/27フレーバーティー中国茶新潟土産
2024T33オペラ2024/04/062024/04/272024/10/26フレーバーティー紅茶
2024T34アルフォンソマンゴー2024/04/062024/04/152024/05/17フレーバーティー紅茶
2024T35ゆめ2024/04/062024/4/302024/06/11フレーバーティー紅茶
2024T36ローズ・ダージリン2024/04/062024/04/082024/05/18フレーバーティー紅茶
2024T37タルト・オ・シトロン2024/04/062024/4/242024/06/03フレーバーティー紅茶
2024T38カシュ・カシュ2024/04/062024/05/152024/06/24フレーバーティー紅茶
2024T39マロンショコラ2024/04/062024/05/172024/06/12フレーバーティー紅茶
2024T40アップルベリー2024/04/062024/04/222024/06/14フレーバーティー緑茶
2024T41とちおとめ2024/04/062024/06/172024/07/11フレーバーティー緑茶
2024T42雪室緑茶2024/04/302024/04/302024/06/26緑茶緑茶新潟土産
2024T43ジャルダンソバージュ2024/05/062024/05/062024/05/31フレーバーティールイボス
2024T44ハニーレモネード2024/05/182024/06/242024/07/26フレーバーティー紅茶
2024T45ミントティー2024/05/182024/05/192024/06/19フレーバーティー紅茶
2024T46カシス&ブルーベリー2024/05/182024/06/032024/07/08フレーバーティー紅茶
2024T47ナツコイ2024/05/182024/06/112024/07/24フレーバーティー紅茶
2024T48あまなつ烏龍2024/05/182024/06/132024/07/06フレーバーティー中国茶
2024T49サクランボ・ヴェール2024/05/182024/07/082024/08/28フレーバーティー緑茶
2024T50ボンヌ・シャンヌ!2024/05/182024/06/022024/06/20フレーバーティールイボス
2024T51キャッスルトン ティッピークローナル2024/07/062024/11/012025/01/10紅茶ダージリン(春摘み)
2024T52グレープフルーツ2024/07/062024/08/202024/10/03フレーバーティー紅茶
2024T53ブリティッシュクーラー2024/07/062024/07/262024/08/09フレーバーティー紅茶
2024T54グレナダ2024/07/062024/07/242024/08/20フレーバーティー紅茶
2024T55アラビアンナイト2024/07/062024/08/092024/09/03フレーバーティー紅茶
2024T56ラムネ2024/07/062024/07/112024/08/27フレーバーティー緑茶
2024T57パイナップル烏龍2024/07/062024/08/252024/10/20フレーバーティー中国茶
2024T58ラムネ2024/07/072024/07/132024/10/11フレーバーティー緑茶もう一個
2024T59シェヘラザード2024/07/072024/07/112024/08/14フレーバーティー緑茶
2024T60雪蓮茶(2つめ)2024/03/252024/07/132024/10/20フレーバーティー中国茶新潟土産
2024T61紫蘇緑茶2024/08/242024/08/242024/10/18フレーバーティー緑茶水出し用ティーバッグ
2024T62はちみつ和梨焙じ茶2024/08/242024/10/232024/11/05フレーバーティー緑茶(焙じ茶)水出し用ティーバッグ
2024T63蜜りんご和紅茶2024/08/242024/08/272024/10/22フレーバーティー紅茶(和紅茶)水出し用ティーバッグ
2024T64ダルマ2024/08/242024/08/282024/10/10フレーバーティー紅茶
2024T65いもくりかぼ茶2024/08/242024/09/032024/10/09フレーバーティールイボス
2024T66メロン烏龍2024/08/242024/08/272024/10/09フレーバーティー中国茶
2024T67ピーチパイナップル2024/09/142024/09/14フレーバーティールイボスH&F Belx
2024T68ストロベリークリーム2024/09/142024/10/092024/12/25フレーバーティールイボスH&F Belx
2024T69コットンキャンディー2024/09/142024/10/282024/12/02フレーバーティールイボスH&F Belx
2024T70八朔紅茶(尾道)2024/09/272024/09/272024/11/22フレーバーティー紅茶尾道で
2024T71レモンティー(尾道)2024/09/292024/10/012024/11/20フレーバーティー紅茶尾道で
2024T72柚子2024/10/282024/10/302025/01/09フレーバーティー緑茶
2024T732024/10/282024/10/312025/01/14フレーバーティー緑茶
2024T74金柑2024/10/282024/10/302024/12/13フレーバーティー紅茶
2024T75紅葉狩り2024/10/282024/10/312024/12/06フレーバーティー紅茶
2024T76柚子ショコラ2024/10/282024/12/102024/12/25フレーバーティー紅茶

これは、2024年に飲むためのお茶を

  • いつ入手したか
  • 開封はいつか
  • 飲み終えたのはいつか

を示す自分のもう一つの日記です。

最初の4ヶ月

福袋にあるフレーバーティーを消費。

そこから8ヶ月

福袋の言いお茶を消費しつつ、季節感あるフレーバーティーを飲んでいます。

また、消費速度からも、この時期はこれを飲んでいたからと、記憶のヘルプにも成りました。

Page 1 of 4

Powered by WordPress & Theme by Anders Norén