7.
多人合作開發
一、 Git多人合作開發
- Git用來做版本控制,Git是分散式,每個人都有一份完整的本機儲存庫。
- 下載安裝git:https://git-scm.com/download/win。如此就有git可用,但需用終端機下指令,VSCode亦可自動整合,沒太多需求的話,這樣就行了。可做自己專案的版本控制。
- 要多人開發,需有個遠端儲存庫,可自架,亦有免費的網路服務,如GitHub
- 先註冊遠端儲存庫GitHub:https://github.com/join?source=header
- (1) 步驟一:填入帳號、Email、密碼
- (2) 步驟二:選擇免費方案(Unlimited public repositories for free. )
- (3) 步驟三:簡單的問卷調查,隨便填,跳過亦可
- (4) 步驟四:收信啟用即可(Start a Project)
- 安裝圖形操作界面:https://www.gitkraken.com/
- 常見詞彙或指令:
- (1) Working Directory 工作目錄:一個資料夾,放程式碼或檔案的地方,如 reporter
- (2) Repository 儲存庫(版本庫):用來紀錄版本的資料夾,一般在工作目錄下的 .git
- (3) Master 主幹:通常第一個建立的專案版本會稱為Master版本
- (4) Branch 分支 :可將某個版本複製一份,獨立成為另一個新的分支版本
- (5) Clone 複製:把在遠端儲存庫上的專案製到本地
- (6) Fork 分叉:把別人在遠端儲存庫的專案內容複製一份到自己的遠端儲存庫
- (7) Commit提交:把異動的檔案送到本機儲存庫。
- (8) Push 上推:可以把自己目前本機端儲存庫的相關檔案,上傳到遠端儲存庫
- (9) Pull 下拉:把遠端儲存庫的最新版下載至自己的本機,並將遠端分支合併到本地分支
- (10) Pull Request:主動要求第三方開發者納入自己開發的程式,將本地端儲存庫上的程式碼,整併到對方的儲存庫上
- 整體運作流程:
- (1) 建立開發專案(Init→GitHub.com→選擇帳號、設定專案英文名稱、指定目錄即可)
- (2) 若是要參與某專案,只要連結到網站網址,按下Fork按鈕即可,然後回到 gitkraken(File→Clone Repo→Clone→GitHub.com→選擇專案、指定目錄即可)
- (3) 接著在專案目錄下新增或修改檔案,開發者將需要提交的檔案標記為staged檔案(view all change→stage all changes)。輸入摘要,執行提交(commit),將異動檔案及紀錄儲存到儲存庫中。
- (4) 若要傳到GitHub,開發者則需使用Push將異動部份推到遠端儲存庫上整併。
- (5) 每次編輯專案時,可先從遠端儲存庫將新版程式碼取回(Pull)本地端儲存庫。
- (6) 若是Fork他人專案者,若已將想做功能完成,可Pull Request要求納入原始專案中。
二、 關於.gitignore檔
- 有一些檔案是無須(或不可)上傳到git的,例如快取檔或設定檔
- 因此可以建立 .gitignore檔在專案目錄下,把不要提交的目錄或檔案寫進去即可,如:
cache/
templates_c/
三、 巷談集系統需求分析
- 編輯精選:由編輯群挑選當周一則精選主題,類似頭條新聞,最上一則呈現
- 街巷故事:由社大師生書寫發表台南有趣或重要的故事或新聞
- 市井觀點:類似評論及專題功能,會有單一主題,多人發表的型式,以呈現不同觀點。
- 私房知識塾:由社大各學程教師提供本身的課程介紹,類似一周一課。呈現的方式可以是課程新知識,資深學員學習心得分享等(類似環資中心的綠課表單元)
- 其他:因應分享,每一則新聞可點選臉書,Line,推特及google分享鍵,希望每一則新聞可以有字體大小選擇鍵、稿件採編審制,會先寄到編輯信箱,先進行校對與資料核對。
- 試問: 如何規劃資料庫?改如何呈現?該如何做?
四、 前端表單驗證
- 官網:https://github.com/posabsolute/jQuery-Validation-Engine
- 下載解壓後,只需要js及css這兩部份檔案。
- 在表單前加入(確定已經有先引入jquery.js):
<script src="js/languages/jquery.validationEngine-zh_TW.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css">
- 表單必須加入id名稱,例如:
<form id="myform">
- 在欲套用驗證的欄位把參數加入class中,且該欄位必須有設定id,其基本格式如:
<input type="text" name="title" id="title" class="validate[required, minSize[4], maxSize[50]]">
- (1)
equals[field.id]
:等於某欄位
- (2)
min[float]
:最小值、max[float]
:最大值
- (3)
minSize[integer]
:最小字數、maxSize[integer]
:最大字數
- (4)
minCheckbox[integer]
:至少選幾個、maxCheckbox[integer]
:最多選幾個
- (5)
custom[格式]
:驗證各種輸入內容,格式可以是:
phone
(電話)
url
(網址)
email
(Email)
date
(日期 YYYY-MM-DD)
number
(數字,如:-143.22 or .77 but also +234,23)
integer
(整數,如:-635 +2201 738)
ipv4
(IP,如:127.0.0.1)
onlyNumber
(僅數字)
onlyNumberSp
(僅數字及空白)
onlyLetter
(僅字元)
onlyLetterSp
(僅字元及空白)
onlyLetterNumber
:僅字元和數字,無空白
- 切換位置:http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/
- 最後記得加上:
<script>
$(document).ready(function () {
$('#myform').validationEngine();
});
</script>