揮発性のメモ2

知識をメモ書きしておく

redis-cliで、キーの一覧、値の一覧を取得する

キーの一覧

方法その1

$ redis-cli keys '*'
1) "hoge"
2) "piyo"
3) "fuga"

標準出力にそのまま出すと余計な装飾やエスケープが付くので、取り外したいときは --raw オプションを使用する

方法その2

$ redis-cli --raw keys '*'
hoge
piyo
fuga

まあこれでもいいんだけど、この方法はいちいちコマンドの構文解析を走らせることになるので、もっとシンプルにしたい

方法その3

$ redis-cli --scan
hoge
piyo
fuga

グッド

値の一覧

方法その1

$ for KEY in $(redis-cli --scan); do redis-cli --raw get $KEY; done
foo
bar
baz

まあこれでもいいんだけど、この方法はいちいちコマンドを起動することになるので、もっとシンプルにしたい

方法その2

$ redis-cli --raw mget $(redis-cli --scan) 
foo
bar
baz

グッド

糖質制限ベイクドチーズケーキ

雪印クリームチーズ のふたに書いてあるレシピを糖質制限に少し変更

この順に滑らかに混ぜながら入れる
材料 分量 栄養
雪印クリームチーズ 200g 熱682, た18.4, 脂64.6, 炭7.0 (糖6.6, 繊0.4), 塩1.52
パルスイート 20g 熱28, た0.4, 脂0, 炭19.4 (糖18.8, 繊0.6), 塩0
2個 熱302, た0.6, 脂20.6, 炭0.6 (糖0.6, 繊0), 塩0.8
ダイズラボ大豆粉 大さじ3(27g) 熱118, た11.2, 脂4.4, 炭8.9 (糖5.2, 繊3.7), 塩0
雪印ホイップかるい 200ml 熱609, た3.4, 脂63.4, 炭12.0 (糖11.8, 繊0.2), 塩0.23
ポッカレモン100 30ml 熱10, た0, 脂0, 炭2.8 (糖2.8, 繊0), 塩0.00
明治チューブでバター 20g 熱138, た0.2, 脂15.2, 炭0 (糖0, 繊0), 塩0.36
合計 熱1887, た34.2, 脂168.2, 炭50.7 (糖45.8, 繊4.9), 塩2.91

クリームチーズをレンジで20~30秒チンし、滑らかになるまで執拗に混ぜる
砂糖を入れ混ぜ、卵は溶いてから数回に分けて混ぜる
薄力粉代わりの大豆粉もふるいにかけながら混ぜ、生クリームとレモン汁も混ぜる
バターはレンジで15秒チンして混ぜた

全部混ぜきったら、クッキングシートを敷いた18cmの型に入れて180度で40分焼く。
間違えて170度で45分焼いたけど大丈夫だった。
レンジのフタを開けて30分冷ましてから冷蔵庫で3時間冷やして完成。

四分の一 がっつり食べちゃっても糖質11.4しかないのでセーフ
残りは適当に切り分けてラップでくるんでタッパーに入れて冷凍

出来上がりの見た目がチーズスフレと大差ないのがちょっと残念。
材料費だけで800円くらいかかっているので、安くもなんともないのも残念。

右クリックメニューにある「PyCharmで開く」を消す

f:id:iww:20210215174206p:plain
エクスプローラでファイルやフォルダを右クリックしたときにメニューに出てくる「Edit with PyCharm Community Edition」
こんなのを許した記憶は無いので 消す。

f:id:iww:20210215174444p:plain
レジストリエディタで、「HKEY_CLASSES_ROOT\*\shell\Open with PyCharm Community Edition」を探してキーごとごっそり削除する。
自分の環境ではほかに見当たらなかったのでやってないけど、PyCharmで検索して右クリックメニューっぽいとこから全部削除する

How to remove Open Folder as Pycharm Community Edition Project - Super User
How do I remove the open folder as pycharm community edition project in right click – IDEs Support (IntelliJ Platform) | JetBrains

Dart のインストールから Hello,world! まで

Dartの環境を作ってPhpStormでソース書いてコンパイルするところまで
Dart — PhpStorm

Dart SDKのインストール (Flutter SDKのインストール)

Get the Dart SDK | Dart
Windows install - Flutter
WindowsでFlutterインストール - Qiita
Flutterの開発環境をインストールすると、Dartの開発環境ももれなくインストールできる。

  1. zip を展開し、どっかに置く (ここがFlutter SDKのインストール先になる)
  2. bin\flutter.bat を管理者権限で実行
  3. なんかダウンロードが始まってインストールされて終了

Flutter SDKのインストール先 D:\OneDrive\tool\flutter\
Dart SDKのインストール先 D:\OneDrive\tool\flutter\bin\cache\dart-sdk\


Dart プラグインのインストール

PhpStorm にDartプラグインをインストールする
Dart で検索して 開発者が JetBrains のを探す
f:id:iww:20210204131410p:plain


Dart プロジェクトの新規作成

新規作成で Dart を選び、Dart SDK のインストール先を設定する。
f:id:iww:20210204150456p:plain

サンプルを指定すると、適当に Hello,world! を作ってくれる。
f:id:iww:20210204181331p:plain


Dart の実行

タブの上で右クリックして Run を選択すると 実行される。
f:id:iww:20210204184659p:plain
最初は上のRunアイコンがグレーアウトしているが、一度でも実行すると なんか裏で設定が完了して 次からはRunアイコンで実行できるようになる。
テストの方も同様。

やったぜ

dmesgのuptime部分を日付にする 2

dmesg の時間表記を日時に変換するやつ

#!/usr/bin/perl

my $btime = `grep btime /proc/stat|cut -b7-`;

open(my $fh, "dmesg |") or die("open");
while(<$fh>){
    if( $_ =~ m/^\[\s*(\d+)\.\d*\] (.*)$/ ){
        my $time = $1;
        my $text = $2;

        my ($S,$M,$H,$d,$m,$Y,$x) = localtime($time+$btime);
        my $date = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $Y+1900,$m+1,$d,$H,$M,$S );
        print( "[$date] $text\n" );
    }else{
        print
    }
}


なんか昔書いてたはずだよなと思って検索したら昔書いたのがでてきた
dmesgのuptime部分を日付にする - 揮発性のメモ2


これで計算された日時は 実際の時刻となんか微妙に数秒ずれているけど、原因はわからない。
とりあえず目安には使えるのでほっとく

鹿児島県日置市

鹿児島県日置市ふるさと納税、焼き鳥6袋。
常温保存ができるのが大変すばらしい。 あたためは湯煎で1分。
味も炭火焼でおいしい。


MongoDBで、整数じゃない数値を探す

mongoシェルの上から適当にinsertすると、デフォルトで数値はすべて double になる。なってしまう。
整数を入れたいときは NumberInt() を使う

db.hoge.insert( {a:1} )        /* 実数 */
db.hoge.insert( {a:NumberInt(2)} )  /* 整数 (32bit) */
db.hoge.insert( {a:NumberLong(3)} ) /* 整数 (64bit) */
db.hoge.insert( {a:4.0} )      /* 実数 */
db.hoge.insert( {a:5.1} )      /* 実数 */

このように入れた場合、mongoシェル上でのfind()の結果は次の通り:

> db.hoge.find()
{ "_id" : ObjectId("6011329ea6c1088a137f39e7"), "a" : 1 }
{ "_id" : ObjectId("601132a3a6c1088a137f39e8"), "a" : 2 }
{ "_id" : ObjectId("601132a6a6c1088a137f39e9"), "a" : NumberLong(3) }
{ "_id" : ObjectId("601132eca6c1088a137f39ea"), "a" : 4 }
{ "_id" : ObjectId("601132efa6c1088a137f39eb"), "a" : 5.1 }

整数と実数の区別がつかないので、なんかもう 型で検索して確認するしかない

> db.hoge.find({a: {$type:"int"}})    /* 整数 (32bit) を検索 */
{ "_id" : ObjectId("601132a3a6c1088a137f39e8"), "a" : 2 }

> db.hoge.find({a: {$type:"long"}})   /* 整数 (64bit) を検索 */
{ "_id" : ObjectId("601132a6a6c1088a137f39e9"), "a" : NumberLong(3) }

> db.hoge.find({a: {$type:"double"}}) /* 実数 を検索 */
{ "_id" : ObjectId("6011329ea6c1088a137f39e7"), "a" : 1 }
{ "_id" : ObjectId("601132eca6c1088a137f39ea"), "a" : 4 }
{ "_id" : ObjectId("601132efa6c1088a137f39eb"), "a" : 5.1 }