The Will Will Web

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

如何在 Angular CLI 建立的 Angular 2 開發環境呼叫遠端 RESTful APIs

最近開辦了許多 Angular 2 訓練課程,許多學員都有提到一個問題,就是如何讓我們現有的 ASP.NET MVC 5 網站跟 Angular 2 整合在一起。這個問題有個很簡單的回答:不要在開發時期整在一起,部署的時候放在一起就好!但是 Angular 2 網站在開發的過程中要怎樣才能成功呼叫我們用 ASP.NET MVC 或 ASP.NET Web API 寫好的 RESTful API 呢?本篇文章將介紹一個鮮為人知的「內建功能」,可以讓你在開發時期就可以很方便的呼叫任意遠端任意 HTTP API 介面。

... 繼續閱讀 ...

如何在 Windows 命令提示字元下使用 Linux 常見的 touch 命令

以前在用 Linux 的時候,有個很常用也很好用的 touch 指令,他可以幫我快速建立一個空檔案,或是將現有檔案的修改時間改成目前時間,正如指令名稱 "touch" 一下,代表有人碰過了這個檔案。不過在 Windows 命令提示字元下,一直都沒有這個命令可用,每次要建立空檔案都會覺得有點麻煩,所以我剛剛寫了一支小程式,讓大家在 Windows 環境下都可以使用 touch 命令。

... 繼續閱讀 ...

如何將 Angular 2 含有路由機制的 SPA 網頁應用程式部署到 IIS 網站伺服器

這幾個月以來,我們一直在利用 Angular 2 建構一個還不算小的入口網站,網站前端用的是 Angular 2 框架,後端用的是 ASP.NET Web API 2 框架,還好有 Angular 2 這樣一個優雅又完整的框架,讓我們整個前端團隊不分資深或資淺,大家都可以順利分工合作。如今網站即將上線,進入了要部署的時間點,原本在 Angular CLI 提供的開發伺服器上,程式都跑得好好的,但部署到 IIS 卻發生了網址路由的問題,除了首頁以外的頁面都會顯示 HTTP 404 Not Found 的錯誤,這該如何是好呢?本文告訴你如何解決!

... 繼續閱讀 ...

如何在 Visual Studio 2015 與 Visual Studio 2017 建立與偵錯 VSTO 專案

睽違了 9 年,終於再次有機會用到 VSTO 這門技術,想當年我們還是用 VSTO 2005 開發專案的呢!不過這次就很不順了,連專案範本都無法建立,我同事則是用 Visual Studio 2015 可以開啟專案,不過卻無法成功執行與偵錯。卡關了數週之後,只好向微軟技術支援中心求助,直到今天才正式解決此問題。

... 繼續閱讀 ...

如何透過檔案總管建立 .gitignore 或 .editorconfig 等只有副檔名的檔案

如果你是在純 Windows 環境下開發程式,通常不會遇到「只有副檔名」的檔案名稱,但是如果你是在 Windows 平台開發前端應用程式,像是 AngularReact 等等,就很有機會經常遇到像是 .editorconfig.npmrc.bowerrc 諸如此類的設定檔,當要建立這些檔案時,就會產生一個困擾,就是檔案總管無法建立沒有檔名的檔案,我之前每次都要先開記事本,把內容打完後再儲存檔案,這時才能儲存只有副檔名的檔案。我最近發現,原來 Windows 檔案總管也可以建立只有副檔名的檔案,這篇文章就讓我來細說從頭。

... 繼續閱讀 ...

修復 Windows 10 檔案總管在執行時效能低落的問題 (新增/更名/刪除檔案)

從上個月開始,我的桌機開始出現了一些異常狀況,尤其是在使用「檔案總管」的時候,我只要新增一個資料夾或檔案、更名資料夾或檔案、刪除一個資料夾或檔案,執行速度都極差無比,原本想說可能是安裝了甚麼外掛程式所致,結果絕對出乎你意料之外,欲知詳情請繼續看下去!

... 繼續閱讀 ...

解決 Office 365 無法透過商務用 OneDrive 同步處理 SharePoint 檔案的問題

前陣子換了台新筆電,將大量檔案透過「商務用 OneDrive」將幾個放在 OneDrive (Office 365) 的資料夾同步回來,首次同步並沒有問題,但隔幾周之後,就發生無法同步檔案的問題,但是我的另一台電腦卻是正常的。在以前,我只要重新同步一次,問題就能解決,但是這次卻再也無法重新同步檔案,詢問了微軟技術支援後才解決此問題,本篇文章將概要說明如何解決此問題。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

如何在 Azure Container Service、Azure Service Fabric 與 Azure Functions 之間做出選擇

今天看到一篇不錯的 Choosing between Azure Container Service, Azure Service Fabric and Azure Functions 文章,他們摘錄的 Building Microservice Applications with Microsoft Azure 這場 56 分鐘討論的精華,這場討論分別由這三個產品的 PM 聚在一起,把這三個 Azure 服務之間的差異與選用的時機介紹得非常清楚,解決了我許多心中的疑問,以下是我在吸收消化之後的內容分享。

... 繼續閱讀 ...

如何在 Windows 10 同時安裝與執行 Windows 與 Linux 容器 (Docker)

自從將我的 Windows 10 升級到周年更新後,發現有好多好玩的功能可以用,前陣子在玩 WSL (Windows Subsystem for Linux) ( Bash on Windows ),而最近則是把玩 Windows Containers 容器技術。今天這篇文章,主要想分享如何讓大家在自己的 Windows 10 電腦中同時安裝 Windows Containers 與 Linux Containers 環境,讓你在同一台開發主機上可以同時享受真正跨平台的容器支援。

... 繼續閱讀 ...

The Will Will Web 生日快樂! ( 差點忘記的九歲生日 )

今天對我來說是個重要的日子,那就是我 The Will Will Web 的生日,不過今年卻差點給忙忘了,剛剛突然想起 10/27 快過了,趕緊跳起來寫文章,哈。我覺得每年都過得好充實,今年也不意外,可以這樣每天過著充滿挑戰與成就的日子,雖然忙碌萬分,但也同時感覺幸運。一轉眼九年過去了,想當年給自己訂下的「每日一篇文章」的目標,持續了兩年多,連出國旅遊也不放過,現在想想還是有點懷念當年一天一篇文章的傻勁。現在,就讓我們歡慶 The Will Will Web 部落格九歲生日囉! :)

今年想不到跟去年一樣只寫了 30 篇文章,哈!即便現在 The Will Will Web 部落格的文章量越來越少,不過只要有寫,還是一如往常的堅持文章品質,盡可能地將複雜的步驟與觀念講解清楚。其實我的文字表達的能力,對我現在的實體教學課程有著極大的正面影響。有人說我上課總是能把複雜的技術講得很簡單,但我其實不這麼認為,我只是覺得我自己不喜歡複雜的東西、不喜歡記憶複雜的語法,所以能簡單的,絕對不要複雜。在面對初學技術的人,務必幫著大家建立起一條有點平坦又有點障礙的學習之路,平坦是指用觀念帶領大家進入新的技術領域,障礙是指透過實作與除錯認識自己的盲點,在解決問題的過程認識全新的觀念與技術。

由於我個人討厭複雜的事物,要是我必須用一個複雜的技術,那麼我一定會對我眼前的程式碼建立情感連結,用右腦思考,對抽象的事物發揮想像力,用一個我能夠想像的形體來認識眼前的新技術。這講的好像有點抽象,但這就是我能夠不斷學習新技術的秘密。這幾年當了老師之後,開始會有很多學員來問我問題,只要遇到我無法清晰表達出來的問題,都會想花時間徹底釐清背後的技術原理,如果一件事情能夠有個清楚的脈絡,任何抽象的技術都能在腦海中建立起扎實的思維模式 (Mindset),這時就不再是抽象的概念了。

接下來,就讓我來整理一下這一年到底做了什麼事吧!

演講行程 ( 共 14 場 )
教學課程 ( 這一年花了 103 天在教學上 )
  • 多奇教育訓練
    • 2015/11/07 ASP.NET MVC 5 開發實戰 (台北)
    • 2015/12/12 JavaScript 開發實戰:核心概念篇 (台北)
    • 2015/12/13 AngularJS 開發實戰:新手入門篇 (台北)
    • 2015/12/15 使用Jenkins CI與Azure架構連續性整合方案
    • 2015/12/19 AngularJS 開發實戰:模組開發篇 (台北)
    • 2015/12/20 JavaScript 開發實戰:核心概念篇 (台中)
    • 2015/12/26 JavaScript 開發實戰:核心概念篇 (高雄)
    • 2015/12/27 JavaScript 開發實戰:核心概念篇 (台北)
    • 2016/01/23 Git 版本控管實戰:新手入門篇 (台北)
    • 2016/01/31 Git 版本控管實戰:版控流程管理 (台北)
    • 2016/02/20 Visual Studio 2015 開發與偵錯技巧 (台北)
    • 2016/03/05 ASP.NET MVC 5 開發實戰 (台北)
    • 2016/04/09 使用Jenkins CI與Azure架構連續性整合方案
    • 2016/04/16 Visual Studio 2015 開發與偵錯技巧 (台中)
    • 2016/04/23 Visual Studio 2015 開發與偵錯技巧 (高雄)
    • 2016/05/07 Visual Studio 2015 開發與偵錯技巧 (台北)
    • 2016/05/14 Entity Framework 6 開發實戰 (台北)
    • 2016/05/22 JavaScript 開發實戰:核心概念篇 (台北)
    • 2016/05/28 JavaScript 開發實戰:核心概念篇 (台中)
    • 2016/05/29 JavaScript 開發實戰:核心概念篇 (高雄)
    • 2016/06/18 Git 版本控管實戰:新手入門篇 (台北)
    • 2016/06/19 ASP.NET Web API 2 開發實戰 (台北)
    • 2016/06/26 Microsoft Azure 網站應用程式開發實戰
    • 2016/07/31 AngularJS 2 開發實戰:新手入門篇 (台中)
    • 2016/08/06 AngularJS 2 開發實戰:新手入門篇 (台北)
    • 2016/08/07 JavaScript 開發實戰:核心概念篇 (台北)
    • 2016/08/13 AngularJS 2 開發實戰:新手入門篇 (高雄)
    • 2016/08/20 AngularJS 2 開發實戰:新手入門篇 (台北)
    • 2016/08/27 AngularJS 2 開發實戰:新手入門篇 (台北)
    • 2016/09/03 ASP.NET Web API 2 開發實戰 (高雄)
    • 2016/09/04 ASP.NET Web API 2 開發實戰 (台中)
    • 2016/09/11 ASP.NET Web API 2 開發實戰 (台北)
    • 2016/10/01 AngularJS 2 開發實戰:新手入門篇 (台北)
    • 2016/10/15 ASP.NET MVC 5 開發實戰 (台北)
  • 企業內訓
    • 2015/11/03 HTML5與CSS3開發實戰 (友達光電)
    • 2015/11/10 JavaScript 開發實戰 (友達光電)
    • 2015/12/11 ASP.NET MVC 5 開發攻略 (友達光電)
    • 2016/01/27 AngularJS 效能調校 (有無科技)
    • 2016/02/16 ASP.NET MVC 5 開發實戰 (伯牙網路)
    • 2016/03/01 一等一科技前端教育訓練
    • 2016/03/07 LiteOn 網站資安教育訓練
    • 2016/03/15 Trello 中小企業應用實戰 (創鈺國際)
    • 2016/04/29 Git 版本控管實戰:新手入門篇 (臺北市自由軟體推動小組)
    • 2016/05/26 Azure PaaS 入門 (安心保科技)
    • 2016/08/02 Git 版本控管實戰:新手入門篇 (中華電信學院)
    • 2016/08/03 銓敘部-ASP.NET MVC 5 (資通電腦)
    • 2016/08/05 前端工程培訓課程 (新光人壽)
    • 2016/08/09 JavaScript 開發實戰:核心概念篇 (中華電信學院)
    • 2016/08/16 Angular 2 開發實戰 (中華電信學院)
    • 2016/09/06 ASP.NET MVC 5 開發實戰 (財團法人台灣金融研訓院)
    • 2016/10/07 前端工程培訓課程 (資策會資訊處)
    • 2016/10/11 Git 版本控管實戰:新手入門篇 (中華電信學院)
    • 2016/10/26 Git 版本控管實戰:流程管理篇 (中華電信學院)
線上教學課程( 共 4 場 )
  • 2015/11/20 你所不知道的 Microsoft Azure 雲端資源採購技巧
  • 2015/11/27 你所不知道的 Microsoft Azure 雲端資源採購技巧
  • 2016/03/09 你所不知道的 Microsoft Azure 雲端資源採購技巧
  • 2016/05/18 LINQ 快速上手 #7
錄製 YouTube 影片 ( 共 2 則影片 )

今年的教育訓練天數又提高了,好像有點忙到不知道什麼叫做假日,即便大部分的周末都在授課,但是還是會替自己安排特別的假期,去到一個陌生的地方旅遊、去到一個陌生的環境體驗人生,以前我不太能體會「認真工作認真玩」這句話的意思,最近這一年終於懂了一些,原來,生活還是要靠自己創造,才有趣!

最後,就讓我們一起慶祝 The Will Will Web 九歲生日吧~ (^_^)

... 繼續閱讀 ...

如何在 Windows 10 周年更新安裝 Bash on Windows 並解決中文亂碼問題

今天趁著颱風天在家,花了 10 個小時把筆電升級到 Windwos 10 周年更新版本,並且裝了一直想安裝的 Bash on Windows 套件 ( Windows Subsystem for Linux ) ( 簡稱 WSL ),裝的過程還算順利,就唯獨「中文亂碼」問題很討厭,每每遇到這種問題,我就會本能的想要徹底了解背後的原理與嘗試從根本解決問題。本篇文章就來說說如何安裝這個 WSL 套件,並設法解決中文無法正常顯示與輸入的問題。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...