閱讀原始碼 - 再戰十年的 jQuery

這是我在 2022 年 COSCUP 研討會上分享的主題。透過檢視 jQuery 設計架構以及欣賞其中一些有趣的寫法,理解設計原理後,試著復刻一個超陽春版的 jQuery:

jQuery

View on Speaker Deck
Download PDF

希望對大家認識 jQuery 這個能夠再戰十年的前端套件有些幫助 :)

「自學程式現場」什麼是前端工程師?

「自學程式現場」什麼是前端工程師?

前端工程師,英文全名是 Front-End Developer 或 Front-End Engineer,有時也會縮寫成 F2E。

現在大家聽到這個職稱,想到的大概就是可以在網站上做很炫的特效的工程師,但在當年我一開始學習寫程式的年代,並不存在這個名詞。一來那個時候就是一個人從 HTML、CSS 的切版到資料庫的架設、存取甚至連主機的架設跟設定都得一條龍自己包辦(硬要用現代的名詞講就是所謂的「全端工程師(Full Stack Developer)」,但我其實沒有很喜歡這個名詞)。

二來也是因為網路技術的發展十分迅速,印象中,當年 Google Map 剛推出的時候,超炫的地圖拖拉、放大縮小功能,整個把 AJAX 這個名詞給炒紅了,自那之後就越來越多 JavaScript 的應用。

當年只是用來做簡單的表單驗證的 JavaScript 已經複雜到不是一個人可以輕鬆搞定的程度了,於是逐漸特化出「前端工程師」這樣的角色出來。即然有「前端」,那自然也有相對的「後端」工程師,但請繼續容我在後續的文章再介紹。

其實手機 App 的開發者很常常也需要存取網站的 API 然後呈現在 App 裡,所以在我認定裡手機 App 工程師也算是前端。以下我就以網站的前端工程師來舉例說明,到底當一個網站前端工程師的工作內容有哪些,以及需要具備哪些的技術。

「自學程式現場」非本科系有辦法學程式嗎?

「自學程式現場」非本科系有辦法學程式嗎?

「我不是本科系的,有辦法學寫程式嗎?」

「不是資訊相關科系,是不是之後會學不好或是發展有限?」

講的好像本科系畢業就一定會寫程式一樣...

首先,沒有人是所謂的「本科系」,就算是那些所謂的本科生,大多也是上了大學之後才開始的,在這之前也是非本科生(還是有人從一出生就開始打鍵盤的?)

大家一樣都是半路出家,差的就是四年的大學教育的距離。所以,是不是本科系對寫程式來說重要嗎?怕各位沒耐心往下看,先講結論:

重要,但這跟有沒有辦法學會程式以及將來的發展沒直接關係。

「自學程式現場」自學教材選擇

「自學程式現場」自學教材選擇

本文開始前先跟大家說個年輕時候的小故事

學生時期,那時候網路不發達,不像現在隨手就一堆看不完的資訊。我永遠記得我那時候為了學 Photoshop 的火焰字特效,常常會跑到天瓏書局看白書。

為什麼看白書?就學生窮啊,對當時的我來說電腦書不便宜,特別是那種全彩印刷的更是捨不得下手,那時候也沒有像現在身上有手機可以拍照,所以我常常就一邊看一邊拿出自己的小本子抄筆記,速記重點步驟,還得留意看老闆會不會走過來趕人(即使後來認識老闆,還是會覺得他給我很兇的印象)

就這樣,我一次偷學個三個、五個特效,累積下來我對 Photoshop 也就越來越熟,甚至還能自己組合出新的效果出來,我也是因為 Photoshop 才有機會進到學校的電算中心打工,然後才開始學著寫程式的。

不得不說,我覺得我當年這樣的學習雖然有點辛苦,但成效十分顯著。

「自學程式現場」新手應該要學什麼程式語言?

「自學程式現場」新手應該要學什麼程式語言?

該學什麼程式語言,這是個接近討論信仰等級的戰爭問題,拿去問 10 個軟體工程師,可能會得到 13 種答案。為了避免張飛打岳飛,我先對「新手」做個簡單的定義:

新手 = 沒有在學校學過怎麼寫程式,而且也完全沒有自己動手寫過任何一行程式的人

回到原本的問題,我的答案很簡單:

都可以!選你看的懂、看的順眼的就好。

這有講跟沒講沒一樣,但我沒開玩笑,真的都可以。喔,有個東西不行啦,就是 HTML,原因很簡單,因為它不是程式語言!

「自學程式現場」哈囉,世界!

「自學程式現場」哈囉,世界!

「我不是本科系的,有辦法學程式嗎?」
「我想學程式,應該學哪個程式語言」
「學 XXX 程式語言好找工作嗎?」
「我已經三十好幾,現在轉職會不會太晚?」
「現在應該要學前端還是要學後端?」

上面這些都是我們的粉專常會收到的訊息,也在 PTT 的某些版也是常常吵架的主題。先說,我個人覺得吵架沒有不好,我喜歡激烈而且有料的對話,只是吵架到最後可能會因為吵輸了面子掛不住而容易失焦,偏離原本的主題。

再見 2020,哈囉 2021!

再見 2020,哈囉 2021!

雖然每年的日子都是差不多的在過,但這個 2020 年,真的是很不安穩的一年,不管是對我個人、工作、公司或是這整個世界都是。但外在環境越是不穩定,就得越是要穩穩的繼續堅持做自己喜歡做的事!

自學程式,你應該知道的四件事情(五)學習程式到轉職工程師

自學程式,你應該知道的四件事情(五)學習程式到轉職工程師

在這「全民學寫程式」的年代,寫程式的門檻逐漸降低,無論你是打算成為軟體工程師、還是希望透過「自學寫程式」來提升自己的職場競爭力,我都想跟各位分享四件事情;這四件事情是我過去寫程式二十多年以及教學十年經驗來所累積的心得,目的很簡單:

「協助你縮短程式語言的學習時間,並達到更好的成效」

而本篇文章討論的主題是「透過學習程式,轉職軟體工程師,其實比你想像中的踏實」,我們現在開始吧!