RESTful API Design — A practical guide
此系列文章是Restful API design的教學目錄,將從什麼是API、怎樣是好的API、HTTP協議、RESTful是什麼、以及其他許多當你在設計API時會遇到情況,例如\:Documentation、Pagination、Rate Limiting、Monitoring.
What are HTTP Methods?Which to use and How to use them correctly?
這篇文章主要討論幾個常見的HTTP methods,說明他們分別是否具有哪些特性(Safe、Idempotent),以及他們應該要怎麼使用,比較會是符合大家的期待.
當然寫server的人可以不照著慣例走,不過如此一來,使用這個API的user可能會很不高興,而這個user可以是公司的客戶,可能是公司內部的其他團隊,也可能是未來的自己!
Outline
* HTTP Request message格式
* 常見的methods,以及其特性
* 分別介紹各個method的用法
curl 是什麼?Linux HTTP 指令完整教學與常用範例
curl 是什麼?完整介紹 curl 指令的用法,涵蓋 GET/POST 請求、Header 設定、檔案上傳下載、Cookie、SSL 憑證等常用範例,讓你快速上手 API 測試與除錯。
HTTP 簡介,以及使用telnet、nc、curl等指令來探索
在網路的世界裡,HTTP扮演著一個重要角色,當你打開Instagram看著無以計數的照片、打開Youtube看看影片、在google上搜尋著你想要知道的答案、瀏覽著別人的網站文章,這些都是HTTP負責把上述的這些照片、影片、文字、等檔案資源從別處的伺服器搬到你的裝置裡,可能是你的手機、平板或是電腦.
HTTP在OSI模型中,是屬於應用層(Application layer)裡的一個通訊協定,透過傳輸層(Transport layer)
[System Design] Data model: Relational V.S. Document
開發應用程式時,時常使用到資料庫,儲存資料並在之後需要時將其取出,如今有許多的資料庫產品可供選擇,提供各種不同的data model及function,在各種使用情境下有不同的表現,開發者根據你的應用程式的需求、資料之間的關係、access pattern、scalability、ACID transaction、fault-tolerance、會有各種不同的適合的選擇.
接下來只單純討論資料庫提供給我們application programmer們的data model,看看是否在哪些情況比較適合用哪一種,
如何用create-react-app開發,整合一個或多個API backend server
在開發single page application時,會需要透過api來取得及操作資料,本篇文章將示範如何在使用create-react-app開發時,整合一個甚至是多個backend api server!
Create-react-app
使用create-react-app時,簡單一個指令npm start 就可以開始開發,此時CRA會起一個webpack dev server來serve static files,通常我們會想要做類似這樣的動作: fetch(
[Networking]Application Layer Overview,什麼是Socket?
Process communication
上次講過了網路的分層架構之後,接下來要來關注application layer,這一層就是我們應用程式所在的地方,應用程式可能是網頁瀏覽器、電子信箱、Skype等等,每種不同的應用程式會有他們自己的通訊協定,規定應用程式之間該如何交換資料,以及資料的格式,常見的協定例如是HTTP、FTP、DNS等等.
那application layer的process們之間要怎麼互相通訊呢?就是要利用transport layer所提供的服務.
What
[Networking] 網路的架構,Layered Architecture
網路是個如此巨大的工程,要如何架構,才能讓全世界的人通力合作,一起打造這豐富的世界呢?答案就是Layered Artichecture .
Layered Architecture
網路的最終目的,就是讓兩個執行在不同機器的程式可以互相溝通、交換資料,例如你的瀏覽器chrome跟網頁伺服器溝通,你手機的Skype跟另一個人的Skype溝通,而這中間,資料經過了重重難關、無數的機器及路由器,這麼多的機器到底是如何一起合作的呢?
答案就是分層的架構,Layered Architecture,
ISP 是什麼?網路服務供應商如何讓你連上網路
ISP(Internet Service Provider)是什麼?網路服務供應商在網路架構中扮演什麼角色?從網路的組成到 ISP 的分層架構,用簡單的方式搞懂你的網路是怎麼連上全世界的。
[Google Sheet]Sparkline,在儲存格裡插入迷你圖表
Sparkline用起來長怎樣
我在[Google Sheet]我如何製作進度表這篇裡
以及[Google sheet]我如何製作股票損益表,自動抓取最新股價
大家可以看到一些儲存格裡都有迷你圖表,像是柱狀圖、線圖,這就是sparkline這個函式的功用,讓我們不需要額外插入一些圖表,就能直接在格子中畫圖.
Sparkline用法
sparkline(range, [options]