初めてab使いました。

  • OS: Amazon Linux
  • ApacheBench: Version 2.3 <$Revision: 1843412 $>

ふたつのLambda関数間でパラメータをやりとりします。

Lambda関数①から「王様の耳は」と送ると、呼び出されたLambda関数②が「王様の耳はロバの耳」にして返却するサンプルを作りました。

連番のファイル名をゼロ埋めする愚かさ。

AWSのSQSで左から右に流すやり方を調べてて、以下の記事を見かけました。ロングポーリングというのが便利そうだったので、調べてNode.jsで書いてみました。

例えば 1,234,567,890 → 十二億三千四百五十六万七千八百九十 とかです。

MySQLとかSQLServerでは、TRUNCATE を使うとテーブルの内容を全消し&連番リセットできて便利だったのですが、SQLiteには TRUNCATE が無かった。

  • テーブルに初めて連番が振られたとき、sqlite_sequence レコードが作成される。
  • sqlite_sequence レコードは、各テーブルに最後に振られた連番を保持する。
  • sqlite_sequence レコードを消すと、次の連番は現存するデータの最大値 + 1から再開する。
  • sqlite_sequence の値が巻き戻っても、次の連番が重複しないように調整してくれる。

職場の画面が大きくないノート使ってると、スクロールしてもついてくるヘッダとか、画面が狭くなるので嫌いです。なので、個人的によく使ってるブックマークレットです。

// これを…
const before = [['A','B'], ['C','D','E'], ['F','G']];

// こう
const after = [
	['A','C','F'],
	['B','C','F'],
	['A','D','F'],
	['B','D','F'],
	['A','E','F'],
	['B','E','F'],
	['A','C','G'],
	['B','C','G'],
	['A','D','G'],
	['B','D','G'],
	['A','E','G'],
	['B','E','G'],
];

複合キーのマスタとかをメモリ上にキャッシュしたい時に

// これを…
$before = [
	['key1' => 'A', 'key2' => 'X', 'key3' => '1', 'name' => '塩'],
	['key1' => 'A', 'key2' => 'Y', 'key3' => '1', 'name' => '砂糖'],
	['key1' => 'A', 'key2' => 'Y', 'key3' => '2', 'name' => 'しょうゆ'],
	['key1' => 'B', 'key2' => 'X', 'key3' => '1', 'name' => 'バルサミコ酢'],
];

// こう
$after = [
	'A' => [
		'X' => [
			'1' => ['key1' => 'A', 'key2' => 'X', 'key3' => '1', 'name' => '塩'],
		],
		'Y' => [
			'1' => ['key1' => 'A', 'key2' => 'Y', 'key3' => '1', 'name' => '砂糖'],
			'2' => ['key1' => 'A', 'key2' => 'Y', 'key3' => '2', 'name' => 'しょうゆ'],
		],
	],
	'B' => [
		'X' => [
			'1' => ['key1' => 'B', 'key2' => 'X', 'key3' => '1', 'name' => 'バルサミコ酢'],
		],
	]
];