附註:.md 代表文章格式為 markdown,可自行上網搜尋相關教學,檔案內容請盡可能遵守中文文案排版指北。
請用文字一步步敘述應該如何交作業。
範例:
- 新開一個 branch:
git branch hw1
- 切換到 branch:
git checkout hw1
請將答案寫在 hw1.md。
大腦會在兩種不同的工作模式中切換,所以在卡關時讓大家適當休息一下是很重要的,否則只會越卡越深,陷入泥淖之中。
因此,這個作業希望讓大家學會休息的重要性。請你找個時間出去散步(像是家裡附近的公園之類的,反正哪裡都可以),並且把休息一天的心得寫在每日進度上面。
學了一項東西之後若是想驗證自己是不是真的懂,教別人是最快的方法。
有天,你的麻吉 h0w 哥跑來找你說:「欸!能不能教我 command line 到底是什麼,然後怎麼用啊?我想用 command line 建立一個叫做 wifi 的資料夾,並且在裡面建立一個叫 afu.js 的檔案。就交給你了,教學寫好記得傳給我,ㄅㄅ」
可...可惡,居然這樣子就跑走了。但因為他是你的麻吉,所以你也沒辦法拒絕。
因此這個作業要請你寫一篇簡短的文章,試圖教會 h0w 哥什麼是 command line 以及如何使用,並且要教他如何達成他想要的功能。
請將答案寫在 hw3.md。
因為你的人實在是太好,時不時就會有朋友跑來找你來幫忙。
這次來的是一個叫做菜哥的朋友,會叫做菜哥是因為家裡賣菜,跟你認識的其他人同名的話純屬巧合。
菜哥:「就是啊,我最近有一個煩惱。因為我的笑話太多了,所以我目前都用文字檔記錄在電腦裡,可是變得越來越多之後很難紀錄,而且我的笑話是會演進的。會有版本一、版本二甚至到版本十,這樣我就要建立好多個不同的檔案,弄得我頭很痛,聽說你們工程師都會用一種程式叫做 Git 來做版本控制,可以教我一下嗎?」
『好吧,我試試看』
菜哥:「謝啦,話說你來參加這個計畫學程式真的選對了欸,之後就不會有貧血的困擾了」
『為什麼』
「因為你會寫程式」
『...』
「喔...原來是血乘四的部分啊(拍手)」
就是這樣,在一陣尬聊之中你答應了菜哥的要求,要教他怎麼使用 Git 來管理他的笑話。
因此,你必須教他 Git 的基本概念以及基礎的使用,例如說 add 跟 commit,若是還有時間的話可以連 push 或是 pull 都講,菜哥能不能順利成為電視笑話冠軍,就靠你了!
請將答案寫在 hw4.md。
請將答案寫在 hw5.md。
- 請解釋後端與前端的差異。
- 假設我今天去 Google 首頁搜尋框打上:JavaScript 並且按下 Enter,請說出從這一刻開始到我看到搜尋結果為止發生在背後的事情。
- 請列舉出 3 個「課程沒有提到」的 command line 指令並且說明功用。
有一種東西叫做 shell script,可以用 command line 指令以及一些語法寫成一個腳本,執行之後可以很方便地做很多事。
舉例來說,下面這個檔案我們存檔並取名叫做 test.sh:
#!/bin/bash
touch "$1.js";
echo "檔案建立完成";
接著為了讓他可以執行,我們要更改檔案權限:chmod +x test.sh
。
最後執行它:./test.sh abc
,傳入參數abc
。
就會建立一個叫做 abc.js 的檔案,這就是一個很簡單的 shell script。
現在請你寫一個 shell script,可以傳入一個數字 n,然後會產生 1~n 個檔案,檔名是 {number}.js
。
舉例來說:./num.sh 10
會產生1.js
、2.js
...10.js
。
提示 #1
去找找看怎麼在 shell script 裡面寫迴圈吧!請寫一個github.sh
,可以傳入一個參數 username,執行之後就會輸出這個 GitHub 使用者的暱稱、介紹、地點跟個人網站。
備註:這題禁止使用 jq 這個指令。
範例:
./github.sh aszx87410
輸出:
Huli
Love coding, teaching, and writing. Believe sharing can make the world a better place.
Taipei, Taiwan
https://medium.com/@hulitw