描述
內容簡介
☆★☆改寫自第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 |
目錄
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 結語 |
序
簡介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. 維基百科- 人工智慧幻覺 |