2024-01-18

Maven 自動 Compile SASS/SCSS (使用 us.hebi.sass plugin)

前一篇文章《Maven 自動 Compile SASS/SCSS (使用 nl.geodienstencentrum.maven plugin)》中提到使用 nl.geodienstencentrum.maven 這個 plugin 可以自動 compile SASS。

但這 plugin 是使用已經淘汰的 Ruby SASS(現在推薦使用 Dart SASS),且經過測試,只能支援到 Java 11(我自己是沒有 Java 12 ~ 16),Java 17(含)以上都會出現 Error。

於是我又另外去找,找到 us.hebi.sass 這個 plugin 。

2024-01-09

Golang 需要不同 Go 版本有不同處理

如果我今天有 go code 需要不同版本有不同處理,要如何寫?

例如說, go 1.18 支援泛型了,但我的 code 要舊版,例如 1.17,也能執行。要如何處理

2024-01-05

Maven 自動 Compile SASS/SCSS (使用 nl.geodienstencentrum.maven plugin)

SASS / SCSS 太強了
而且他還沒有使出全力的樣子
對方就算沒有 @mixin 或是 @include 也會贏
我甚至覺得有點對不起他……

不得不說,SCSS 真的太好用了。

就算沒有 @mixin 或是 @include,光是巢狀架構的處理就夠好用了。

雖然現在 CSS 也開始要支援巢狀寫法(Using CSS nesting - CSS: Cascading Style Sheets | MDN (mozilla.org)),但是現在 CSS 的複雜度都已經媲美 JS 了,還要追加巢狀架構,我真心覺得這些 web 委員會是不是沒事找事做啊。


不提這個,這邊只是要記錄一下,如何在 Java Maven 讓其在 compile / package 時,自動編譯 SASS

2024-01-04

An invalid form control is not focusable

完整訊息是像這樣:

An invalid form control with name='' is not focusable

或是

An invalid form control with name='user-name' is not focusable

這是填完表單後,按下送出卻一直沒法送出,畫面也沒有跳出任何 invalid input 警示,打開瀏覽器的「開發人員工具」時,看到的錯誤訊息。


2023-11-30

PDF 的 CSS

pdf 的 CSS 意外複雜

首先 pdf 的四個邊就分成好幾個區塊了(可以用來放置頁碼之類的),詳情可參閱 oxygenxml 的說明web archive)。

再來是背景。貌似 pdf 對背景圖的 CSS 支援不夠完整?至少我最近在使用 background-size: cover 會失敗


2023-11-29

2023-07-28

SVG Path 動畫

MySQL 連線太多次導致連線失敗

MySQL 有個機制是如果有 IP 連線失敗多次,就會將該 IP block

檢查

檢查方式:

mysql> show variables like 'max_connect_errors';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| max_connect_errors | 100   |
+--------------------+-------+
1 row in set (0.09 sec)

mysql>

以上表示一個 IP 最多可以失敗 100 次

至於有哪些 IP 發生這問題,要去 performance_schema.host_cache (需要特別開權限才能進該 schema)看

mysql> select IP, HOST, SUM_CONNECT_ERRORS, COUNT_HOST_BLOCKED_ERRORS, FIRST_ERROR_SEEN, LAST_ERROR_SEEN from performance_schema.host_cache;
+----------------+------+--------------------+---------------------------+---------------------+---------------------+
| IP             | HOST | SUM_CONNECT_ERRORS | COUNT_HOST_BLOCKED_ERRORS | FIRST_ERROR_SEEN    | LAST_ERROR_SEEN     |
+----------------+------+--------------------+---------------------------+---------------------+---------------------+
| 10.8.8.237     | NULL |                101 |                    577863 | 2023-07-27 15:12:11 | 2023-07-28 03:28:00 |
| 10.200.21.54   | NULL |                100 |                      3276 | 2023-07-28 00:44:19 | 2023-07-28 03:28:00 |
| 10.240.2.19    | NULL |                  0 |                         0 | 2023-07-28 03:26:01 | 2023-07-28 03:26:01 |
| 10.200.26.30   | NULL |                101 |                      5967 | 2023-07-28 00:56:40 | 2023-07-28 03:25:16 |
| 10.200.23.34   | NULL |                  0 |                         0 | 2023-07-28 01:57:29 | 2023-07-28 01:57:29 |
| 10.200.21.62   | NULL |                  0 |                         0 | 2023-07-28 03:08:13 | 2023-07-28 03:08:13 |
| 10.200.206.216 | NULL |                  0 |                         0 | 2023-07-28 02:53:28 | 2023-07-28 02:53:28 |
| 10.200.21.63   | NULL |                  0 |                         0 | 2023-07-28 00:37:29 | 2023-07-28 00:37:29 |
+----------------+------+--------------------+---------------------------+---------------------+---------------------+
8 rows in set (0.08 sec)

mysql>

這樣可以看到 10.8.8.237、10.200.21.54、10.200.26.30這 3 個 IP 都出現這問題。

解決辦法

解決辦法是執行以下 SQL

mysql> flush hosts;

但該指令有限制要最高權限才能執行,沒有權限者會出現以下 error

ERROR 1227 (42000): Access denied; you need (at least one of) the RELOAD privilege(s) for this operation

參考資料

KuBee, (2020, September 10). MySQL-客户端连接被拒绝问题. 博客园. https://www.cnblogs.com/binliubiao/p/13648294.html

yinxuep, (2019, December 11). Mysql连接错误过多的问题处理_mysql sum_connect_errors. CSDN博客. https://blog.csdn.net/yinxuep/article/details/103501044

2023-07-25

Docker Build 時,出現“Sending build context to Docker daemon 過大”

 如題,在啟動 Docker Container 時出現 Sending build context to Docker daemon 的檔案過大,例如:

$ docker build -t my-war /home/workspace/my-war
Sending build context to Docker daemon  15.14GB
Step 1/8 : FROM tomcat:8.5.15-jre8
 ---> b8dfe9ade316
Step 2/8 : RUN rm -rf $CATALINA_HOME/webapps/ROOT
 ---> Using cache
 ---> e4a4d6901da0

……下略



設定只有特定瀏覽器才會執行的 CSS

2023-07-12

紀錄一下 Go 的 struct field tag 的處理

struct field tag 指的是如下 struct 中的 `json:"id"` 這段字串

struct {
	Id uint `json:"id"`
}

最常使用到的情況就是 Standard library 的 xmljson library 了吧。