如何利用 Stack Overflow 高效學習 JavaScript?
帶著問題去學習,會比單純看書的效果好得多。而 Stack Overflow 網站雲集世界上不同程序員遇到的問題,我們可以透過它來高效學習技能,比如說前端工程師的技能:JavaScript。
....繼續閱讀全文內容帶著問題去學習,會比單純看書的效果好得多。而 Stack Overflow 網站雲集世界上不同程序員遇到的問題,我們可以透過它來高效學習技能,比如說前端工程師的技能:JavaScript。
....繼續閱讀全文內容上次我們提到 GatsbyJS,它是一個可以獲取任意數據,並生成靜態化網站的系統。這一次,就讓我們以 Calpa 的技術博客作為例子來開始架構網站吧。
....繼續閱讀全文內容在程序員的日常精進之中,閱讀優秀的代碼是必不可少的。透過 TDD 的開發模式,可以模仿那些優秀的代碼,從而提升自己代碼水平。下面介紹如何從零開始搭建 TDD 環境,並構建 isEven 代碼。
....繼續閱讀全文內容在寫測試代碼時,以往我們需要翻閱文檔,學習各種 API 才能明白如何操作斷言。而現在我們可以透過 power-assert 的 assert 方法來減輕調試壓力。不僅如此,它還提供更加直觀,具體的運行效果,幫助 DEBUG。寫測試代碼,其實可以很容易。
....繼續閱讀全文內容對於代碼裡面的 if else,我們可以使用邏輯判斷式,或更好的三元判斷式來優化代碼。除了可以降低維護項目的成本之外,還可以提升代碼可讀性。就讓我們從最簡單的 if else 例子開始吧。
....繼續閱讀全文內容在日常開發中,我們少不了使用 Promise,而透過封裝抽象方法,可以避免造輪子,寫出更加優雅的代碼。例如:將任意函數,化為具有異步能力的函數、改裝成具有並發上千萬請求的函數、使用 Web Worker 來使用不同線程、暫停若干秒再繼續。這裡就讓我們一起來動手封裝這些方法吧。
....繼續閱讀全文內容世界上不同的程序員,因開源活動而連接一起。這次 Hacktoberfest 活動除了可以拿到活動的限量衣服和貼紙之外,更可以認識到世界上不同的程序員。我看著不斷而來的討論和 PR,我找回了自己在編程上的熱情。如果你有興趣參與開源活動,但不知道如何入手的話,它會是一個不錯的起點。
....繼續閱讀全文內容day.js 可以提供處理日期的方法,並且和 Moment.js 擁有一模一樣的方法。使用輕量 day.js 能夠大大省下用戶需要加載的體積,加速網站加載速度。
....繼續閱讀全文內容如果你熟悉申請大學流程的話,你也可以理解 JavaScript 的 filter 方法。相對於 JavaScript 裡面的 map() 和 reduce() 方法來說,filter() 方法也許是最一目了然的方法。
....繼續閱讀全文內容時光飛逝,轉眼已經離開香港兩個月。上有天堂,下有蘇杭。我也開始習慣這裡的生活,無論是生活節奏,還是工作習慣,都有所不同。這就是我這些天來最大的體會。
....繼續閱讀全文內容async/await 能讓開發者享受異步操作的快感,解決回調地獄的問題。然而,編譯器對於 async/await 的編譯有時候卻不和我們想象中的一樣。透過安裝正確插件,或改回 Promise 版本,我們可以解決這個問題。
....繼續閱讀全文內容趁著深夜有空,我就翻譯了一篇有趣的文章。這篇文章是說如何插入任意文本到任意文本。有時候,文章都會被某些網站會直接引用博客內容。。。這一類的插入空白字符串方法,可以成為其中一個有力的追蹤源頭的線索。
....繼續閱讀全文內容當我在更新 gatsbyjs 本體和 `gatsbyjs-*` 插件後,就發現構建 JavaScript 代碼的時候失敗。解決問題的過程,需要多聯想關鍵字。但簡單來說,只要安裝正確的 babel 轉換插件,就可以解決這個問題。
....繼續閱讀全文內容最近忙著大學的事情,少了時間寫博客文章。可是沒想到在過去那一篇文章發佈之後,就遇到 Gitalk 評論區出現 Error: Validation Failed. 這樣的問題,在 Github 上面和網友討論之後,想出了一個解決方法,希望可以拋磚引玉。
....繼續閱讀全文內容console.log() 這一個方法可以說是前端工程師最常用的調試方法之一。當我在研究音樂播放器 Aplayer 源碼的時候,發現其中有一行有趣的代碼,可以在 console 裏面輸出自帶顏色的圖案,故在此記錄一下。
....繼續閱讀全文內容如果你有試過打包整個 Node 項目到服務器上,那麼你發現自己的項目體積比較大,其中一個原因是 `node_modules` 文件夾包含很多不必要的檔案。在使用 npm 安裝不同插件時,往往會包含很多不必要的文件夾,例如`example`, `doc`。要麼我們就是手動刪除它們,要麼我們就是自己寫一個自動腳本。而開發 Koa、Co、Express 的 TJ 大神則提供了一個簡單輕巧的工具。我們可以學習一下他的思路,以及使用這個工具。
....繼續閱讀全文內容良好的代碼規範,能夠提高代碼的可閱性,使得項目維護更友好。除了自己設定一個規範外,我們也可以借鑒一下現在流行的代碼規範,讓我們成長之後,再去看細節。
....繼續閱讀全文內容工欲善其事,必先利其器。一套完善的工具可以幫助我們事半功倍。而作為前端程序員的我,也是花了點時間為自己配置了一套工具。如果你也是使用 MacOS 作為你的開發系統的話,那麼你可以看一下這篇文章。
....繼續閱讀全文內容異步操作是非常常見的操作,也是其中一題常見的前端工程師面試題目。在日常開發中,我們會和伺服器交互,或者是和用戶的行動作出反應,比如說監聽某些點擊事件。這個時候,其實我們是執行了異步操作,我們需要等待對方若干時間才能收到返回值,甚至是一個錯誤的值。。。因此,異步操作很容易產生一些誤會。這裡,我會說一下異步操作,及其返回的處理方法。
....繼續閱讀全文內容React-markdown 可以把 markdown 語句轉譯為 React 組件,十分方便使用。
....繼續閱讀全文內容以前,我的博客是用 Disqus 的評論插件,但是無論是載入速度,還是樣式上,都是有所缺乏的。我一直沒有安裝其他的評論插件,因為覺得搬家有點麻煩。但是當我試用一下之後,我就覺得這個插件安裝很方便,功能也很實用,尤其是可以寫 Markdown 評論,讓我非常喜歡這個插件了。
....繼續閱讀全文內容上天對於每個地球人都是公平的,每個人都一天只有 24 小時。為什麼有的人會停留不前,有的人卻會不斷有所成長?其中一個原因是當遇到問題時,他們解決問題的方法是非常不同的。同樣是遇到問題,與其伸手,等其他程序員幫助去解決問題,倒不如自己先嘗試各種方法,然後才問人家。。。我會在這篇文章簡單說一下在你提問之前,你可以做的六個步驟。
....繼續閱讀全文內容如果你用過 Font Awesome 等圖標,你可能會覺得它們很好看,用起來很很方便。但是,在用戶點擊這些圖標的時候,它們是不會有反應的。如果有這些圖標會動的話,那就更加好。Titanic 提供一系列的動畫圖標,以及以 JavaScript 的調用圖標動畫的方法。
....繼續閱讀全文內容經過 2017 年香港開源年會之後,我都沒有去看香港的開放數據做得怎麼樣。今天香港正懸掛八號風球,正好是一個機會去了解一下。香港政府有一個開放數據平台,資料一線通,以多種檔案格式提供多個政府部門類別,機構的一些查詢資料,比如說天氣預報,中學教育統計資料。值得注意的是,這些檔案並不是 ODF,而是 xls, xml, csv, json, gif, txt, tif。。。
....繼續閱讀全文內容如果我想轉換數組裡面的字符串為數字的話,很自然就會想到 `map` 和 `parseInt` 這兩個方法。但是用起來的時候卻不是我想要的結果。
....繼續閱讀全文內容平日開發的時候,我們會選擇使用一些框架來避免重複製造輪子,減輕我們的工作量。然而,我們卻不能透過使用更好的工具,或者更換框架來解決一些基礎開發問題。因此打好基礎很重要,不但決定前端程序員解決基礎問題的能力,還決定了面對日新月異框架時的掌握能力。當我開發 React 應用的時候,遇到的問題多是我對於 JavaScript 的理解不夠充分。因此,我在這裡寫一下如何打好 JavaScript 基礎,希望拋磚引玉 XD
....繼續閱讀全文內容每一種編程語言都有數據結構,但他們各有不同之處。JavaScript 是一種動態語言,變數的類型不用提前聲明,你可以使用同一個變數來保存不同的數據類型。
....繼續閱讀全文內容如果你遇到 CreateListFromArrayLike 的報錯的話,那麼可以看看代碼裡面調用 apply 方法的地方,call 是用0個或者更多的參數,而 apply 則是用一個數組。
....繼續閱讀全文內容