Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

年份: 2021 年

MySQL 中 UPSERT (update or insert) 的語法

Posted on 2021 年 5 月 24 日2021 年 5 月 24 日 By 日落 在〈MySQL 中 UPSERT (update or insert) 的語法〉中尚無留言

MySQL 中要使用 IF ... ELSE 挺麻煩的,如果要在 insert 失敗 (資料已存在) 以後改對資料做 update 的話,可以考慮使用 INSERT .... ON DUPLICATE KEY。

假設要在 user 的 table 中,新增 user_id 和 mail:

INSERT INTO `user` (
    `user_id`,
    `mail`
) VALUES (
    "zero",
    "zero@zeroplex.tw"
)

當 user_id 是 unique index 時,上面的語法會失敗:duplicated key。
這時可以使用 MySQL 中的 INSERT … ON DUPLICATE KEY 語法,來讓 MySQL 自動判斷要使用 INSERT 還是 UPDATE:

INSERT INTO `user` (
    `user_id`,
    `mail`
) VALUES (
    "zero",
    "zero@zeroplex.tw"
) ON DUPLICATE KEY UPDATE 
    `mail` = "zero@zeroplex.tw"

上述語法,會讓 MySQL 執行時,若發現 zero 這個使用者已經存在時,變自動去更新他的 mail。

Tags:MySQL

Puzzle Together – 電腦上的自訂拼圖遊戲

Posted on 2021 年 5 月 14 日2021 年 5 月 20 日 By 日落 在〈Puzzle Together – 電腦上的自訂拼圖遊戲〉中有 1 則留言

Puzzle Together 是最近在 Steam 上看到新推出的遊戲,除了可以下載、購買圖畫、自己挑選拼圖難度,還可以建立多人連線和同好一起自虐挑戰。

More “Puzzle Together – 電腦上的自訂拼圖遊戲” »

Tags:分享, 遊戲

2021 年 PHP 各版本使用狀況

Posted on 2021 年 5 月 11 日2021 年 5 月 11 日 By 日落 在〈2021 年 PHP 各版本使用狀況〉中尚無留言

PHP Versions Status 2021 文章中看到,目前的 PHP 已經有過半都已經更新到 7.x,是個不錯的消息。

版本大至相同後,社群開發的共用函式庫、PHP 核心較能將花的時間收斂起來用在刀口上,遇到問題在網路上也比較容易找到解決方法。

接下來就看 8.x 的規範定下來後,大家慢慢把程式碼升上去了。

Tags:PHP

修改 Fcitx 中文字匡的文字大小 (font size)

Posted on 2021 年 5 月 9 日2021 年 5 月 10 日 By 日落 在〈修改 Fcitx 中文字匡的文字大小 (font size)〉中有 1 則留言

螢幕的解析度越來越高,在相同大小的螢幕上文字相對看起來較小,對長時間看螢幕工作的眼睛有點吃不消,決定對工作環境動手腳。

先說一下我的工作環境:

  • Ubuntu 20.04 LTS
  • 輸入法界面是 Fcitx + Chewing (新酷音)

原本應該是調整 Fcitx 就可以調整文字輸入匡上的設定,但調整以後重新開機就會恢復原樣,所以手癢直接來改家目錄的設定檔。

設定檔的位置是 ~/.config/fcitx-qimpanel/skin/ubuntu-milk/fcitx_skin.conf:

[SkinFont]
....
CandFontSize=22
....
FontSize=22

存檔後重新啟動 Fcitx (或是登出再登入也可以),接下來輸入匡的文字大小就會更新成你的設定。

2021/05/10 更新:上述方法在重新開機以後,設定會被蓋掉,導致文字大小又恢復原樣。以下新的方法需要修改 /usr/share 的檔案,但是修改後永久有效。

先缺換目錄到 /usr/share/fcitx/skin,這邊會列出幾個 skin 樣式,這邊範例使用 default 這個 skin。修改 default 目錄中的 fcitx_skin.conf 檔:

[SkinFont]
FontSize=13
MenuFontSize=14

把上面這二個值改掉即可。

接下來透過 fcitx 的 UI 界面來選取要使用的 skin 設定檔,範例中修改的是 default,所以這邊的 skin 就選取 default:

圖一:選取 fcitx 欲使用的 skin 設定檔,

重新登入、重新開機,就可以套用新的設定了。

Tags:Fcitx, Ubuntu

Nginx 將 deny all 換成 return 404

Posted on 2021 年 5 月 9 日2021 年 5 月 9 日 By 日落 在〈Nginx 將 deny all 換成 return 404〉中尚無留言

以往不想要讓人索引、讀取的目錄和檔案都會設定成 deny all:

在新分頁中預覽

location ~ /\.git {
    deny all;
}

這樣設定的話,開啟該目錄就會收到 HTTP 403 Forbidden。這個訊息有二個含意:主機上面的確有這份資料、你沒有權限打開。

也就是,檔案在 URL 的連結已經確定了,只要繞過權限管理即可讀取檔案。

與其這樣,不如直接讓主機回傳 HTTP 404,這樣便無法知道檔案是否存在:

location ~ /\.git {
    return 404;
}
Tags:Nginx, 資訊安全

文章分頁

上一頁 1 ... 12 13 14 ... 21 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.