SZOIL 2016年1月正式成為Fab Academy深圳唯一教學點
課程將從1月份開始持續至6月 歷時5個月
沒有來得及報名的小夥伴、擔心英文水平有待提高、無相關背景卻很想參加課程的小夥伴
莫慌!
公眾號將持續分享Fab Academy課程作業筆記中文版
純文科背景小白的Fab Academy摸爬滾打探索修行之路
親測真實記錄!童叟無欺!
Fab Academy課程是由麻省理工學院比特與原子研究中心的尼爾·格申費爾德教授指導管理,基於麻省理工學院的快速原型開發課程MAS 863:如何製造(幾乎)任何東西(How to Make (Almost) Anything)而形成的一個數位化製造項目。Fablab課程最初是比特與原子研究中心的一個推廣項目,至今已傳播到世界各地的Fablab。該項目通過一個獨特的親自動手的課程,利用技術工具和資源,為學生提供了先進的數位化製造指導。
Fab Academy是每年一月至六月期間提供的為期5個月的課程計劃。這是一個快節奏,動手學習經驗,讓學生每星期策劃和實施新項目。每個人記錄他們對每一個項目的進展,最終利用每周所學的技能做出一個自己的Final Project。
為期5個月的密集課程,學生在Fab Academy 將學到:
√開掛的心理及身體狀態
√運行狀態良好的設備及系統
(Windows, Mac, Linux最好都有,SZOIL都有💁)
√Linphone
因為是線上多方視頻會議授課方式,因此要在上課前確保能夠順利進入MCU頻道
官網上推薦了很多軟體,具體可參考(video.cba.mit.edu)
大部分同學推薦使用的是Linphone。
安裝:
sudo add-adt-repository ppa:linphone/release
sudo apt-get update
sudo apt-get install linphone
或前往官網下載:www.linphone.org
配置:
設置最大傳輸單元(MTU):1500
音視頻設置:Preferred video resolution:4CIF
音視頻設置:啟用回聲抑制選項-不打勾
設置好之後,撥打會議ID號碼即可。
課前準備結束,可以愉快地上課了。
WEEK1. 項目管理
第一課任務:
① 建立本周的任務是建立一個自己的網站頁面HTML,頁面內容包括自我介紹和最終項目。
② 我們需要在自己的頁面上記錄自己每周取得的進展,並將它推送到伺服器中(以我們為例,今年我們需要將它push到GitLab中FablabShenzhen Open Innovation Lab裡,然後最終push到MIT的伺服器中。
最初我的想法是用WordPress建設一個網站,並通過插件將它到處成為HTML。採取這種方式有以下幾個原因:
-有WordPress創建網站的經驗
-WordPress的各種主題的使用易於編輯且便於閱讀
-比起寫我不擅長的HTML代碼,我更想將注意力放在內容上
今年一起上課的00同學正好分享她如何將WordPress搬遷到Hexo的筆記教程,有興趣的小夥伴具體可參考(http://www.uegeek.com/2016/01/10/from-wordpress-to-hexo/)
嗯,既然有教程,那就跟著做好了!
然而…因為使用的電腦系統不同、智商餘額不足(看著看著就看不懂教程了)、以及其他不知名原因…我並沒有成功實踐00同學的方法。
沒關係(寶寶心裡苦...)
在MYFly和Evan同學的建議下,決定用Axure(http://www.axure.com/)來製作自己的HTML網頁。
Axure RP是美國Axure Software Solution公司旗艦產品,是一個專業的快速原型設計工具,讓負責定義需求和規格、設計功能和界面的專家能夠快速創建應用軟體或Web網站的線框圖、流程圖、原型和規格說明文檔。作為專業的原型設計工具,它能快速、高效的創建原型,同時支持多人協作設計和版本控制管理。(恩,我百度的)
一款不需要敲代碼 簡單易上手 無敵適合工科小白的 能夠自己生成HTML網頁的軟體!
根據自己的喜好自由進行頁面設計、交互應用,易編輯、可預覽,隨時調試,一鍵生成HTML文件。
‼良心軟體,小白救星‼
網頁做好之後,接下來要考慮的就是將文件push到GitLab中Fablab Shenzhen Open Innovation Lab裡,然後最終push到MIT的伺服器中。
KEY POINT
版本控制軟體已經存在和發展了一段時間。它對於軟體開發有非常重要的意義,同時對很多其他事情也有很大的幫助,比如寫書、網站管理等等。
版本控制的重要概念:
保存文件的歷史版本,以便需要時可以還原文件
跟蹤diffs(diff 命令比較文本文件,它能比較單個文件或者目錄內容)我們知道通過它每個文件哪裡發生了改變
我們可以merge每個文件的不同版本,因此我們可以編輯兩個不同的部分,然後合併它們成為一個新的版本
我們可以branch(進行項目分支),創建了一個新的工作副本,然後在需要時可以merge我們修改的部分
當我們創建了一個新的版本並且想要快速保存時,可以使用commit(提交)來暫存。
版本通常是一個本地計算機或在遠程伺服器上完成,我們稱之為repository (「庫」)
從repository(「庫」) 中pull(提取)文件
push(推送)我們的修改到repository(「庫」)
如果多名用戶同時修改相同文件就會導致merger conflict(合併衝突)
解決合併衝突的方式:
a)接受其中一名用戶的更新,放棄其他的修改
b)手動編輯文件並再次提交新版本
Git和Mercurial
現在有許多VC軟體,最常用的就是Subversion,Mercurial和Git
每一種都有它自身的優勢和劣勢。全球範圍內使用最多的是Git
Git是MacGyver Mercurial是James Bond
Git是分布式 VCS,每個用戶都有自己的是私人本地repository(「庫」),每個用戶將更改通過pull(拉取)指令merge(合併)一個主要的存儲庫中。
Mercurial是集中式的 ,每個用戶pull(拉取) 本地計算機上的資源庫的一個副本,然後 將push(推送更新)更改到中央存儲庫。
今年的Fab Academy使用的就是Git。
可以學著寫命令代碼但是耗時長,不能在這樣密集型的課程中及時更新自己的進度。因此找到一款能夠快速上手、簡單易用的軟體非常重要。
特別鳴謝大維哥在第一周周末和我們一起在SZOIL裡研究如何push作業。
我們找到了一款客戶端軟體
SourceTree 是Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,同時也是Mercurial和Subversion版本控制系統工具。支持創建、克隆、提交、push、pull 和合併等操作。
SourceTree擁有一個精美簡潔的界面,大大簡化了開發者與代碼庫之間的Git操作方式,這對於那些不熟悉Git命令的開發者來說非常實用。
SourceTree擁有完整的Git功能:
· 通過一個簡單的用戶界面即可使用所有的Git命令
· 通過一次單擊,即可管理所有的Git庫,無論是託管的還是本地的
· 通過一次單擊,即可進行commit、push、pull、merge等操作
· 一些先進的功能,如補丁處理、rebase、shelve、cherry picking等
Fab Academy課程的所有文件資料都將在git.fabacademy.org上。
每一個實驗室有自己單獨的repository(「庫」)
我們需要將自己的課程作業文件push到repository上,以SZOIL為例,今年我們push到http://git.fabacademy.org/fabacademy2016/fablabshenzhen.
1. 註冊一個GitLab帳號
① 首先你要有一個fablabs.io的帳號
② 用帳號登陸git.fabacademy.org
③ 導師會通過你的帳號名字將你添加到項目組中,今年我們的項目組是<fabacademy2016/fablabshenzhen>
2. 生成SSH Key & 在Gitlab創建SSH Keys
(也可參考http://git.fabacademy.org/help/ssh/README)
① 命令:cat~/.ssh/id_rsa.pub
(如果你看到很長一串以ssh-rsa開頭的,可以跳過ssh-keygen的步驟)
② 命令生成新的SSH Key:ssh-keygen –t rsa –C 「$your_email」) (寫自己的郵箱地址)
③ 命令顯示你的public key:cat~/.ssh/id_rsa.pub
④ 命令複製你的public key:
Windows:
Clip <~/.ssh/id_rsa.pub
Mac:
Pbcopy <~/.ssh/id_rsa.pub
GNU/Linux:
Xclip – sel clip <~/.ssh/id_rsa.pub
⑤ 添加你的public key到個人設置裡
前期的所有設置完成後,就可以開始使用SourceTree來pull和push項目組的文件檔案了。
① 在本地庫中新建一個Fab Academy本地文件夾
② 克隆GitLab項目組的源路徑/URL到SourceTree到已新建的本地文件夾中
③ 工具-選項中輸入個人的名稱及郵箱地址
④ 設置完成後就可以開始在本地的Fab Academy文件夾中將自己每周的作業文件,通過SourceTree客戶端直接push到GitLab中去了。
需要學會的幾個命令:
Commit-Pull-Push(以此為順序)
Commit:本地文件有任何修改更新,需要放到GitLab中去時,先unstagedfiles,對此次更新進行簡短的描述,然後按下Commit提交。
Pull-Push:養成好習慣,先把GitLab上的項目文件先Pull下來,再將自己的更新Push上去。
DONE! 第一周的作業完成了!
_(:зゝ∠)_
我們下節課再見!
課程表:
http://archive.fabacademy.org/archives/2016/master/schedule.html
課程視頻:
https://vimeo.com/fabacademy
▽
第一次上課的那天晚上
10:00pm-1:00am
怕睡著 站起來活動一下筋骨
▽
已經開始研究第一周作業怎麼做
▌ 關於我們 ▌
深圳開放創新實驗室是由上海創客大爆炸(由英特爾投資)和深圳市工業設計行業協會聯合建設的國際創客開放平臺和眾創空間,也是深圳第一家經美國MIT 授權認證的Fablab國際微觀裝配實驗室,以及美國麻省理工大學Fablab 2.0合作研發夥伴。深圳開放創新實驗室主要包括開放創新中心、創業加速器和Fablab2.0研發製造三個功能板塊,致力於發展、挖掘全球創客項目及產品,研發解決方案來連接大規模生產生態系統和服務於小型硬體創業者;進一步推進深圳在數字智能硬體的開發和生產製造的國際地位,結合新的開源方式以及深圳現有敏捷製造系統,將深圳打造成為未來智能硬體的矽谷。
官方網站:http://www.szoil.org
聯繫郵箱:fablab@szoil.org
微信公眾號:szoil2015