Bo2SS

Bo2SS

#2 | 居家隔離の新発見(効率的な料理、多倉庫ブランチ管理の自動化を実現……)

宝子たち、ここは Bo2SS の新シリーズです。普段の考えをシェアするもので、生活に関することもあれば、技術に関することもあります。以前の技術的な長文に比べて、このシリーズ全体のスタイルは比較的軽快です。(友情提示:文末に多リポジトリブランチ管理スクリプトの例がありますので、最後までスクロールして、必要かどうか見てみてください。)

「帰るべき人は帰りなさい、出てこないで。帰るべき人は帰りなさい、出てこないで……」

火曜日の朝 7:30、繰り返し流れるスピーカーの音で目が覚め、私の第一反応は小区のグループを確認することでした。

そう、喜んで「隔離大礼包」を受け取りました。

image

最近の食事#

本来、平日に料理をする時間があるとは思ってもみませんでした。一般的には週末に料理をして、自分を労わる程度です。

image

image

image

image

image

image

image

しかし、隔離初日の夜、家族とのビデオ通話で「外食は不衛生」と言われ、さらにその日の外食が本当にまずかったので、私は翌日から自分で料理をすることに決めました。

まず、私が感じた自分で料理することの利点をいくつか挙げます:

  • 美味しい(十分に)、儀式感がある(幸福感の源の一つ)、家族に私が良い生活をしていると思わせる(実際そうです)……

  • もっと重要なのは、このプロセスの中で、より高い次元で問題を考えることができ、細部に陥らないことを意外に発見したことです。

本来、家庭料理を作るのにそれほど頭を使う必要はないので、脳には考える余地が残っています。

また、パソコンの前に座っているのに比べて、料理をしているときは無駄な情報の干渉が少なく、むしろ問題の重要な点に集中することができます。

言い換えれば、実際に私たちがシャワーを浴びたり、トイレに行ったりしているときも、インスピレーションを得やすいのは、理由が似ています。

image

正に「得るものがあれば失うものもある」と言いますが、これだけの利点を得た以上、私たちは何かを失わなければなりません。そう、私たちは時間とエネルギーを多く費やさなければなりません。

しかし、実際には上記の美味しい料理を作るのにそれほど時間はかかりません。

ここで、私が自分で料理をする場合と外食をする場合の時間消費データを比較してみます:

自分で料理外食勝者(時間が短い方)
1. 選択美団で肉 2 品、野菜 2 品を選ぶ美団で注文する基本的に同じ
2. 取りに行く一度で一日の分を取れる二食で二度取りに行く自分で料理
3. 調理ご飯を炊く + 炒める調理不要外食
4. 片付け食器を洗うほとんど不要外食

外食の方が優れているように見えますが、実際にはご飯を炊く + 炒める時間は「無視できる」ほどです:

  • ご飯を炊く: Stretchlyという休憩リマインダーを使って、普段の仕事のリズムは、30 分ごとに 20 秒休憩、1 時間半ごとに 4 分休憩するので、4 分の休憩のときに事前にご飯を炊くことができます

  • 炒める: 美団の買い物で「象大厨」や「農耕記」のクイック料理を選ぶと、調理プロセスを 10~20 分に抑えることができます。

    • クイック料理には、洗浄済み、切り済みの食材が用意されています(不安な場合は自分で再度洗っても良い)、油や調味料も用意されています(不安な場合は自分の油や調味料を使っても良い、調味料は一般的に生抽や塩で代用すれば十分です)。さらに、炒める手順のガイドも用意されており、レゴのように順番にフライ返しを動かすだけで済みます。

    • 賞味期限が数日のものを選ぶように注意してください。そうすれば、一般的に新鮮です。

次に、洗い物という新たな項目を見てみましょう:

  • 食後や 4 分の休憩時間に行うことができ、細切れの時間をうまく活用できます。

  • 時々油が多いと感じたら、先に皿を水で流して、浸してから洗うことができます。

  • さらに、皿を洗うとき、手を前後に動かす動作が、フィットネスのプッシュ(胸を鍛える)と引き(背中を鍛える)の動作と同じ効果があることに気づきました。したがって、皿を洗うことで、普段の運動量を少し補うことができます(実際、観察によると、自分の胸筋と広背筋には明らかな減少の兆候は見られません🐶)。

image

時間消費に加えて、先ほども言ったように、エネルギーを多く費やす必要があるのは避けられません。特に最初に料理を学ぶときは。

しかし、「失うものがあれば得るものもある」と言いますが、時間とエネルギーを消費することで、別の価値を得ることができます。

最近の娯楽#

自分で作った料理を食べながら、紅軍の歴史を見ているのは、とても心地よいです。

image

最近見ているのは、高希希監督のこの『毛沢東』です。特に青年毛沢東役の俳優、侯京健のあの気迫が好きです。

image

私が特に好きなシーンをいくつか紹介します~

1)外出して学ぶ

ある日、いとこの文運昌が毛沢東の家に来て、湘乡県立高等小学堂に行って勉強できることを知らせました。そこでは多くの新しい知識を学ぶことができます。

毛沢東は当時、父親が見つけた穀物店で見習いをしていましたが、商売には興味がなかったため、父親の同意を求めました。

彼の父親は実際には毛沢東に早くお金を稼いで家計を支えてほしいと思っており、家には弟が二人と妹が一人いるため、彼を学校に通わせるためにお金を使うことは考えていませんでした。

しかし、毛沢東の強い説得の結果、彼の父親は最終的に渋々同意しました。

こうして毛沢東は故郷を離れ、「孩儿立志出乡关,学不成名誓不还。埋骨何须桑梓地,人生无处不青山」という七絶の詩を父親に送ります。

17 歳の毛沢東は小学一年生でしたが、分からないことは学び、分からないことは質問し、とても早く学びました。

2)書店を開く

当時、毛沢東たちは新しい思想を広めるために書店(文化書社)を開きました。

しかし、書店のスタートアップ資金は限られており、財務は文化関連の本を売るだけでなく、ベストセラーや俗書も売って収入を増やすことを提案しました。

この提案は毛沢東によって否決されました。彼は書店を開く目的は志を同じくする人々を集め、彼らの思想に賛同する人々を集めることだと考えていました。もしベストセラーや俗書を売るなら、入ってくる読者を見分けることが難しくなります。

この点は私が公衆アカウントを書く上で非常に示唆に富んでいます。私は目を引く内容を書くことを望まず、ここで自分の考えをゆっくりと皆さんと共有し、趣味が合う人々と出会いたいと思っています。

さらに、毛沢東は今日でも「流量大咖」であり、この書社の開店には湖南省の省長を招いてテープカットを行ったほどです。

3)毛沢東が排除される

毛沢東の「農村包囲都市」戦略とゲリラ戦の十六字方針(「敵進我退、敵駐我扰、敵疲我打、敵退我追」)は何度も成功し、紅軍に多くの勝利をもたらしました。

しかし、上海にいる党中央は功績を急いで求め、紅軍が大都市を攻撃する力があると考え、何度も大都市攻撃の命令を出しました。

党中央の命令には従わざるを得ませんが、毛沢東は紅軍の現在の力がまだ不十分であることを知っていたため、多くの場合は形だけの行動をしました。

しかし、毛沢東はそのために「逃走主義者」として右派分子のレッテルを貼られ、党中央から排除され続けました。

第五次反囲剿の後、党中央は博古(比較的若く、実戦経験が少ない)を書記長に任命し、李德(ドイツ人、秘密保持のために中国名を付けた)を軍事顧問に任命しました。彼らの「砲台対砲台」のハードコンフリクト戦略は紅軍に大きな損失をもたらしました。

その後、毛沢東は徐々に正しい位置に戻りました。

4)飛奪泸定橋

image

私は卒業後の川西の旅で泸定橋を通り、大渡河の下を見て、水の流れる音を聞くだけで背筋が寒くなります。

当時、敵は紅軍が渡河するのを防ぐために、事前に板をすべて外してしまい、鉄索だけが残っていました。

紅軍は渡河するために、対岸の機関銃の下をくぐり、一隊が突撃し、ロープの上を歩いて火力を引きつけ、一隊が橋の板を敷き、一隊が板を渡し、後ろの人が渡河しました。

当時、南京にいた蒋介石が部下に「なぜ橋を直接爆破しないのか?」と尋ねたところ、部下は紅軍が板を敷きながら前進することを全く考えていなかったと答えました。

蒋介石はため息をつき、「毛沢東と戦うときは、常識的な思考で彼らの行動を予測してはいけない」と言いました。しかし、彼は紅軍が雪山を越えることを予測できませんでした。

毛沢東の戦いを見ていると、いつも諸葛亮を思い出します(以前に三国について書いた記事があります:歴史 | 三国演義のキャラクターがインターネットに応募したら、誰を選びますか?)。見た目には差があるように見える戦いでも、彼らは常に状況に応じて変化し、絶体絶命の状況から生き延びることができるのが非常に素晴らしいです。


また、このドラマの動画リソースについては、私は西瓜视频で見るのが好きです。なぜなら、ここではコメントが非常に多く、雰囲気がとても良いからです。

  • 時々、出てくるこの人の業績を紹介してくれる人がいます。例えば、国民党の薛岳を見たとき、もちろん彼を私たちの敵として見なしますが、コメントで彼が抗日名将だと言われると、すぐに敬意を表します🫡。

  • また、ある事柄に対する異なる見解や、見落とされがちな背景についても意見が述べられます……

一方、bilibiliは比較的静かで、これはおそらく後に公開されたためです。


さて、前半では生活の中でのいくつかの体験について話しましたが、次は技術的な考えについて話しましょう。

最近の考察:多リポジトリブランチ管理の自動化 V1.0#

とりあえず V1.0 と呼びましょう。現在行っている自動ブランチ作成機能の他にも、必要に応じて多くの機能が拡張できるはずです。

最終結果:複数のリポジトリに自動でブランチを作成する🌲。

  1. 自動化前:それぞれのリポジトリに行き、関連パラメータを入力し、ボタンをクリックします。

  2. 自動化後:それぞれのリポジトリに行く、関連パラメータを入力し、ボタンをクリックします。


皆さんはこんな状況に遭遇したことはありませんか?製品が新しい段階に達するたびに、コードに新しいブランチを作成する必要があります。例えば、テスト用です。

一つのリポジトリにブランチを作成するだけならまだしも、私たちのグループには関連するリポジトリが五六個もあるため、各リポジトリでこのシンプルで退屈な繰り返し作業(ブランチ作成)を行う必要があります。プログラマーとして、私はこのような状況を許すことはできません。


そこで、私は継続的インテグレーションツール Jenkins(他の人が使いやすいように)と Shell スクリプト言語を利用して、上記のプロセスの自動化を実現しました。

今では、上記のプロセスを簡単に 2 ステップで完了できます:

1)Jenkins プロジェクトに入り、2 つのビルドパラメータを入力します:現在のバージョン、前のバージョン

image

⚠️:

  1. 私たちのブランチ名はバージョン名に基づいています;

  2. 私たちは前のバージョンの release ブランチに基づいて現在のバージョンの test ブランチを作成します。

2)Build ボタンをクリックし、結果を待ちます

ここで、私は自分の 2 つの Github リポジトリで実験を行い、関連するログは以下の通りです:

image

✌️:ログは操作のプロセスと結果を明確に示しています。

⚠️:操作するリポジトリは Configure > Source Code Management > Git > Repositories で設定されています。新しいリポジトリを追加する必要がある場合は、設定に追加するだけで、スクリプトを変更する必要はありません。


V1.0 の Shell スクリプトは以下の通りです(具体的な説明があります):

# 主なプロセス
main() {
  #1
    set +ex  # e:異常時に終了しない;x:実行コマンドを表示しない
    declare -a success_list  # 成功したリポジトリを記録
    declare -a failure_list  # 失敗したリポジトリを記録
    echo "========================⚙️準備作業が完了しました⚙️========================\n"
    
    #2
    echo "========================🆒正式に開始🆒========================"
    remote_hosts=`git remote`
    echo "🌿操作するリポジトリは:\n${remote_hosts}\n"
    
    # ️管理しているリモートリポジトリをループ処理、リポジトリはSource Code Management > Git > Repositoriesに追加
    # ⚠️Advanced > Nameでリポジトリのエイリアスを設定し、ログを確認しやすくすることができます
    for remote_host in ${remote_hosts}; do
        CreateAndPushTestBranch ${remote_host}
    done
    
    #3
    echo "========================🌲結果を出力🌲========================"
    echo "✅成功したのは:${success_list[*]}"
    echo "❌失敗したのは:${failure_list[*]}"
    echo "\n\n"
}

# testブランチを作成してプッシュ
# 入力パラメータ1:リモートリポジトリのエイリアス
CreateAndPushTestBranch() {
    echo "========================💼リポジトリを操作開始:$1💼========================"
    target_host=$1  # リポジトリのエイリアスを記録
    
    echo "1. ブランチを作成 git checkout -b"
    # current_version、last_versionはビルドパラメータで、Generalで定義されています
    git checkout -b test/${current_version} ${target_host}/release/${last_version}
  
    echo "2. ブランチをプッシュ git push"
    git push ${target_host} HEAD
    if [ $? -eq 0 ]; then
        success_list+="${target_host} "
        result="成功✅"
    else
        failure_list+="${target_host} "
        result="失敗❌"
    fi

    echo "3. ブランチをクリーンアップ git branch -D"
    git -c advice.detachedHead=false checkout ${target_host}/release/${last_version} # -c advice.detachedHead=falseでdetachedHead警告を一時的に無効化
    git branch -D test/${current_version}
    
    echo "\n👉${target_host}リポジトリにtest/${current_version}ブランチを作成してプッシュしました:${result}\n"
}

main; exit

結び#

考えを持ち続け、大胆に実践してください。この文章があなたの役に立つことを願っています~

ここは Bo2SS です。このシリーズに関する提案があれば、宝子たちからのコメントをお待ちしています。また次回お会いしましょう~

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。