發表文章

目前顯示的是 2021的文章

[Laravel 8.x] 設定透過 Gmail 發信

圖片
文章更新啦,以前設定低安全性的方法現在不能用了,Google 在 2022/05/30 起不再支援。不過新的方式也不難,Laravel .env 和原來的設定相比也只需要修改密碼設定即可。

如何在 Blogger 文章加目錄索引?

圖片
2022 新一年又要來啦,新年新氣象,我決定幫我的部落格做一點微小的調整。 兩年前曾經寫了一篇「 如何在 Blogger 裡放程式碼? 」,今天就來分享一下怎麼在文章裡自動加上目錄索引。

[PHP] file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:

繼上次 file_get_contents 遇到沒有指定 user-agent 就不能撈資料,這次又遇到新問題啦! 這一次的錯誤訊息是: file_get_contents():SSL operation failed with code 1. OpenSSL Error messages: 主要原因就是網站 SSL 問題,撇除 Server 設定問題,程式工程師可以做的部分就是直接把它換成 curl,沒錯...又是換成 curl。 原來的程式碼: $contents = file_get_contents($url, false, $context); 改版後的程式碼: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $sendInfo); curl_setopt($ch, CURLOPT_SSLVERSION, 6); $contents = curl_exec($ch); curl_close($ch); 這一次我遇到的是 SSL 版本問題,所以這段程式的重點在於 curl_setopt($ch, CURLOPT_SSLVERSION, 6),其中 CURLOPT_SSLVERSION 有多個選項分別代表不同的版號,可以參考 https://www.php.net/manual/en/function.curl-setopt.php ,而且不知道為什麼我寫常數 CURL_SSLVERSION_TLSv1_2 還不行,一定要寫 6。

[Sublime 4] 更新 Sublime Text 版本後,檔案無法直接開啟

圖片
環境: Windows7 64 位元 手動從系統移除原本安裝的 Sublime text 3,改裝 Sublime text 4,原本有關連的檔案類型,卻變成找不到關連的應用程式,從「右鍵→開起檔案」也找不到 Sublime Text。

[Windows10] 照片檢視器圖片背景發黃的解決方法

圖片
症狀如圖,同樣的圖片在不同的螢幕顯示不同,第二張圖整個發黃。 解決方式如下: 開啟 「控制台」 →「色彩管理」 裝置選擇有問題的螢幕 勾選「在此裝置使用我的設定」 選擇「ICC設定檔」下的「sRGB IEC61966-2.1」,然後點擊「確定」,如果沒有,按下「新增」選取 再把它「 設為預設設定檔」 然後用 Windows 照片檢視器打開圖片,應該就不會出現圖片背景發黃的問題了

[Windows] 排程一直跳出排程已不存在視窗

圖片
如下圖每次開啟都會出現找不排程。 起因是登錄編輯程式和系統檔案對不起來,解決方式: 開啟登錄編輯程式,進入 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\ 建查是否有和 C:\Windows\System32\Tasks 裡面的內容不相符的地方 以我遇到的問題來說就是登錄編輯程式裡面多了一個 "填寫XX表",點右鍵把他刪掉就好囉

在 Bootstrap modal 中使用 Select2 套件,搜尋框無法輸入

這是因為 Select2 預設把下拉選的元素加到 <body> ,導致 modal 內的 Select2 輸入框會 focus 在 modal 之外。

[Laravel 7.x] Middleware 執行順序

圖片
最近我遇到一個問題,我有一個 middleware 想在 auth middleware 之前執行,但在 route 或 controller 不管怎麼調整前後順序還是一直失敗,Laravel 說什麼都要先執行 auth middleware 才會執行我的 middleware。

[Windows7] .NET Framework 4.7.2 安裝失敗

圖片
我的電腦是 Windows7,今天安裝 .NET Framework 4.7.2 時出現安裝失敗的訊息,錯誤訊息為「憑證鏈結已處理,但憑證鏈結在根憑證時被終止,因為憑證不受信任提供者信任。」

[Sublime 4] 終於更新了,新版本 4

圖片
今天開起 Sublime 跳了一個通知叫我更新,我還以為是小版本更新不以為意,殊不知更新完之後看到版本號寫著 "4",天啊~~~我還以為他們沒有打算繼續更新了說,真是太感動了。

把 Gmail 企業帳號的信轉到個人帳號

圖片
本來以為隨便設定一下 POP3 就可以了,結果一直出現錯誤,最後只好求助公司的 MIS 才知道原來還要開啟「低安全性應用程式存取權」。

切換 Git Remote 位置

查看目前的 remote git remote -v 更換 remote git remote set-url origin NEW_REMOTE

[Windows10] 程式視窗最大化在螢幕頂部留白問題

圖片
我的電腦是 Windows10 在程式寫到一半的時候突然出現一條點不到的空白區域,如下圖↓ 這讓我非常困擾,我要用的功能都被遮住了,而且也不是每個程式都會這樣,像 Office 就沒這個困擾。 經過查詢,是驅動的問題,按下 Ctrl + Shift + Windows + B 重新載入就可以解決問題囉。

MySQL 全文檢索

MySQL 從 5.7.6 版開始有內建 ngram,可以支援中文檢索。 一、事前準備 1. 調整儲存引擎 要使用全文檢索的 table 必須是 InnoDB 或 MyISAM。 2. 設定分詞詞語長度 ngram 能對字串進行分詞,每個詞連續 N 個字,N 為 1~10 的數字 (預設為 2),可以在 MySQL 設定檔中進行設定調整。 ngram_token_size=2 ngram 範例 (全文檢索): N = 1:全,文,檢,索 N = 2:全文,文檢,檢索 N = 3:全文檢,文檢索 N = 4:全文檢索 二、建立 FULLTEXT 索引 像一般加 index 的方式一樣,建立 FULLTEXT 類型的索引,要注意的是只能在 CHAR、VARCHAR 或 TEXT 的欄位上建立。 ALTER TABLE `news` ADD FULLTEXT INDEX ft_index (`title`) WITH PARSER ngram; WITH PARSER ngram 是重點,一定要有。 三、SQL 全文檢索有三種類型,分別是 Natural Language、Boolean、Query Expansion,MySQL 預設是 Natural Language 也就是我這次用的,以後如果有機會用到其他的再補上來。 1. Natural Language 修飾符是 IN NATURAL LANGUAGE MODE ,不能使用運算符,由於他是預設類型,所以修飾符寫不寫都沒差。 SQL 在滿足以下條件時,回傳結果會自動以相關性由高至低排序 沒有明確的 ORDER BY 如果 join 其他 table,全文檢索必須是最左邊的 table 範例: SELECT *, MATCH (`title`) AGAINST ('關鍵字' IN NATURAL LANGUAGE MODE) AS score FROM `news` WHERE MATCH (`title`) AGAINST ('關鍵字' IN NATURAL LANGUAGE MODE); 範例中,score 是相關性的評分,搜尋結果就是依據這個評分做排序。 2. Boolean 修飾符是 IN BOOLEAN MODE ,可以使用運...

Vim 筆記

顯示行數 :set nu 到某一行 // n 為數字 nG 到第一行 gg 到最後一行 G 整行刪除 dd