フィールド名やテーブル名に予約語を使うこと自体が問題であることは重々承知だが、既存システムだと簡単に帰るわけにはいかない。
そういう時にCakePHPではデフォルトでクオートしてくれるのだが、Spring JPAの標準であるHybernateではクォートしてくれない。
クォートしたいときは以下のプロパティを設定する必要がある。
jpa:
properties:
hibernate:
globally_quoted_identifiers: true
フィールド名やテーブル名に予約語を使うこと自体が問題であることは重々承知だが、既存システムだと簡単に帰るわけにはいかない。
そういう時にCakePHPではデフォルトでクオートしてくれるのだが、Spring JPAの標準であるHybernateではクォートしてくれない。
クォートしたいときは以下のプロパティを設定する必要がある。
jpa:
properties:
hibernate:
globally_quoted_identifiers: true
普通はDNSはプライマリーとセカンダリーを設定するのだが、そのせいで謎現象に遭遇したというお話。
プライマリーには8.8.8.8のgoogleのdnsを指定して、セカンダリーには自分で立てた内部用dns(内部IP以外は8.8.8.8に移譲している)を設定していた。
時折自分のドメインのDNSが内部のIPを示すことがあった。ブラウザを変えるとIPが変わったりするという超絶謎状態。
どうやらプライマリーで設定したDNSに接続できないか時間がかかる時はセカンダリーに接続し、そのセカンダリーに自分のドメインのサーバーのテストサーバーを登録して居たため謎の現象が発生していたようだ。
DNSの登録をプライマリーだけにしたら上記の現象は解消した。
前回の投稿でSpringBootとApacheを連携させローカルで動かしているのと同じ状況までもっていくことができた。
これで問題なしと思っていたら、リダイレクト時に元のポート番号まで含むかたちでリダイレクトするものだから、うまくいかない状況だということが判明した。
これはhttp://から始まりホスト名:ポート番号まで含んでリダイレクトしてしまっていることが原因なので、パス以下でリダイレクトするように設定を変更する。
server:
tomcat:
use-relative-redirects: true
Spring boot単体で起動するときはあまり問題にならないがApacheのmod_proxyで連携させるときにいろいろと問題がが出てきた。
まずはSpringBoot側のcontext-pathを/にしていた場合にはApache側で/を割り当てないかぎりcssなどの静的ファイルの読み込みに失敗する。
静的ファイルのみ別に配置して、そこのパスをApacheで割り当ているようにしてもよいのだが、お手軽にいくならcontext-pathをApacheとそろえることで解消できた。
7payで不正クレジットチャージが相次いでいるという情報が昨夜からちらほら。
そしてパスワード再発行の仕組みに致命的な欠陥があり、他人でも知りうる情報でパスワード再発行が別のメールアドレス経由でできることも判明。
というわけで7payにはセキュリティ上の欠陥があり、しばらく使わないのがいちばん安全であるという結論。無料おにぎり欲しさに数万円不正利用されては元も子もあるまい!
paypayの時も同じだったけど、キャンペーンでばらまきすぎてアクセス殺到し、サーバー負荷が高まってエラーになってしまうパターンである。
現場は大混乱で修羅場であろう。こんな不安定な状態で登録なんてするべきじゃないので落ち着くまで待つべしである。
いくらバラマキキャンペーンで得をしたとしても、金銭にかかわる個人情報を渡しているということをお忘れなく。
Apacheのモジュールで圧縮を有効にするmod_deflate
圧縮時にCPUパワーを食うのだが、対してアクセスもないサイトなので有効にして見た。一ヶ月ほどしてCloudFrontの料金(自分のAWS利用料の8割)を比較して見たところ$2が$1ほどになったという!効果てきめん!
やっぱりAWSをやっていると以下にインターネットとAWSの間の通信量を減らすかというのがポイントだな。
JDKが有償化されたというイメージが強いが、無償で使い続けることはできる。
まずは常にOpenJDKの最新のバージョンアップに追随すること。個人的な利用用途であればこれでよいのではないかと思われる。
企業だとなかなか気軽にバージョンアップはできないので、その場合は6か月で次のバージョンに移らねばならぬOpen JDKではなく、無償で特定のバージョンのサポートが長いものを選んでいく方法。AdoptOpenJDKやAmazon Corretto などが選択肢として入るだろう
最後にお金を払う余裕があるところはOracle JDKのLTSを有償サポートで手に入れればよいってことだ。
デフォルトで従量制接続がOFFになっているので、遠慮なくWindows Updateをダウンロードされた日には一日で数ギガ消費することになる。
それを防ぐ設定があるのだが、とても分かりづらくて皆パケ死を繰り返す。デフォルトでONにするか、裏で勝手に大量ダウンロードするのをやめてほしいのだが、そうなってないのでこちらで防衛策を講じるしかない。
コントロールパネルから行けるのだが、とても分かりづらいのでWIFI設定のショートカットを記載しておく。ここからプロパティで従量制接続をONにすればよい。
ターミナル上で実施できたものがcronだとこけるケースが多発している。といってもうっかりミスなのだが、
環境変数が通常のターミナルと違う(足りない)のでパスの設定は実行シェルの中でしておかないと大体こけてしまうというオチ