Google、機械学習に最適化したクラウドサービス「Cloud TPU」ベータ公開開始。TensorFlow用の独自ASIC採用 - Publickey
“1時間あたり6.5ドル。” いいね www.publickey1.jp
“TensorFlow 1.4.1 でのトレーニングよりも 1.8 倍高速になりました” 速い 👍 aws.amazon.com
自分が漠然と感じてる思いをそのまま活字化したような記事だった あとで何回も読もう fromdusktildawn.hatenablog.com
ENV['SSL_CERT_FILE'] = PATH_TO_SSL_CERT_FILE
import os; os.environ['CURL_CA_BUNDLE'] = PATH_TO_SSL_CERT_FILE
暗号化されていないhttpでの通信であれば、後ほど紹介するcharles等をプロキシサーバにするだけで内容を傍受できます。しかし、SSL/TLSで暗号化されているhttpsの通信は、プロキシの設定だけだと「ハンドシェイクに失敗した」といわれて傍受することができません。
実際に開発を行う上で通信を傍受したいケースは、次のようなものが挙げられます。
他のAPIサーバへアクセスしに行く際、正しいパラメータでリクエストしているはずだがレスポンスが期待するものと一致しない。原因の切り分けのために送受信している内容を傍受したいがhttpsでアクセスしているため、SSL/TLSで暗号化されていて読めない…
→この方法で読めるようになります!
仕様書に沿ったリクエストを投げているのに、いっこうに期待するレスポンスをサーバが返してこない。以下同文。
→この文書では扱いませんが、以下で紹介されている方法で傍受することができます。
この辺を使ってください。私はcharles大好き人間なので課金して使っています。今回はcharlesを使いますが、mitm-pythonの場合もほぼ同様です。
予めcharlesを起動し、Help
-> SSL Proxying
-> Save Charles Root Certificate
でルート証明書を保存しておきます。mith-pythonの場合は ~/.mitmproxy/mitmproxy-ca-cert.pem
にあるものを使います。
基本的には環境変数で指定された値を与えてやればOKです。
http_proxy = 'http://THE_IP_OF_MITM_PROXY:PORT' # 変更する ENV['HTTP_PROXY'] = http_proxy ENV['http_proxy'] = http_proxy ENV['HTTPS_PROXY'] = http_proxy ENV['https_proxy'] = http_proxy ENV['SSL_CERT_FILE'] = './charles-ssl-proxying-certificate.pem' # 必要に応じて変更する
import os http_proxy = 'http://THE_IP_OF_MITM_PROXY:PORT' # 変更する os.environ['HTTP_PROXY'] = http_proxy os.environ['http_proxy'] = http_proxy os.environ['HTTPS_PROXY'] = http_proxy os.environ['https_proxy'] = http_proxy os.environ['CURL_CA_BUNDLE'] = './charles-ssl-proxying-certificate.pem' # 必要に応じて変更する
あとはそれぞれスクリプトを走らせれば、通信内容を傍受できます!
ええな gigazine.net
“DataFrame.get_value()、DataFrame.ix[]もあるが、どちらも最新のバージョンでは非推奨(Deprecated)になっている”知らなかった…勉強になる note.nkmk.me
なるほどな、手数料誤解してた部分あったから勉強になった toyokeizai.net