[程式設計] 全端工程師學習地圖(通用 + 前端)

2020 想要當一名網頁工程師,就要有一個覺悟是,要學很多東西,而且沒有學完的一天。對於初學者而言,常會不得其門而入。到底要如何一步步把自己的工具箱建起來,是本文做為一個 101 介紹,想要帶讀者理解的。

Continue Reading [程式設計] 全端工程師學習地圖(通用 + 前端)

[前端連載] html巢狀結構基礎——div 和 span

簡介 上次介紹了基本的html tag,這次來講一下,html中很重要的巢狀結構。如果有仔細看的話,應該會發現html是一層一層包住的,最外層是html tag,再來有body tag,還有我們寫的tag,包括h1 ~ h6之類的。 這次,我們要介紹兩個很重要的東西,分別是 div 和 span tag。這兩個 tag 在 html 之中很常出現,並清楚的標示我們的html結構。要學好網頁前端,一定要搞清楚他們的功能和差異性。 開始囉! 尿布和啤酒,是否該放一起賣? 談到很紅的big data,就不得不介紹一個經典的例子——尿布和啤酒。美國的零售業者沃爾瑪,裡頭的資料科學家在分析購買數據時,發現了一個很重要的事實。每到星期五晚上,尿布和啤酒的銷售量有正向關,而且同時提升。 蛤?尿布和啤酒?這個組合也太奇怪了吧。 你沒聽錯,就是尿布和啤酒。 該不會是星期五會定期舉行什麼奇怪的尿布啤酒party吧。 Nice Guess! 不過有其它原因,我們繼續聽下去。 這實在是不太尋常。經過調查之後,才知道,原來星期五晚上,爸爸們會到超市們幫baby買尿布,然後順便買些啤酒,回家看球賽。於是,沃爾瑪調整銷售策略,把啤酒和尿布放在同一區,果不其然,尿布和啤酒的銷量都大大的提升。 所以,這和我們的網頁架構有什麼關係? 當然我們這篇不是要講大數據多麼威猛。只是你是否在寫網頁時,發現常常會有某些東西,像是啤酒和尿布一樣,該被放在一起的?譬如一篇文章,便含有標題、副標題,文章預覽、日期……。若是如此,那我們就用個div把他給包起來,他們就算是一個區塊。請看下圖,每一個紅色包起來的範圍,都算是一個區塊。再仔細看一下左邊的文章,還可以發現大區塊裡有很多小區塊,分別包含標題、副標題,文章預覽、日期,這也是div包起來的喔。 把它包成區塊有什麼好處呢?好處一,設定css方便。如果我們要為這個區塊設定樣式,那我們只要在這個div區塊加上css即可,其它的地方就不會被動到。如果我們一次要給很多類似的區塊設定個樣式,設個…

Continue Reading [前端連載] html巢狀結構基礎——div 和 span

[前端連載] 賣咖啡學 html tag

簡介 上一篇簡單介紹完編輯器和html的tag,這篇就要來詳細介紹各種tag囉。說到html裡的每個tag,都有它存在的意義和目的。此外,這些tag可說是琳琅滿目,基本上沒有人可以全部認得喔! 那如果tag有這麼多種的話,我們要怎麼學呢?當然是挑出一些重要的、常見的tag,解釋它的使用時機和意義,其它的部分,就交給個人造化,需要的時候再去查囉。網路上有各式各樣的html5 cheat sheet可以參考,印下來,閒瑕時拿來蓋泡麵也是很不錯的XD 開始囉! 迎合老闆很重要 還記得你實驗室的老闆嗎?他平常的興趣是喝咖啡,上課時喝咖啡、下課時也喝咖啡。要罵你們這些研究生不長進之前,也是先喝一口咖啡漱口。此外,關於他最喜歡的程式語言,也是叫咖啡。但除了喝咖啡之外,他還有一個副業是賣咖啡。 什麼?賣咖啡?他不是教授嗎?幹麻去賣咖啡? 博士都可以賣雞排了,為什麼教授不能賣咖啡?說到這個,請給我一杯「教授咖啡」,我想喝喝看好不好喝。 這天你老闆走到你的座位,拍了你的肩膀。你覺得很奇怪,明明我今天準時早上九點到實驗室啊,難不成要罵我那天慶祝生日沒找他不成?正當你下半身發軟,想著要怎麼解釋的時候,老闆開口了: 可以幫我做一個網頁嗎?我想要向外行銷我的「教授咖啡」。 喔喔,當然可以啊! 即便有千百個不願意,但為了少幫他倒365天的咖啡,你還是硬著頭皮接下了這份差事,即便你沒有寫過任何的網頁。 想想看,你的網頁想要顯示什麼? 當然是標題囉!進一個網站的第一眼,一定是上方斗大的標題,這標題下的好不好,決定你87%的生意。我想你要賣杯咖啡的話,你的標題一定是跟咖啡有關,不會是什麼修理紗窗換玻璃之類的。 說到標題的話,你就需要一個h1 tag。除了h1 tag外,html 還提供我們6個大小的標題,分別是h1 h2 h3 h4 h5 h6,由大到小。每個瀏覽器顯示他絕對大小的部分,有可能會不一樣,但一般來說,都是h1>h2>h3>h4>h5>h6。所以囉,如果你要加上一個副標題的話,你就可以選擇使用h2。 除了標題之外,你還會需要一段內文,這時候,我們就需要一個p tag,代表的是paragraph。看到了嗎?這就是你第一步的網頁雛形。 http://codepen.io/noootown/pen/KzjNOP 那,我可不可以把h6拿來當內文呢? 當然可以囉,高興的話,連h1都可以拿來當內文。不過為了可讀性和瀏覽器SEO(搜尋排名),我們通常不會這麼做的。h1到h6和p都是一把刀,但不同種的刀適合切不一樣的東西,就是這個概念。…

Continue Reading [前端連載] 賣咖啡學 html tag

[前端連載] 開發環境IDE和初探html

簡介 上三次介紹了網路發展史上留到現在的一些技術,現在終於要進入寫程式的部分了。在寫那些密密麻麻的程式之前,我想要先介紹一下開發環境(IDE,Integrated Development Environment),也就是我們寫程式的環境。 時常有人在說,世界上最好學的語言就是html和css,初學者建議從這個下手,而沒一村我,也是這些「有人」之一,理所當然也是這麼認為。至於為什麼這麼容易上手,接著看下去就知道。 身為一個前端工程師,雖然不必像寶傑一樣上知天文下知地理,但懂的內容也可以算是包山包海。話雖如此,前端工程師的工作內容還是可以歸結到一些最基本的工具。還記得前端最重要的三個技術html、css、javascript三兄弟嗎?我就是在說他們!而今天,我們就要從他們的大哥——html開始介紹起。 開始囉! 打仗要兵器,考試靠運氣 俗話說「打仗要兵器,考試靠運氣」,打仗靠的是什麼?兵器。兵器好的一方,贏的機會就比較大!那考試要靠什麼呢?運氣,運氣好的人,高分的機會就比較大!(等一下,這不太對吧) 巧婦難為無米之炊,所以,在開始寫出好的程式之前,你需要一個適合的開發環境或編輯器來編輯你的程式。 關於編輯器這一點,如果要仔細寫的話,又可以寫一大篇。開放各位碼農和鄉民們來表達意見和看法,我想大概戰個三天三夜也戰不完。使用Vim 和 Emacs的工程師們會先吵一輪,然後兩者的擁護派又都不屑跟別人吵XD。使用Atom的、使用SublimeText的和使用Notepad++的工程師會被Vim和Emacs排除在外,自成一國的吵。最後,使用記事本的,會窩在牆角,自己討論的很開心。 別懷疑,這就是工程師的日常生活,跟別人吵架:) 那我該選擇什麼樣的IDE呢?拜託不要跟我吵架,我是非常和平的。 放心,我最討厭跟別人吵架了(挑眉)。關於IDE的選擇,我倒是可以給你一些建議。 關於編輯器的選擇,就有上述那麼多種。Windows上,你可以選擇最簡單的記事本來撰寫,但我非常不建議你這麼做。為什麼呢?因為記事本上各種除錯功能都沒有,也沒有程式碼不同顏色的標亮,寫起程式來,可以說是非常吃力。我們剛剛說過打仗靠兵器,想像一下,你現在要去打仗,那麼windows記事本就相當於是給你一把漢陽造。可以打嗎?可以打,但是不能連擊,動不動還會給你炸膛。若拿其它的編輯器相比,大概就是AK47、M16這種等級吧XD 再者,如果你的作業系統使用的是Windows,那我建議你可以使用Sublime Text、Atom或者Notepad++。Notepad++是三者之中較早出現的編輯器,而且是由台灣人開發的!由台灣人開發的!由台灣人開發的!這點非常的重要,所以要說三次,因為是很早就開始發展的編輯器,相關的plugin也算蠻足的。而Sublime Text是近幾年來在前端工程師間較為興盛的,同樣plugin很多。至於Atom,又算是更為新潮的編輯器,使用人數不斷地在上升。 如果使用Linux或OS X這兩個作業系統,也可以考慮使用Vim和Emacs。這兩個分別被稱為「編輯器之神」和「神的編輯器」,不過這兩個名稱有什麼差別,這我也無法給出確切原因:)。這兩個編輯器的學習曲線雖然都很高(應該不是很高,是超級高),但是彈性都很大,可以非常客製化。此外,他們和terminal(如果不知道是什麼,他長的就類似Windows的命令提示字元,可以用來下很多指令)的整合十分良好,若使用的習慣的話,開一個terminal可以同時做很多的事。 至於沒一村我,在Ubuntu Linux和Mac OS X上,都是使用Vim。然後,我沒有使用Windows來做開發。 下面附上各編輯器的搜尋趨勢,或許可以看出各編輯器的消長,也可以讓你來做判斷。(圖的部分,感謝網友rplus指正) 由圖可以看出Emacs的搜尋人數大降,這主要是因為他學習曲線很高的緣故。至於Atom沒有放上來,是因為沒有辦法準確搜尋到該字詞,所以就不放了。 編輯器的介紹就到這裡,因為沒一村我也沒有使用過所有的編輯器,當然也無法給出所有編輯器的安裝方法。如果想要學習某一個編輯器的使用和設定,可以上網搜尋資料,內容都會很豐富喔:) 大哥是對的!…

Continue Reading [前端連載] 開發環境IDE和初探html

[前端連載] 了解網頁發展的脈絡(下)——什麼是AJAX,以及jQuery、CSS3、HTML5簡單介紹

簡介

好不容易寫到了網頁脈絡的最後一篇了,可喜可賀!還記得上次我們提到了javascript的發展史,看他怎麼和jscript競爭,爾後發展成為網頁前端通用的唯一語言。隨著網頁越來越發達,又發展出了framework,來幫助我們快速以及有效率的開發網頁。

而framework的出現,代表網頁開始複雜化,也標誌著一個前端和後端的分野,因為我們的網頁已經漸漸複雜到不是一個人能專精所有事的階段了(當然還是有神人級的人物,南京通北京,前端通後端,但畢竟這種人在少數)。

今天要來介紹一下,在這個分野之後,到底出現了什麼樣新潮的前端技術,有感到一絲興奮嗎?

開始囉!

(more…)

關於我:

我是沒一村,專長和興趣是程式、主動投資、科技商業模式。可以參考我的書單和比較熱門的文章:

Continue Reading [前端連載] 了解網頁發展的脈絡(下)——什麼是AJAX,以及jQuery、CSS3、HTML5簡單介紹

[程設雜筆] html Iframe 功能試玩

前幾天做網頁做到一個功能,必須產生一個dialog,然後裡面放其它網頁的東西。因為要顯示其它網頁的資訊,這時候就必須要用到iframe這個東西。

(more…)

關於我:

我是沒一村,專長和興趣是程式、主動投資、科技商業模式。可以參考我的書單和比較熱門的文章:

Continue Reading [程設雜筆] html Iframe 功能試玩

[程設雜筆] 用bootstrap開發卷軸下拉式網頁

在把我的組語、資結和verilog的作業寫完之後,我終於有時間寫個網站了。這次是要幫bee學長的家教app寫個宣傳網站。雖然這次只有寫前端的部分,但我覺得算是對我前端開發的一個驗證,也新學到了一個很重要的bootstrap技能——開發卷軸下拉式網頁(我不知道怎麼描述這個名詞QAQ)。

(more…)

關於我:

我是沒一村,專長和興趣是程式、主動投資、科技商業模式。可以參考我的書單和比較熱門的文章:

Continue Reading [程設雜筆] 用bootstrap開發卷軸下拉式網頁

[程設雜筆] Loading Non-Blocking javascript with HTML5——async和defer的差異

之前一直搞不懂async和defer的差別,現在終於弄懂了。

(more…)

關於我:

我是沒一村,專長和興趣是程式、主動投資、科技商業模式。可以參考我的書單和比較熱門的文章:

Continue Reading [程設雜筆] Loading Non-Blocking javascript with HTML5——async和defer的差異

[程設雜筆] html5使用dragevent和註冊時遇到的麻煩

今天早上在寫html5 的drag event,遇到了不少問題。首先是註冊在windows或元素上,這就牽涉到$(this)所指的是什麼東西,也會造成程式碼裡頭的問題。接著就是drag event各部分,功能是什麼,分別應該註冊到什麼上面。

(more…)

關於我:

我是沒一村,專長和興趣是程式、主動投資、科技商業模式。可以參考我的書單和比較熱門的文章:

Continue Reading [程設雜筆] html5使用dragevent和註冊時遇到的麻煩

[資工雜筆] 用github來展示自己寫好的前端網頁

前不久,在自己的電腦上寫好了一小段的javascript,放到自己的伺服器上。每次要把成果展示給朋友看的時候,都要確認我的筆電有沒有打開,伺服器有沒有開著(因為我只有一台筆電而已,所以筆電就是我的伺服器,但怕筆電過熱,所以伺服器多半不會開)。如此一來,真的不是很方便。

今天,無聊去翻了PTTchrome的原始碼,發現其實可以用github的內建功能來展示自己寫的javascript。對於我這種沒有虛擬主機,也沒有一個常開的伺服器,但又想研究前端技術,展示給別人看的人說,算是一大福音。

(more…)

關於我:

我是沒一村,專長和興趣是程式、主動投資、科技商業模式。可以參考我的書單和比較熱門的文章:

Continue Reading [資工雜筆] 用github來展示自己寫好的前端網頁