flush privileges
-> 権限の反映?
GRANT, REVOKE, or SET PASSWORDなどのステートメントでは必要ない??
手動で権限テーブルをリロードするには、FLUSH PRIVILEGESステートメントを発行?
ふーん、そうなのか。。
ソフトウェアエンジニアの技術ブログ:Software engineer tech blog
随机应变 ABCD: Always Be Coding and … : хороший
flush privileges
-> 権限の反映?
GRANT, REVOKE, or SET PASSWORDなどのステートメントでは必要ない??
手動で権限テーブルをリロードするには、FLUSH PRIVILEGESステートメントを発行?
ふーん、そうなのか。。
グローバルレベル
GRANT ALL ON *.* TO user;
GRANT SELECT, INSERT ON *.* TO user;
データベースレベル
GRANT ALL ON db_name.* TO user;
GRANT SELECT, INSERT ON mydb.* TO user;
テーブルレベル
GRANT ALL ON db_name.table_name TO user;
GRANT SELECT, INSERT ON db_name.mytbl TO user;
カラムレベル
GRANT SELECT (col1), INSERT (col1, col2) ON db_name.table_name TO user;
実際にやってみましょう。
mysql> create user saru@localhost identified by ‘monkey’;
Query OK, 0 rows affected (0.59 sec)
mysql> show grants for saru@localhost;
+————————————————————————————————————-+
| Grants for saru@localhost |
+————————————————————————————————————-+
| GRANT USAGE ON *.* TO ‘saru’@’localhost’ IDENTIFIED BY PASSWORD ‘*A5892368AE83685440A1E27D012306B073BDF5B7’ |
+————————————————————————————————————-+
1 row in set (0.09 sec)
mysql> grant create on *.* to saru@localhost;
Query OK, 0 rows affected (0.05 sec)
mysql> show grants for saru@localhost;
+————————————————————————————————————–+
| Grants for saru@localhost |
+————————————————————————————————————–+
| GRANT CREATE ON *.* TO ‘saru’@’localhost’ IDENTIFIED BY PASSWORD ‘*A5892368AE83685440A1E27D012306B073BDF5B7’ |
+————————————————————————————————————–+
1 row in set (0.00 sec)
なるほど、grant userの後に、grantで権限を付けるわけですね。
ちょっと感動しました。
cliでRDSのログを確認するには、describe-db-log-files
aws rds describe-db-log-files --db-instance-identifier rds001
jsonから、ログのみに変更することも可
aws rds describe-db-log-files --db-instance-identifier rds001 --filename-contains error --output text
エラーログはmysql-error-running.logという名前で1時間ごとに出力される。
エラーログの中身は download-db-log-file-portionというコマンドを使う。
aws rds download-db-log-file-portion --db-instance-identifier rds001 --log-file-name error/mysql-error-running.log.6
– Error logs are written to the mysql-error.log file.
– mysql-error.log is flushed every 5minutes.
– The flushed content is added to mysql-error-running.log
– mysql-error-running.log is rotated hourly.
– Rotaed logs are kept for 24 hours.
– Each log file has UTC time appended to the file name(% H of rotated UTC time)
– Writing to the error log is only performed at startup, at shutdown, and at error detection.
なんだこりゃ、超重要やんけ。
It is a command to view the list of currently running porcesses.
Used it to confirm that the batch is moving, or when didn’t get back a heavy query.
まず、show processlistとします。
mysql> show processlist
-> ;
+—-+——+———–+——+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—-+——+———–+——+———+——+——-+——————+
| 2 | root | localhost | demo | Query | 0 | init | show processlist |
+—-+——+———–+——+———+——+——-+——————+
1 row in set (0.21 sec)
続いて、別のユーザでログインしてみます。
mysql> show processlist;
+—-+——+———–+——+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—-+——+———–+——+———+——+——-+——————+
| 2 | root | localhost | demo | Query | 1 | init | show processlist |
| 3 | root | localhost | test | Sleep | 13 | | NULL |
+—-+——+———–+——+———+——+——-+——————+
2 rows in set (1.67 sec)
なるほど、状態が分かりますね。素晴らしい。
ユーザー権限の確認方法
show grants for [username]@[servername];
mysql> show grants for ‘root’@’localhost’;
+———————————————————————+
| Grants for root@localhost |
+———————————————————————+
| GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ WITH GRANT OPTION |
| GRANT PROXY ON ”@” TO ‘root’@’localhost’ WITH GRANT OPTION |
+———————————————————————+
2 rows in set (0.05 sec)
mysql> show grants
-> ;
+———————————————————————+
| Grants for root@localhost |
+———————————————————————+
| GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ WITH GRANT OPTION |
| GRANT PROXY ON ”@” TO ‘root’@’localhost’ WITH GRANT OPTION |
+———————————————————————+
2 rows in set (0.00 sec)
なるほどねー
cpanのサイトを見ます。
https://metacpan.org/pod/Net::Amazon::S3::Signature::V4Implementation
>Net::Amazon::S3::Signature::V4Implementation – Implements the Amazon Web Services signature version 4, AWS4-HMAC-SHA256
>This module signs an HTTP::Request to Amazon Web Services by appending an Authorization header. Amazon Web Services signature version 4, AWS4-HMAC-SHA256, is used.
なるほど、ヘッダね。
Net::Amazon::Signature::V4を使います。
use Net::Amazon::Signature::V4; my $sig = Net::Amazon::signature::V4->new($access_key_id, $secret, $endpoint, $service); my $req = HTTP::Request->parse( $request_string ); my $signed_req $sig->sign($req); ...
ふむふむ、特に問題なさそうですね。。
とういか、AWSのSDK, CLIの使用に関するページだと、当然の如くperlはないな。ひどいな。。

Laravel 5’s Eloquent has a function called SoftDeletes that performs logical deletion instead of physically deleting data from a DB table.
If you do this soft delete, data will not be deleted from the table but it will not be able to be pulled by ordinary SELECT etc. It will behave the same as deleting it.
This function allows you to extract information once it is deleted, when it is needed again.
なるほどー、これ結構便利かも。
use Illuminate\Database\Eloquent\SoftDeletes;
class User extends Eloquent {
use SoftDeletes;
protected $dates = ['deleted_at'];
}
モデルに上記のように記述を追加し、SoftDeletesを使えるようにする。削除された場合は、deleted_atカラムにタイムスタンプがセットされる。
なるほどね。
– RDSのbinlogの保存期間はデフォルト値では、NULLになっている。
binlogの保存期間を変更する際は、call mysql.rds_set_configurationで変更する。ふむふむ。
mysql> call mysql.rds_set_configuration('binlog retention hours', 24);
What is APNs?
Apple Push Notification Service (APNs) is the core of remote notification functionality. It is a robust, secure, and very efficient service for application developers to deliver information to iOS(and indirectly watchOS), tvOS, and macOS devices.
なるほど。
まず、普通のdatepicker
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<input type="text" name="date" value="">
<script>
$("[name=date]").datepicker({
// YYYY-MM-DD形式で入力されるように設定
dateFormat: 'yy-mm-dd'
});
</script>
特に問題ありません。

で、これを今日からにするには、minDateを0dに指定します。
<script>
$("[name=date]").datepicker({
// YYYY-MM-DD形式で入力されるように設定
dateFormat: 'yy-mm-dd',
minDate: '0d'
});
</script>

年末を指定するにはどうするかだな。
+1y -1dだと駄目みたい。
ちょっとあかんあー