7/23の朝、ほぼ1年後に、nexus5でwifiが繋がらなくなった(nexus5からwifiに繋がらないPart4)
http://d.hatena.ne.jp/kuniku/20160722/1469197497
と同じ症状。
今回は、Nexus5が電源落ちて、復帰したらWIFIは認識してるんだけど繋がらない。
対応
固定IP | 192.168.0.10 | 前回の1年前と同じIPで |
---|---|---|
デフォルトゲートウェイ | 192.168.0.3 | 無線LANルーターそのものの |
サブネットマスク | 255.255.255.0 | |
DNS1 | 8.8.8.8 | Google Public DNSを利用 |
DNS1 | 8.8.4.4 or 未設定 | Google Public DNSを利用 |
Spring Bootつかってthymeleafのキャッシュを無効にしているが、キャッシュされたままになる
bootのversion は、1.4系使ってます.
- file
- src/main/resources/application.properties
spring.thymeleaf.cache = false
になっているが、htmlファイル修正しても反映されないときは、spring boot 用の依存性が不足していることがある.
- 確認点
- pom.xmlでdevtoolsが依存性に存在しているか確認すること
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
- ヒントにたどり着いた
http://qiita.com/NagaokaKenichi/items/9b19665f131f1a8017be
2016/4/27 追記 Spring Boot1.3以上を使っている方は、Spring Loadedはもう開発が進んでないので使わない方がいいです。代わりにSpring Boot1.3から使えるSpring Dev Toolsを使った方がいいです。
と末尾の pom.xml dependency を参考にした
でも、devtoolsでも解消しない、する時もあるのか?
キャッシュが効いてしまう。
会社で、使ってるMacの環境
会社で、使ってるMacなど
他は
- キーボードとマウス
- Club 3D USB 3.1 Type C to DisplayPort 1.2 4K 60Hz UHD / 4K ディスプレイ Active Adapter 変換アダプタ (CAC-1507)
- https://www.amazon.co.jp/DisplayPort-4K60Hz-ディスプレイ-Adapter-CAC-1507/dp/B018AX3HJO/
- モニタ 27インチの4K
[SQL]SQLで最新の日付のデータや同一グループの中で最新のレコードを取得する
履歴テーブルというか、どんどん情報を格納しておいて、そこから最新を取得するSQL
例えば、
価格情報のテーブル
商品ID
日付
価格
といった構造において 商品IDごとに、最新日付の価格を取得するといった場合
毎回、いろいろな手法があるなーと思うんです。
RDBごとに性能も変わるので、試してみるしかない。
Group byのmaxを使う
- 降順でソートして、Limit 1 や分析関数の row_number() を使う
- 最大値のカラムに対して、条件を指定する xxx = select max(yyy) / xxx In select max(yyy)
- existsを使う(not exists の場合は、 b.create_date > a.create_date のように、existsの場合は、 b.create_date < a.create_date)
以下、いろいろな手法が記載されているURLを集めました
http://www.risewill.co.jp/blog/archives/3483
http://labs.timedia.co.jp/2014/10/selecting-max-record-in-group-by.html
http://qa.atmarkit.co.jp/q/1847
http://qiita.com/nogitsune413/items/f413268d01b4ea2394b1
http://lightgauge.net/database/sqlserver/1672/
http://www.oracle.co.jp/forum/message.jspa?messageID=35028967
https://oshiete.goo.ne.jp/qa/1274959.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q127773347
別の観点
中規模くらいのシステム、レコード数が 数千万〜、億を超えるくらい
-
- View等を定義して、個々のロジックで異なることが少なくなるようにしてください
- Viewを設計・メンテナンスするのは、DBA or DB回りの人が行ってください
- チューニングが必要になった場合には、Viewのメンテナンスで対応できます(ヒント句を入れる、SQLを組み替える)
- Oracle、PostgreSQLのマテリアライズド・ビューを利用する場合は、リフレッシュを考えてください、高速リフレッシュで対応できることが前提です。
- 1日数回程度のリフレッシュすれば良いのであれば、完全リフレッシュでも良いかもしれません。
データ量が1億レコード超えてくるような場合だと、非常に遅くなります
- そのような場合の1つの打開策として、最新を管理するテーブルを別に用意します。
価格情報のテーブル
ID(シーケンスみたいな値、PK)
商品ID
日付
価格
価格情報管理テーブル
最新ID:価格情報のテーブル.ID
商品ID:1つ古い、もしくは最新と同じ非同期処理がある場合の最新IDはデータが確定・固定されるまでは、最新IDに反映しない方が良い。でないと、中途半端なデータが最新扱いになる可能性がある。
最新IDと商品IDが一致する場合と 最新IDが100, 商品IDが99のような場合もありえる。逆転して 最新ID99、商品ID 100 というケースは発生しないようにするか、どのケースはどちらを使うのか業務ロジックを決めておく。
として、価格情報管理テーブル.最新のIDから、価格情報のテーブル.ID をたどるようにします。
これだと、INNER JOIN で比較的速くなります。
注意点は、
- 価格情報のテーブルにトリガーを仕掛け、価格情報管理テーブルに反映するのは、どうしようも無い時の最終手段と考えてください。
- トリガーは、見通しを非常に悪くします。再コンパイルが必要になり無停止リリースできない場合が多々あります。
- アプリ側で共通ロジックを作成して対応することを推奨。
cenots7 setup ローカルの試し用環境の作成
セットアップ、インストール
- CentOS-7-x86_64-DVD-1611.iso をダウンロード
- VirtualBox をRHEL 64 を選び新規作成 、起動して、isoを選択する
- インストール
言語:日本語 > Japaneseを選択
ソフトウェアの選択
最小限のインストールから変更
ベース環境で GNOME Desktop を選択し
開発ツール
互換性ライブラリ
を選択
ネットワークとホスト名で
ホスト名を、xxxを入力
enp0s3 IPv4を オンにする、IPv6はオフのまま
--> インストール開始 、最小限の構成ではないため、ちょっと時間かかる。
最小限だと、数分で終わるくらい。
選択した場合は、15−30分くらいだったかな・・・。
インストールの最後で、
--> 再起動 を行う
その後、ライセンスに同意
(Gnome入れたので、GUIの画面が表示される、Gnome入れていない場合は、コンソールで選択)
言語、キーボードを選択
後は、必要に応じて。
初期設定
http://qiita.com/emabust/items/eb0ece84e074cca8fef1
$:ユーザ
#:root
- 一般ユーザーからsudoできるように設定
$su -
# usermod -G wheel [一般ユーザー名]
- yum パッケージのアップデート
$ sudo yum -y update
netstat はコマンド表示結果遅いし、プロセスIDわからないしって調べた結果
http://qiita.com/tksmaru/items/d4951b5394aeee8c3cbc
のように
tomcat8080使っているのプロセスを特定
$ lsof -n -P -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1050 xxx 39u IPv6 xxx 0t0 TCP *:8080 (LISTEN)
1050がpidなので、これをkill
kill-9 1050