EC2上にデプロイしているアプリのタイムアウト値は200秒などかなり長い時間になっているのに、それよりも短い70秒ぐらいのリクエストがタイムアウトになっていた。 原因はALBのアイドルタイムアウト値。アプリサーバがリクエストを受けてからレスポンスを返すまでにアイドルタイムアウト値以上の時間がかかると接続が切られる。 この値の初期値は60秒なので、200秒にしたら解決した。
windowsで特定のポートをlistenしているプロセスを調べる
サーバを起動したらポートがすでに使われててサーバが起動しない・・という場合によく使う。 例えば以下を実行すると80番ポートをlistenしているプロセスのpidがわかる。
netstat -oan | findstr 80
参考:
jarファイルの書き換え方
jarの拡張子をzipにしてすべて解凍してファイルを修正して再度zipで固めて拡張子をjarに戻したらjava -jar temp.jarを実行したらエラーになってしまった。
対象のファイルだけを修正して差し替えないとだめっぽい。 やり方は以下参照。
iOS端末のcrash reportを取得する
MobileSafariがクラッシュした場合などにクラッシュログを見たいという場合は以下の方法で見られる。
設定>プライバシー>解析および改善>解析データ
Macに取り込む方法は以下。
- iOS端末をMacに繋げて同期する
- ~/Library/Logs/CrashReporter/MobileDeviceにデバイス名のフォルダができているのでそのしたにクラッシュログがある
参考:
Vue.jsでv-forなしで:key属性のみ付けた場合の挙動
その場合、:keyの値が変わった時にコンポーネントが新しく作り直されるらしい。 これは値が変わった時に毎回transitionを実行したい場合等に使えるっぽい。
AndroidをMacに繋いでchromeで開いたサイトのdev toolをMacで見る
スマホWebアプリのJSのデバッグ実行をしたい・・という場合。基本は以下の通りにやればできる。
が、「Inspect」ボタンをクリックした時に「HTTP/1.1 404 Not Found.」と表示された。 これは端末のchromeのバージョンとMacのchromeのバージョンが合ってないため。 以下を参考にinspect fallbackを実行したら直った。
springアプリでbootRunを実行すると「generating equals/hashcode implementation but without a call to superclass」警告
原因は以下。
- ある実装クラスAを継承している実装クラスBに@Dataがついている
- その場合、Bのequals/hashCodeではAのフィールドは使われない。なのでAで定義されているフィールドの値が違っていてもa.equals(b)がtrueになってしまう
@EqualsAndHashCode(callSuper=true) をクラスBにつけると直った。
参考: