3 months ago

SpringBoot

目前最新的 SpringCloud 版本 Finchley.RELEASE 又再簡化一點 使用 Zipkin 這部分, 已經不用再自己建立一個 ZipkinServer

Read on →
 
3 months ago

基本都是要用 SpringBoot2 了啊, 就不要想問 1.x 版了

Read on →
 
3 months ago

查看時區的設定為何?

timedatectl

  Local time: 一 2018-07-09 10:47:34 CST

Universal time: 一 2018-07-09 02:47:34 UTC
RTC time: 日 2018-07-08 22:47:34
Time zone: America/New_York (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: yes
DST active: n/a

Warning: The system is configured to read the RTC time in the local time zone.
This mode can not be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.

查看所有時區:

timedatectl list-timezones

設定時區區域:

timedatectl set-timezone UTC

要設定成台灣的話
timedatectl set-timezone Asia/Taipei

與NTP server同步:

timedatectl set-ntp yes

啟用UTC時間:

timedatectl set-local-rtc no

關閉UTC時間,使用本地時間:

timedatectl set-local-rtc yes

https://centminmod.com/datetimezones.html

ls /usr/share/zoneinfo

copy /usr/share/zoneinfo/* 內的確切時區資料檔案為 /etc/localtime
cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
cp /usr/share/zoneinfo/UTC /etc/localtime

執行 date -u
輸入 date 看看是否已經是正確時區

調整系統時間
透過 ntpdate -u time.stdtime.gov.tw 來校正目前時間
透過 date –set=“2003-02-19 17:44” 方式直接手動設定
ntpdate -u time.stdtime.gov.tw

輸入 hwclock 看看目前 BIOS 的時間是否正確
sudo hwclock
西元2018年07月09日 (週一) 10時54分41秒 -0.860622 秒

執行 clock –systohc 將目前系統時間寫入 BIOS 時間
sudo clock --systohc

輸入 date 與 hwclock 看看時間是否一致

 
3 months ago

安裝桌機版的 CentOS 在筆電上, 當闔上螢幕時就會變休眠.

可以通過 /etc/systemd 來定義的電源管理

Read on →
 
3 months ago

有天我重灌完 NB 後要用 SSH 連線出現下面訊息

zhushanglide-MacBook-Air:~ sam$ ssh 192.168.31.114
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:fO7ZM2C2+EULHR+G+HOfQWMjcT7Fmf0AvP8BKD3I1kc.
Please contact your system administrator.
Add correct host key in /Users/sam/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/sam/.ssh/known_hosts:20
ECDSA host key for 192.168.31.114 has changed and you have requested strict checking.
Host key verification failed.
Read on →
 
5 months ago

首先用 PuTTYgen Release 0.70 來產生公私鑰
有需要就從這邊下載 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Read on →
 
6 months ago

這幾天 MySQL 出 8 的版本,
沒想到密碼儲存方式變更了, 頓時一堆人慘叫XD

因為 之前 MySQL 預設儲存密碼的方式是 mysql_native_password, 但 8.0 之後 預設的儲存方式為 caching_sha2_password, 說是又快又安全啦, 但讓人措手不及, 一堆 SQL 工具 (Navicat) 可能還來不及更新支援 就...

登入失敗!!

Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

方法1 : 就升級上去吧, 變更 JDBC 連結方式
1.首先更新你的 JDBC 驅動 runtime 'mysql:mysql-connector-java:8.0.11'
2.修改你的 driver-class-name , 因為 Loading class `com.mysql.jdbc.Driver'. This is deprecated. , 請你換成新版的 com.mysql.cj.jdbc.Driver
3.JDBC URL 增加參數 allowPublicKeyRetrieval=true

完成, 這樣你的 JDBC 就可以搭配使用上 caching_sha2_password 的機制了

方法2 : 我要最新版但是不要用新的密碼機制
我是用 Docker 啦, 多個參數就可以正常使用了 --default-authentication-plugin=mysql_native_password

docker run --name askask-mysql -e MYSQL_DATABASE=askask -e MYSQL_ROOT_PASSWORD=1qaz2wsx -p 3306:3306 -d mysql --default-authentication-plugin=mysql_native_password

收工

 
6 months ago

在 SpringBoot 1.x 時期 網路上 Google 會有各式各樣整合套件跟方法, 到了 2.0 官方就直接幫你整併進 actuator , 你唯一要做的事情就只有增加 Gradle 的配置就好了

Read on →
 
7 months ago

以前要 reverse engineering 來做 code generation 大概都會用 Hibernate Tools 來做

但是實在太囉唆啦....
又要依附在IDE 又要先設定 JDBC 又要建立專案 又要產生 XML 配置 還會生成 SessionFactory 但最後這些通通用不到....只留下要用的 Entity 而已.

自從用過 MyBatis Generator 可參考 mybatis 3 整合開發
整理來說就只需要產生器的相關 Jar 檔 跟一個 XML 配置檔, 就可以產生需要的 資料庫對應的 Entity , 而且別人有改動到表格的時候, 靠這個 XML 他就可以產生異動後的 Entity , 而不用搞上面那一堆配置, 這不是輕鬆很多嗎?

而且之後大概都會以 Spring Data Jpa 來操作為主, MyBatis 是不錯用, 但是 Spring Data 更方便啊!!!!!! 可以擴展成 Spring Data Rest 還可以再加上 HATEOAS 這種數據關聯性, 直接少寫一堆 Crud.

在尋尋覓覓之後, 終於找到就是它 JOOQ !! 喔!! 是 jOOQ's code generator 啦
我沒有要用 JOOQ...XD

Read on →
 
7 months ago

JobScope JobExecutionListener Tasklet

說明一下 怎麼使用這三個東西

JobScope 可跨 Step 做資料交換
JobScope 遇到 ThreadPool 的問題
JobExecutionListener 監控任務的結束
Tasklet 非批次動作

Read on →