作者panger (超脫歸心)
看板Soft_Job
標題[心得] ChatGPT協助軟體開發的指令集
時間Mon Mar 20 17:32:28 2023
近來寫程式時大量試用ChatGPT
剛好使用golang開發side project,
所以在各種情況下遇到的問題,都試著問ChatGPT
真的覺得超好用的!
網頁好讀版:附上心智圖、完整範例(有些範例太長,PPT沒有辦法完整呈現)
https://reurl.cc/V80eXY ## 試用背景
背景: golang使用經驗為1天,瞭解基本語法
目標: 在周末2天開發一個工具,功能包含
1. 建立並初始化專案、開發環境
2. 讀取markdown格式的樹狀清單,並且走訪清單
3. 呼叫Web API,並剖析結果進行處理
4. 以Template輸出資料
## 整理常用指令
- 程式開發
- 環境設定
- 範例:`如何在vscode中傳入命令列參數進行Golang除錯`
- 學習語言
- 學習語言特性
- 範例:`使用程式碼來解釋Golang的OOO`
- 標準庫使用
- 範例:`如何使用Golang將字串存入檔案`
- 套件使用範例
- 範例:`使用Goldmark剖析markdown字串並走訪樹狀list`
- 開發程式碼
- 撰寫程式片段
- 範例:`使用Golang遞迴走訪資料夾,複製檔案到另一個資料夾`
- 優化程式碼
- 範例:`如何優化這段程式碼使用的記憶體數量`
- 理解並說明程式碼內容
- 範例:`說明這段程式的主要邏輯`
- 撰寫Regex
- 範例:`撰寫Regex來做到OOO`
- 測試和除錯
- 測試
- 範例:`撰寫五個測試案例,用來測試Golang命令列程式。此程式需要OOO`
- 錯誤訊息除錯
- 範例:`此錯誤訊息原因為何,如何解決:OOO`
- 程式碼片段除錯
- 範例:`這段程式碼無法成功讀取檔案,可能原因為何?`
- 架構規劃
- 技術選型
- 範例:`推薦Golang剖析markdown的套件`
- 範例:`比較Goldmark與Blackfriday`
- 範例:`如果我需要OOO,應該使用什麼Golang套件`
- 程式架構規劃
- 範例:`Golang程式架構範例,需要OOO`
- 系統架構規劃
- 範例:`設計一個高可用性的Golang網站,有哪些需考慮的要素`
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.68.33.254 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1679304750.A.340.html 噓 hegemon: 如果連關鍵字怎麼下都還需要這種教學,應該很難在業界生03/20 18:49
→ hegemon: 存. 不要發個廢文就美其名是分享,實際上是打廣告好嗎?03/20 18:49
→ panger: 是因為感覺有不少人覺得ChatGPT和搜尋引擎很像,所以才整03/20 19:08
→ panger: 理這一篇。03/20 19:08
→ panger: 主要是想要展示,怎麼整理自己的疑問來問ChatGPT。03/20 19:08
→ panger: 我覺得ChatGPT最厲害的是可以針對我們的問題,給出客製化03/20 19:08
→ panger: 的回答。03/20 19:08
→ panger: 我遇過好多次,在Google查不出來的情況,例如剖析資料有03/20 19:08
→ panger: 逗號的CSV03/20 19:08
→ panger: 如果覺得不適合,我隨時可以刪除喔...XD03/20 19:08
我比較像是把給自己用的整理筆記放上來而已啦...
又沒有要營利...Orz
不然我也可以把上一篇刪除...XD
我覺得用起來最方便的地方是,在作為架構師的時候,
常常要做技術選型或是POC開發。
希望可以幫到大家
※ 編輯: panger (114.32.105.57 臺灣), 03/20/2023 19:12:44 → Hsins: 雖然但是……你可能對架構師有些誤會……03/20 19:19
下面是ChatGPT的回答,
我覺得和我的理解一致啊...XD
我日常中,很大比例就是要覺得怎麼做,所以需要找很多可能解決的方式。
==============
請問架構師的職責為何?
架構師的職責是負責設計軟體、系統或應用程式的架構,以確保它們能夠滿足需求、擴充性
強、可維護性高、安全性好、可靠性高、性能良好等要求。架構師必須對系統結構、技術架
構、系統流程、系統性能等方面有深刻的理解和認識,需要協調開發人員、測試人員、專案
經理等不同角色之間的合作。
架構師的職責可以包括以下內容:
1. 確定系統需求和用戶需求,並設計系統結構和技術架構;
2. 選擇和評估適合的技術和框架,並指導開發人員的技術實現;
3. 定義系統模塊和元件之間的關係和交互,設計系統流程和架構;
4. 確保系統的可擴展性、可維護性、可靠性和安全性;
5. 監控系統性能,並對系統進行優化;
6. 建立和維護系統文檔,以便讓其他人可以理解和維護系統;
7. 解決開發和測試人員在實施架構方案時的技術問題。
總體而言,架構師需要對技術有深入的了解和經驗,並且能夠設計出滿足要求的高效系統。
此外,他們需要具備良好的溝通和協調能力,以便與各個相關方進行溝通和合作。
※ 編輯: panger (42.73.97.11 臺灣), 03/20/2023 19:30:58
→ Hsins: 用 Google 查不到如何剖析含有逗號的 csv 這件事,是搜尋能 03/20 19:31
→ Hsins: 力差而不是 Google 的問題吧…… 03/20 19:31
→ Hsins: 我指的誤會不是指你對架構師要做些什麼有誤會,而是對於這 03/20 19:40
→ Hsins: 份工作的難易度有誤會;你貼的敘述也提到架構師需要對技術 03/20 19:40
→ Hsins: 有深入的理解跟經驗,怎麼會是到了要選型時才來問 AI 呢? 03/20 19:40
→ panger: 對誒,我剛才試試看,真的有成功 03/20 19:43
→ panger: 關鍵字要用use regex to parse csv has comma inside 03/20 19:43
→ panger: 不過上次的Case呢? 03/20 19:45
→ panger: 如果在Linux環境中,因為監管議題,系統管理員不能有sudo 03/20 19:45
→ panger: 權限,有哪些方式解決此問題? 03/20 19:45
→ panger: 各方案又有什麼差異? 03/20 19:45
→ panger: 應該是說,架構設計會碰到的範圍太廣了,而且資訊領域本 03/20 19:46
→ panger: 來就會不斷有新東西需要學。 03/20 19:46
→ panger: 小弟才疏學淺,常有遇到新的議題需要思考怎麼處理...XD 03/20 19:46
→ Hsins: 你上面的這個 case 問題點不是技術的實現問題,是要先解釋 03/20 19:49
→ Hsins: 清楚「監管問題」指的是什麼…… 03/20 19:49
→ Hsins: 這問題的背後就是不要把系統管理員放到具備 sudo 的 wheel 03/20 19:51
→ Hsins: 群組(如果是 CentOS 系發行版本),根據他應該要具備的權 03/20 19:51
→ Hsins: 限,以最小權限原則去給予權限…… 03/20 19:51
推 MoonCode: 有在做事的架構師就滿分了啦 03/20 20:12
→ panger: 沒有做事的架構師是要做什麼的阿... 03/20 21:24
→ panger: 我以為架構師都是要當許願池和萬事通的... 03/20 21:26
推 jay123peter: 推 03/20 21:55
→ MoonCode: 原po這樣回我反倒不相信你是架構師 03/20 22:10
→ panger: 哈,你是說正規表示式Google不到嗎? 03/20 22:31
→ panger: 我有反省,大量使用ChatGPT的問題是會降低思考力 03/20 22:32
→ panger: 最近有注意到,如果以後只要寫中文信件 03/20 22:33
→ panger: 然後請ChatGPT翻譯成英文,還可以翻譯得很流暢。 03/20 22:33
→ panger: 這樣英文寫作能力是不是會慢慢減弱,閱讀能力也是... 03/20 22:34
→ panger: 新的Edge瀏覽器都已經測試在右邊直接把英文翻譯成中文了 03/20 22:34
→ panger: 不是我懶,只是機翻如果可以達到一定的水平, 03/20 22:34
→ panger: 趕時間的時候,還會真的想要自己寫嗎? 03/20 22:35
→ panger: 當然聽、讀還是很難被取代拉... 03/20 22:35
→ panger: 所以也有看到有人說,ChatGPT會把人養廢的說法 03/20 22:35
→ panger: 不過這篇的重點不是在架構師拉...XD 03/20 22:43
→ panger: 我主要是想要說明,我覺得ChatGPT是實務上是真的可用的 03/20 22:44
→ panger: 當然要取代工程師,這就還太早了,這比較偏媒體炒作了 03/20 22:45
→ vi000246: 架構怎麼會去問chatGPT啊 怪怪的耶 03/21 00:57
推 q26766: 推文好兇 別太在意 03/21 01:57
推 Isaea: 我覺得沒啥好酸的啊,幫原po補血 03/21 11:05
推 jej: 架構師的職責不就是台語嗎?(逃) 03/21 12:40
推 hakiooi: 推文真兇幫補血 prompt分享很正常網路也很多好嗎 03/21 20:04
推 art1: chatGPT 對我來說好用的地方是問句可以很模糊,常常也能給出 03/22 00:21
→ art1: 我需要的答案,這跟 google 需要關鍵字對才容易有答案是很大 03/22 00:21
→ art1: 的差異 03/22 00:22
※ 編輯: panger (220.130.192.46 臺灣), 03/22/2023 09:20:26
推 mathrew: 出張嘴最強 03/22 21:12
推 marc47: 幫你推一下,不管多資深的問題,有分享總是能幫到一些人 03/24 08:11