日々精進

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

ALB経由で時間のかかるリクエストを送ると502 GATEWAY TIMEOUTが発生する

EC2上にデプロイしているアプリのタイムアウト値は200秒などかなり長い時間になっているのに、それよりも短い70秒ぐらいのリクエストがタイムアウトになっていた。 原因はALBのアイドルタイムアウト値。アプリサーバがリクエストを受けてからレスポンスを返すまでにアイドルタイムアウト値以上の時間がかかると接続が切られる。 この値の初期値は60秒なので、200秒にしたら解決した。

参考: docs.aws.amazon.com

iOS端末のcrash reportを取得する

MobileSafariがクラッシュした場合などにクラッシュログを見たいという場合は以下の方法で見られる。

設定>プライバシー>解析および改善>解析データ

Macに取り込む方法は以下。

  • iOS端末をMacに繋げて同期する
  • ~/Library/Logs/CrashReporter/MobileDeviceにデバイス名のフォルダができているのでそのしたにクラッシュログがある

参考:

help.dayoneapp.com

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

スマホWebアプリのJSのデバッグ実行をしたい・・という場合。基本は以下の通りにやればできる。

developers.google.com

が、「Inspect」ボタンをクリックした時に「HTTP/1.1 404 Not Found.」と表示された。 これは端末のchromeのバージョンとMacのchromeのバージョンが合ってないため。 以下を参考にinspect fallbackを実行したら直った。

stackoverflow.com

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につけると直った。

参考:

stackoverflow.com