diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..69f6fd1 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "ms-ceintl.vscode-language-pack-zh-hant" + ] +} \ No newline at end of file diff --git a/homeworks/week1/hw1.md b/homeworks/week1/hw1.md index 9d71338..b690b94 100644 --- a/homeworks/week1/hw1.md +++ b/homeworks/week1/hw1.md @@ -1,2 +1,19 @@ ## 交作業流程 +1.先在本機上面新建一個資料夾 + +2.打開 vscode,使用下方終端機,創建資料夾,再創建文字檔 + +3.連結 git ,使用「git init」就會初始化一個新的 git 資料庫 + +4.確認系統是否創建成功,由於 git 初始化後會自動創建「.git」的資料夾,但是隱藏的,所以要想看到需要「ls -Force」,至於 mac 可以使用「ls -a」看到隱藏資料夾 + +5.上傳至 staging area,使用 「git add "檔案名稱"」 + +6.將 staging area 暫存區,提交給 localrepo 本地儲存庫,使用 「git commit -m "註解(例如:第五次測試、新增功能 a 的變更)"」 + +7.將 localrepo 本地儲存庫,提交給 remote repository 遠端資料庫(例如 github、gitlab),使用 「git remote add origin "網址" 」 + +8.將資料推送至 github ,使用 「git push origin master」這將推送 master 分支的更改到 GitHub 上名為 "origin" 的遠端儲存庫。如果使用的是不同的分支名稱,請將 master 替換為實際分支名稱 + +9.接著登陸 github 確認是否成功 diff --git a/homeworks/week1/hw3.md b/homeworks/week1/hw3.md index 581fcca..5927127 100644 --- a/homeworks/week1/hw3.md +++ b/homeworks/week1/hw3.md @@ -1,2 +1,76 @@ ## 教你朋友 CLI +嗨,我剛學會使用簡單的 CLI (Command Line Interface)功能, +因此想要來說明,我是如何理解以及使用他的。 + +# 1.解釋甚麼是 CLI 和 GUI + +首先 CLI 是所謂「命令行介面」,透過文字、以及命令字串來操作電腦檔案, +相對應是 GUI (Graphic User Interface) 「圖形化介面」現今在電腦上直 +接利用鼠標點擊來創建、刪除,以及修改檔案等等,都是使用這個功能。 + +# 2.CLI 的用途 + +那我們可以透過 CLI 來同時執行許多任務,以及設定自動化腳本來自動處理, +可以為我們節省下大量時間。 + +# 3.CLI 如何下載 + +可以在電腦上下載 GIT Bash 就是其中一種可以操作 CLI 的軟體,網址如下: +[text](https://git-scm.com/) +當然如果不想要使用下載,也可以使用線上版 Cmder 來模擬,網址如下: +[https://bellard.org/jslinux/](https://bellard.org/jslinux/) + +# 4.Git bash 基本指令 + +下載後打開會看到一片黑的頁面,然後會有「綠色 紫色~ (藍色)」 +翻譯下來是「電腦型號 使用者名稱 ~ (連結上 Github 的位置)」 +我們就可以開始使用 CLI 了 + +它的基礎對應指令有以下: +pwd 顯示現在所在的位置,如:/c/Users/hp +ls 顯示現在資料夾內所有的資料,可配合參數:「-a」可以顯示所有(隱藏)檔案 +cd 切換至其他資料夾位置,透過 ls 可以知道資料夾內的所有資料,因此可以用來 +切換到其他資料夾內,如:cd hello_git +man 使用說明書,只要在後面加上不懂的指令名稱,就會解釋。如:man ls,就會 +顯示它的使用功能和所有配合參數。(但這個指令似乎要額外安裝才可以使用) +clear 清除 git bash 上面所有的剛剛執行過的過程,讓介面乾淨,僅此而已。 +touch 建立檔案或更改檔案的時間。如:touch 001,如果今天這個檔案沒有存在過 +就會被建立,如果有的話則是會更改它最後一次的修改時間,但仍然會在時間 +歷程中 +mkdir 建立資料夾,如:mkdir 001 +mv 移動資料,或者更改名稱。如:mv 123 /c/users/hp,它的對應意思是: +「移動 檔案名稱 到這個絕對位置」or「改名 檔案名稱 變成這個名稱」 +cp 複製檔案。如:cp 123 123(1),它的對應意思是: +「複製 這個檔案 複製後名稱」 +rm 刪除檔案,可以刪除檔案或資料夾。如:rm 123,就會刪除該檔案; +如果是刪資料夾:rmdir git001,就會刪除該資料夾; +如果要刪除資料夾以及其資料夾內的東西:rm -r git001; +如果檔案有受保護,想要強制刪除:rm -f git001(不可以隨便使用真的會刪光) + +# 5.vim 文件編輯器 + +所謂 vim(Vi IMproved)是一種文件編輯器,可以在 CLI 介面來編輯檔案裡的文字 +資料,其指令為:vim git001。 +進入後,使用「i」開啟 insert 編輯文字; +按「ESC」退出編輯模式; +使用「:w」儲存本次更改; +使用「:q」退出 vim 文件編輯器 + +# 6.Git bash 其他指令 + +cat (concatenate 連結)用來連接兩個文件,若後方只有一個檔案,則可用來檢視文件內容。 +如:cat git001 git002 +less 若檔案內容太多,也可使用 less 分頁印出檔案。 +如:less 001.txt git001 +grep 搜尋該檔案內的關鍵字。 +如:grep 程式 git001 +wget 下載網址到這邊,通常用於下載該網站的程式碼。 +如:wget https://www.google.com.tw/?gws_rd=ssl +date 顯示今天的日期和時間 +echo 印出內容,通常用於配合「>」 +如:echo 123 > git001 (輸入 123 到 這個檔案內) +「>」重新導向功能,又稱為「redirection」。 +如:ls -am > 123.txt (列出所有的檔案 到 這個資料夾內) +「|」配合使用的管道,可以讓命令組合多個在一起。 +如:cat abc | grep w (檢視 abc 然後 搜尋關鍵字 w) diff --git a/homeworks/week1/hw4.md b/homeworks/week1/hw4.md index b734bb2..2aef9dc 100644 --- a/homeworks/week1/hw4.md +++ b/homeworks/week1/hw4.md @@ -1,2 +1,14 @@ ## 跟你朋友介紹 Git +Git 是一種版本控制,用來追蹤及管理軟體開發,使多人合作變得容易許多。 +因此可以歸類成以下幾點來說明: + +1.版本控制:它可以將不同次的檔案保存,並上傳到 Github 網站上面,使得檔案易於管理、更新,如同遊戲存檔及回復。 + +2.分支 (Branch):可以創建不同的分支來讓檔案易於區分,同時要整合時也可以自由選擇需要保留的部分,以及同步。 + +3.多功處理 (commit):在開發團隊上,讓每位工程師都能各自進行需要更新的部分。 + +4.歷史紀錄 (Log):可以查找哪部分是誰做的,同時註記時間以及更新的部分。 + +5.遠端資料庫 (remote repository):讓檔案到 Github 上面易於各自查詢所需部分, diff --git a/homeworks/week1/hw5.md b/homeworks/week1/hw5.md index 6696cc1..125c075 100644 --- a/homeworks/week1/hw5.md +++ b/homeworks/week1/hw5.md @@ -1,8 +1,17 @@ ## 請解釋後端與前端的差異。 +後端(Back-end): 後端是應用程式的伺服器端,負責處理應用的邏輯、數據庫操作、用戶身份驗證 +、和其他伺服器端的任務。後端通常處理應用的業務邏輯和數據管理。 +前端(Front-end): 前端是應用程式的用戶端,負責呈現和展示數據、處理用戶輸入、和與用戶互動 +。前端通常包括用戶界面、網頁設計、和與用戶的直接互動。 ## 假設我今天去 Google 首頁搜尋框打上:JavaScript 並且按下 Enter,請說出從這一刻開始到我看到搜尋結果為止發生在背後的事情。 +1.輸入「Javascript」:從搜尋框準備將資料輸入。 +2.HTTP 請求:向 Google 發送這個內容的請求。 +3.DNS 解析:將 Google 網址發送給 DNS 網站,轉換對應的 IP 位置,再返回用戶端。 +(同時會緩存內容,以便提高效能不必再重新轉換) 4.建立連結:瀏覽器與 Google 建立一個安全連結。 5.處理搜尋:進行搜索。 6.生成演算:根據你的輸入進行計算,決定應該返回哪些搜尋結果。這包括考慮關鍵字的 +相關性、網頁的權重等。 7.導入結果:將結果導入至你的頁面,可能有多個搜尋、網站,甚至相關廣告。 8.呈現:你的瀏覽器收到結果後,開始解析網站內的 HTML、JS、CSS 等,最終呈現出來 +畫面。 - -## 請列舉出 3 個「課程沒有提到」的 command line 指令並且說明功用 \ No newline at end of file +## 請列舉出 3 個「課程沒有提到」的 command line 指令並且說明功用