where句で"OR"を使いたい場合(index)
MySQLで"OR"を用いる時のインデックスがわからない。 結局、UNIONでがっちゃんこするしかなさそう。
mysql> SELECT COUNT(*) FROM table WHERE columnA = value1 OR columnB = value2; +----------+ | COUNT(*) | +----------+ | 1616 | +----------+ 1 row in set (9.92 sec) mysql> SELECT COUNT(*) FROM (SELECT * FROM table WHERE columnA = value1 UNION SELECT * FROM table WHERE columnB = value2) T; +----------+ | COUNT(*) | +----------+ | 1616 | +----------+ 1 row in set (0.17 sec)
git tagのいろいろについて
git tagを使う。
git flow release start rev20170620_1 git flow release finish rev20170620_1 git push --tags git tag premaster_`date +%Y%m%d`_rev1 git tag | grep premaster_ # git tagで見れる。
AWSのサーバにSFTP通信を行う。
インフラエンジニアがよく使うコマンド
インフラエンジニアがよく使うコマンドをまとめたページ。 貼っておいて後読もう。
ps axuww # プロセス確認 free -h # メモリ使用率の確認 df -h # ディスク使用率の確認 df -i # i-node確認 top -d1 # 実行中のプロセス確認 sar # CPU使用率の確認 sar -q # ロードアベレージの確認 sar -r # メモリの確認 sar -S # スワップの確認 sar -b # I/Oの確認 sar -n DEV -s 04:00:00 -e 07:30:00 | grep 'eth0' # ネットワークの確認
grepとかawkとかsortとかuniqueとか(niceも)
アクセスログのファイルに「/content」含まれないばあいにのIPアドレスだけ出力して、 ソートした後に集約して件数出して、その件数でソート(降順)して上位10件を出す。 にたいして、処理が重いので優先順位を下げる。
知らないコマンドとgrepの知らないオプションが使われていたので、メモする。
$ nice -n 19 grep -F '[19/Jun/2017:21:' access_log.20170619 | grep -Fv '/content' | awk -F '"' '{print $8}' | sort | uniq -c | sort -nr | head -10
Linuxコマンド集 - 【 nice 】 優先順位を決めてコマンドを実行する:ITpro
classにタグを埋め込んでクリック数を分析するのはGTMってのでやるらしい。
HTMLのclass属性に何かしら値をいれて、クリック数を計測する方法がある。
行動履歴の取得方法について
行動履歴のログ取得、つまり、アクセスの解析には以下のやり方があるらしい。
‘'アクセス解析ツールの測定方式は時代とともに変遷してきた。まず、一番古くからあるのが、Webサーバーのログを解析する「サーバーログ取得型」だ。それから、HTMLファイルにJavaScriptのタグを記述する「Webビーコン型(タグ型)」、最後の1つが「パケットキャプチャリング型」である。 ’'
この中でも、HTMLにタグ(javascript)を入れて情報を取得する「Webビーコン型」について調べた。 ‘'サイトの各ページにJavaScriptや特殊な画像イメージ(縦横1pxの透明なGIF画像など)をタグとして埋め込んでおき、貼り付けたページがブラウザで表示されるたびに、情報収集を行うサーバーにユーザーがアクセスしたページの情報を送る仕組みをWebビーコン型と呼びます。’'
外部の解析サービスに行動履歴の情報を飛ばさない場合は、自社のサーバ(Webサーバ→解析サーバ)に情報を飛ばす必要がある(proxyが必要)。 そのプロキシってリトライするのか調べていたが、情報を見つけられなかった。。
プロキシのリトライについて調べていたら、以下のpythonの変な実装のページに飛んだ。