Web Development

24
Mar
A Linux HTTP client tool — curl的介紹及用法

A Linux HTTP client tool — curl的介紹及用法

做為一個HTTP client,想要對server發出請求,有許多做法,可能是寫一個python script 或使用其他任何語言,也可以是使用postman這樣的工具,或者是直接在command line上或shell script中使用curl指令.當你想要快速地測試一下某個API,或是explore別人的HTTP service時,直接使用curl是還蠻方便的!甚至直接用shell script來寫爬蟲了! Outline * HTTP Request
4 min read
24
Mar
HTTP 簡介,以及使用telnet、nc、curl等指令來探索

HTTP 簡介,以及使用telnet、nc、curl等指令來探索

在網路的世界裡,HTTP扮演著一個重要角色,當你打開Instagram看著無以計數的照片、打開Youtube看看影片、在google上搜尋著你想要知道的答案、瀏覽著別人的網站文章,這些都是HTTP負責把上述的這些照片、影片、文字、等檔案資源從別處的伺服器搬到你的裝置裡,可能是你的手機、平板或是電腦. HTTP在OSI模型中,是屬於應用層(Application layer)裡的一個通訊協定,透過傳輸層(Transport layer)
6 min read
28
Dec
[System Design] Data model: Relational V.S. Document

[System Design] Data model: Relational V.S. Document

開發應用程式時,時常使用到資料庫,儲存資料並在之後需要時將其取出,如今有許多的資料庫產品可供選擇,提供各種不同的data model及function,在各種使用情境下有不同的表現,開發者根據你的應用程式的需求、資料之間的關係、access pattern、scalability、ACID transaction、fault-tolerance、會有各種不同的適合的選擇. 接下來只單純討論資料庫提供給我們application programmer們的data model,看看是否在哪些情況比較適合用哪一種,
6 min read
22
Aug
如何用create-react-app開發,整合一個或多個API backend server

如何用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(
2 min read
05
May
[Networking]Application Layer Overview,什麼是Socket?

[Networking]Application Layer Overview,什麼是Socket?

Process communication 上次講過了網路的分層架構之後,接下來要來關注application layer,這一層就是我們應用程式所在的地方,應用程式可能是網頁瀏覽器、電子信箱、Skype等等,每種不同的應用程式會有他們自己的通訊協定,規定應用程式之間該如何交換資料,以及資料的格式,常見的協定例如是HTTP、FTP、DNS等等. 那application layer的process們之間要怎麼互相通訊呢?就是要利用transport layer所提供的服務. What
3 min read
04
Apr
[Networking] 網路的架構,Layered Architecture

[Networking] 網路的架構,Layered Architecture

網路是個如此巨大的工程,要如何架構,才能讓全世界的人通力合作,一起打造這豐富的世界呢?答案就是Layered Artichecture . Layered Architecture 網路的最終目的,就是讓兩個執行在不同機器的程式可以互相溝通、交換資料,例如你的瀏覽器chrome跟網頁伺服器溝通,你手機的Skype跟另一個人的Skype溝通,而這中間,資料經過了重重難關、無數的機器及路由器,這麼多的機器到底是如何一起合作的呢? 答案就是分層的架構,Layered Architecture,
5 min read
04
Apr
[Networking]什麼是網路?網路的組成及網路服務供應商 ISP

[Networking]什麼是網路?網路的組成及網路服務供應商 ISP

網路,可能是人類最大的工程成就之一,如今有數十億的人透過網路連接,在幾秒鐘之內就能夠互相通訊、完成某種任務,各種裝置互相連結,包括伺服器,個人桌上型電腦、平板、手機、未來還會有更多樣的things加入,例如車子、家電、各種感測器 ,等等.如此巨大的工程,大規模的全世界的共同合作,到底是如何做到的?工程架構的決定、協議的制定都值得去借鏡學習.
4 min read
13
Dec
什麼是message queue? 優點及使用場景

什麼是message queue? 優點及使用場景

在大型網頁應用程式系統中,當我們的服務越來越多,服務之間就需要溝通,透過http restful api,想必大家都一定遇過,或許或多或少也聽過使用message queue,那到底它是什麼?為什麼要用它?以及跟restful api有何不同的使用場景呢? 什麼是message queue? 顧名思義,就是有個queue,訊息先入先出( FIFO ),基本上就是提供一個讓不同process間通訊的方式(
3 min read
30
Oct
快速擁有一個Asynchronous Task Queue,使用Redis and Kue.js

快速擁有一個Asynchronous Task Queue,使用Redis and Kue.js

這是篇教你如何在node.js環境下,快速擁有一個Task queue的tutorial,如果想了解什麼是message queue,以及為什麼跟什麼時候要使用它,可以參考我的另外一篇文章什麼是message queue? 優點及使用場景! Outline 1. 部署Redis,使用Docker,在本地起一台Redis 2. 介紹Kue.js 部署Redis 先準備一個shell
3 min read
25
Mar
InstMap TW — 從地圖上找尋附近的台灣Instagram熱門景點

InstMap TW — 從地圖上找尋附近的台灣Instagram熱門景點

到了一個地方,想知道附近有什麼好玩的景點嗎?想看看IG,Instagram上大家都去哪裡嗎?可以使用我最近做的一個玩具服務InstMap TW,找尋台灣最多人標記的地標,或是附近最近的相對熱門的地標. 點選地圖旁的小人圖案,可以使用您現在的位置做搜尋,不想開定位的話,也可以手動拉動地圖改變中心點. 每個地點點進去可以看到該地點的貼文,可切換成瀏覽圖片或是日期、文字、按讚數、留言數等相關資訊. 使用到的技術、工具、服務大概是
1 min read