Gnome Shell 桌面選單 增加 全域應用程式選單列

Ubuntu Linux 的 Gnome shell 還是想要像以前 Windows 一樣有類似「開始」的選單,可以把所有安裝的應用程式列出來,要怎麼做呢?

  • 註:Ubuntu 22.04 以後 和 以前作法有些許不同

閱讀全文〈Gnome Shell 桌面選單 增加 全域應用程式選單列〉

秒的換算(毫秒、微秒、奈秒)

系統常用的秒數都是用 ms、us(µs),這邊有更多詳細的單位列出來~

下述摘錄自此篇:數量級 (時間)

  1. 普朗克時間:約 5.39×10-44
  2. 攸秒(ys):10-24
  3. 介秒(zs):10-21
  4. 阿秒(as):10-18
  5. 飛秒(fs):10-15
  6. 皮秒(ps):10-12
  7. 奈秒(ns):10-9
  8. 微秒(µs):10-6
  9. 毫秒(ms):10-3
  10. 秒(s)
  11. 千秒(ks):103
  12. 百萬秒(Ms):106
  13. 吉秒(Gs):109
  14. 太秒(Ts)1012
  15. 1013
  16. 1014秒:相當於317萬年
  17. 1015秒(拍秒,Ps):相當於3200萬年
  18. 1016秒:相當於3.2億年
  19. 1017秒:相當於32億年
  20. 1018秒(Es):相當於320億年
  21. 1019秒以上:相當於3,200億年以上的時間

MySQL 的 Prompt 想顯示主機和資料庫名稱

MySQL 的 Prompt 想要顯示主機和資料庫名稱等資訊,要怎麼設定呢?

mysql> 想要變成 (user@host) [(dbname)]> 作法如下:

  1. 在 Shell 輸入下述,再進入 MySQL CLI:
    • export MYSQL_PS1="(\u@\h) [\d]> "
  2. 進入 MySQL 裡面(mysql>),輸入下述:
  3. 在 Shell 輸入:
    • mysql --prompt="(\u@\h) [\d]> "
  4. vim /etc/mysql/my.cnf
    • [mysql]
    • prompt=(\\u@\\h) [\\d]>\\_

上述我是使用1、4,my.cnf 的設定不需要重啟 MySQL,直接寫完 mysql cli 進入就會直接讀取生效

Linux APT Signing EXPKEYSIG 簽名無效 修正

Debian Linux 遇到 NO_PUBKEY GPG error 的解法可見此篇:Linux APT 遇到 NO_PUBKEY 的 GPG error 解法

若已經新增卻還是遇到簽名無效的錯誤,可以怎麼做呢?

閱讀全文〈Linux APT Signing EXPKEYSIG 簽名無效 修正〉

Linux 使用 SED 對檔案 最前、最後 增加一行資料

Linux 想要在檔案的最前面和最後面增加一行或多行的資料,可以怎麼做呢?

在檔案最後增加資料很簡單:

  • echo 'last line data' >> filename # 單一檔案
  • for f in .txt ; do echo 'last line data' >> $f; done # 目錄下所有 txt 檔 最後都增加一行

閱讀全文〈Linux 使用 SED 對檔案 最前、最後 增加一行資料〉

PHP PDO Prepare Debug 印出 SQL 語法

PHP 都建議使用 Prepare 來避免 SQL injection 等等的,但是在 Debug 的時候,最困擾的就是如何把當下 SQL 語法印出來。

此套件支援 Debug 主要是可以將 SQL 語法印出。

閱讀全文〈PHP PDO Prepare Debug 印出 SQL 語法〉

抓 Guzzle Http Exception error

PHP 對 API 發 Request 常用 CURL,然後 Guzzle 是把 CURL 再包一層來做更多的進階操作。

Guzzle 底層使用 CURL,主要拿來呼叫 API、POST、GET 發送 HTTP Request。

不過 Guzzle 的版本也很多,各個版本抓取 Exception 的方式可能也不一樣,此篇使用 Guzzle 7 的版本。

閱讀全文〈抓 Guzzle Http Exception error〉