byobuの上のVimのCtrl + aが効かない

Ubuntu 14.04でbyobuを使ってターミナルを便利にしてるとvim上でctrl + a (数字に1を加える)が効かなかったりします
aで効いたり)

byobuのエスケープシーケンスとかぶってるからで、byobuのエスケープシーケンスを変えると解決しました
byobuの上でF9を押して、エスケープシーケンスの変更

byobu-config

Ctrl + K
にしてみました

vim上で使っているショートカットを見るには

:h index.txt

で確認

byobuのエスケープシーケンスは
<エスケープシーケンス> , c
とすると新規タブが開いたりします

クリックジャッキング対策をNginxのサイトにしてみた

Ubuntu + Nginxで運用しいているサイトを
Observatory by Mozillaっていうのでサイトのセキュリティを調べてみたらD+のランクだったので対応してみました

クリックジャッキング - Wikipedia
の対策ができてなかったのでそこの対応をしました

Nginxの設定を変えます

$ sudo vim /etc/nginx/conf.d/default.conf

  add_header X-Frame-Options SAMEORIGIN;                                           
  add_header X-Content-Type-Options nosniff;                                       
  add_header X-XSS-Protection "1; mode=block";                                     
  add_header Content-Security-Policy "default-src 'self' 'unsafe-eval' https:;";

Content-Security-Policy(CSP)は、httpsだったらOKにしているので、セキュリティとしては良くないです
本来なら、スクリプトの指定や、styleの指定など個別でしたほうがいいです

nginxを再起動して、再度、Observatory by Mozillaで調べてみると

Observatory by Mozilla

Aになりました

参考)
Nginxセキュリティ設定 - Qiita
Content Security Policy の利用方法 - Web セキュリティ | MDN

phpで2つの時間の秒数の差をみる

phpで時間を扱うのに便利なのは DateTime ですが、秒数の差を取ってみました

$now = new DateTime();
$tomorrow = (new DateTime())->add(new DateInterval('P1D'))->setTime(0,0,0);
$interval = $tomorrow->diff($now);
var_dump($interval);

$tommorow は今日に1日足して、時間を0時0分0秒にしたので、今晩0時になります
とすると DateInterval の差が取れますが、秒数に変換できないので

var_dump($tomorrow->getTimeStamp() - $now->getTimeStamp());

で対応しました
これで秒数が取れます

bashでcsvファイルを連番ファイル名でコピーする

たくさんのCSVファイルを用意したかったので、bashでやりました

まずは1つcsvファイルを用意

$ ls
sample.csv

for文を使ってコピーします

$ for i in {1..20}: do cp sample.csv $i.csv; done;

これで 1.csv 2.csv 3.csv … と20個のcsvファイルができました

普通のシェルスクリプトをセミコロンで区切ってワンライナーにしてるだけでした