[ホスティング] CentOS 7で送信専用メールサーバーを構築する (Postfix)

ウェブサイトの問い合わせフォーム用に、Postfixを送信専用メールサーバーとして設定する。

Postfixがインストールされているか確認。

現在の設定を表示。

現在の設定をバックアップ。

設定編集。

確認。

再起動。

確認。

自動起動の確認。

telnetを使ってメール配信テスト。

ログを見る。

メールが受け取れていればOK。

参考サイト

CentOSとpostfixで送信専用のメールサーバーを構築する。(メールサーバー構築 1)
https://www.rem-system.com/mail-postfix01/

[ホスティング] CentOS 7にvimをインストールする

vi が入っていたので vim に替えてみる。

参考サイト

CentOS 7 : 初期設定 : Vim を設定する : Server World
https://www.server-world.info/query?os=CentOS_7&p=initial_conf&f=7

[Arduino] PCから制御する

何か技があるのかなーと思ったら簡単だった。

Arduino IDEを入れるとUSB-to-Serialドライバがインストールされるので、Arduino IDEでArduinoが接続されているシリアルポート番号を調べて、PCでそのポートにアクセスするプログラムを書けば良い。

高度なプロトコルが欲しければ、オープンソースのプロトコルスタックも公開されている。

参考リンク

Arduino UNOをWindows 7に接続しVisual Studio 2010 Expressを使ってC#でプログラミングし制御する – その1 – シリアルポートで文字を送信しLEDをON、OFFする | ホチキス先生の「プログラマーと呼ばれたい」
https://matsumotoyoshio.wordpress.com/2013/02/03/arduino-uno%E3%82%92windows-7%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%97visual-studio-2012-express-for-windows-desktop%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6c%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9/

シリアルモニタでPCからサーボモーターをコントロールしよう | FABSHOP.JP -デジタルでものづくり! ファブショップ !
https://www.fabshop.jp/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%8B%E3%82%BF%E3%81%A7pc%E3%81%8B%E3%82%89%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD/

GitHub – firmata/arduino: Firmata firmware for Arduino
https://github.com/firmata/arduino
プロトコルスタック

[Raspberry Pi] カメラのセットアップ

購入したカメラモジュールはこちら。

Camera Module V2 – Raspberry Pi
https://www.raspberrypi.org/products/camera-module-v2/

カメラのセットアップ

LANポートとHDMIポートの間のコネクタに、接続面がHDMIポート側になるようにフラットケーブルを差し込む。

Raspberry Piにログインしてカメラインターフェースを有効にする。

以下の動画が参考になる。

カメラの動作確認

Raspberry Piには4種類のアプリケーションが用意されている。

静止画撮影

動画撮影

Raspberry Pi Camera Module – Raspberry Pi Documentation
https://www.raspberrypi.org/documentation/raspbian/applications/camera.md

[Raspberry Pi] OSセットアップから起動まで

以下ページの手順をなぞってRaspberry Piを立ち上げる。

Installing operating system images – Raspberry Pi Documentation
https://www.raspberrypi.org/documentation/installation/installing-images/README.md

イメージをダウンロードする

以下のページからダウンロードする。

Download Raspbian for Raspberry Pi
https://www.raspberrypi.org/downloads/raspbian/
2018-11-13-raspbian-stretch.zip

イメージをSDカードに焼く

以下のツールを使う。

balenaEtcher – Home
https://www.balena.io/etcher/

手順は以下の通り。

* Download Etcher and install it.
* Connect an SD card reader with the SD card inside.
* Open Etcher and select from your hard drive the Raspberry Pi .img or .zip file you wish to write to the SD card.
* Select the SD card you wish to write your image to.
* Review your selections and click ‘Flash!’ to begin writing data to the SD card.

Raspberry Piが立ち上がった後の設定はSSH接続してやろうと思っているので、ブートメディアを作る段階でSSHが有効になるように考慮しておく必要がある。手順は以下参照。

A security update for Raspbian PIXEL – Raspberry Pi
https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory.
The contents of the file don’t matter: it can contain any text you like, or even nothing at all.

システム起動

Raspberry PiにSDを挿入して立ち上げる

LANケーブルを指して、我が家ルーターの管理者ページでDHCPで振られたIPアドレスを調べる。

ログインできた。

[MySQL] 抽出結果をファイル出力する

into outfile “ファイル名” を付けると、指定したファイルに出力される。

ファイル出力先のフォルダが制限されている場合には以下のエラーになる。

どのフォルダに出力できるかは以下で確認できる。

出力可能なフォルダのファイルをフルパスで指定してやれば出力できるようになる。

参考サイト

MySQLで抽出結果をファイルに出力する方法 – Qiita
https://qiita.com/tasmas256/items/ec7e23278ee2b40aad79

[MySQL] テーブル構造を取得する

カラムの情報はinformation_schema.columnsに格納されているので、必要なものだけ絞り込んで取得すればよい。

information_schema.columnsの構造は以下。

例えばhomesteadというデータベースの全テーブルの全カラムの属性を取得したければ以下。

参考サイト

MySQL :: MySQL 5.6 リファレンスマニュアル :: 3.4 データベースとテーブルに関する情報の取得
https://dev.mysql.com/doc/refman/5.6/ja/getting-information.html

mysqlで全テーブルのカラム一覧を見たい – It’s raining cats and dogs.
http://tadasy.hateblo.jp/entry/20130220/1361357082

[Windows] コピーツールを使ってファイルコピーを高速化する

Windowsで大量にファイルをコピーしようとすると、”preparing for copy” といったメッセージが表示されて何か前処理が行われるみたい。VPN経由でネットワークドライブから大量のファイルをコピーしようとすると、この前処理がなかなか終わらずに超ストレス。

エクスプローラでコピーを実行する場合にこれが行われるみたい。なので、前処理を省きたければファイルコピーを行うユーティリティソフトを使えばよい。探してみると以下のような無料ソフトが見つかる。試しにFastCopyを使ってみたけど前処理は無いしフォルダの同期コピーもできるし便利だった。

「FastCopy」無料の高速ファイル・コピーツール – 窓の杜
https://forest.watch.impress.co.jp/library/software/fastcopy/

Windowsの「robocopy」コマンドでフォルダをバックアップ/同期させる:Tech TIPS – @IT
http://www.atmarkit.co.jp/ait/articles/0704/20/news130.html

WindowsのRichCopyでフォルダをバックアップ/同期させる:Tech TIPS – @IT
http://www.atmarkit.co.jp/ait/articles/0904/17/news110.html

Robocopyより高機能。ファイル同期ツールの決定版「FreeFileSync」 (1/2):知っトクWindowsツール – @IT
http://www.atmarkit.co.jp/ait/articles/1901/18/news029.html

[Unix] viエディタでの文字列の置換

参考サイトから抜粋。

カレント行で最初に合致した文字列を置換する

カレント行の全置換対象文字列を置換する

ファイル全体の全置換対象文字列を置換する

置換前に確認する

参考サイト

viのテキスト置換方法【実際の画面でわかりやすく解説】
https://eng-entrance.com/linux-vi-replace