28 Articles in 前端

為什麼函數式組件需要引進 React?

在編寫組件時,最讓我迷惑的是在我編寫純函數組件,為什麼沒有在代碼裡面調用 React 都需要導入 React。經過一番調研,我發現是因為 JSX 轉譯的設定。不過,人是比較懶惰的,透過安裝 babel-plugin-react-require 插件,達到自動導入 React 的效果。這篇文章將會講述我的調研經歷和一點反思。

....繼續閱讀全文內容

GatsbyJS 入門(二):如何以 Starter 快速架構網站

上次我們提到 GatsbyJS,它是一個可以獲取任意數據,並生成靜態化網站的系統。這一次,就讓我們以 Calpa 的技術博客作為例子來開始架構網站吧。

....繼續閱讀全文內容

前端工程師的日常修煉清單

學習如逆水行舟,不進則退。透過這個清單,我可以不斷學習前端知識,掌握更新的技能,天天進化。

....繼續閱讀全文內容

深入淺出代碼優化﹣if/else

對於代碼裡面的 if else,我們可以使用邏輯判斷式,或更好的三元判斷式來優化代碼。除了可以降低維護項目的成本之外,還可以提升代碼可讀性。就讓我們從最簡單的 if else 例子開始吧。

....繼續閱讀全文內容

關於那些變化萬千,開箱即用的 Promise 高度封裝方法

在日常開發中,我們少不了使用 Promise,而透過封裝抽象方法,可以避免造輪子,寫出更加優雅的代碼。例如:將任意函數,化為具有異步能力的函數、改裝成具有並發上千萬請求的函數、使用 Web Worker 來使用不同線程、暫停若干秒再繼續。這裡就讓我們一起來動手封裝這些方法吧。

....繼續閱讀全文內容

Hackoberfest 2018 ﹣ 面向所有人群的開源社區最大活動

世界上不同的程序員,因開源活動而連接一起。這次 Hacktoberfest 活動除了可以拿到活動的限量衣服和貼紙之外,更可以認識到世界上不同的程序員。我看著不斷而來的討論和 PR,我找回了自己在編程上的熱情。如果你有興趣參與開源活動,但不知道如何入手的話,它會是一個不錯的起點。

....繼續閱讀全文內容

網站性能調優開發工具: Lighthouse, Puppeteer 以及進階部分丨 Google 開發者大會 2018

這次 Google 開發者大會請來了 Lighthouse 的工程師 - Eric Bidelman ,分享如何簡單地使用 Lighthouse, Puppeteer 來自動化我們日常的流程。它是一個開源的自動化工具,用於改進網絡應用質量。您只需要提供網址,它就測試該頁面,並生成頁面性能報告。你可以看看採取哪些措施來改進您的應用。

....繼續閱讀全文內容

如何使用輕量級的 day.js 處理複雜日期?

day.js 可以提供處理日期的方法,並且和 Moment.js 擁有一模一樣的方法。使用輕量 day.js 能夠大大省下用戶需要加載的體積,加速網站加載速度。

....繼續閱讀全文內容

【譯】以申請大學流程來解釋 JavaScript 的 filter 方法

如果你熟悉申請大學流程的話,你也可以理解 JavaScript 的 filter 方法。相對於 JavaScript 裡面的 map() 和 reduce() 方法來說,filter() 方法也許是最一目了然的方法。

....繼續閱讀全文內容

來杭工作兩個月後的生活與工作總結

時光飛逝,轉眼已經離開香港兩個月。上有天堂,下有蘇杭。我也開始習慣這裡的生活,無論是生活節奏,還是工作習慣,都有所不同。這就是我這些天來最大的體會。

....繼續閱讀全文內容

又到了年度總結的季節 ﹣ 我的 2017 前端開發回顧

從最初的失望與後悔,到最後的興奮與感動,2017年可以算是充滿挑戰與機遇的一年。雖然我依然是一個非科班學生,但是這沒有阻止我轉行成為前端工程師,反而成為向前邁進的動力之一。如果沒有這些經歷,我也不會發現自己對於編程的那份熱愛。。。在此,就讓我回顧一下這一年在自學編程轉行的經歷吧。在開始這篇文章之前,我先戴上頭盔,以防意外。

....繼續閱讀全文內容

參加八次黑客馬拉松的個人體會與總結

與其說黑客馬拉松是一場比賽,不如說它是一場程序員的盛會。作為一個前端開發者,也是蠻喜歡參加這樣的比賽。畢竟可以把自己的想法,在 24 小時之內把自己的想法,或是按著比賽主題做個原型出來。無論你是什麼技術背景的人,都歡迎你來參與這些盛會。

....繼續閱讀全文內容

前端程序員的必備工具清單(MacOS)

工欲善其事,必先利其器。一套完善的工具可以幫助我們事半功倍。而作為前端程序員的我,也是花了點時間為自己配置了一套工具。如果你也是使用 MacOS 作為你的開發系統的話,那麼你可以看一下這篇文章。

....繼續閱讀全文內容

【圖多】《遠征成功﹣﹣一個香港人北上杭州豬場的前端面試之路》

首先,我要感謝網易。作為一個香港人,能夠拿到杭州的面試機會,實屬機會難得。這次的兩輪技術面試,考察點廣泛而深入。雖然問題比較深入,但這讓我感覺對於技術要求比較高,這是一件好事,因為可以反映公司對於技術的重視。在大四的這一年裡,我會繼續努力,爭取時間學習一個。本文將會記錄我面試時遇過的問題,以及作為一個香港人在杭州遇到的困難。。。

....繼續閱讀全文內容

異步操作見聞錄

異步操作是非常常見的操作,也是其中一題常見的前端工程師面試題目。在日常開發中,我們會和伺服器交互,或者是和用戶的行動作出反應,比如說監聽某些點擊事件。這個時候,其實我們是執行了異步操作,我們需要等待對方若干時間才能收到返回值,甚至是一個錯誤的值。。。因此,異步操作很容易產生一些誤會。這裡,我會說一下異步操作,及其返回的處理方法。

....繼續閱讀全文內容

React-markdown -- 實時渲染 Markdown 的 React 工具

React-markdown 可以把 markdown 語句轉譯為 React 組件,十分方便使用。

....繼續閱讀全文內容
2017-08-27React 前端 

React 應用輕量化(一)Source Map

create-react-app 提供了很方便的創建 React 應用途徑。它已經把 webpack, Babel, Autoprefixer, ESLint, Jest 等常用工具打包進去。可以說是一個非常方便,好用的製造 React 應用工具。當我打算把包裝好的檔案推上去的時候,我卻發現打包之後的檔案大小有點大,因此我就開始優化這個網頁應用了。第一點我優化的地方就是 Source Map。

....繼續閱讀全文內容

善用 Github Issue 的開源評論插件 -- Gitalk

以前,我的博客是用 Disqus 的評論插件,但是無論是載入速度,還是樣式上,都是有所缺乏的。我一直沒有安裝其他的評論插件,因為覺得搬家有點麻煩。但是當我試用一下之後,我就覺得這個插件安裝很方便,功能也很實用,尤其是可以寫 Markdown 評論,讓我非常喜歡這個插件了。

....繼續閱讀全文內容

項目代碼調試:提問前要做的六個步驟

上天對於每個地球人都是公平的,每個人都一天只有 24 小時。為什麼有的人會停留不前,有的人卻會不斷有所成長?其中一個原因是當遇到問題時,他們解決問題的方法是非常不同的。同樣是遇到問題,與其伸手,等其他程序員幫助去解決問題,倒不如自己先嘗試各種方法,然後才問人家。。。我會在這篇文章簡單說一下在你提問之前,你可以做的六個步驟。

....繼續閱讀全文內容

簡單易用的開源 JavaScript 動畫圖標庫 -- Titanic

如果你用過 Font Awesome 等圖標,你可能會覺得它們很好看,用起來很很方便。但是,在用戶點擊這些圖標的時候,它們是不會有反應的。如果有這些圖標會動的話,那就更加好。Titanic 提供一系列的動畫圖標,以及以 JavaScript 的調用圖標動畫的方法。

....繼續閱讀全文內容

2017 年香港開源年會後記

大約兩個星期之前,我在 Facebook 上看到 2017 年的香港開源年會的消息。我想,我是不是可以透過這個機會,認識一下不同領域的程序員呢。於是,我在 EventBrite 上面買了學生票。但最終我拿到 VIP 票了,感覺有點激動。我把這一次的會議做了幾點筆記,也許,每一個人都應該參加最少一次如此有規模的大會。我會在這裡說說我參與這次會議所發生的一些事。

....繼續閱讀全文內容

香港開放數據平台 - 從入門到放棄

經過 2017 年香港開源年會之後,我都沒有去看香港的開放數據做得怎麼樣。今天香港正懸掛八號風球,正好是一個機會去了解一下。香港政府有一個開放數據平台,資料一線通,以多種檔案格式提供多個政府部門類別,機構的一些查詢資料,比如說天氣預報,中學教育統計資料。值得注意的是,這些檔案並不是 ODF,而是 xls, xml, csv, json, gif, txt, tif。。。

....繼續閱讀全文內容

5分鐘製作 Markdown PowerPoint

利用 markdown 製作投影片,其實可以很簡單。

....繼續閱讀全文內容

JavaScript Array.map(parseInt) 錯誤解決方案

如果我想轉換數組裡面的字符串為數字的話,很自然就會想到 `map` 和 `parseInt` 這兩個方法。但是用起來的時候卻不是我想要的結果。

....繼續閱讀全文內容

打好 JavaScript 基礎的6個步驟

平日開發的時候,我們會選擇使用一些框架來避免重複製造輪子,減輕我們的工作量。然而,我們卻不能透過使用更好的工具,或者更換框架來解決一些基礎開發問題。因此打好基礎很重要,不但決定前端程序員解決基礎問題的能力,還決定了面對日新月異框架時的掌握能力。當我開發 React 應用的時候,遇到的問題多是我對於 JavaScript 的理解不夠充分。因此,我在這裡寫一下如何打好 JavaScript 基礎,希望拋磚引玉 XD

....繼續閱讀全文內容

深入 ECMAScript 的數據類型

每一種編程語言都有數據結構,但他們各有不同之處。JavaScript 是一種動態語言,變數的類型不用提前聲明,你可以使用同一個變數來保存不同的數據類型。

....繼續閱讀全文內容

初探正則表達式

正則表達式是一個非常簡單的語法,但它也是神兵利器,可以說是程序員必須要理解的工具之一。它就像一本會不斷成長的寶刀,隨著程序員對它的理解,它的威力也跟著增強。

....繼續閱讀全文內容