日々精進

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

Base64にエンコードされた画像を表示する

IT

以下のようにprefix data:image/jpeg;base64, をつけてアドレスバーに入力するとブラウザに画像が表示される。 data:image/jpeg;base64,{{Base64文字列}} こんな機能あったのか。。便利。 参考: blue-ham-cake1024.hatenablog.com

エクセルに「ブックの共有」を取り戻す

IT

エクセルのリボンから突如「ブックの共有」が消えたので以下を参考に復活させた。 pentan.net 消えた理由はブックの共有が非推奨になり、「共同編集」が推奨になったためと思われる。 でも共同編集の仕様を見てみると、クラウドでファイルを共有することが前…

Windows10でdockerを動かすための長い闘い ※終わってません

IT

以下の状況でDockerを動かしたい。 Windows10 on VMWare(つまり仮想化されている) Windows10のバージョンは1607 OSビルド 14393.2848 やり方は主に二通りあると思う。 VirtualBox・hyper-vなどのハイパーバイザを使う方法 Windows Subsystem for Linuxを使う…

dockerコンテナを終了させない

IT

CMDで指定したコマンドの実行が終わったらコンテナも終了するので、そうさせない方法。 調べるとforegroundプロセスが終了しないよう無限ループを実行するとか書いてる記事があってマジかと思ったが、 もっといい方法があった。docker run -dオプションをつ…

sshでログイン出来ない問題

IT

SSHは何度もハマってるが、またやってしまった。。 dockerコンテナ内でrootユーザがsshdを起動 /root/.ssh/authorized_keys に正しいキーは登録済み。権限も正しく設定済 上記の状況で、秘密鍵でログインできないがパスワードではログイン出来た。ログは以下…

sshトンネル経由でアクセス出来ない

IT

原因は以下だった。 トンネルを掘るssh接続にStrictHostKeyChecking noを設定していた。そのため、サーバのFingerPrintが違っていたが接続出来ていた。 ただ、その場合トンネルやパスワード認証などの機能はDisableにされるらしい。よく見たらログに「Agent …

Pythonのモジュール検索パスを確認する

AI

No Moduleエラーが発生したときに、パスが通ってないのが原因なんだろうけど、 正しく設定しているはず・・ということがある。設定されているパスを確認する方法は以下。 import sys import pprint pprint.pprint(sys.path) これで確認したらパスの設定が1階…

CentOSでOpenCVを動かすためにインストールするネイティブライブラリ

AI

ImportError: libSM.so.6: cannot open shared object file: No such file or directory とかのエラーメッセージが出た時の対処法。 yum install libSM を実行してもそんなパッケージないよと言われる。 yum search libSM でパッケージを探すとめっちゃいっ…

基本的だけど履歴書を書く上で注意した方が良いこと

IT

最近採用やっててこれやった方が良いのに勿体ないなと思うことがあったので書く。 履歴書の誤字脱字を無くす 誤字脱字の数は重要という記事を見てからチェックするようにしている。 gigazine.net 基本的な用語を間違っていると、「ホントはそれ使ったことな…

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

Deep LearningやるならNVIDIA RTX 2080 Tiが良さそう

AI

Tesla V100などDeep Learning用GPUは100万ぐらいするのでゲーミングGPUよりずっと性能高いんだろうなと思ってたけど 以下の記事によると意外と差が無かった。 gigazine.net RTX 2080 Tiすごいお得じゃん。。Deep Learning用物理マシンを買うならRTX 2080 Ti…

Flaskで開発サーバを起動する場合はflask_script.Managerを使うといい

AI

開発時にflaskサーバを起動する方法はいくつかある。例えば、 ・Flaskサーバのデバッグ構成を作成してそれを実行する pleiades.io ・flask cli経由で起動する。つまり、flask runを実行しデバッガはpython Remote Debug構成を作ってサーバ起動後にattachする…

社内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ロールを設定する箇所でアクセス許可がないというエラーメッセージが出る) 以下の公式ドキュ…

Pythonでディレクトリを丸ごとS3にアップロードする

AI

boto3にディレクトリをアップロードする機能はないのでaws cliでやらないといけない。 os.system(f"aws s3 cp ./home/ec2-user/dirname s3://bucket/dirname --recursive") のような感じでrecursiveオプションをつければいいのだが リモート側もまるっとコピ…

KerasでもDatasetAPIを使って効率的にtrain/validationデータを読み込む方法

AI

TFRecordファイルを読み込んでfitメソッドに渡そうと思ったんだけど、これがなかなか情報がなく苦労した。。 TFRecordを読み込んでfitメソッドに渡すところは以下のGistを参考にしてできた。 Training Keras model with tf.data · GitHub InputLayerやcompil…

TensorFlowのTFRecordファイルの中身を確認する方法

AI

作成したTFRecordが想定通りのフォーマットで作られているかを確認したい場合。 tf.data.TFRecordDataset([filepath]) で読み込むと、多分データが必要になるまで読み込まないようになるのでデータを確認出来ず困る(tf.Session()でSessionを開始してsess.ru…

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

IT

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

tf.stackとtf.parallel_stackの違い

AI

parallel_stackの方が引数の計算がまだ終わってない時にstackできるので速いが backpropagationができないという問題がある。 参考: www.tensorflow.org