日々精進

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

IT

Dockerfile内で. /opt/conda/etc/profile.d/conda.shを毎回実行しなくて良いようにする

IT

Dockerfileの中でconda環境をactivateした上でコマンドを実行したい場合、 RUN . /opt/conda/etc/profile.d/conda.sh && conda activate myenv RUN python test.py のようにしてもだめで、RUN実行毎に. /opt/conda/etc/profile.d/conda.sh && conda activate…

tty:trueを設定していてもdockerコンテナがすぐ終了してしまう

IT

docker-compose.ymlでcommandのところを以下のようにしていたらだめだった。 command: /etc/init.d/sshd restart && bash 以下のように複数コマンド実行する場合はbashスクリプトとして実行すれば大丈夫。 command: bash -c "/etc/init.d/sshd restart && ba…

コマンドプロンプトのコマンドは^を末尾に付けると改行できる

IT

超長いコマンドを書いていたのでこのTipsのお陰でかなり見やすくなって助かりました。 こんな感じで改行できる。 python -m mo^ --framework=tf^ --data_type=FP16^ --model_name=ssdlite_mobilenet_v3^ --input_shape=[1,320,320,3]^ --input=image_tensor^…

windowsでアプリから例外コード:0xc000001dのエラーが発生した

IT

イベントビューアで例外コード:0xc000001dのエラーログが出ていた場合。 この例外コードは不正な命令をCPUで実行しようとした場合に出る。例えば、 AVX非対応CPUでAVX命令を実行した場合 32bitOSで64bit用アプリを実行した場合 に発生する。 今回は_pywrap_t…

「のどか」をインストールするとキーボードが効かなくなる

IT

キーバインディングソフトの「のどか」をインストールしてPCを再起動すると、キーボードを打っても何も入力出来ない状態になった。 appletllc.com ログイン画面でPINを入力できず、ログイン出来ないので結構焦る。 原因は、のどかのインストール前にデバイス…

-Xmx -Xmsオプションで指定したJVMのヒープサイズとCloudWatchのMemoryUtilizationが合わない

IT

ECS ClusterでJavaサーバを動かしているが、-Xmx -Xmsに3GBを指定し、コンテナのメモリが4GBなのにCloudWatchのMemoryUtilizationは10%程度だった。 75%ぐらいになるはずなのに・・と思っていたが、原因はCloudWatchのMemoryUtilizationの分子は使用中のメモ…

見えて安心ネットでiPhoneのMACアドレスが見付からない

IT

Wifiルータの機能で見えて安心ネットというものがあり、MACアドレスで端末を識別し、通信できる時間帯を制限出来る。 Wifiルータが認識しているMACアドレスの中にiPhoneのMACアドレスが見付からないという現象が起きた。 原因はiPhoneがプライバシー保護のた…

ECSタスク起動時のエラーログを確認する方法

IT

ECSタスクが起動しなくなった、という場合。普通のサーバだったらまずログを見に行くがECSタスクだとサーバが起動しないとすぐ タスクが停止されるということもありログが取りにくい。 そんな場合は停止したタスクの詳細の停止理由のところを見るといい。詳…

楽観ロックでもデッドロックは発生する

IT

sqlでDBのデータをupdateする場合、updateした行はcommitされるまでロックされるため、 複数行を複数回SQLを実行してUpdateすると、デッドロックが発生する可能性がある。詳細は以下サイト参照。 blog.livedoor.jp ただし、複数行のUpdateがAtomicな操作で一…

AESのブロック長は128bit固定

IT

勘違いしてたけど、AESのブロック長は128bit固定。なのでIVも常に128bit。 鍵長は128,192,256から選べる。 stackoverflow.com 鍵はデータとXORを取るために使うのに、なぜブロック長と鍵長が一致しなくてもいいのかが不思議だ。以下の記事から想像するに、↓…

IntelliJ IDEAのコンソールの文字化けの直し方

IT

IntelliJの起動オプションで文字コードUTF8を指定すればいい。やり方は以下参照。 www.purin-it.com UTF8デフォルトにしてほしいなぁ。。

box driveのcacheを削除する

IT

box driveのcacheフォルダの容量が20GBぐらいになっていた。直接削除してもいいのかも知れないが、Boxのサイトにログアウトするとcacheが削除されると記載されていたので一度ログアウトした。無事cacheが削除されました。 参考: support.box.com

miniconda3/pkgsフォルダが肥大化しているのでcleanする

IT

miniconda3/pkgsフォルダが19GBも使っていた。このフォルダはキャッシュなので消しても大丈夫らしい。 conda clean --allを実行するとかなり容量削減できた。 参考: stackoverflow.com

batファイルのカレントディレクトリの取得方法

IT

%~dp0 で取得出来る。いやこれ、もっと直感的なコマンドにできなかったのかね。。覚えられる気がしない。 参考: qiita.com

Logicool OptuionsはVMWare Horizon Clientでログインしている場合は使えない

IT

自宅から会社のPCにログインして仕事をする場合、VMWare Horizon Clientを使ってログインしているが、この場合ログイン先のPCにLogicool Optuionsをインストールしてもマウスを認識してくれないのでマウスの設定をすることができない。 多分Windows標準のリ…

xcopyを実行すると「サイクリック コピーは実行できません」エラー

IT

原因はエラーメッセージの通りで、 xcopy . .\dist のようにコピー元がコピー先を含むようになっていたため。以下のように/EXCLUDEを使って.\distを除外してもだめだった。 xcopy . .\dist /EXCLUDE:.\xcopy-excludelist.txt 参考: www.atmarkit.co.jp

chocolateyを使ってwindowsアプリを一括インストールする

IT

chocolateyはwindows向けパッケージマネージャ。いつも便利に使わせて貰っています。 chocolatey.org chocolateyでinstallしたパッケージの一覧は以下の手順でexportできる。 choco install chocolateygui Chocolatey GUIを起動する 画面右上の方のexportボ…

OSSを使用した時の著作権表示

IT

以下のように各ライブラリの名前・作者・URL、ライセンスを記載し、その下に各種OSSライセンス(MITとかApache Licenseとか)の条文を載せる。 Lightweight SQLite3 wrapper for C++ - Copyright(c) 2014 Daniel Beer <dlbeer@gmail.com> - URL: http://dlbeer.co.nz/oss/sqlit</dlbeer@gmail.com>…

エクセルで画像へのリンクを画像に変換する

IT

エクセルですでにある画像へのリンクを画像にするのは以下の手順でできる。 画像へのリンクを選択してコピー。その後削除 Alt+E, Sの後形式を選択して貼り付ける これでエクセルファイルの容量すごい増えるけど、他の人に渡してもリンク切れにならない。

gitのHEADのtag nameをコマンドで取得する

IT

git describe --tags --exact-match で取得できる。HEADが指しているcommitにtagが無ければ空文字が返される。 参考: stackoverflow.com

コマンドプロンプトからzip圧縮を行う

IT

power shellのコマンドを使うとzip圧縮できる。 note.kiriukun.com でもコマンドプロンプトからやりたかったのでコマンドプロンプトでpower shellのコマンドを実行する方法と合わせて実現した。 www.ipentec.com 以下のコマンドを実行するとzipにできた。 po…

Pythonで絶対パスかどうかを判定する

IT

os.path.isabs(my_path) でできる。cross platformで使えるの有り難い・・ 参考: stackoverflow.com

docker compose yamlファイルに環境変数で定義されている値を埋め込む

IT

書き方は以下参照。デフォルト値も設定出来るのがいいなと思いました。値が設定されていない場合はエラーにすることもできる。便利だ。。 qiita.com

chromeでhome endキーでページの先頭などに移動できない

IT

カーソルブラウジング機能がONになっていることが原因。 F7キーを押すと直る。F7押した覚えないんだけど、Updateで自動的にONになったのかな。。 参考: did2memo.net

linuxでzipを解凍すると「start of central directory not found」エラー

IT

原因はunzipコマンドが4GB以上のファイルの解凍に対応していないため。 以下のように7zipをインストールして解凍すると解凍できた。 sudo yum install p7zip 7za x hoge.zip 参考: qiita.com

dockerのnetwork_mode: “host”とbridgeの違い

IT

network_mode: “host”はホストとdockerコンテナのIPアドレスが同一になる。以下で分かりやすく説明されています。 qiita.com なので、例えばdockerコンテナ内のプロセスから8888ポートをlistenすると、ホストの8888ポートをlistenすることになる。 port mapp…

pickle.dumpを呼ぶと「PicklingError: Can't pickle typing.List[~]: it's not the same object as typing.List」エラー

IT

pickleの代わりにcloudpickleを使うと直った。dillというライブラリも使ってみたが、そちらは解決しなかった。 参考: gitmemory.com

windowsでRotatingFileHandlerでログを出力すると「PermissionError: [WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。」エラー

IT

RotatingFileHandlerがwindows環境で上手く動かないっぽい。 代わりにConcurrentLogHandler を使うと直った。 参考: pypi.org

ChromeでMediaStreamTrack.Stopを呼ぶとブラウザが固まる

IT

以下の現象を踏んだ。。 support.skyway.io これが発生すると、画面上はDOMを変更しても何も変化しなくなってしまう。 Chromeを一旦バックグラウンドに送ってからフォアグラウンドに戻すと直る。

オライリーのサブスクを年額99ドルで利用する方法

IT

ACM会員になればオライリーの本が沢山読み放題になるサービスが通常価格より大分安い年額99ドルで利用できる。 そして、知らなかったが最近は日本語の書籍も多少追加されているらしい。利用手続きは以下が一番わかりやすかったです。 yoshikiito.net そして…