自從 OCR 技術越來越精準後,文字類型的驗證碼 (CAPTCHA) 和圖形類的驗證碼就越來越容易被電腦辨識出來,反而真人進行辨識的時間有時還比電腦要長。
剛看到別人轉的訊息,有人把毀滅公爵做進的驗證碼中,被驗證者必須殺掉怪物才會被識別成真人:

試玩後發現 DOOM CAPTCHA 有一定的 pattern,再來就是怪物長的都一模一樣。其實這種規律和圖形,專為遊戲設計的辨識工具,辨識速度會比人還要快 …. XD
軟體開發、伺服器和生活瑣事
自從 OCR 技術越來越精準後,文字類型的驗證碼 (CAPTCHA) 和圖形類的驗證碼就越來越容易被電腦辨識出來,反而真人進行辨識的時間有時還比電腦要長。
剛看到別人轉的訊息,有人把毀滅公爵做進的驗證碼中,被驗證者必須殺掉怪物才會被識別成真人:
試玩後發現 DOOM CAPTCHA 有一定的 pattern,再來就是怪物長的都一模一樣。其實這種規律和圖形,專為遊戲設計的辨識工具,辨識速度會比人還要快 …. XD
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。
Puzzle Together 是最近在 Steam 上看到新推出的遊戲,除了可以下載、購買圖畫、自己挑選拼圖難度,還可以建立多人連線和同好一起自虐挑戰。
PHP Versions Status 2021 文章中看到,目前的 PHP 已經有過半都已經更新到 7.x,是個不錯的消息。
版本大至相同後,社群開發的共用函式庫、PHP 核心較能將花的時間收斂起來用在刀口上,遇到問題在網路上也比較容易找到解決方法。
接下來就看 8.x 的規範定下來後,大家慢慢把程式碼升上去了。
螢幕的解析度越來越高,在相同大小的螢幕上文字相對看起來較小,對長時間看螢幕工作的眼睛有點吃不消,決定對工作環境動手腳。
先說一下我的工作環境:
原本應該是調整 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:
重新登入、重新開機,就可以套用新的設定了。