EC2のAmazon Linux上のMySQLパスワードをリセットしたときのメモ

EC2のAmazon Linux2では、mysqld_safeコマンドはないようなので、--skip-grant-tables オプションで起動する必要がある。

--skip-grant-tables オプションを有効化

sudo systemctl set-environment MYSQLD_OPTS="--skip-grand-tables"
sudo systemctl restart mysqld

--skip-grant-tables オプションのおかげでMySQLにパスワードなしでログインできる

mysql -u root

--skip-grant-tables オプションが有効だとALTER USER でパスワード変更できないので、一度パスワードを空にする

mysql > UPDATE mysql.user SET authentication_string=null WHERE User='root';
mysql > exit;

--skip-grant-tables オプションを無効にする

sudo systemctl set-environment MYSQLD_OPTS=""
sudo systemctl restart mysqld

ALTER USER でrootユーザのパスワードを変更する

USE mysql;
ALTER USER 'root'@'localhost' identified BY 'new password';

Google Maps APIを利用して車での移動時間を調べる

Google Mapを使えばできるのですが、大量の地点をまとめて調べる必要があったので利用できるAPIを調べました。

ググった結果、こちらのサイトにたどり着きました。

qiita.com

Directions APIを利用すれば目的はほぼ達成のようです。

さらにDirections APIのドキュメントを探していると、クライアントライブラリも提供されているようです。

developers.google.com

Java/Python/Go/Node.js用のライブラリが提供されていますが、今回はPythonを選択しました。

作成したコードのサンプルはこちらになります。今回は車での移動時間を知りたいのでmode="driving"を指定しています。

gistdd3162012734421eec71b4841f62783a

何回もAPIを呼び出さなくてよいようにJSONをそのまま保存する方針をとったのですが、ensure_ascii=Falseを指定しないと日本語がエスケープされて保存されてしまうので注意が必要です。

キングジムのカクミルを購入しました

キングジムのカクミルを購入しました。

www.kingjim.co.jp

購入理由

普段予定はGoogle Calendarなどで管理しているのですが、スマホやPCからスケジュールを開いて見るということが煩わしく感じていました。 そこで、デスクにおいておける電子ペーパー的なものをさがしていたところ、サイズ感などがちょうど良さそうであったのでこちらを購入しました。

残念な点

カレンダーや時計を表示する機能があるのですが、今日の予定をカレンダーや時計と合わせて表示できるといいなと思っていたのですが、そういった使い方はできないようです。

注意

単三電池4本で動作するのですが、付属されません。

アップデートにはMicroSDカードが必要になります。
届いたバージョンは1.0ですが、2021年1月時点では既にVersion1.3のアップデートがあるので、アップデート作業が必要になります。

あふでフォルダ履歴をいい感じに検索する

Windowsで2画面ファイラの あふw をいつも利用しているのですが、フォルダ履歴をいい感じに検索したいと思いgo言語でツールを作成してみました。

github.com

afxw-his.zipを展開して、あふwからafxw-his.exeを呼び出すように設定すれば利用できます。
私は、F1キーから呼び出して利用するよう設定しています。

参考

よい方法がないか検索したところ、下記サイトを見つけて参考にさせてもらいました。
batとperljscriptからpecoを呼び出して実現されています。

chabom.hatenablog.com

フォルダ履歴をいい感じに検索する部分は、go-fuzzyfinderというライブラリを利用させてもらいました。

github.com

ビルドしたバイナリのアップロードは、GoReleaserを利用しています。 GitHub Actionsを使ってみたかったのですが、すごく簡単に使えました。

github.com

scoopでPythonをインストール

scoopでPythonをインストールしようとしたときに、32bit版や古いバージョンのインストール方法がわからなかったので自分用にメモを残します。

最新の32bit用Pythonをインストールする場合 ※32bit版ODBCを利用する必要があるので32bit版をインストールする必要があったので、、、

scoop install python -a x86

もしくは

scoop install python -a 32bit

で可能のようです。 github.com

ライブラリが対応指定ないなど特定のバージョンのPythonをインストールする場合

まずversionsバケットを追加します。

scoop bucket add versions

Pythonを検索します。

scoop search python

Python3.7の32bit版をインストールします。

scoop install python37 -a 32bit

Pythonでnature remoのAPIにアクセスして温度、湿度、照度を取得

nature remoから部屋の温度を取得してみたのでメモ。

nature remoのサイトにログインして、アクセストークンを取得 home.nature.global

今回はPythonを利用。

Pythonの下記ライブラリを利用させてもらった。 pypi.org

requestsに依存しているので、requestsもインストール

pip install requests
pip install nature-remo
from remo import NatureRemoAPI

ACCESS_TOKEN = r"(アクセストークン)"
api = NatureRemoAPI(ACCESS_TOKEN)

if __name__ == '__main__':
    devices = api.get_devices()
    print(devices[0])
    te = devices[0].newest_events["te"].val
    il = devices[0].newest_events["il"].val
    hu = devices[0].newest_events["hu"].val
    print(f"温度:{te} 湿度:{il} 照度:{hu}")

データの蓄積についてはまた考えよう。