JavaScriptでDateオブジェクトのクローンを作成する

以下のいずれかで新たなDateオブジェクトを生成できる。 結果は同じ。 const start = new Date() // クローン方法1 const end = new Date(start.getTime()) // クローン方法2 const end = new Date(start.valueOf()) > JavaScr ...

Pythonのpdbで変数名がコマンド名と被った時の対処

pdbのコマンド名と同名の変数、たとえばuやlをコマンドラインで入力しても、変数の中身が確認できない。 pdbのコマンドと認識されるためである。 その場合、!を変数名の前につけるか、p 変数名とすれば参照できるようになる。 たとえば、以下のようなユーザーIDを元にユーザーを取得するコードがあったとする。 デバッグしたい位置に`br ...

sqlite3で外部キー制約を常に有効にする

sqlite3で外部キー制約を設定したテーブルの行を削除しようとした。 制約があるために削除されないことを期待したが、削除されてしまった。 sqlite3では、テーブルに制約を課していても、sqlite3の設定を有効にしないといけないらしい。 そのためのコマンドが以下である。 PRAGMA foreign_keys = ON; ...

MySQLでenumの値をランダムに用意してINSERTする

enumのような複数の値のいずれかを保持するフィールドにテストデータを用意したいので、その方法を調べた。 MySQLにあるELT関数を使うことで簡単にテストデータを用意できる。 ELT関数は第1引数に後続のカンマ区切りのリストの順番を入力し、第2引数以降に値を指定していく。 たとえば以下のように第2引数以降に`'Aa', 'Bb', 'Cc ...

Nuxt ルーティングでURLの一覧を確認する方法

Nuxtはディレクトリ構成でルーティングを自動で設定してくれるので、どういうURLが生成せれたのか確認したいことがある。 サーバーサイドのフレームワークは大抵起動するとログにURL一覧を出力してくれる。 しかし、Nuxtはnpm run devで起動すると、以下のように起動したポートは表示しれくれるものの、URL一覧を出力してくれない。 ℹ ...