---
# System prepended metadata

title: (北11組) 小組破冰任務 - Node 企業專題班
tags: [Node.js 直播班 - 2024 春季班]

---

---
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公斤了 Ｔ.Ｔ
> 很開心能遇到一起學習的工程師，加油加油~~
> 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 ，再請大家多多指教囉~
>關鍵字：戶外、吉他新手、地方創生
- 大頭
>大家好，我是大頭，目前在在公司職稱是前端工程師，年資一年，大學讀資管系，原本在做圍棋老師，但後來因為薪水的關係又跳回本科工作，本身職稱是前端工程，但一直在做全端的事，技能樹ｊｓ、ｃｓｓ、ｈｔｍｌ、ｖｕｅ３、ｅｘｐｒｅｓｓ，在公司有碰一點ｇｃｐ跟ｄｏｃｋｅｒ但深知自己還是很菜，希望能在直播班上跟大家一起做出很棒的專題
>關鍵字：圍棋、健身、貓咪
>人格測驗之前測過是邏輯學家




## 任務挑戰三：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)
:::



