202011

HTTP Archive (HAR) File

HTTP Archive (HAR) File と言います。通常、一つの Web ページを閲覧すると、そのページで使われる各種ファイル(CSS や JS、画像など)に加え、XHR (XMLHttpRequest)を利用した非同期通信に至るまで多くの HTTP 通信が行われます。HARファイルは、このような一連の通信内容のキャプチャをまとめてJSON 形式でエクスポートしたものになります。 開発者同士でこの HAR ファイルを共有することで、トラブルシューティングに役立てます。クライアント開発側とサーバー開発側の間で断片的なスニペットを送り合うより効率がよく、情報を網羅的に共有できるといったメリットがあります。
  • HAR ファイルを取得する方法

    HAR ファイル出力は各ブラウザでサポートされており、取得の仕方について大きく異る点はありません。Chrome の場合、前述と同じくデベロッパーツールを開いて Network タブを選択、ログをクリアして “Preserve log“ にチェックを入れ、ページをロードします。 そうすると、ページを構成するファイルのダウンロードや通信が発生していることがわかります。どの項目でもいいので、右クリックして Save all as HAR with content すると保存できます。

Kap - Capture your screen

docker-compose run web rails new . --force --no-deps --database=postgresql --skip-bundle
docker-compose build
docker-compose run web bundle exec rails webpacker:install
docker-compose run web rake db:create
console

=====
$ rails new hoge --api
$ rails g model item title:string
$ rails g controller items
$ rails db:create
$ rake db:migrate

インテントベースのネットワーク

  • とはいえ,最初は自動復旧するようなやつがほしい.
  • モニタリングと,それをトリガして一定のシナリオの復旧操作をする.この復旧操作には人間の承認があってもいい.
  • 復旧操作がfailしたら人間にアラートする.人間がなんとかする.この人間がなんとかしないといけない部分を↑のシナリオにもっていけるようにすると人間がやらないといけないことは減る.
  • このサイクルを回すと自ずと自律的なシステムに近づく.スマートではないが,レガシーシステムにも適用できうる.

pyenvをシステムん全体にinstall on ubuntu20

  • とりあえず必要なものぶちこむ
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install git
$ sudo git clone https://github.com/pyenv/pyenv.git /usr/local/pyenv
  • sudo vim /etc/profile.d/pyenv.sh でシステム全体への環境変数をつくる
export PYENV_ROOT="/usr/local/pyenv"
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init - )"
  • pyenv: cannot rehash: /usr/local/pyenv/shims isn't writable が出る.rehashしたときに権限がないため.これを出したくないのであれば eval "$(pyenv init - -no-rehash)" と書く.読み込み時にrehashされなくなるので,install時とかにrehashを忘れないように実施する.
  • visudoでsudoしたときの環境変数を引き継ぐ
# 下記のように変更.sudoしたときにuserの環境変数を引き継ぐ
# Defaults secure_path # comment out
Defaults env_keep += "PATH"
Defaults env_keep += "PYENV_ROOT"
  • suでexec $SHELL -l してmkdirしてしまう
$ sudo su
$ exec $SHELL -l
$ exit
  • これやらないとuserではmkdirできる権限がないので
mkdir: cannot create directory ‘/usr/local/pyenv/shims’: Permission denied
mkdir: cannot create directory ‘/usr/local/pyenv/versions’: Permission denied

とか言われて怒られる

  • install
$ sudo pyenv install 3.9.0
Downloading Python-3.9.0.tar.xz...
-> https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz
Installing Python-3.9.0...
Installed Python-3.9.0 to /usr/local/pyenv/versions/3.9.0
$ sudo pyenv global 3.9.0
$ sudo pyenv versions
* 3.9.0 (set by /usr/local/pyenv/version)
$ sudo pyenv rehash
$ sudo pip install --upgrade pip

chromium DE headless

sudo apt install chromium-browser
chromium-browser --version

この時点でchromium.chromedriverがたたけるはず

driver = webdriver.Chrome('chromium.chromedriver', options=options)