うずら技術メモ 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 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
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
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, 03 Dec 2019 19:31:20 +0900 http://webmemo.uzura.work/article/5420
ホスト・コンテナ間のファイルコピー 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
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, 26 Nov 2019 20:44:47 +0900 http://webmemo.uzura.work/article/5449
日本語を含む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
    cron デバッグ http://webmemo.uzura.work/article/5437 ]]> Thu, 02 May 2019 19:23:03 +0900 http://webmemo.uzura.work/article/5437 【引用記事】git diffで、異なるブランチの異なるファイルを比較する方法 http://webmemo.uzura.work/article/5436 2013/06/09

    "ブランチ名:ファイルパス名" という表記を使えば簡単です。
    例:br1ブランチのfoo/bar.tx と br2ブランチのhoge/fuga.txtを比較したい

    git diff br1:foo/bar.txt br2:hoge/fuga.txt

    ちなみに異なるブランチ間の同じファイルを比較する場合は、

    git diff br1 br2 foo/bar.txt

    のように書けます。

    引用元

    http://dqn.sakusakutto.jp/2013/06/git_diff_branch_file.html
    ]]>
    Thu, 11 Apr 2019 13:21:31 +0900 http://webmemo.uzura.work/article/5436
    mac の sed で 改行を出力 http://webmemo.uzura.work/article/5435
    http://takuya-1st.hatenablog.jp/entry/2017/12/01/000000
    ]]>
    Wed, 10 Apr 2019 13:11:14 +0900 http://webmemo.uzura.work/article/5435
    AWS環境でなるべく格安でセキュリティ対応する http://webmemo.uzura.work/article/5433 - WAF: AWS Shield →設定したルール数 ×従量課金(月\1000以内と予測)
    -- 設定ルール要確認
    - 不正侵入検知: sshログイン時に通知メール
    - 不正侵入防止: 作業時以外は ssh ポート閉じる
    - 不正改竄検知: AIDE(Advanced Intrusion Detection Environment) ※OSS/無料
    - 不正改竄防止: 行わない(検知時に適切に対応 or スナップショットから再構築)
    - アンチウィルス:
    -- Clam AntiVirus ※OSS/無料
    -- Trend Micro Deep Security as a Service
    --- ↓みると1日26円くらい?(まじで?)
    ---- https://aws.amazon.com/marketplace/pp/B01LXMNGHB?qid=1554443034968&sr=0-1&ref_=srh_res_product_title
    --- 代理店通すと高いので、MarketPlace で購入して自分で入れる必要あり
    ]]>
    Fri, 05 Apr 2019 16:35:38 +0900 http://webmemo.uzura.work/article/5433
    推奨環境の案内事例 http://webmemo.uzura.work/article/5432
    https://www.amazon.co.jp/gp/help/customer/display.html?ie=UTF8&nodeId=201909090
    https://help.twitter.com/ja/using-twitter/twitter-supported-browsers

    https://sellercentral.amazon.co.jp/gp/help/external/21361?language=ja-JP&ref=mpbc_200269720_cont_21361

    OSの影響
    * フォント
    * ファイルアップロードのファイル選択UI
    * DNSキャッシュ関連
    * 証明書(Safari)
    など
    ]]>
    Wed, 03 Apr 2019 11:01:07 +0900 http://webmemo.uzura.work/article/5432
    【引用記事】[Vue.js]外側をクリックすると閉じるドロップダウンメニュー http://webmemo.uzura.work/article/5431




    [Vue.js]外側をクリックすると閉じるドロップダウンメニュー

    はじめに




     
     

    メニューボタン押すと開く

    メニューボタンもう一度押すと閉じる

    メニューの外側押しても閉じる


     
     
    どこでもよく見るアレをvue.jsで
     
     

    デモ
     
     
    デモ(jsfiddle)
     
     

    説明
     
     

    親コンポーネント
     
     

    html



    <div style= "positi...
    → 続きを見る

    引用元

    https://qiita.com/huigo/items/a888dcee8f46d62bb9e3
    ]]>
    Wed, 03 Apr 2019 09:04:43 +0900 http://webmemo.uzura.work/article/5431