台中資策會前端班-第二、三階段課程

老實說我也記不得現在第幾週了哈,第一階段課是HTML5,快速帶過HTML、CSS、JS;第二階段課是JavaScript課程;第三階段課是JQuery課程。

講第幾階段好像怪怪的,因為前端班人少(11、2人),所以台中III為了賺錢把課程拆成一個一個短期班,然後也個別招收短期班學生,故每次上課都是混班(可能加2、3個短期班學生)。

 

 

JavaScript與JQuery的課程比之前H5課程改善一點,倒吃甘蔗,不過缺點還是在…,上JS時,因為某公司找我面試+報到,有兩周心態是無法好好學習得,心情總是在擔心與汲汲營營的狀態,不然就是為了面試的考試,回頭回顧六角+HAHOW的基本HTML課。雖然該公司的面試考題事後覺得很基本,但同一時間我在學習資策會JS的腦容量卻勢必受到排擠,感覺兩周學習狀況顯著下降,等於浪費掉兩周課程。

 

由於發現可能無暇顧資策會課程,最後把公司推掉(爛草莓啊QQ),以課程優先。這樣講好像在推卸責任就是,我還是感謝該公司對我看得上眼,在課程上不到三分之一還沒結訓,就找我去面試與報到,雖然我選擇以資策會優先,畢竟還是先把前端班的課業顧好比較重要。

 

JavaScript課程中以基本語法為主,if else當然有講到,基本陣列物件也有提到,if else我有實做老師上課提到的星星塔(雙重迴圈練習-非作業)

 

做完感覺還不錯。

 

課程中老師也試圖想帶到演算法,但課程的調配關係其實無法太深入,變成只是補充讓我們知道有演算法這個東西(冒泡排序、快速排序那些),演算法部分用不少youtube的影片來介紹,我覺得還蠻不錯,但也更覺得恐懼:

早在大三大四耳聞資策會時,就知道軟體業說資策會出來的人演算法不行,我很認同,因為課程塞太多要學的程式與工具眉角,像演算法與資料結構這種屬於心裡認知上的東西,對非本科很難一蹴而就,不然理工科系學生是在辛苦什麼?

 

坊間也有圖像化演算法的書,但多以C來解,對程式新手實在是問號,難道同時期還要再多學C?,像資策會JS課發的書,書名是"JavaScript資料結構與演算法實作",乍看好像把書K完,程度會上升很多….嗎?同時期要學的東西實在超幹爆多,還有資策會作業專題要顧,私下要實做的基本練習很多,也輪不到這本書上位(我以資策會發的書:旗標出版社-網頁設計16堂課first),要學新的東西我可能會以後端語言優先吧…一天只有24小時,我看演算法可能要等以後工作再慢慢加強了…哀哀。

 

至於JQ,講到AJAX的部分,和網頁設計16堂課這本的AJAX類似,還好我有抽時間先做了,個人覺得AJAX對前端工程師非常重要,所以先花了一段時間想去理解(瞎子摸象),故課程上到AJAX時,上起來壓力不大,但目前說熟也還是不太熟,還是非常需要大量練習。

 

目前JavaScript都以ES5為主,以後會不會談到ES6啊…,這是我比較擔心的部分,問老師解釋是說,還是以基礎的ES5為主,ES6以後有機會再補充,ES6AJAX的部分。最後,JavaScript與JQuery課程作業有分享簡報,有機會再把我的簡報轉成網誌文章貼上來。

 

03/11 隨筆

第一階段的HTML5課程結束後,進入第二階段的JavaScript課程,而今天是JavaScript第二階段最後一堂課。

這陣子也發生不少事情要忙,導致網誌沒更新,例如過年後打開人力銀行履歷,就有在台中某公司找我去面試,我也上了,進入後幾天發現很難兼顧資策會,又馬上退了XD

上述的公司以後有機會在講,因為主要還是我自己的問題居多(時間難兼顧),之後網誌盡速補上這一個多月的資策會學習心得。

另外,標題的第幾周看起來很多,但是因為這個養成班的正課在周末,平日自習實做,周末遇上連假資策會也停課,所以有幾周其實是等於沒上正課的。

台中資策會前端班 第四、五周

或許是長期班課程一開頭就併入短期班(HTML5實戰)的關係,總覺得目前沒什麼太實質幫助,並不是說老師人不好,但目前上下來,與其說是養成課程,不如說是為期一個多月的技術展示,短期班所涵蓋的內容太多了,搞的最後像是技術展示,而技術展示根本不該是長期班學生該先學的

離第三周文章空了一大段時間沒更新,是因為我對台中資策沒有太多負面觀感,截至目前也說不上什麼好話(意思是目前評價平平)。

先說結論:

HTML5課程應該放在個別HTML與CSS、JS課程之後,而不是上集大成的HTML5課程(短期班課程,另外收短期班學生,然後課程併到長期班課程開頭)才在那解釋說以後養成班有獨立出一個課慢慢講,這種行為不僅對長期班學生來說很不友善,對短期班學生也很不公平。

就算老師也有解釋為何上這麼快,或是為何有些地方沒講,老師上課也常常岔出去檢討睡覺的學生,每次上課都有,我自己上課前都有喝咖啡,所以聽到老師又再檢討睡覺學生就覺得很煩。

然後老師還會說什麼這段HTML5課程,先前教別的長期養成班,沒有放在開頭上,養成班中後期上到HTML5時學生眼睛一亮,對這課程很興奮,還說先前養成班的學生說一開始先教就好了,怎麼我們這班都沒有太大反應。

 

阿其他人基礎就沒打好,興奮個頭啊啊啊啊。

上完目前HTML5短期課程,我在六角學院和HAHOW學到的HTML、CSS,沒有任何加強。

台中資策會前端班 第三周

周六上課時因為WIFI不穩,所以教室換回資策會20樓的2003教室,周六上的是CSS部分,課程進度主要可以分成這三項:

Selector 語法重點整理
常用 CSS 樣式與實例演練
CSS3 動畫觀念與實作

當然了,CSS能講的部分是非常多的,課程上講了不少東西:權重值、padding margin、float、relative absolute自然是少不了,下午為基礎CSS動畫實作,老師帶學生做的例子就是簡單的雲朵移動動畫,讓背景的雲可以一直移動。

這邊附上保哥翻譯的學習 CSS 版面配置,這個網站內容主要是CSS排版與語法建議,之前在轉個彎教室與六角學院都有帶到這網站,身為CSS教學必帶到的網站..資策會前端班的老師當然也有分享給學生囉,這網站真的很實用,對於CSS排版幫助很大。

 

 

周日主要是響應式網站基礎教學(含Bootstrap),上午主要帶學生們使Bootstrap套件,下午在講解響應式基礎與媒體查詢的功能。這是周日老師課程進度:

試用與自訂 Bootstrap 套件
練習 Bootstrap 的版面分割功能
解說 Bootstrap 的色彩系統
試用 Bootstrap 常用元件
觀摩並評選 Bootstrap 樣版範例
評選 CSS3 動畫與特效元件
試用 CSS3 元件並且練習如何整合進既有網頁
自訂與套用 CSS3 元件的常問問題(例如: Specificity)

 

這周的課程感覺沒有上周JS這麼趕,上起來感覺還好,作業是修改網路上的範本網站

https://templated.co

隨便載一個範本,將HTML改成自己的內容。

台中資策會前端班 第二周

第二周開始HTML5一系列課程,教室是在資策會樓層更上面的采威資訊公司會議室。會議室沒有廣播系統,視線又很容易被擋到,學習效果很差。

 

資策會HTML5課程的HTML5,廣義解釋為HTML5+CSS3+JavaScript,和我預想的解釋差不多,而長期班的HTML5課程,其實就是HTML5短期班課程。(HTML5 跨平台網頁與App設計實務,授課時數: 48小時。)

htmlcssjs

 

因為把短期班併到長期班一起上,所以這周開始班上多了3位短期班同學。當然我HTML和CSS大部分在六角學院上過了,JavaScript也有在網路上看過基礎概念影片,尤其還不怕死跑去聽保哥的JS核心課(<–以為是入門結果完全聽不懂),應該之後按基礎上起來不會很吃力?

 

周六是理論課,尤其集中在HTML上,例如:

什麼是 HTML5?

Canvas元素可以做什麼?

HTML5的載體:桌機、手機、平版(主要集中在瀏覽器)

其他如HTML基本語法名詞解釋文件架構實作網頁標籤等等

回家作業是表格TABLE

 

週六感想:

因為視線容易被前排同學擋到,所以我就聽聽為主當複習。是很輕鬆,但好像哪裡怪怪的?

%e7%96%91%e6%83%91

 

周日是JavaScript課程,以做中學為主。例如:

JavaScript 基礎語法(不是慢慢講而是範例出現什麼才講)

JSON 語法與資料處理(當天時間不夠沒講完)

JavaScript 如何綁定事件與事件處理函式

解說與使用 Event Object

Event BubblingpropagationpreventDefault 觀念解說

實作 HTML5 的拖放功能(Drag and Drop)

 

馬上瞭解為何周六覺得怪怪的:

既然是實戰班,所以課程一定不可能慢慢解釋,老師中途也不斷強調,長期班之後會有16天專門講解純JavaScript程式,聽不懂就當入門,真的是不斷強調,我是覺得這種說法很奇妙啦,短期班偏實戰,對於從0開始學的人很吃力,以長期班角度來看挺不友善,現在學習資源那麼多,就是自學有困難才上長期班從頭磨,結果開課還是教很快又上實戰的部分,那…?

 

 

不是每個人都有先摸過web基礎,中午全家買咖啡時,遇到另一個長期班同學,稍微聊一聊發覺我們上午都上課上到很累(我們都非資工管本科系),還好我有在網路上先摸過HTML與CSS,所以當然不是要抱怨上的很差哈哈,只是覺得這步調很微妙,自己缺的剛好就是短期班的實戰統整,希望我能在之後幾周課程更進步,大家加油哀。

 

台中資策會前端班 第一周

當初在選擇資策會前端班課程,和中壢資策會比起來,最後選了台中資策會。台中資策會前端班上課時數500小時,上課時間為周六日全天,平日二四晚上是自修時間,12月17號開始上課,上道2017年的6月底。

第一天不是算是正課,上午大家先自我介紹,接著老師說明未來課程注意事項規範等,下午帶我們認識以後主要用到的開發環境c9.io雲端系統 ,以及github辦帳號等未來開發環境的建置與介紹。

c9

CLOUD9雲端開發工具 課程中以網址簡稱c9.io

github

github 這應該不用我介紹吧XD

第二天開始正課,主要是教GIT基礎指令應用,在c9.io雲端系統上練習。開始老師以window的資料夾示範沒有版控軟體,又想要進行版本控制的窘境:將檔案複製到不同資料夾備份,和出差錯的狀況。

但GIT不用這麼麻煩,GIT版控的特性,要以樹狀圖的方式來看修改歷程與紀錄,而非是單線性的版本控制。觀念講完後,開始說明git init本機數據庫的建立:

如檔案暫存,提交到本機數據庫,還有分支與合併檔案指令(預設分支:master),最後是處理合併檔案後的衝突解決方法。

 

這是上午老師在課堂上提出的問題

   (1) 什麼是 repository(數據庫)?答: 一個 .git 的資料夾

   (2) 什麼是 working directory? 答:受 Git 系統節制的工作目錄

   (3) 一個檔案,在 git 體系有哪三種狀態? 答:已變更、已暫存、已認可

後來想想,老師(1)講解還算清楚,只是.git 的資料夾這解釋以後再來看,會看不懂,因為是以當下在c9.io的終端機操作上解釋。

什麼是 repository(數據庫)?

我的認知是,用來紀錄檔案與目錄,存放修改紀錄與內容的地方,git的數據庫分為本機數據庫與遠端數據庫,本機數據庫(網路上是說本地數據庫)就是用戶實際工作修改與存放資料的地方,通常在自己操作的電腦上,所以又叫本地數據庫。

而遠端數據庫就是大家共同下載版本,上傳的統一數據庫,用來存放當前最終版本,大家從遠端數據庫下載當前版本到自己本機數據庫,然後不斷在自己電腦改一改,上傳code等檔案到本機數據庫。開發時不斷修改code,就算改爛了,還可以從遠端數據庫把原始版本叫下來改。

最後OK了,將檔案上傳到本機數據庫,再上傳到遠端數據庫,下次大家要再修改或新增東西,就是再從遠端數據庫把當前最終版本在叫來本機數據庫,在從本機數據庫叫下來修改。

 

下午為與github進行互動,在github上建立數據庫,並從github上複製數據庫至本機,接著教在本機上把修改過的數據庫git push到github上,接著在github上修改數據庫的檔案(文字)。

在c9.io終端機輸入git pull會發現c9.io的本機數據庫(實際上是複製github數據庫)的檔案文字與在github上修改數據庫的檔案(文字)一樣。最後是上git push,pull後版本衝突的解決方式(合併)。

 

 

整理一下今天教到的指令

git init 建立repository 數據庫

git add 將檔案加到暫存區

git commit 提交暫存區檔案到本機數據庫

git branch 分支

git checkout 呼叫分支內容

cd (資料夾名稱) 切換工作目錄

git status 查詢當前工作目錄狀態

git merge 合併分支

git clone (github網址) 複製該github數據庫到本機

git push 將本機上修改過的檔案與紀錄提交到遠端數據庫

git pull 將遠端數據庫的檔案下載同步到本機

 

 

大概是這樣…很少嗎?因為主要著重在觀念上,感覺還需要在消化一番。

GIT的指令在GIT的衍生軟體上是通用的,老師的用意應該是讓我們先認識GIT指令,之後上課要上傳作業或專題時繼續帶我們用,不然基本上6小時怎麼可能就上完git啊!

 

其他感想是:第一周課程還蠻無聊的,因為git本身沒什麼樂趣可言(就是個版控),第二周要開始上HTML5,課程應該會有趣一點,尤其我在轉個彎教室和六角學院都有上完基本HTML標籤用法(HTML4)與特性,比較缺乏的是"HTML5″標籤和特殊CSS效果動畫應用,希望老師之後會講解到。

最後附上幾個連結

Git達人教你搞懂GitHub基礎觀念 

連猴子都能懂的Git入門指南網址

我目前比猴子還不如,希望之後會好一點哈哈。