探検ファクトリー 堺包丁の分業制 

探検ファクトリー食材のおいしさ冴(さ)え渡る! 職人技がすごい包丁工場

令和5年9月9日放送  NHK総合
すっちー 礼二(中川家) 剛(中川家)

分業制の力で高品質!

日本の伝統的な包丁製造の技術は、堺の包丁を通じて光る。
この地域では包丁作りは分業制によって成り立っており、その制度が高品質な包丁を生む秘訣となっている。
職人たちがそれぞれの専門技術を磨き上げ、協力しながらひとつの作品を仕上げていく様子には、職人たちの情熱と技術の粋が感じられます。

職人の匠の技が光る

包丁の研ぎや柄付けなど、それぞれの段階で専門職人が手掛けることで、最終的に高品質な堺の包丁が誕生する。
そこには職人たちの長年の経験と熟練の技が息づいており、一本の包丁に込められた想いが伝わってくる。
そんな温かみのある匠の技に触れることができるのは、贅沢な体験だ。

伝統と革新が融合

堺の包丁は、伝統の技術を大切にしながらも、新しい工程や技法を積極的に取り入れている。
その結果、時代と共に進化し続ける包丁が生まれている。
伝統と革新が見事に融合した堺の包丁は、料理愛好家や職人魂を持つ人々にとって、まさに理想的なパートナーと言えるだろう。

#堺の包丁 #職人技 #伝統と革新

ssh接続を使って接続元から接続先にファイルをコピーしたい

SSH接続を使用して接続元から接続先にファイルをコピーする場合、scpコマンド(Secure Copy Protocol)を利用するのが一般的です。
ここでは基本的なscpコマンドの使用方法をステップバイステップで説明します。

1. scpコマンドの基本形式

scpコマンドの基本形式は以下のとおりです。

scp [オプション] <コピー元のファイルパス> <コピー先のパス>
  • <コピー元のファイルパス>: ローカルシステム上のファイルのパス、またはユーザー名@ホスト名:ファイルパスの形式でリモートシステム上のファイルのパス。
  • <コピー先のパス>: コピー先のローカルシステム上のパス、またはユーザー名@ホスト名:ディレクトリパスの形式でリモートシステム上のパス。

2. ローカルからリモートへのファイルコピー

ローカルマシンからリモートサーバーにファイルをコピーするには、以下のコマンドを使用します。

scp /path/to/local/file ユーザー名@リモートサーバーのアドレス:/path/to/remote/directory

3. リモートからローカルへのファイルコピー

リモートサーバーからローカルマシンにファイルをコピーするには、以下のコマンドを逆に使用します。

scp ユーザー名@リモートサーバーのアドレス:/path/to/remote/file /path/to/local/directory

注意事項とヒント

  • リモートサーバーへの接続にSSHキーを使用している場合、-iオプションを使用してキーファイルのパスを指定できます。
scp -i /path/to/private/key local_file ユーザー名@リモートサーバー:/remote/directory
  • ディレクトリ全体を再帰的にコピーするには、-rオプションを使用します。
scp -r /path/to/local/directory ユーザー名@リモートサーバー:/path/to/remote/directory
  • ポート番号を指定する必要がある場合は、-Pオプション(大文字のP)を使用して指定します。
scp -P ポート番号 /path/to/local/file ユーザー名@リモートサーバー:/path/to/remote/directory

これらの手順を実行することで、SSH経由でファイルを安全にコピーすることができます。

夜寝る前に飲むのに適した飲み物

夜寝る前に飲むのに適した飲み物を選ぶ際は、睡眠の質を向上させることができるもの、または少なくとも睡眠を妨げないものを選ぶことが重要です。以下に、夜に飲むのに適した飲み物のいくつかを紹介します。

1. **カモミールティー**:
– カモミールは、その穏やかな鎮静作用で知られています。これは、カモミールに含まれるアピゲニンという化合物が、脳内の特定の受容体に結びつき、リラックスを促進する効果があるためです。

2. **温かいミルク**:
– 昔から睡眠を助ける自然な対策として推奨されてきました。ミルクに含まれるトリプトファンというアミノ酸が、睡眠を誘導するセロトニンとメラトニンの生成を助けると考えられています。

3. **ハーブティー(カフェインフリー)**:
– ペパーミントティーやルイボスティーなど、カフェインを含まないハーブティーも睡眠前に適しています。これらはリラックスを助け、心地よい眠りにつながることがあります。

4. **アーモンドミルク**:
– アーモンドミルクはマグネシウムを含んでおり、適度な量のマグネシウムは睡眠の質を向上させることが示されています。

5. **ウォームウォーター**:
– 単純ながらも効果的で、体を温めリラックスさせることができます。体が温まると自然に眠気が誘発されることがあります。

**注意点**:
– **カフェインを含む飲み物(コーヒー、一部の紅茶、緑茶、エナジードリンクなど)は避ける**べきです。カフェインは刺激物であり、睡眠を妨げる可能性があります。
– **アルコールも避ける**べきです。アルコールは最初は眠気を誘発するかもしれませんが、睡眠の質を下げ、夜間に目覚める原因になり得ます。
– **砂糖を多く含む飲み物**も、血糖値の急激な変動を引き起こし、睡眠を妨げる可能性があるため避けた方が良いでしょう。

これらの飲み物は、一般的に睡眠の質を向上させるのに役立つとされていますが、個人差があることを覚えておいてください。
特定の健康状態やアレルギーがある場合は、飲む前に医師に相談することが重要です。

Linuxで文字コードを確認・変換するコマンド

Linuxでファイルの文字コードを確認したり変えたりするコマンドを簡単に説明します。

文字コードを調べるコマンド

  • nkf --guess ファイル名:このコマンドで、ファイルの文字コードを調べられます。
  • file -i ファイル名:これもファイルの文字コードをチェックする別の方法です。

文字コードを変える方法

  1. テキストエディタ(viやvim)を使う場合
    • :set fileencoding=新しい文字コードと入力して、ファイルの文字コードを変更します。
  2. コマンドラインを使う場合
    • iconvコマンドiconv -f 元の文字コード -t 新しい文字コード ファイル名 > 新しいファイル名
      • 例:iconv -f SHIFT_JIS -t UTF-8 shift_jis.csv > utf-8.csv
    • nkfコマンドnkf -新しい文字コード ファイル名 > 新しいファイル名
      • 例:nkf -w shift_jis.csv > utf-8.csv (ここでの -w は UTF-8の意味)

ログファイルをUTF-8で見る

  • tail -f サンプル.log | nkf -u -w:これで、ログファイルをリアルタイムでUTF-8の文字コードで見れます。

ファイルの文字コードを一括で変更

  • 例えば、.txt で終わる全てのファイルをUTF-8に変更したい時は、このコマンドを使います。
    • find . -name '*.txt' -type f -print0 | xargs -0 nkf -u --overwrite -w
  • 注意:作業を始める前に、ファイルのバックアップを取っておきましょう!

この方法で、文字コードの確認や変更ができます。

データベースのレプリケーション覚書

データベースのレプリケーション覚書です

いろいろ検索して調べてみて、やったが、今後忘れそうなので、メモしておくことにした。

マスター側の作業 と レプリケーションされる側(スレーブ側)の作業とに分かれてやることが多い。

最初にやっておくこととして、

レプリケーション用ユーザーの作成とレプリケーションサーバーの実行について

1.マスターサーバーでレプリケーション専用のユーザーを作成します。

CREATE USER ‘replication_user’@‘%’ IDENTIFIED BY ‘password’;
GRANT REPLICATION SLAVE ON *.* TO ‘replication_user’@‘%’;
FLUSH PRIVILEGES;

mysql > show master status;  を行い必要な情報を取得します。(ここだけ画像になります 等間隔のフォントで表示がうまくいかなかった。)

2.レプリカ側

mysql >
CHANGE MASTER TO
MASTER_HOST=’hostname’,
MASTER_USER=’replication_user‘,
MASTER_PASSWORD=’password’,
MASTER_LOG_FILE=’mysql-bin-changelog.263422′,
MASTER_LOG_POS=154;

実際に動かす時は、
START SLAVE;

 

 

 

方法が3つくらいある。

その1 データベースの容量が小さい場合

ステップ 1: マスターのデータをダンプ

    1. マスターサーバーでデータベースのダンプを作成します。
      レプリケーションの設定には、--master-dataオプションを使用して、バイナリログの位置情報も含めることが重要です。
      これにより、スレーブはこのバイナリログの位置からレプリケーションを開始できます。
mysqldump -u root -p --all-databases --master-data=2 > master_dump.sql

-pオプションの後にはパスワードを入力するか、プロンプトで入力します。
--all-databasesは全てのデータベースをダンプしますが、特定のデータベースのみをダンプしたい場合は、このオプションを適宜変更してください。

ステップ 2: ダンプファイルをスレーブに転送

    1. 作成したダンプファイルをスレーブサーバーに転送します。
      scprsyncなどのコマンドを使用できます。
scp master_dump.sql user@slave_server:/path/to/directory

ステップ 3: スレーブでダンプファイルをインポート

    1. スレーブサーバーで、転送したダンプファイルをMySQLデータベースにインポートします。
      mysql -u root -p < master_dump.sql

ステップ 4: レプリケーションの設定

    1. スレーブサーバーでレプリケーションを設定します。
      まず、MySQLにログインし、レプリケーション用のユーザーとその権限をマスターサーバーで作成していることを確認します。
      次に、スレーブサーバーで以下のコマンドを実行し、レプリケーションを開始します。

      CHANGE MASTER TO
      MASTER_HOST=’master_server_ip’,
      MASTER_USER=’replication_user’,
      MASTER_PASSWORD=’replication_password’,
      MASTER_LOG_FILE=’記録されたバイナリログファイル名’,
      MASTER_LOG_POS=記録されたバイナリログの位置;
      START SLAVE;

       

      MASTER_LOG_FILEMASTER_LOG_POSは、master_dump.sqlファイル内に記載されているバイナリログのファイル名と位置です。

ステップ 5: レプリケーションの状態を確認

    1. レプリケーションの状態を確認します。
      SHOW SLAVE STATUS\G

      Slave_IO_RunningSlave_SQL_Runningの両方がYesになっていれば、レプリケーションは正常に設定されています。

 プロセスを通じて、マスターサーバーのデータがスレーブサーバーにコピーされ、マスターからの更新がリアルタイムでスレーブに反映されるようになります。

 

その2 データベースの容量が大きい場合

ほとんどの場合がデータベースがデカくて、引っ越しが大変時間かかる、なんとかマスターから引っ張り出して、同期させるレプリケーションサーバーに入れ込みたい。
そこで、私は、テーブルごとにデータを移行するアプローチの方法を選択しました。
この方法では、データベース全体を一度に移行する代わりに、個々のテーブルを順番にダンプしてレプリケーションサーバーへと移行します。
このプロセスは、システムへの負荷を最小限に抑えると同時に、もし移行中に問題が発生した場合に影響範囲を限定しやすくなります。

 

テーブルごとのデータ移行手順

ステップ 1: テーブルの選定

    • 移行を開始する前に、どのテーブルを最初に移行するかを決定します。
      最も重要なデータ、またはサイズが小さく移行が比較的簡単なテーブルから始めるのが良いでしょう。

ステップ 2: テーブルのダンプ

    • mysqldumpツールを使用して、選択したテーブルのダンプを作成します。
      例えば、database_nameデータベースのtable_nameテーブルをダンプするには、以下のコマンドを使用します。

      mysqldump -u username -p database_name table_name > table_name.sql

ステップ 3: ダンプファイルの転送とインポート

    • ダンプファイルをレプリケーションサーバーに転送し、MySQLにインポートします。
      mysql -u username -p database_name < table_name.sql

注意点

    • 移行中のデータ整合性: データをテーブルごとに移行する場合、移行中にデータが更新される可能性があります。
      これを管理するためには、--single-transactionオプションを使用して一貫性のあるスナップショットを取得するか、移行中のテーブルを読み取り専用に設定することが重要です。
    • 移行作業の計画: 移行作業を実施する際は、データベースのダウンタイムやパフォーマンスへの影響を最小限に抑えるため、適切なタイミングを選択してください。

テーブルごとに移行するアプローチは、特に大規模なデータベースや、ダウンタイムを最小限に抑えたい場合に有効です。
計画的に進めることで、移行プロセスをスムーズに、かつ効率的に行うことが可能になります。

使い方

config.sh をつくる

mkdir replication
しておく。

table2table.shは、設定ファイルに機密情報(パスワードなど)を含める場合は、ファイルのアクセス権限を適切に設定して、不正アクセスを防ぐ必要があります。
chmod 600 config.sh
ファイルの所有者のみが読み書きできるように設定します。
table2table.shの権限を変更する
chmod +x ./table2table.sh

./table2table databese_name table_name

で実行する

 

例 config.sh

# config.sh

#master setting
USERNAME=’username’
PASSWORD=’master-password’
HOST=’master-host’

#replication setting
REPL_SERVER=’localhost’
REPL_PATH=’./replication’
REPL_DB_USERNAME=’replication-username’
REPL_DB_PASSWORD=’replication-password’

 

 

例 table2table.sh

# table2table.sh

#!/bin/bash

# 引数の確認
if [ “$#” -ne 2 ]; then
echo “Usage: $0 <db_name> <table_name>”
exit 1
fi

# コマンドライン引数からテーブル名を取得
DATABASE=$1
TABLE=$2

# 設定ファイルの読み込み
source ./config.sh

# 現在の日付をファイル名に使用
CURRENT_DATE=$(date +%Y%m%d_%H%M%S)

# 以下、スクリプトの内容…

# テーブルのダンプ
echo “Dumping table: $TABLE from database: $DATABASE”
mysqldump -u $USERNAME -h $HOST -p$PASSWORD $DATABASE $TABLE > “$REPL_PATH/${TABLE}_${CURRENT_DATE}.sql”
if [ $? -ne 0 ]; then
echo “Failed to dump table: $TABLE”
exit 1
else
echo “Dumped successfully: ${TABLE}_${CURRENT_DATE}.sql”
fi

# レプリケーションサーバーでのダンプファイルのインポート
echo “Importing dump file on replication server…”
echo “mysql -u $REPL_DB_USERNAME -p$REPL_DB_PASSWORD $DATABASE < $REPL_PATH/${TABLE}_${CURRENT_DATE}.sql”
mysql -u $REPL_DB_USERNAME -p$REPL_DB_PASSWORD $DATABASE < “$REPL_PATH/${TABLE}_${CURRENT_DATE}.sql”

 

if [ $? -ne 0 ]; then
echo “Failed to import dump file on replication server”
exit 1
else
echo “Import successful”
fi

echo “Process completed successfully”