日々精進

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

2017-01-01から1年間の記事一覧

windowsで特定のポートをlistenしているプロセスを調べる

IT

サーバを起動したらポートがすでに使われててサーバが起動しない・・という場合によく使う。 例えば以下を実行すると80番ポートをlistenしているプロセスのpidがわかる。 netstat -oan | findstr 80 参考: www.atmarkit.co.jp

jarファイルの書き換え方

IT

jarの拡張子をzipにしてすべて解凍してファイルを修正して再度zipで固めて拡張子をjarに戻したらjava -jar temp.jarを実行したらエラーになってしまった。 対象のファイルだけを修正して差し替えないとだめっぽい。 やり方は以下参照。

iOS端末のcrash reportを取得する

IT

MobileSafariがクラッシュした場合などにクラッシュログを見たいという場合は以下の方法で見られる。 設定>プライバシー>解析および改善>解析データ Macに取り込む方法は以下。 iOS端末をMacに繋げて同期する ~/Library/Logs/CrashReporter/MobileDevice…

Vue.jsでv-forなしで:key属性のみ付けた場合の挙動

IT

その場合、:keyの値が変わった時にコンポーネントが新しく作り直されるらしい。 これは値が変わった時に毎回transitionを実行したい場合等に使えるっぽい。 参考: stackoverflow.com

AndroidをMacに繋いでchromeで開いたサイトのdev toolをMacで見る

IT

スマホWebアプリのJSのデバッグ実行をしたい・・という場合。基本は以下の通りにやればできる。 developers.google.com が、「Inspect」ボタンをクリックした時に「HTTP/1.1 404 Not Found.」と表示された。 これは端末のchromeのバージョンとMacのchromeの…

springアプリでbootRunを実行すると「generating equals/hashcode implementation but without a call to superclass」警告

IT

原因は以下。 ある実装クラスAを継承している実装クラスBに@Dataがついている その場合、Bのequals/hashCodeではAのフィールドは使われない。なのでAで定義されているフィールドの値が違っていてもa.equals(b)がtrueになってしまう @EqualsAndHashCode(callS…

growpart /dev/xvda 1を実行すると「mkdir: cannot create directory ‘/tmp/growpart.28317’: No space left on device」エラー

IT

原因はディスク領域が空いてなさ過ぎてフォルダも作れないこと。 不要なファイルを消して空き領域を増やすと直った。 参考: qiita.com

lombokのAccessorsアノテーションはexperimentalなので本番で動くコードには使わない方が良いかも

IT

@Accessors(fluent=true)が使いたくて@Accessorsを使っていたが よく見たらexperimentalパッケージの下にある。 以下によるとexperimentalの機能はあまりテストされてなかったり、不具合修正が遅かったり消えることがあったりするらしい。 projectlombok.org…

JUnitで例外がthrowされることをテストする

IT

調べた範囲だと、JUnit5だと以下のように書くのが一番良さそうだった。 Exception exception = assertThrows(NumberFormatException.class, () -> { Integer.parseInt("1a"); }); throwされた例外の中もassertできるし、try catchを書かなくて良いし、これい…

Javaで型引数の境界型を複数指定する

IT

複数のInterfaceを実装しているクラスを型引数として使いたい場合は以下のように型を&でつなげる。 <T extends ClassA & InterfaceB> クラス定義の時はカンマ区切りなのにここでは&なのか。。 参考: stackoverflow.com</t>

Javaプログラムを実行すると「java.lang.NoClassDefFoundError: Could not initialize class」エラー

IT

メッセージからはクラス定義が無いことが原因のように見えるが、クラスを定義するコードはある。。 原因はstaticフィールドの初期化コードの中で例外をthrowしていることだった。 以下のようなコードでMyClassのコンストラクタで例外をthrowしているとNoClas…

AWSマネジメントコンソールでスイッチロールをちょっと楽にする

IT

以下のようにスイッチロールしたアカウント・ロール名・表示名を含むURLを作ってそこにアクセスするとスイッチロールの画面がそれらを入力した状態で表示される。 https://signin.aws.amazon.com/switchrole?account=account_id_number&roleName=role_name&d…

YAMLの値はダブルクォートで囲むべきか?

IT

yamlの値が文字列の場合、以下のようにダブルクォートで囲っても囲まなくても両方文字列と見なされる。 item_a: item_b: test item_c: "test" 以下によると基本ダブルクォートで囲まない方が良いけど、"10"のように囲むことで結果が変わる場合は必要に応じて…

JUnitを実行したら「Command line is too long」エラー

IT

想像だけど、IntelliJがテスト対象のクラスをすべてコマンドラインで指定しようとしてるんじゃないだろうか。。 .idea/workspace.xmlのPropertiesComponent要素の中に以下を書けば直る。 <property name="dynamic.classpath" value="true" /> なんでこれデフォルトじゃないんだろ。 参考: qiita.com</property>

Spring BootでInjectionしているコードをJUnitでテストする時もInjectionさせる

IT

@SpringBootTestアノテーションを付けるとInjectionしてくれる。 SpringBootを起動するからテストは遅くなるけど。。 なるべくPureJavaでテストを書いた方が良いですね。 参考: stackoverflow.com

IntelliJを 2020.1にUpdateするとLocal Changtesのところでダブルクリックすると差分表示されてしまう

IT

今までは当該ファイルを開く挙動だったのに。。 不便なので戻す方法を調べたところ、この挙動はnon-modal commit interfaceの仕様だということなので、 Settings | Version Control | Commit | Use non-modal commit interfaceのチェックを外したところ元の…

IntelliJでJavaをビルドすると「Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated」エラー

IT

原因はよくわからないが。。Invalidate cache and restartを実行すると直った。

Javaをビルドすると「最終パラメータの不正確な引数型を持った可変引数メソッドの非可変引数呼出し。」警告

IT

可変長引数にnullを渡していることが原因。 null⇒(Object[])null のように可変長引数の型にcastしてやれば警告は消える。 参考: teratail.com

文字選択を禁止しているサイトで文字選択出来るようにする

IT

chromeにQuick Javascript Switcher extension を入れてJSを無効にしたら選択出来るようになった。 参考: mabidiary.blogspot.com

EaseUS todo backupでバックアップを取ると「セクターの書き込みに失敗しました。」エラー

IT

チェックディスク コマンド 実行を実行したら直った。壊れたデータがあるとだめみたい。 以下のコマンドで実行出来る。 chkdsk c: /r 参考: mp-app.net

「ユーザがこのコンピュータを使うには、ユーザ名とパスワードの入力が必要」が表示されない

IT

windows10に自動ログインする設定項目の「ユーザがこのコンピュータを使うには、ユーザ名とパスワードの入力が必要」が表示されなくてこまった。 原因は「Windows Helloが有効になっていること」らしいので以下を参考に無効にしたら表示されるようになった。…

chrome remote desktopでマウスカーソルが消える

IT

物理的にマウスを接続していないPCの場合この問題が起こる。 今までは不要でもマウスを接続して対処していたが、 「テンキーを使って画面上でマウスを移動する」をオンにしても解決できるらしい。素晴らしい!やってみたらマウスカーソルの残像が残るように…

apt-get実行時に「E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)」エラー

IT

原因はuserがrootでないこと。 今回はDockerfileの中だったので USER root を実行して対応した。 参考: www.debian.org

TF-TRTとTRTではTRTの方が速い(恐らく)

AI

TensorRT周りは色々ややこしい。。 TensorFlowに組み込まれたTensorRTがあり、これをTF-TRTという。 TensorRT(TRT)はNVIDIAが開発している深層学習を高速に推論するためのライブラリ。 TF-TRTはTensorRTが対応している部分のみTensorRT化して推論する。 ここ…

pip installを実行すると「Could not install packages due to an EnvironmentError: [Errno 13] Permission denied」エラー

IT

インストール先の書き込み権限がないことが原因と思われる。 エラーメッセージの中に--userオプションを使えと書いてあるが、確かにこれを付けるとエラーが解消する。 参考: engrowth.me

docker-compose upを実行すると「Unsupported config option for ...: 'runtime'」エラー

IT

原因はruntimeの指定はversion2.3以降からサポートされているが、docker-compose.yamlの最初のversionが2になっていたため。 以下のような感じだった。 version: '2' services: tensorrt: image: tensorrt:latest runtime: nvidia 先頭行をversion: '2.3'に…

VBAで編集距離を計算するマクロ

AI

以下で紹介されているコードを使って編集距離計算できました。ありがたい・・ stackoverflow.com

/usr/sbin/sshdを実行すると「missing privilege separation directory /run/sshd ubuntu」エラー

IT

OSはubuntu 18.04。以下のようにservice経由で起動すると起動できた。 service ssh start 参考: serverfault.com

boolean型のインスタンス変数に対してlombokが生成するgetterにisを付けない

IT

@Getter(fluent = true) または @Accessors(fluent = true) を付けるとisが付かなくなる。詳細は以下参照。 stackoverflow.com

pythonスクリプトのプロファイルを取ると「_generate_unique_filename」がボトルネックになっていた

AI

_generate_unique_filenameって何だ・・・と思っていたら、これはattrパッケージの中で定義されている関数で、 クラス定義に@dataclassが付いていると呼ばれるっぽい。 pydoc.net 以下のようなクラス定義がforループの中にあって何度も呼ばれると_generate_u…