日々精進

新しく学んだことを書き留めていきます

IT

Visual Studio Codeで最近入れて便利だった設定

IT

AutoSave ファイル>AutoSaveにチェックを入れるだけ。1秒編集してなかったら保存してくれる。 ファイルのソート順を最終更新日順にする 設定画面でexplorer.sortOrderで検索し、設定をmodifiedに変更する。ソート順変更ぐらいはエクスプローラペインから出…

sshでログインしようとすると「ssh_exchange_identification: read: Connection reset by peer」エラー

IT

原因はsshdが起動されてないことだった。sshdを起動すると直った。 参考: unix.stackexchange.com

Linuxのユーザ一覧を表示する方法

IT

cat /etc/passwd を実行するとユーザ一覧が見える。catで見るのか。専用のコマンドとかあっていいと思うけど。。 各行の情報の詳細は以下参照。 eng-entrance.com

dockerコンテナにsshを使わずログインするにはdocker execを使う

IT

docker exec -it influxdb bash のようなコマンドを実行するとログイン出来る。 コンテナにsshdが入ってないことも多いので最初はこれで入って色々することが多い。 参考: qiita.com

シェルスクリプトから標準エラー出力に出力する方法

IT

echo 'stderr1' >&2 のように書く。 今まで全部標準出力に出してたけどちゃんと出し分けよう。。 参考: qiita.com

社内Proxy環境でCharlesを使う場合はExternal Proxyの設定をする

IT

Charlesが社内Proxyを経由してインターネットにアクセスするようにしないといけない場合は External Proxyの設定をする。 Charlesほんと便利。 参考: www.fwoabw.info

Pythonから送信したリクエストをCharlesで見る

IT

Charlesはhttp://localhost:8888をListenするので、以下の設定をすればリクエストがCharlesを経由するようになり リクエストの中身が見える。 proxy = urllib.request.ProxyHandler({'http': 'localhost:8888'}) opener = urllib.request.build_opener(proxy…

Pythonのurllib.requestがProxyを使わないようにする

IT

windows環境ではインターネットオプションで設定してあるProxyの情報を自動的に使うようになっているっぽい。 そのせいでlocalhostへのリクエストが社内Proxyに投げられておりエラーになっていた。 以下のようにNO_PROXY環境変数を設定するとProxyを使わない…

docker buildすると「Sending build context to Docker daemon」で何十GBもファイルをコピーする

IT

以下の対応によってDockerfileを置いているフォルダの一つ上の階層がbuild contextになったのだが、 docker buildを実行するとbuild contextの中のファイルをすべてimageにコピーしようとするっぽい。 anton0825.hatenablog.com そこにいらないファイルが大…

docker buildすると「COPY failed: Forbidden path outside the build context」エラー

IT

Dockerfileより上の階層のファイルはコピーできないらしい。 が、そうしたいこともあるのでDockerfileと同じフォルダに以下のスクリプトを置いて実行するようにした。 cwd=`dirname "${0}"` cd ${cwd}/../ docker build -t server01:001 -f ./server/Dockerf…

boto3でファイルをアップロードすると「Your proposed upload exceeds the maximum allowed size」エラー

IT

原因は一回のPUTリクエストでアップロードできる容量が最大5GBのため。 MultipartUploaderを使ってアップロードすると解決できる・・・はず(まだ試してません) 参考: qiita.com MultipartUploaderのサンプルコード: gist.github.com

IntelliJ系のIDEで.gitignoreでignoreしているはずのファイルの差分が出る

IT

Version ControlのWindowとかに差分が出て、なぜ・・・となった。原因はそのファイルがStagingにaddされているため。 Stagingから除くと差分も出なくなる。 IDE上だとStagingされてるかどうか表示されないのでなかなか気付けなかった。。

ブラウザで洋書を楽に読む方法

IT

O'Reilly MediaのSubscriptionServiceに長年入っているが、このサービスはブラウザで洋書の技術書が読めるので、最近Google翻訳を使うとすごく楽に読めることに気付いた。 www.oreilly.com 以下のChrome拡張を入れて、拡張機能のアイコンをクリック>このペ…

IAMロールを設定できるようにする方法

IT

IAMグループにDeveloperグループを作り、PowerUserAccessポリシーをアタッチして使っていたが これだけではIAMロールをEC2インスタンスに設定できなかった。(IAMロールを設定する箇所でアクセス許可がないというエラーメッセージが出る) 以下の公式ドキュ…

EC2インスタンスのサイズは途中で変更出来る

IT

インスタンスの停止中ならサイズを変更できる。知らなかった。。これ便利だなあ 参考: docs.aws.amazon.com

Linuxで環境変数を設定しようとすると「command not found」

IT

具体的には CUDA_VISIBLE_DEVICES=0,1,2,3 python test.py & を実行すると command not found と言われて困った。 コマンドはあってるはずなのに。。原因は「CUDA_VISIBLE_DEVICES」の部分をブラウザからコピペしてきたんだけど、 その時に変な文字コードも…

SourceTreeはGitHubEnterpriseServerに対応していない

IT

昔はオンプレ環境用のGitHubサーバの名前はGitHub Enterpriseだった気がするんだけど、 今はGitHub Enterprise Serverというらしい。 github.com SourceTreeでGitHub Enterprise Serverのアカウントを作ろうとしても作れない。 これは昔から要望としてはある…

EC2インスタンスからインターネットに接続できない問題

IT

色々原因はあるだろうけど、今回はセキュリティグループもルートテーブルも正しく設定しているのになぜ。。 と思ったら、ルートテーブルの設定は反映されるまで多少時間がかかるっぽい。 ルートテーブルの設定変更から数分経ったら直った。 そんなことあるの…

AWSのインスタンスストアはEBSよりかなり速い

IT

インスタンスストアとEBSの違いがよくわかってなかったのでこんな違うと思わなかった。。 シーケンシャルリードで3倍程度の差がある。 EBSはネットワークストレージなので転送速度は低いようだ。 参考: dev.classmethod.jp

Linuxで容量の大きいフォルダを探す方法

IT

du --max-depth=7 /* | sort -n を実行すると大きい順にソートしてくれる。 いっぱい出てくるのでこんな感じでテストデータなどを置いてるフォルダだけに絞ってもいいかも。 du --max-depth=7 /* | grep work | sort -n 参考: serverfault.com

ssh接続が切れて「Write failed: Broken pipe」エラーが出る

IT

しばらく通信してないと切れるっぽい。 以下のように ServerAliveInterval と ServerAliveCountMax を設定すると接続を維持してくれるらしい。 以下の設定を入れてから今のところまだ接続切れてないのでこのまま様子見。 HOST dev HostName xxx User ubuntu …

WinSCPでS3にファイルをアップロード・ダウンロードする

IT

WinSCPはS3に対応しているので設定をぽちぽちするとできるようになる。マジ神。 dev.classmethod.jp ブラウザからS3を使うよりずっと快適になった。これは素晴らしい。

WinSCPでS3にファイルをアップロード・ダウンロードする

IT

WinSCPはS3に対応しているので設定をぽちぽちするとできるようになる。マジ神。 dev.classmethod.jp ブラウザからS3を使うよりずっと快適になった。これは素晴らしい。

SSHを3段にし、さらにポートフォワーディングもする方法

IT

なんで2つも踏み台噛まさないといけないのか。。と思いつつ設定した。 .ssh/configに以下を記載する。 HOST humidai1 HostName xxx.xxx.xxx.xxx User xxx Port 22 GatewayPorts yes LocalForward 3111 localhost:3111 HOST humidai2 HostName xxx.xxx.xxx.xx…

Mobile SafariでWebRTCで動画をWebに表示する時の解像度

IT

Mobile SafariでWebRTCで動画をWebに表示する時の解像度は自由に選べるわけではなく、 以下の選択肢から選ぶ必要がある。 320x240 640x480 1280x720 参考: stackoverflow.com

Windows Subsystem for LinuxからWindowsのファイルにアクセスする方法

IT

以下のようなコマンドを実行するとCドライブのフォルダに移動できるので、そこから色々やればよい。 cd /mnt/c/Users/<ubuntu.username>/Pictures 参考: stackoverflow.com</ubuntu.username>

Windows Subsystem for Linuxを再起動する方法

IT

ターミナルを閉じてもWSLが停止するわけではないっぽい。以下を実行してからexitを実行すると再起動する。 sudo touch /var/run/reboot-required 参考: superuser.com

Windows Subsystem for Linuxインストール時に「ファイル システムを展開しています。この処理には数分かかります...」から進まない

IT

原因はWindows Subsystem for Linuxのインストール処理の途中でapt-getか何かがネットワークアクセスをしているが、 Proxyの設定がされていないのでインターネットと通信できず処理が止まっていたためだった。インストール完了前のUbuntuで動いているapt-get…

sshで秘密鍵を使ってサーバにログインし、rsyncでローカルとサーバのファイルを同期する

IT

rsyncのコマンドを以下のようにするとできた。 ポイントはサーバにログインするsshのコマンドを-e "ssh -p 10022"のように書くのでは無く.ssh/configにHOST dev_serverの設定を書くこと。 -eを使ってsshコマンドを書いた場合、-iオプションを使っても秘密鍵…

Windows Subsystem for Linuxでinotifywaitを実行すると「Invalid argument」エラー

IT

原因はWindows Subsystem for Linuxがinotifywaitが使っているファイル監視APIに対応していないため。 Windows 10 Insiders build #14942で対応済らしいが、俺が使っているWindows10のバージョンは14942より低いのでだめだった。。 本当はファイル変更通知を…