--- tags: Node.js 直播班 - 2024 春季班 --- # (北11組) 小組破冰任務 - Node 企業專題班 > 討論時間: - 2024/03/11 21:30-22:20 - 2024/03/13 21:00-22:00 **組員參與名單:** - [x] reDawson - [x] howard3331 - [x] Frose - [x] wenfishfa - [x] 大頭 --- :::spoiler **回報流程** **回報流程:** 1. 請組員中派一位到下方回報解答連結,**一個小組請派一人提交**。回報內容需含: 1. 該任務的答案 2. 提供 1~3 張視訊或 Discord 對話截圖,確保有進行小組討論 3. 組員參與名單 **提交條件:** * 在 Discord 或任何交流形式的截圖 * 參與者皆需要發言 ::: ## 任務挑戰一 :線下專題工作坊行前通知 - 請填寫葷素統計表單,並於請 3/10 (日)前完成 ## 任務挑戰二:小組自我介紹 1. 請分享您的背景給組員,當初為什麼想成為工程師? 2. 自己的程式技能樹介紹,這次 Node 班最想學的技術是什麼? 3. 分享自己的一個小秘密,可能連你爸媽都不知道(例:洧杰教練擔任過 9 年巴哈姆特熱門遊戲論壇版主,在線上遊戲氪金數字超過 6 位數,曾一度認真想成為電競選手) 4. 請分享自己的[測驗結果](https://www.16personalities.com/ch/%E7%B1%BB%E5%9E%8B%E6%8F%8F%E8%BF%B0)給您的組員。 - Dawson > Hi,我是德勝,也可以叫我Dawson。 > 本科是讀國際商務,出社會第一份工作是去做廣告投放,後來用了一個發 EDM 的軟體需要使用 css 修改樣式,進而接觸到前端,之後就忽然覺醒想要讓自己擁有專業技術硬實力,就購買線上課程學習前端技術、轉職前端,現有兩年工作經驗。 > > 目前使用技術是 Vue3, Nuxt3, TypeScript有跟過課,但是不太熟;這次 Node 班最想研究的是 Docker, Nuxt3, CI/CD。 > 小秘密:自從當工程師以來已經胖了20公斤了 T.T > 很開心能遇到一起學習的工程師,加油加油~~ > MBTI測驗結果是 [ESFJ-A](https://www.16personalities.com/ch/%E7%BB%93%E6%9E%9C/esfj-a/x/1rva1nte0) - Wenfish > 嗨嗨,我是文瑀,可以叫我文魚。 > 以前大學是讀商科相關的學系,但畢業之後對這方面的工作沒甚麼興趣,做了一年的業務助理,就開始決定學寫程式,因為薪水比較穩定,又可以聽音樂工作哈哈~ > 我目前在公司是前端工程師,主要以Vue2開發,但因為公司人力短缺,有時會需要自己開API,用的後端語言是 Java,目前有一年多前端工程師的工作經驗。 > 我的小秘密是很喜歡打羽球,靠這個運動持續進攻公司零食,努力不發胖太多。 > 希望這次課程可以學到更多後端知識點,也很開心認識大家,期待這次的專案合作。 > 我的三個關鍵字:貓咪、羽球、Vue > MBTI測驗結果是 [ENTJ-T](https://www.16personalities.com/ch/entj-%E4%BA%BA%E6%A0%BC?utm_source=results-turbulent-commander&utm_medium=email&utm_campaign=ch&utm_content=type-personality-0) - Frose > 大家好,我是Frose,我原本是做QA和LQA的,QA有待過雷亞,LQA有待過Pole To Win和得維 > 因為喜歡玩遊戲,所以都是做跟遊戲有關的工作 >我目前會Html、CSS、JS、Vue、jQuery、SCSS、和一點Typescript,想學的部分有SQL、Node.js、websocket和一些有關部屬的知識 >小祕密的部分因為我國中時期常熬夜,食物又吃不多,所以我目前不高,羅馬不是一天造成的...... https://www.16personalities.com/ch/结果/esfj-t/x/1sbt1ffwl - Howard3331 >嗨嗨,我是Howard,因為錢多穩定來當工程師,大學讀電子系,基本上因為太硬體都沒學東西XDD,是畢業後因為六角才開始寫軟體碰前端,也是因為軟體比較不會死硬才寫得下去。 ><br>目前年資接近兩年吧,在公司主寫jqery 內建MVVM模組,外接被碰一些sql java,不過後端很菜的階段,框架上斷斷續續算vue有碰到半年,春節後開始寫Angular TypeScript還在陣痛期中,直播班希望可以補些前端框架經驗,並把後端觀念比較穩固點。 >小秘密:從國中開始用 PTT,好像沒什麼值得說嘴XDD ,再請大家多多指教囉~ >關鍵字:戶外、吉他新手、地方創生 - 大頭 >大家好,我是大頭,目前在在公司職稱是前端工程師,年資一年,大學讀資管系,原本在做圍棋老師,但後來因為薪水的關係又跳回本科工作,本身職稱是前端工程,但一直在做全端的事,技能樹js、css、html、vue3、express,在公司有碰一點gcp跟docker但深知自己還是很菜,希望能在直播班上跟大家一起做出很棒的專題 >關鍵字:圍棋、健身、貓咪 >人格測驗之前測過是邏輯學家 ## 任務挑戰三:AI 生成式圖像訓練 ![NodeJS-North11](https://hackmd.io/_uploads/BkeTbS1Ra.png) 詠唱碼: ``` A party of five catfolk consisting in a fighter, a cleric, a rogue and a wizard walking down a dungeon corridor lit by torches drawn in studio ghibli style, zoomed out ``` ## 任務挑戰四:[ChatGPT AI](https://openai.com/blog/chatgpt/) 程式題詠唱訓練 1. 請用 chatGPT 解答[10 道 if+function 題目](https://hackmd.io/zvASmoO4S3q6oLINjupvJA),不可自己寫程式,需能直接詠唱出解答。如想找更進階題目,可前往 [Codewars](https://codewars.com/)、[Leetcode](https://leetcode.com/) 找題目。 :::spoiler 題目一:多重條件 ``` function myThought(day) { if (day === 1) { return "星期一:穿新衣。"; } else if (day === 2) { return "星期二:心情好。"; } else if (day === 3) { return "星期三:忙碌中。"; } else if (day === 4) { return "星期四:期待周末。"; } else if (day === 5) { return "星期五:放鬆一下。"; } else if (day === 6) { return "星期六:出遊好時機。"; } else if (day === 7) { return "星期日:來考試。"; } else { return "一周只有七天,輸入錯囉"; } } ``` ::: :::spoiler 題目二:飲酒測試 ``` function isDrinkable(age) { if (age >= 18) { return true; } else { return false; } } ``` ::: :::spoiler 題目三:發燒檢測 ``` function isFever(temp) { if (temp >= 38) { return true; } else { return false; } } console.log(isFever(37)); // false console.log(isFever(39)); // true ``` ::: :::spoiler 題目四:溫標轉換 ``` // 攝氏轉換為華氏 function CtoF(celsius) { return parseFloat((celsius * 9 / 5 + 32).toFixed(1)); } // 華氏轉換為攝氏 function FtoC(fahrenheit) { return parseFloat(((fahrenheit - 32) * 5 / 9).toFixed(1)); } // 測試函式 console.log(CtoF(10)); // 50 console.log(FtoC(10)); // -12.2 ``` ::: :::spoiler 題目五:餵食青蛙 內文放這兒 ::: :::spoiler 題目六:計算球體體積 ![image](https://hackmd.io/_uploads/HkuyiC6a6.png) ::: :::spoiler 題目七:BMI 計算 ![FireShot 001 - Bmi 計算函式 - chat.openai.com](https://hackmd.io/_uploads/SkE5oAp6a.png) ::: :::spoiler 題目八:斜邊計算 ![image](https://hackmd.io/_uploads/B1O9tdR6T.png) ```javascript function calcHypotenuse(x, y) { var hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); return Math.round(hypotenuse * 10) / 10; // 四舍五入至小数第一位 } // 示例用法 var x = 10; // 第一条直角边的长度 var y = 10; // 第二条直角边的长度 var result = calcHypotenuse(x, y); console.log("斜边的长度为:" + result); // 打印结果 ``` ::: :::spoiler 題目九:FizzBuzz ![image](https://hackmd.io/_uploads/rkPpc_066.png) ```javascript= function fizzBuzz100() { let result = []; for (let i = 1; i <= 100; i++) { if (i % 3 === 0 && i % 5 === 0) { result.push("FizzBuzz"); } else if (i % 3 === 0) { result.push("Fizz"); } else if (i % 5 === 0) { result.push("Buzz"); } else { result.push(i.toString()); } } return result; } // input 輸入 console.log(fizzBuzz100()); // output 輸出 // ["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz", ...] ``` ::: :::spoiler 題目十:蜘蛛下網 ```javascript= function spiderLeaveWeb(x, y) { // 蜘蛛網的大小設定 const webSize = 11; // 判斷蜘蛛是否在網上 if (x < 0 || x > webSize || y < 0 || y > webSize) { return "蜘蛛不在網上了"; } // 計算到每個角落的距離 const distances = [ { point: "左上為最近的支撐點", distance: Math.sqrt(x*x + y*y) }, { point: "右上角為最近的支撐點", distance: Math.sqrt((webSize-x)*(webSize-x) + y*y) }, { point: "左下角為最近的支撐點", distance: Math.sqrt(x*x + (webSize-y)*(webSize-y)) }, { point: "右下角為最近的支撐點", distance: Math.sqrt((webSize-x)*(webSize-x) + (webSize-y)*(webSize-y)) } ]; // 尋找最短距離 distances.sort((a, b) => a.distance - b.distance); const nearest = distances[0]; // 格式化輸出 return `${nearest.point},距離 ${nearest.distance.toFixed(1)} 單位`; } // 測試給定的座標 //console.log(spiderLeaveWeb(8, 3)); ``` ::: 2. 請嘗試用 chatGPT 寫出 [todolist API](https://discord.com/channels/801807326054055996/1199196832870449173/1209502540455219291),並一樣需載入 `uuid` NPM 套件,並寫出各 API 功能 :::spoiler todolist API by chatgpt ![FireShot Capture 002 - Node.js todolist API - chat.openai.com](https://hackmd.io/_uploads/B1wqqyCpT.png) ::: ## 任務挑戰五:專題討論 1. **主題選擇**:請小組內成員,投票自己想做的題目,可先列出 2~3 個最有興趣的,並在線下專題工作坊的時候再做決定即可。 * [電商交易平台](https://www.notion.so/LV1-0699df741c2f4087ae20853ef09c573b?pvs=4) * [活動票務系統](https://www.notion.so/LV2-090f8a814bc545c2b6b04be9d10d8e2a?pvs=4) 2. **挑選致敬對象,收斂開發範圍**:挑選出備案主題後,請蒐集幾個相同性質的網站,做為當天工作坊的討論素材。會藉此設計[使用者故事](https://ithelp.ithome.com.tw/articles/10220522),來收斂開發範圍。 ## 任務六: 3/16、3/17 線下專題工作坊後,預期每週要暫訂約哪天來進行小組同步會議 週一 21:00 :::spoiler 討論截圖 ![screenshot-2](https://hackmd.io/_uploads/rJVBBSyCT.png) ![screenshot-1](https://hackmd.io/_uploads/B1NBBHkRp.png) ![image](https://hackmd.io/_uploads/SkrFrH1A6.png) :::