2021-09-02

紀錄一下自己用 Spring Boot 是如何建立一個控制台應用程式(命令列工具/console application)

如題,最近因為工作需求,要建立一個控制台應用程式

基於環境已經有安裝 Java 了,所以沒用自己愛用的 go 來寫。

既然要用 Java ,為求方便,所以用 Spring Boot。沒想到用 Spring Boot 寫控制台應用程式的教學資源這麼少。所以在此紀錄,

2021-03-15

visibilitychange event

今天在搜尋某些資料時,發現到一個叫「程序猿甜品店」的網站

這網站有個很有趣的效果:當你瀏覽器轉到其他分頁時,該網站的 tab 標題會變成「我失宠了」;如果回到該 tab,又會變成「我被宠了」(維持2秒,之後變回原本標題)。

2021-01-22

Go 中,各種複製 slice 的方法的效能比較

Go 中,與 slice 相關的原生 func 有 func copy(dst, src []Type) intfunc append(slice []Type, elems ...Type) []Type這兩個。

這兩者都能夠用來複製 slice (clone)。

那這樣的話效能呢?

2020-06-12

Clickhouse 實現 MySQL 的 group_concat() 的作法

MySQL 有 group-concat function,能將 group by 後的資料合併,方便查詢、處理。

例如

mysql> select id, group_concat(arr) from (
    -> select 1 as id, 'orange' as arr
    -> union all
    -> select 1, 'banana'
    -> union all
    -> select 2, 'apple'
    -> union all
    -> select 1, 'banana'
    -> union all
    -> select 3, 'peach'
    -> union all
    -> select 1, 'grava'
    -> union all
    -> select 4, 'pineapple'
    -> union all
    -> select 4, 'pear'
    -> ) as f
    -> group by id;
+----+----------------------------+
| id | group_concat(arr)          |
+----+----------------------------+
|  1 | banana,grava,orange,banana |
|  2 | apple                      |
|  3 | peach                      |
|  4 | pineapple,pear             |
+----+----------------------------+
4 rows in set (0.00 sec)

然而這畢竟是 MySQL 特有的 function, clickhouse 並無此 function,要做到同樣的事就得用其他 function 來處理

Tomcat伺服器下網址有豎直線的情況

這是最近遇到的狀況。
如果伺服器是 Tomcat,且你的 URL 帶有豎直線(|),就會出現 400 Bad Request 錯誤。

例如:

http://example.org/?data=1|2|3