☆★☆改寫自第15屆iThome鐵人賽自我挑戰組熱門文章☆★☆
☆★☆免費版ChatGPT-3.5,人人皆可用且簡易上手☆★☆
☆★☆豐富的問答與範例☆★☆
☆★☆依個人需求自訂義設定ChatGPT,打造專屬助手☆★☆
☆★☆章節皆附QR Code,問答內容與程式碼一鍵複製☆★☆
☆★☆深度掌握React與前端工程師必備相關知識☆★☆
☆★☆學會如何使用ChatGPT幫助工作與學習☆★☆內容結合ChatGPT使用示範與前端技術教學,協助前端工程師打造更為精湛的React開發技能之餘,更學習如何與AI共融進步。
透過ChatGPT使用和設定教學,你將學到如何善用這個強大的工具,不僅提升開發效率,更能打造個人專屬的程式碼助手,了解其應用於算數問題以及程式碼開發、運維的種種可能性。
涵蓋JavaScript、TypeScript、React基礎與進階主題,深入剖析網頁基礎、ES6語法、異步操作、React狀態管理、以及Redux等重要概念。每一個章節都以ChatGPT為導師,搭配專業的技術指引,使你能夠輕鬆掌握前端開發的核心技能。
書中更探討自動測試的重要性,引導讀者使用Jest單元測試和Storybook來處理UI文件與測試,確保程式碼品質和穩定性。最後,透過ChatGPT的引導,你將走遍React與前端技能樹的各個角落,建立起堅實的技術基石。
本書希望讀者明白AI並不是取代自己的敵人,而是推進自己的忠心夥伴。讓ChatGPT與你攜手,開啟前端學習之旅,使技能樹在ChatGPT的詠唱中綻放光芒。
作者簡介:
一宵三筵(黃韻儒)
畢業於中興大學資訊工程學系。
大學專題以強化式學習做為研究主題、關注AI領域發展。畢業後從事前端工程師工作,專攻於React、NextJS等前端技術,並從前端領域不斷擴展技能樹到後端領域,目前職位為全端工程師。
偶爾會在IT邦幫忙上分享一些開發上的踩坑分享,持續找尋、嘗試多種方式來降低程式學習上的曲線與門檻,後來ChatGPT的問世,得以結合目前熟悉的前端技術,參加第15屆鐵人賽自我挑戰組,以《用ChatGPT詠唱來完成工作與點亮前後端技能樹》系列打入熱門文章。
LinkedIn: https://www.linkedin.com/in/韻儒-黃-397530215/
github: https://github.com/lalame888
IT邦幫忙: https://ithelp.ithome.com.tw/users/20135750/profile
作者序
簡介ChatGPT
GPT 是 Generative Pre-trained Transformer 的簡寫,中文目前翻譯為「生成型預訓練變換模型」,那簡單來說就是一種處理自然語言的人工智慧框架。
而ChatGPT 是由一間叫做OpenAI 的公司使用這樣的框架技術,在2022 年11 月30 日所推出的聊天機器人。以白話來說,這個機器人可以讓你像在和人類對話一樣,輸入文字與電腦進行對話。ChatGPT 會根據上下文去生成文字內容,能夠回答問題或是提供建議等等,而且會記得你前幾句所說過的話,記得整個聊天的情境,並根據你的要求來做回答。
在剛推出的時候,許多人會基於好玩、新奇的心態,很認真的和ChatGPT進行「聊天」,故意問各種問題,考驗他的知識量與能耐,或是在聊天過程中進行誘導或是誤導,讓他回答出奇怪或錯誤的答案,挑戰模型的道德限制,並嘗試讓他說出反社會人格、評論政治等話語。
確實,ChatGPT 會有「人工智慧幻覺」這個現象。
人工智慧幻覺
要簡單解釋什麼是「人工智慧幻覺」的話,就是人工智慧們在回答問題時,有可能會有「一本正經說幹話」、「參雜錯誤資訊話唬爛」的狀況。
目前研究推測的發生主因是,這些人工智慧在訓練模型時,傾向順著使用者的話語說下去,讓你和他聊天覺得「愉快」,或是在訓練的資料上有錯誤的資料混雜,或數個正確的資料在ChatGPT 回答時互相參雜,變成了一個錯誤的資訊。
總之,AI 的回答有可能是錯的,這個對錯的驗證仍然需要人類的判斷。而去誤導ChatGPT 回答出好笑的對話內容,說實在對我們的生活或是工作可能幫助不大。
本書的主旨是在使用ChatGPT 來幫助工作、幫助學習。有關「AI 的回答可能有錯」這件事情,大多時候其實ChatGPT 並不會刻意的背叛你,使用時避免去刻意誤導他、使用明顯錯誤的答案去糾正AI。
使用得當,ChatGPT 就是你身旁最Carry 的同事或助手。
ChatGPT 會取代工程師嗎?
關於這個問題, 也許是很多人心中的疑惑或是焦慮來源。因為聽聞ChatGPT 會寫程式,就開始擔憂工程師這個職業是否在未來會被取代掉。
目前的ChatGPT,我認為是沒有辦法取代工程師的。現行的ChatGPT,就好比是牙醫師身邊的助手,會幫忙遞上想要的工具或是較簡單的操作。但實際上,整個工作的流程、順序、執行等,還是必須由醫師本人來執行。
ChatGPT 可以幫你完成小部份的工作,但你若要他完成一整份專案是做不到的。
例如:一個包含後台管理的購物網站。
目前的ChatGPT 是沒有辦法讓一個完全不會程式普通人,就靠著詠唱變出完整的一份專案。而ChatGPT 帶來最大的影響,是會讓「成為工程師」的門檻降低。
再稍微打個比方,在很多語言中有提供 sort() 這一類的函式可以使用。
當一個語言中提供了這樣的函式,也許造就了一些完全不知道「排序演算法」的工程師,也有辦法進行陣列的排序。工程師不一定需要知道「若沒有提供 sort() 的話應該要怎麼完成排序」。但是,他可以使用 sort() 這個好用的函式來完成他的工作,sort() 只是他整份程式碼中的一小個部分,其他還是有很多邏輯需要由他來完成,才是一份完整的程式碼。
ChatGPT 也是一樣的道理。
也許,在一些小功能的實現上,不再需要由工程師自己去撰寫內部邏輯,就可以靠著指揮ChatGPT,讓它提供相對應的程式碼片段。但要完成一個完整的需求或是功能,仍然需要有程式概念、基礎程式相關知識的工程師來完成。
若運用得當,ChatGPT 可以成為你的老師、可以幫助你成為更好、更厲害的工程師,這個部分也是這本書想做的。
在後續的篇章中,將會示範如何讓ChatGPT 引領我們學習一項全新的技術,踏入網頁開發的領域,從程式與前端基礎開始學習,到學習使用React 框架,再包含更進階的狀態管理、單元測試等內容進行全面的學習。讓ChatGPT 幫助我們建立完整、強大的技能樹。
參考資料
1. 維基百科- ChatGPT
2. 維基百科- 人工智慧幻覺
簡介ChatGPT
GPT 是 Generative Pre-trained Transformer 的簡寫,中文目前翻譯為「生成型預訓練變換模型」,那簡單來說就是一種處理自然語言的人工智慧框架。
而ChatGPT 是由一間叫做OpenAI 的公司使用這樣的框架技術,在2022 年11 月30 日所推出的聊天機器人。以白話來說,這個機器人可以讓你像在和人類對話一樣,輸入文字與電腦進行對話。ChatGPT 會根據上下文去生成文字內容,能夠回答問題或是提供建議等等,而且會記得你前幾句所說過的話,記得整個聊天的情境,並根據你的要求來做回答。
在剛推出的時候,許多人會基於好玩、新奇的...
目錄
1 ChatGPT 基礎使用、設定
1-1 ChatGPT 註冊
1-2 示範:ChatGPT 與算術問題
1-3 利用Custom instructions(自訂指令)來打造工程師的專屬助手
1-4 讓ChatGPT 成為程式碼的開發/ 運維好夥伴
2 ChatGPT 請教教我:JavaScript & TypeScript 基礎
2-1 網頁基礎入門 - HTML、JavaScript、CSS
2-2 進階JavaScript、 ES6 語法& 語法糖
2-3 異步程序:Callback、Promise、async/await、Fetch 串接API
2-4 TypeScript ! Enum !泛型!
2-5 Class(類別)! Object(物件)!物件導向OOP!
3 ChatGPT 請教教我:React 基礎
3-1 起始安裝、JSX 元素、元件、Props !
3-2 State(狀態)!內容動起來!
3-3 運用JS 高階函數,進階JSX 組合元件!
3-4 Hook !副作用(Side Effect)? useEffect!
3-5 更多Hook ! useCallback ! useMemo !自定義Hook!
3-6 ref ? useRef ! forwardRef ! useImperativeHandle!
3-7 React & TypeScript!
3-8 React & axios! API 串起來!
4 ChatGPT 請教教我:React 進階
4-1 React Redux 狀態管理
4-2 React Redux & Redux Toolkit!
4-3 React Redux & Redux-thunk! API 參戰!
4-4 useReducer、useContext vs. Redux
4-5 NextJS !路由系統!
4-6 Nx 框架! Monorepo 架構!
5 ChatGPT 請教教我:自動測試
5-1 Jest 單元測試:基本介紹&起始安裝
5-2 Jest 單元測試:完整語法&教學
5-3 Storybook:UI 文件與測試
6 結語
1 ChatGPT 基礎使用、設定
1-1 ChatGPT 註冊
1-2 示範:ChatGPT 與算術問題
1-3 利用Custom instructions(自訂指令)來打造工程師的專屬助手
1-4 讓ChatGPT 成為程式碼的開發/ 運維好夥伴
2 ChatGPT 請教教我:JavaScript & TypeScript 基礎
2-1 網頁基礎入門 - HTML、JavaScript、CSS
2-2 進階JavaScript、 ES6 語法& 語法糖
2-3 異步程序:Callback、Promise、async/await、Fetch 串接API
2-4 TypeScript ! Enum !泛型!
2-5 Class(類別)! Object(物件)!物件導向OOP!
3 ChatGPT 請教教我:React 基礎
3-1 起始...