うずら技術メモ http://webmemo.uzura.work/ 30代からのwebエンジニア、うずらによる徒然なる個人的技術メモです。日々調べた事をメモに残しています。このRSSファイルは「メモ一覧」のフィードです。 ja http://blogs.law.harvard.edu/tech/rss Copyright : 2008 - 2020 uzuralife.com uzuranoie@gmail.com uzuranoie@gmail.com シェルでアクセスログを解析・出力(ワンライナーあり) http://webmemo.uzura.work/article/5341
~~~
TARGET="2017:12"
for j in {0..59}
do
  TIME_PARENT=$TARGET":"`printf %02d $j`
  for i in {0..59}
  do
    TIME=$TIME_PARENT":"`printf %02d $i`
    cat /var/log/httpd/access_log|grep "$TIME"|wc -l|awk -v "time=$TIME" '{print time "  " $1}'
  done
done
~~~


### 12:25 台の毎秒のアクセス数を出力(日時付き)

~~~
TARGET="2017:12:25"
for i in {0..59}
do
  TIME=$TARGET":"`printf %02d $i`
  cat /var/log/httpd/access_log|grep "$TIME"|wc -l|awk -v "time=$TIME" '{print time "  " $1}'
done
~~~


### 【ワンライナー】12:25 台の毎秒のアクセス数を出力(日時付き)

~~~
TARGET="2017:12:25"; for i in {0..59}; do TIME=$TARGET":"`printf %02d $i`; sudo cat /var/log/httpd/access_log|grep "$TIME"|wc -l|awk -v "time=$TIME" '{print time "  " $1}'; done
~~~



### 【ワンライナー】デイリーPV取得ワンライナー (ボット等除く)

````
TARGET="202004"; for i in {1..8}; do DATE=$TARGET`printf %02d $i`; sudo cat "/var/log/httpd/access_log-$DATE"|grep -Eiv "\.jpg|\.png|\.gif|\.js|\.css|\.ico|robots\.txt"|grep -iv bot|grep -iv crawler|egrep -v -e '(Hatena::UserAgent|facebookexternalhit|Hatena Antenna|Sogou web spider)'|grep -v 除外したいIP|grep hoge.example.com|wc -l|awk -v "time=$DATE" '{print time "  " $1}'; done
20200401  77
20200402  109
20200403  104
20200404  73
20200405  106
20200406  102
20200407  82
20200408  76
````

流入元
````
sudo cat "/var/log/httpd/access_log-20200408"|grep -Eiv "\.jpg|\.png|\.gif|\.js|\.css|\.ico|robots\.txt"|grep -iv bot|grep -iv crawler|egrep -v -e '(Hatena::UserAgent|facebookexternalhit|Hatena Antenna|Sogou web spider)'|grep -v 除外したいIP|grep hoge.example.com|awk '{print $13}'|grep -v '"-"'|sort|uniq -c|sort -r
````

]]>
Thu, 09 Apr 2020 09:24:23 +0900 http://webmemo.uzura.work/article/5341
【引用記事】iPhone/iPad/Apple Watch解像度(画面サイズ)早見表 http://webmemo.uzura.work/article/5469






iPhone iOS







サイズ
端末     
ポイント
Retina
ピクセル
倍率
デバイス
アスペクト比




3.5
iPhone
iPhone 3G
iPhone 3GS
320x480
1
320x480
1
...
→ 続きを見る

引用元

https://qiita.com/tomohisaota/items/f8857d01f328e34fb551
]]>
Thu, 26 Mar 2020 11:54:08 +0900 http://webmemo.uzura.work/article/5469
mac 上の ubuntu で terraform http://webmemo.uzura.work/article/5449 image を確認する
コンテナを起動する
起動中のコンテナを確認する
ubuntu に root で入る
ubuntu から出る
コンテナを停止する
コンテナを削除する
imageを削除する

````
docker pull ubuntu
:18.04
docker images

docker run -it -d --name my-ubuntu ubuntu:18.04
docker ps
docker exec -it my-ubuntu /bin/bash
exit
docker stop my-ubuntu

docker rm?<コンテナ名> or docker rm?<CONTAINER ID>
docker rmi?<Dockerイメージ名> or docker rmi?<IMAGE ID>
````

## 各種dockerコマンドのまとめ
### Dockerイメージ取得、イメージ一覧確認
````
docker pull <Dockerイメージ名>
docker images
````

### コンテナ起動、コンテナ一覧確認
```
docker run -it -d -p <ホスト側ポート>:<コンテナ側ポート> -v <ホスト側ディレクトリ>:<コンテナ側ディレクトリ> --name <コンテナ名> <Dockerイメージ名>
docker ps -a
```

### コンテナへのログイン
```
docker exec -it <コンテナ名> bash
```

### ファイルコピー
(ホスト→コンテナ内)
```
docker cp <ホスト側のファイル> <コンテナ名>:<コンテナ内のコピー先ディレクトリ>
```

(コンテナ内→ホスト)
```
docker cp <コンテナ名>:<コンテナ内のコピー元ファイル> <ホスト側のコピー先ディレクトリ>
```

### コンテナからDockerイメージ作成
```
docker commit <コンテナ名> <作成するDockerイメージ名>
```

### コンテナ起動、停止
```
docker start <コンテナ名>
docker stop <コンテナ名>
```

### コンテナ削除
```
docker rm (-f) <コンテナ名>
```
※「-f」オプションを付けると、コンテナ起動中でも強制的に削除
]]>
Tue, 24 Mar 2020 22:03:16 +0900 http://webmemo.uzura.work/article/5449
gcs で静的サイト配信 http://webmemo.uzura.work/article/5465 * 配信するドメイン: gcs-site.example.com

## 事前準備
### CNAME で登録するドメインの所有者確認
* Google Search Console( https://search.google.com/search-console )にアクセス
* TXT に登録する文字列をコピーし、gcs-site.example.com の TXT にペースト&DNSレコードに反映
    + 参考: https://support.google.com/webmasters/answer/7687615?hl=ja#manage-owners
* Google Search Console で「承認」を実行
* gcs-site.example.com の CNAME に c.storage.googleapis.com を登録

## GCP Strage での操作
* gcs-site.example.com の名前でバケット作成
* バケットに公開するファイルをアップロード
* 権限を以下のように設定
    + 名前: allUsers
    + 役割: ストレージ > ストレージオブジェクトの閲覧者
* バケットの「ウェブサイトの構成を編集」で index.html と 404.html を指定する
]]>
Thu, 27 Feb 2020 13:28:32 +0900 http://webmemo.uzura.work/article/5465
GCP Strage 基本操作 http://webmemo.uzura.work/article/5462 ````
gsutil mb -l asia-northeast1 gs://uzura-bucket/
````
※バケット名はグローバルで一意


ファイルをアップする
````
gsutil cp ~/Desktop/icon.jpg gs://uzura-bucket
````

ファイルを落とす
````
gsutil cp gs://uzura-bucket/icon.jpg ./
````

確認する
````
gsutil ls gs://uzura-bucket/
````



]]>
Thu, 13 Feb 2020 09:03:51 +0900 http://webmemo.uzura.work/article/5462
gcp sdk を mac に brew で install http://webmemo.uzura.work/article/5460 brew cask install google-cloud-sdk
echo source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.bash.inc' >> .bash_profile
echo source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.bash.inc' >> .bash_profile
source ~/.bash_profile
````]]>
Wed, 12 Feb 2020 20:52:36 +0900 http://webmemo.uzura.work/article/5460
AWS EC2+Amazon Linux2 で flask を Apache + mod_wsgi で動作させる http://webmemo.uzura.work/article/5420 yum list available | grep python3
yum install python3-devel python3-libs python3-setuptools
sudo pip3 install mod_wsgi
cd /var/www/sites
git clone **** example.com
cd example.com
sudo pip3 install -r requirements.txt
find /usr/local/ -type f -name "mod_wsgi*.so"
vim adapter.wsgi
````
import sys
sys.path.insert(0, '/var/www/sites/example.com')

from run import app as application
````
sudo vim /etc/httpd/conf.d/virtualhost.conf
````
LoadModule wsgi_module /usr/local/lib64/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/sites/example.com
  WSGIScriptAlias / /var/www/sites/example.com/adapter.wsgi
  <Directory "/var/www/sites/example.com/">
    Order deny,allow
    Allow from all
  </Directory>
</VirtualHost>
````
sudo systemctl httpd restart]]>
Tue, 11 Feb 2020 16:42:11 +0900 http://webmemo.uzura.work/article/5420
【引用記事】表をPDF出力 http://webmemo.uzura.work/article/5457 https://qiita.com/mindwood/items/4332daa027cc26451b8a
https://symfoware.blog.fc2.com/blog-entry-772.html

引用元

https://thinkami.hatenablog.com/entry/2017/01/19/062615
]]>
Thu, 06 Feb 2020 10:06:05 +0900 http://webmemo.uzura.work/article/5457
AWS EC2+Amazon Linux2 に npm+webpack 環境を構築 http://webmemo.uzura.work/article/5453 mkdir ~/src
cd ~/src
git clone https://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
cat > ~/.bash_profile <<EOF
# nvm
if [[ -s ~/.nvm/nvm.sh ]] ; then
  source ~/.nvm/nvm.sh ;
fi
EOF

nvm ls-remote
nvm install stable --latest-npm
npm --version

cd path-to-npm-project/
npm install
cat > ~/.bash_profile <<EOF
# webpack
export PATH=$PATH:./node_modules/.bin

EOF
]]>
Tue, 03 Dec 2019 19:39:07 +0900 http://webmemo.uzura.work/article/5453
ホスト・コンテナ間のファイルコピー http://webmemo.uzura.work/article/5452 ```
docker cp my.cnf <コンテナID>:/etc/
```

コンテナ -> host
```
docker cp <コンテナID>:/etc/my.cnf my.cnf
```
]]>
Tue, 26 Nov 2019 21:24:22 +0900 http://webmemo.uzura.work/article/5452
docker で terraform 実行 http://webmemo.uzura.work/article/5451 cd <Dockerfileが存在するディレクトリ>
docker build -t hoge_dev .
docker run -it -d --name gc-terraform hoge_dev
docker exec -it gc-terraform /bin/bash
````
]]>
Tue, 26 Nov 2019 21:08:09 +0900 http://webmemo.uzura.work/article/5451
Dockerfile http://webmemo.uzura.work/article/5450
```
FROM ubuntu:18.04
RUN apt-get -y update
RUN apt-get -y install software-properties-common
RUN yes | add-apt-repository ppa:jonathonf/vim
RUN apt-get -y update
RUN apt-get -y install zsh
RUN chsh -s /usr/bin/zsh
RUN /usr/bin/zsh
RUN apt-get -y install git docker python vim neovim
```
* FROM: ベースとするDockerイメージを指定
* RUN: OSのコマンドを実行する
* ADD: tar.gzファイルのコンテナへのコピーとtarの展開を行う
    + ADD <コピー元> <Dockerイメージ内のコピー・展開先>
* COPY: tarの展開はおこなわず、コピー処理のみ行う
* CMD: コンテナ起動時に実行するコマンドを記述
* ENTRYPOINT:

```
cd <Dockerfileが存在するディレクトリ>
docker build -t tomcat:1 .
(docker build -t <Dockerイメージ名> <Dockerfileが存在するディレクトリ>)
docker images
docker logs -f tomcat-1 # logの確認
```

]]>
Tue, 26 Nov 2019 20:53:31 +0900 http://webmemo.uzura.work/article/5450
日本語を含むURLをリダイレクトさせる場合 http://webmemo.uzura.work/article/5448
  • リダイレクト元URLにマルチバイト文字を含む場合
    • 「%」の部分を「\x」に置き換える
  • リダイレクト先URLにマルチバイト文字を含む場合
    • 「%」の部分を「\%」に置き換える
    • NE (NoEncode)フラグを追加
  • 参考サイト: https://alaki.co.jp/blog/?p=2394
  • ex: ほげ(%E3%81%BB%E3%81%92) を ふが(%E3%81%B5%E3%81%8C)にリダイレクトさせる場合
    ```
    RewriteRule ^\xE3\x81\xBB\xE3\x81\x92/?$ /\%E3\%81\%B5\%E3\%81\%8C/ [NE,R=301,L]
    ```

    ]]>
    Mon, 25 Nov 2019 18:28:57 +0900 http://webmemo.uzura.work/article/5448
    【引用記事】iOSデバイス一覧表 サポートバージョンなどのまとめ http://webmemo.uzura.work/article/5447 引用元
    https://qiita.com/takkyun/items/814aa45beee422a5f0c6
    ]]>
    Mon, 07 Oct 2019 09:35:15 +0900 http://webmemo.uzura.work/article/5447
    RDSのログはTABLE保存とファイル保存のどちらがいい? http://webmemo.uzura.work/article/5445

    【メモ】
    https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html
    より

    ## ファイル形式の場合 ##
    * ログは 1 時間ごとに自動的にローテーションされる
    * 24 時間以上前の古いログファイルは削除される
    * RDSインスタンスのディスク領域の2%を超えるとサイズの大きいファイルから削除される

    ## テーブル保存の場合 ##
    * 以下の場合に24 時間ごとにログテーブルのローテーションが実行される
        + RDSインスタンスのディスク領域の20%を超えている
        + またはすべてのログの合計サイズが 10 GB を超えている

    ## まとめ ##
    * ファイル保存の場合、最大24時間分しか残らない
    * テーブル保存の場合、ディスク領域の20%または10Gを超えない限り保持され続ける
    * ログファイルをS3に定期的に自動転送するにはスクリプト書く必要がある(AWS標準機能では用意されていない)

    ]]>
    Thu, 29 Aug 2019 12:10:35 +0900 http://webmemo.uzura.work/article/5445
    flask の let's encrypt 設定 http://webmemo.uzura.work/article/5444
    certbot certonly --webroot -w /var/www/sites/example.com/app/templates/ -d example.com]]>
    Mon, 19 Aug 2019 17:29:37 +0900 http://webmemo.uzura.work/article/5444
    【引用記事】MacでAnaconda/Jupyter Notebook をつかえる環境を構築する(含 Homebrew,pyenv,Pythonのインストール) http://webmemo.uzura.work/article/5443


     



    続きを見る

    引用元

    https://qiita.com/masatomix/items/b1a0ec216ea943c86a2a
    ]]>
    Mon, 12 Aug 2019 09:03:58 +0900 http://webmemo.uzura.work/article/5443
    【引用記事】カテゴリー http://webmemo.uzura.work/article/5441

     
     

    【AWS 再入門】EC2 + RDS によるミニマム構成なサーバー環境を構築してみよう




    フロントエンドエンジニアですが、AWS 始めてみます
    そんな訳で、UI デザイナー > Flex ディベロッパー > マークアップエンジニアと、今日までフロントエンド一辺倒で来た私 wakamsha ですが、とある事情から Amazon Web Services ( 以下、AWS ) と戯れてみることになりました。とはいえインフラ関連の知識がほぼゼロな自分が一からお勉強するというのもなかなかどうして学習コストがかかるので他の人にお任...
    → 続きを見る

    引用元

    https://tech.recruit-mp.co.jp/infrastructure/retry-aws-minimum-vpc-server-environment/
    ]]>
    Fri, 02 Aug 2019 15:07:02 +0900 http://webmemo.uzura.work/article/5441
    オブジェクト・配列を変更しても更新されない(変更が検出されない) http://webmemo.uzura.work/article/5440
    配列の変更は push() pop() shift() unshift() splice() sort() reverse() を使う

    オブジェクトン変更は
    objectの変更は Vue.set(), this.$set() を使う
    ]]>
    Tue, 16 Jul 2019 09:55:32 +0900 http://webmemo.uzura.work/article/5440
    【引用記事】アマゾン眺めてたら、マグアイアーズの http://webmemo.uzura.work/article/5439 ゴールドクラスカルナバプラスペーストワックスG7014
    が2689円で売ってますね
    アルティメットペーストワックスG18211が3481円
    名前だけだとカルナバプラスのが高そうですが、
    本元のダイレクト価格がゴールドクラスが$16.99
    アルティメットが$24.99なんで妥当なんですね
    Uの方はデータが重質ナフサ30-60%のみ記述しか無くて
    舐めてるのですがw
    ゴールドペーストワックスの方はまともですので、見ましょう

    GCC+ペーストワックスG7014
    成分:
    重質ナフサ 30-60%
    有...
    → 続きを見る

    引用元

    https://medaka.5ch.net/test/read.cgi/car/1556461452/l50
    ]]>
    Sun, 23 Jun 2019 16:22:33 +0900 http://webmemo.uzura.work/article/5439