2つの日付間の距離を計算する 改
↑の記事で書いた処理に割と無駄があったので、色々試行錯誤した結果↓のコードになった
こちらのほうがいくらかスマート
var targetDate = Date.parse('2017/04/04 12:34:00'); var timeSpan = Math.floor((Date.parse(targetDate) - Date.now()) / 1000); var sign = Math.sign(timeSpan); timeSpan = Math.abs(span); var second = timeSpan % 60; timeSpan = (timeSpan - second) / 60; var minute = timeSpan % 60; timeSpan = (timeSpan - minute) / 60; var hour = timeSpan % 24; timeSpan = (timeSpan - hour) / 24; var day = timeSpan;
2017/04/03
忘れてました
昨日4/3は仕事で問題を起こしてしまったので今後気を付けたい
UIの改修をするときは設定ファイルの値を無闇に変更しないようにしよう!(問題ないと確信していても)
bashのメモ ( < << <<< <() )
仕事のbashスクリプトを見ていると<<<
や<()
が使われていて、初心者の自分には?だったので、調べた結果をメモしておく
正直な話、完全には理解しきれていない..
< (入力リダイレクト)
<
の後にファイルを指定すると、内容がファイルディスクリプタ0(標準入力)にリダイレクトされる
↓の二つはほぼ同義..?
$ cat <data hoge fuga
$ cat data | cat hoge fuga
<< (ヒアドキュメント)
_EOF_
は任意の文字列でよい
その間の文字列が標準入力として扱われてコマンドが実行される
インデントをするための機能や、エスケープをする機能もあるらしいがその辺は調べていない
$ cat <<_EOF_ > hoge > huga > _EOF_ hoge huga
<<< (ヒアストリング)
ヒアドキュメントと同じような機能
<<<
直後の文字列が標準入力として扱われる
$ cat <<<hogefuga hogefuga
ヒアドキュメントと同じように複数行も動いた
$ cat <<<' > hoge > fuga > ' hoge fuga
ヒアストリングとドキュメントはどのように使い分ければよいのだろうか..?
<(…) (プロセス置換)
コマンドの出力結果を一時ファイルのように扱ってくれる機能 本来ならファイル名でしか指定できないdiffコマンドもご覧の通り
$ diff -u <(echo 'hoge') <(echo 'fuga') --- /dev/fd/63 2017-04-01 21:28:41.000000000 +0900 +++ /dev/fd/62 2017-04-01 21:28:41.000000000 +0900 @@ -1 +1 @@ -hoge +fuga
これは仕事のスクリプトでもよく使われていて便利そうだった
2017/03/31
また忘れてた
2017/03/30
忘れました
昨日は22:00退社で、そのまま会社の人と飲みに行きました
2017/03/29
忘れてた
22:00ごろ退社
2017/03/28
退社