The Will Will Web | 前端工程研究

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

前端工程研究:理解函式編程核心概念與如何進行 JavaScript 函式編程

函式編程 ( functional programming ) 在這幾年變得有點熱門,像是 React 這套 JavaScript 框架,如果想學好他,通常也都必須要先熟悉函式編程的開發方法才行。畢竟函式編程只是一種程式設計方法,只要程式語言本身可以符合函式編程的基本概念,就可以宣稱用函式編程來開發程式。今天這篇文章,就想以 JavaScript 程式語言為出發,帶大家理解 JavaScript 函式編程的魅力與重要的核心概念。

... 繼續閱讀 ...

前端工程研究:關於 JavaScript 中 Date 型別的常見地雷與建議作法

今天這篇文章,我想來談談 JavaScript 到底如何實作「日期字串」格式解析,日期時間有太多種表達方式,一般人在剛接觸日期格式的時候,都不會想太多跨瀏覽器的問題,通常都是遇到問題的時才來靠北瀏覽器有多爛多爛。有趣的是,有時候還會怪錯對象,例如 XXXX 框架好爛,我寫 JS 這麼久都沒遇過這問題,用了 XXXX 框架才遇到的。現在,我們就開始來對這個說常用不常用,用到時不熟悉的「日期」型別,話說從頭。

... 繼續閱讀 ...

如何解決在 Windows 用 npm 安裝 TypeScript 之後 tsc 還是舊版的問題

由於 Angular 2 官方建議採用 TypeScript 做為主要的開發語言,一般來說 TypeScript 都會建議使用 npm 進行安裝,安裝後就可以在命令提示字元下使用 tsc 命令對 *.ts 進行編譯動作。不過這幾年 TypeScript 的變化很快,轉眼都已經到 1.8 版了。雖然透過 npm 安裝 TypeScript 是很容易的一件事,不過對於有安裝過 Visual Studio 的使用者來說,這條路可能會變得異常崎嶇,如果你在用 npm 安裝過 TypeScript 並且輸入 tsc.exe -v 總是顯示 1.0 版 ( 或低於 1.8 版) 的話,這篇文章你可能要繼續看下去。

... 繼續閱讀 ...

我要成為前端工程師!給 JavaScript 新手的建議與學習資源整理

今年有越來越多企業開始跟我們接洽企業內訓的事,想請我幫他們培訓前端工程師,但你知道一個好的前端工程師絕對不是兩三個月可以養成的,需要多年的努力與磨練才會有點成績。而這幾年可謂前端正夯,有為數不少的人開始大規模的往前端開發移動,而我被問到最多的問題就是「請問 JavaScript 要怎麼學?」或「請問 JavaScript 該怎樣入門?」諸如此類的問題。大家都知道,對於一門程式技術來說,「會寫」與「會教」是兩個截然不同的領域,會寫 JavaScript 的人到處都是,但是會教的人就相對少很多了。我這幾年教授 JavaScript 開發實戰課程已經超過 15 梯次,在將近 500 位學員裡面,我所看到的大部分學員都是對 JavaScript 不勝理解,普遍處於一種一知半解、模糊不清的狀態。另一方面,我在公司內部也帶過不少工程師,總是有人會想學習 JavaScript 但不知道如何入門的情況,這讓我陷入深思,該如何幫助一個人學習 JavaScript 從入門到精通呢?本篇文章將說說我個人的一些想法與建議。

... 繼續閱讀 ...

關於 PATH 環境變數過長而導致命令提示字元下無法執行特定程式的問題

最近由於經常在研究前端常用的各式工具,像是 npm, bower, gulp, webpack, yo, git 等等的工具用的很多,因此親手打指令執行程式的機會變多了,然而有好長一段時間間斷地出現了一些靈異現象,我卻無法解釋,直到最近終於發現了一些潛在的地雷,身處 Windows 平台下的前端工程師們不得不注意。由於我最近迷上了 Cmder 工具,在使用這套工具時可以讓我在輸入指令時,就像身在 Linux 環境下一樣自在,功能很多、支援鍵盤快速鍵、還支援命令與參數自動完成,非常好用,不過有時候卻發現他有點不太靈光,明明已經裝好了 npm 或 bower 工具,就是無法正常執行,我開啟 Windows 內建的「命令提示字元」視窗卻又可以執行。但問題是並不是永遠都不能執行,因為有時候又可以正常執行。這完全是一個農曆七月鬼打牆的概念,我將用這篇文章來說明問題背後的原理與解決方法。

... 繼續閱讀 ...

如何在強制使用代理伺服器的環境下設定 git, npm, bower, gem, ionic 工具

有些公司會要求員工上網時必須設定代理伺服器 (Proxy Server) ,在這樣的環境下使用這些前端工具經常會遇到許多網路連線的問題,本篇文章將說明如何針對 git, npm, bower, gem, ionic 等工具進行完整的代理伺服器設定,設定好之後就可以大幅漸少這些奇奇怪怪的問題。

... 繼續閱讀 ...

如何在 Windows 平台變更 Node.js / npm 全域模組的預設安裝路徑

由於 npm 本身的設計缺陷(直到 npm 3.x 才會改善),會導致安裝模組時,可能會因為特定模組用到相依模組而安裝非常多檔案與資料夾,而且資料夾的層級非常深,在 Mac OS X / Linux 環境下其實並不會有問題,但到了 Windows 環境下的問題可大了,因為 Windows 作業系統有路徑檔名的限制(完整的檔名必須少於 260 個字元,並且目錄名稱必須少於 248 個字元),即便到了 Windows 10 還是有這個限制存在,所以在 Windows 平台透過 npm 安裝套件時,經常會有「指定的路徑、檔名,或是兩者都太長」的錯誤發生,本篇文章將說明問題發生的原因與解決此問題的方法。

... 繼續閱讀 ...

前端工程師必須學會的現代化前端開發工具

最近有越來越多人踏入「前端工程」這個領域,也有許多人還在觀望,畢竟前端這個戰場也才剛開打沒幾年,現在要說是「戰國時期」也不為過,各種不同的框架、函式庫、工具每隔幾個月就會推出新版本,不然就是出現另一套全新的改良版,說實在的學也學不完。因此,本篇文章的目的就在於提供一個概略性的介紹,雖然無法盡數所有會用到的前端工具,但我把一些常用的都給介紹一遍,讓那些剛踏入前端或目前還在觀望的人一個參考指引。

... 繼續閱讀 ...

如何在 Windows 平台安裝與使用 Yeoman 1.0 相關工具

前陣子翻譯了一篇各式 Web 前端開發工具整理的文章,裡面介紹了許多好用的前端工具,其中 Yeoman 就是一個前端工具的組合,幫你統整前端網頁的開發流程 (Workflow),這是一種工作流程的改善,讓你減少重複的手工作業,也讓你更專注在網站的架構與設計上。不過,這些好用的工具大多透過指令的方式運作 (例如: 透過命令提示字元操作),雖然大多工具是跨平台的,但網路上找到的相關教學文章,都是以 Mac 電腦上的操作為主,因為 Mac 為 Unix-like 的作業系統,可以輕易開啟 Shell 環境,使用上相對順利許多,但到了 Windows 總是卡卡的,有時候甚至於還要 Visual Studio 才能安裝 (因為要編譯特定原始碼),今天我就特別寫一篇在 Windows 安裝與使用 Yeoman 的參考指南,幫助大家快速上手這些好用工具。

... 繼續閱讀 ...

前端工程研究:HTML/CSS/JavaScript 相容性檢查資源整理

我們公司自從開出前端的職缺並成功找到人才後,就開始積極的切割 前端 / 後端 的工作,期望前後端的分工架構能夠形成,將網站建置的品質持續向上提升。然而,前端的工作並不輕鬆,其中一個很沒效率的工作就是「跨瀏覽器相容性測試」,經常擊倒不少人,因此打算整理一些不錯的相關資源,如果各位有任何推薦的相關資源,歡迎隨時留言給我,我隨時加上,感恩。

... 繼續閱讀 ...

前端工程研究:關於 JavaScript 中物件的 valueOf 方法

在 JavaScript 程式語言裡,這個 valueOf() 函式算是非常少用的一個內建函式,甚至於很多人連聽都沒聽過。然而,這個 valueOf() 函式十分重要,我在研究之後發現,理解了 valueOf() 的用途後,不但更能理解 JavaScript 如何針對物件進行數值布林字串運算,更能夠利用 valueOf() 解決 使用者定義物件 無法比對大小的問題。

... 繼續閱讀 ...