文章

顯示從 6月, 2023 起發佈的文章

[工作經驗] 用 ChatGPT 加速軟體開發流程

圖片
ChatGPT 問世已經一段時間了,但我一直沒試著將它融入平常的軟體開發,因為之前問的問題覺得好像還是無法取代 Google 或是 StackOverflow。直到同事說他用 ChatGPT 幫他寫平常不熟悉的程式語言,我才覺得好像應該來試用看看? 試用了一個月之後,我發現 ChatGPT 還真的對軟體開發加速了不少,以下是我平常愛用的一些方法。 結合多個簡單的答案: 1+1>2 我知道怎麼用 Python 讀取檔案嗎? 簡單,用 with open 我知道怎麼用 Python 搜尋資料夾底下所有的檔案嗎? 大概 Google 一下就知道 但我知道要如何計算資料夾底下、任何有包含某個字串的檔案數量嗎? 大概要花我 5 分鐘 Google 好幾篇文章然後自己想辦法用一些 for 迴圈組合起來。 但如果我把這樣的問題丟給 ChatGPT: How do you find the number of files that contain a certain substring in all the files under a directory recursively with python 3? ChatGPT 就能在 10 秒內給出答案: import os import fnmatch def count_files_with_substring(directory, substring): count = 0 for root, dirs, files in os.walk(directory): for file in files: file_path = os.path.join(root, file) if fnmatch.fnmatch(file, '*.*'): # filter by file extension if needed with open(file_path, 'r') as f: content = f.read() if substring in content: ...

[技巧] 用 VSCode 把 OneNote 快速轉換到 Markdown + 包含程式碼

圖片
工作上的筆記總是寫在 OneNote,但如果想要貼部分資訊到 GitHub/GitLab 中,單純用複製貼上整個格式就會跑掉,還要手動一個一個調整滿麻煩的。有沒有什麼快速的方法來把 OneNote 轉換到 Marrkdown 格式呢? 範例 OneNote 文件 由於 OneNote 中我常常用 tables 來把 code 片段包起來,所以很常筆記會變成下面這樣: Pandoc 工具 網路上常見的解法背後其實常常用了 Pandoc 這個工具,如果我們按照這個 教學方法 把上面的 OneNote 文件轉換成 Word 再轉成 Markdown 會變成這樣: 我們會發現 tables 與程式碼的 indents 整個都跑掉了,就不是我預期的。 而且還要先匯出成 Word,再開 PowerShell 輸入指令,如果頻繁的做這件事就會覺得很累,尤其是還在修改部分細節的時候。 VSCode + Replace Rules 插件 如果我們直接複製 OneNote 的文字,在 VSCode 貼上,會發現他會貼上這樣的格式: 除了文字前面的小圖示,我們會發現他的 indents 終於有保留下來。所以我一開始都是手動用 Ctrl+D 或 Ctrl+Shift+L 把 tabs + 小圖示選起來再改成 Markdown 的格式。Tables 比較麻煩要手動在前後加上 ``` 這個動作做久了之後我就想到,這個動作其實和 find regex & replace 在做的事其實差不多,為何我不用 regex 來自動做到呢? 如果我們去裝 Replace Rules 這個插件,並且在 settings.json 中加上一些設定 (在文章的最後)。 之後,先在最下方空兩行 (為了讓 table bottom regex 可以正常運作),我們就可以在 VSCode 中按 Ctrl+Shift+P 然後輸入 Run Ruleset -> Ruleset: OneNote plaintext to markdown,剛剛貼過來的 OneNote 文件就會變成下方這樣: 我們再手動把 Title/Subtitle 加上 # 與 ##,把結果貼到 GitHub 的 editor 上,預覽就會正確地把 code block 顯示出來: 再也不用手動慢慢轉換啦。 筆記格式的限制 這個方法看...

此網誌的熱門文章

[試算表] 追蹤台股 Google Spreadsheet (未實現損益/已實現損益)

[Side Project] 互動式教學神經網路反向傳播 Interactive Computational Graph

[插件] 在 Chrome 網頁做區分大小寫的搜尋