Skip to content

Files

Latest commit

980891f · Jun 18, 2020

History

History

week1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
May 24, 2020
Mar 26, 2020
Mar 26, 2020
Mar 26, 2020
Jun 18, 2020

作業

附註:.md 代表文章格式為 markdown,可自行上網搜尋相關教學,檔案內容請盡可能遵守中文文案排版指北

hw1:交作業流程

請用文字一步步敘述應該如何交作業。

範例:

  1. 新開一個 branch:git branch hw1
  2. 切換到 branch:git checkout hw1

請將答案寫在 hw1.md

hw2:理解放鬆很重要

大腦會在兩種不同的工作模式中切換,所以在卡關時讓大家適當休息一下是很重要的,否則只會越卡越深,陷入泥淖之中。

因此,這個作業希望讓大家學會休息的重要性。請你找個時間出去散步(像是家裡附近的公園之類的,反正哪裡都可以),並且把休息一天的心得寫在每日進度上面。

hw3:教你朋友 CLI

學了一項東西之後若是想驗證自己是不是真的懂,教別人是最快的方法。

有天,你的麻吉 h0w 哥跑來找你說:「欸!能不能教我 command line 到底是什麼,然後怎麼用啊?我想用 command line 建立一個叫做 wifi 的資料夾,並且在裡面建立一個叫 afu.js 的檔案。就交給你了,教學寫好記得傳給我,ㄅㄅ」

可...可惡,居然這樣子就跑走了。但因為他是你的麻吉,所以你也沒辦法拒絕。

因此這個作業要請你寫一篇簡短的文章,試圖教會 h0w 哥什麼是 command line 以及如何使用,並且要教他如何達成他想要的功能。

請將答案寫在 hw3.md

hw4:跟你朋友介紹 Git

因為你的人實在是太好,時不時就會有朋友跑來找你來幫忙。

這次來的是一個叫做菜哥的朋友,會叫做菜哥是因為家裡賣菜,跟你認識的其他人同名的話純屬巧合。

菜哥:「就是啊,我最近有一個煩惱。因為我的笑話太多了,所以我目前都用文字檔記錄在電腦裡,可是變得越來越多之後很難紀錄,而且我的笑話是會演進的。會有版本一、版本二甚至到版本十,這樣我就要建立好多個不同的檔案,弄得我頭很痛,聽說你們工程師都會用一種程式叫做 Git 來做版本控制,可以教我一下嗎?」

『好吧,我試試看』

菜哥:「謝啦,話說你來參加這個計畫學程式真的選對了欸,之後就不會有貧血的困擾了」

『為什麼』

「因為你會寫程式」

『...』

「喔...原來是血乘四的部分啊(拍手)」

就是這樣,在一陣尬聊之中你答應了菜哥的要求,要教他怎麼使用 Git 來管理他的笑話。

因此,你必須教他 Git 的基本概念以及基礎的使用,例如說 add 跟 commit,若是還有時間的話可以連 push 或是 pull 都講,菜哥能不能順利成為電視笑話冠軍,就靠你了!

請將答案寫在 hw4.md

hw5:簡答題

請將答案寫在 hw5.md

  1. 請解釋後端與前端的差異。
  2. 假設我今天去 Google 首頁搜尋框打上:JavaScript 並且按下 Enter,請說出從這一刻開始到我看到搜尋結果為止發生在背後的事情。
  3. 請列舉出 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.js2.js...10.js

提示 #1 去找找看怎麼在 shell script 裡面寫迴圈吧!

超級挑戰題

請寫一個github.sh,可以傳入一個參數 username,執行之後就會輸出這個 GitHub 使用者的暱稱、介紹、地點跟個人網站。

範例:

./github.sh aszx87410

輸出:
Huli
Love coding, teaching, and writing. Believe sharing can make the world a better place.
Taipei, Taiwan
https://medium.com/@hulitw
提示 #1 你知道嗎?用這個網址可以取得使用者的資料:https://api.github.com/users/aszx87410
提示 #2 cut, grep, sed, awk 這些指令都是字串處理的好夥伴