大概可以簡單的列出幾個原因:
- 超音速對環境造成的危害過大
- 高速飛行的燃油消耗極大,很難將商業化 (機票太貴啦)
- 超音速客機的機體需要特殊設計和材料,導致造價不斐
- 一般客機的引擎已可減少耗油,環保、便宜
但目前已經有航太公司,開只著手超音速飛行導致的問題,以後或許可以建造低成本的超音速客機。
軟體開發、伺服器和生活瑣事
大概可以簡單的列出幾個原因:
但目前已經有航太公司,開只著手超音速飛行導致的問題,以後或許可以建造低成本的超音速客機。
之前因為 OpenVPN 需要設定很多網路、安全參數而一直敬而遠之,直到最近發現有全自動設定檔產生器,才順利讓 OpenVPN 跑起來。
openvpn-install 是個用起來很順手的 OpenVPN 設定檔產生器,可以協助你挑選重要的設定、網路選項、安裝 package 等等:
OpenVPN server 跑起來以後,再執行 openvpn-install client 即可建立 client 端的連線設定檔。
微軟已移除載點,只好自己備份。
最近在研究 DBMS 的 trigger,不同 DBMS 的 trigger 的功能上差異不小,這裡僅對 MySQL 的 trigger 做筆記。
trigger 的意思同詞一樣,設計目的是讓 DB 的特定事件發生以後,去執行指定的動作。例如某 table 新增了一筆資料以後,將該筆資料記錄到另一個 table。
這次先使用「當使用者註冊成功以後,在 audit log 留下使用者 ID 和註冊的時間。先來建立 users
和 user_audit_log
這二個 table:
CREATE TABLE `users` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_name` VARCHAR(200) NOT NULL, `mail` varchar(255) NOT NULL );
CREATE TABLE `user_audit_log` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_name` VARCHAR(200) NOT NULL, `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP() );
然後來看一下 trigger 的 語法,trigger 可以針對 insert
/ update
/ delete
這幾個動作作出反應,另外也可以將 trigger 的動作放在以上幾個動作的之前 BEFORE
與之後 AFTER
執行,也就是說總共有以下這 6 種 trigger:
自從 OCR 技術越來越精準後,文字類型的驗證碼 (CAPTCHA) 和圖形類的驗證碼就越來越容易被電腦辨識出來,反而真人進行辨識的時間有時還比電腦要長。
剛看到別人轉的訊息,有人把毀滅公爵做進的驗證碼中,被驗證者必須殺掉怪物才會被識別成真人:
試玩後發現 DOOM CAPTCHA 有一定的 pattern,再來就是怪物長的都一模一樣。其實這種規律和圖形,專為遊戲設計的辨識工具,辨識速度會比人還要快 …. XD