All Posts

Koa教學(二)-Routing&Logger

Koa教學(二)-Routing&Logger

Routing路由&logger記錄 Routing 安裝koa-router 使用koa-router URL parameters Logger 安裝koa-logger 使用koa-logger Routing路由&logger記錄 Routing與logger在網站的設計上是十分重要的兩個部分。Routing控制了網站URL對應到該執行的function,良好設計的routing不僅可以讓開發者們對於代碼的維護更加容易,也讓使用者可以預期網站的行為,加強SEO等等。至於Logger則是我們觀測使用者行為以及檢測程式bug一個良好的管道

Koa教學(一)-支援最新ECMAScript的MVC框架

Koa教學(一)-支援最新ECMAScript的MVC框架

What is Koa? Koa vs Express vs Connect 環境架設 Hello World Async function 使用Async function 不使用Async function Middleware中間件 What is Koa? 相信很多人對NodeJS的第一次接觸就是Http Server,Koa是一個十分新潮的Http框架,他支援ES6甚至ES7的新特性,更容易debug,表達力更加強大,程式碼更加精簡。 相信很多人使用過Express。Express也是許多NPM套件的依賴,社群也很活躍,幾乎遇到的問題都已經有人遇過了,因此可以很容易找到解答。Koa是由Express的開發者另起爐灶做出來的框架,因為兩者在根本的概念上差異

C語言之意外處理

C語言之意外處理

最近在面試時被考官問了一題,如何用C實作出意外處理的機制? 在其他語言,exception都有其實作的辦法,例如C++中的try-catch語句,但是在C中並沒有實作這樣功能,因此必須使用一些小手段來達成這個目的,我們寫的函式庫交於他人使用時,不至於一點錯誤就當掉。 方法一: 傳入error變數記錄錯誤狀況 我們要在傳入function的變數中,多傳遞一個error變數,儲存錯誤代碼,當function執行結束後,我們檢查這個變數,再對應相對的處理方案。 一下我們用除法作為一個示範,當除數為0時我們要拋出

前端相關Cheatsheets整理

前端相關Cheatsheets整理

查文件是每個程式設計師花大量時間的重點項目,我們會花時間去閱讀我們使用的語言或者套件的文件,當自己寫出函式庫時也會為自己的函式庫加上適當的文件說明,這是一個避免不了的過程,畢竟程式設計師必須把腦力花在邏輯思考上,而不是記憶這些查詢的到的資訊,所謂孰能生巧,寫多了以後自然而然的查文件的次數就會越來越少。但是當跳脫一個領域再回來後發現自己又是一張白紙,但是聰明的程式設計師,記得的是寫程式的思維,而不是函式的名稱以及傳入的參數,因此從新來過的時間會比第一次接觸時快上超多倍,因為這些先遣知識已經被我們給

Neovim 初認識

Neovim 初認識

Neovim號稱是新世紀的Vim,是否真的名副其實呢? 老實講最近的IDE越來越厲害,除了開啟速度讓我不滿以外,功能的確是做了很多的優化,Vim身為編輯器之神是否將至隕落呢? Neovim是否能夠讓Vim重返榮耀,與當前一線的文字編輯器(VS Code, Atom)並駕齊驅。 Vim算是跟我在程式圈中打滾最久的夥伴了,對他總是又愛又恨,一開始覺得操作這麼卡的編輯器怎麼會有人用,到最後慢慢的習慣養成後發現像是中毒似的,戒不掉。雖然Vim操作犀利,但是跟很多現代化IDE相比他還是有些略顯不足,最明顯的可能他對於中文輸

Hello Hugo

Hello Hugo

以往使用Tiddlywiki來當做個人的知識管理平台,功能上算是十分的完善,wiki該有的功能也都應有盡有,是一個十分出色的個人記事本,加上有Tiddlyspot來託管自己的tiddlywiki,讓使用者們不用擔心架站的問題。但是使用了一陣子後發現Tiddlywiki對於客製化比較局限,難以做到個人網站的規格,加上它本身就是以wiki為出發點做出來的一套軟體,因此是適合大家共同編輯的一個平台,對於個人網站來說也不是太適合,因此輾轉了一陣子,嘗試了一下各種平台,最終還是決定使用Hugo來架設。 Hu