最近 Funliday-旅遊規劃 常發一些精選旅遊回憶的 App 通知給使用者,在去年十一二月的時候發通知 Server 還能撐的了瞬時大流量的 request。
但今年開始發這類通知,總共發了三次,三次都造成 Server 被打掛,而且重開 AP 還緩解不了,瞬間手足無措。大概都要等過了十分鐘左右,Server 才將這些 request 消化完。
這裡就來簡單整理一下時間軸,順便分享一下 Funliday 是如何解決這個問題。
---
* 1/6 1900:系統排程發送精選旅遊回憶的 App 通知
* 1/6 1900+10s 開始:Server 收到極大量的 request
* 1/6 1900+20s:Nginx 出現錯誤訊息 1024 worker not enough,並回傳 http status code 503
* 1/6 1900+25s:PostgreSQL 出現錯誤訊息 could not fork new process for connection (cannot allocate memory)
* 1/6 1900+38s:Node.js 收到 PostgreSQL 的 exception。There was an error establishing an SSL connection error
* 1/6 1900+69s:PostgreSQL 出現錯誤訊息 database system is shut down
* 1/6 1900+546s:PostgreSQL 出現錯誤訊息 the database system is starting up
---
看了時間軸就覺得奇怪,先不論 10s 的時候發了極大量 request,造成 20s 在 Nginx 出現 worker not enough 的錯誤訊息。而是要關注 25s 時的 PostgreSQL 出現 could not fork new process for connection 的錯誤訊息。
Funliday 用了同時可承載 n 個 connection 的資料庫,而且程式碼又有加上 connection pool,理論上根本不該出現這個錯誤訊息。但整個時間軸看下來感覺就是 PostgreSQL 的 capacity 問題,造成系統無法運作。
因為就算將 Nginx 的 worker connection size 再加大 10 倍,只是造成 PostgreSQL 要接受的 request 也跟著被加大 10 倍,但 PostgreSQL 那裡因為 request 變多,原本在 69s 直接關機的時間點只會提早,而無法真正緩解這個狀況。
基於以上狀況,小編就開始回去看自己的程式碼是不是哪裡寫錯了。會這樣想也是覺得 PostgreSQL 應該沒這麼弱,一下就被打掛,一定是自己程式碼的問題 Orz
---
這邊來分享一下自己程式碼的寫法,圖一是原始寫法,在每個 API 都 create 一個 db client instance 來處理該 API 層的所有 db request。這是蠻單純的做法,也是 day 1 開始的處理方式。但有個小問題,就是每個 API 層都要自己 create instance,不好管理,且浪費資源。
後來因為想要做 graceful shutdown 的關係,所以調整了一下 db client instance 的建立方式,用 inject 將 instance 綁在 request 上面,如圖二。這樣只要在 middleware 建立 db client instance 就好,好管理,而且只要有 req 就可以取得 instance,非常方便。而這也是 1/6 時的程式碼,就從這裡開始研究吧。
---
直接切入 node-postgres 的文件,認真讀了一下 pool 有下面兩種使用方式:
1. pool.connect, pool.release:文件寫著 checkout, use, and return,光看描述就應該用這個沒錯。
2. pool.query:適用於不需要 pool 的連線方式,文件上也清楚寫著內部實作是直接 call client.query,所以用了這個方式是完全跟 pool 扯不上邊。
但偏偏小編從 day 1 用的就是第 2 種方式 Orz,雖然看起來應該是寫錯,但也是要修改後實測,才知道是不是真的可以解決問題。
---
如圖三,這是修改後的程式碼。想了一下子,覺得目前在 API 層使用 req.pool.query 還不錯,不想用官方的建議做法:先 create client,然後 query 之後,再使用 release。
如果照官方建議做法,API 層的程式碼會多一堆與商業邏輯無關的程式碼,也不好維護。所以在不想動到 API 層的程式碼,只能使用 monkey patch 的方式來達到這個需求。
monkey patch 可以將原方法利用類似 override 的方式,將整個方法改掉,而不改變 caller 的程式碼,這也是 JavaScript, Ruby, Python 這類動態語言的特性之一,但真的要慎用,一不小心就會把原方法改成完全不同意義的方法了。
所以原本應該要在 API 層實作 connect, query, release 一大堆程式碼,可以用 monkey patch 完美解決這一大堆程式碼。
---
在 dev 壓測後至少 capacity 可以達到原本的 4 倍以上,隔天實際上 production 之後也確實如壓測般的數據,可以承載目前的流量。
其實這篇分享的重點只有一點,文件看仔細才是最重要的事啦!如果沒把文件看仔細,然後開發經驗也不足的話,什麼 RCA、monkey patch 都幫不上忙啦!
---
後記:有夠丟臉,其實完全用不到圖三,只要把圖二的 pool creation 放到最外層就好了,因為 pool.query 的內部實作已經有做 connect, query, release 了。
感謝下面的 Mark T. W. Lin 及 Rui An Huang 的幫忙,實在是太搞笑了 Orz
* Pool 的文件:https://node-postgres.com/features/pooling
* 官方建議寫法:https://node-postgres.com/guides/project-structure
* pool.query 的內部實作:https://github.com/brianc/node-postgres/blob/master/packages/pg-pool/index.js#L332
#expressjs #nodejs #javascript #postgresql
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「javascript call api」的推薦目錄:
- 關於javascript call api 在 Kewang 的資訊進化論 Facebook 的最佳貼文
- 關於javascript call api 在 小吃貨的英國生活日記 Facebook 的最佳解答
- 關於javascript call api 在 紀老師程式教學網 Facebook 的最佳貼文
- 關於javascript call api 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於javascript call api 在 大象中醫 Youtube 的精選貼文
- 關於javascript call api 在 大象中醫 Youtube 的精選貼文
- 關於javascript call api 在 How to call a REST web service API from JavaScript? - Stack ... 的評價
- 關於javascript call api 在 JavaScript Fetch API Explained By Examples 的評價
- 關於javascript call api 在 Promise based HTTP client for the browser and node.js - GitHub 的評價
- 關於javascript call api 在 4 ways to make an api call in JavaScript | Http requests 的評價
- 關於javascript call api 在 Node.js - 想要利用call API 的方式執行伺服器端的檔案 的評價
- 關於javascript call api 在 Graph API - 網頁專用SDK - 文件- Facebook for Developers 的評價
- 關於javascript call api 在 REST API Connection - Alternative to use from Javascript to ... 的評價
javascript call api 在 小吃貨的英國生活日記 Facebook 的最佳解答
#英國工作面試經驗分享
趁著新工作開工前和大家簡單分享一下這次找工作的心得。
這次找工作前前後後大概做了10間公司的interview ,但只有兩間是face to face 這樣,然後我拿了其中一間的offer。另一間其實也有很大機會拿offer但後來不太想繼續他們的流程,所以就沒下文了。
有些是我自己投的,有些是agent/hunter幫我找的,一般來說,如果沒有工作經驗,很難吸引到hunter,所以這次的經驗跟我剛畢業的時候很不一樣,這次一大堆hunter打來也很煩。
一般來說會有phone interview 和 on-site interview,有的會有一個phone interview + 兩個 on-site interview
on-site就是去他們公司面試這樣。然後工程師類型,一般phone interview可能會是technical的,例如會用Google Doc或者他們公司自己的系統,可以雙方一起coding的。
像Javascript會有codePen之類的,然後可能Skype也是Group一起,就對方可能有兩三個人跟你一起寫code然後同時也skype,這個我覺得壓力很大,尤其你寫的時候別人都看的到。這個是Oxfordnanopore的面試,也是我第一次遇到這樣的面試,面試的亂七八糟的,但其實我不知道結果如何,因為這個是agent幫我找的(跟我後來拿到offer的agent同一個,所以即使有下文也是他幫我回絕,所以我不太清楚feedback。
分析一下表現得很爛的原因,有一點大概是因為沒什麼這樣的經驗,以及我從來沒用過CodePen,然後原本一個小時的面試拖到兩個小時(所以大家時間最好都抓比較長一點),而且又是三個人,覺得壓力很大。雖然問的問題並不是很難,但當下腦但就是一片空白......寫出了第一題以後,他們稍微改了題目,讓我又很混亂,然後他們決定要跳到第三題,其實我當下已經覺得很痛苦想要快點結束......然後我忘記第三題我解的怎麼樣了,反正那些題目大概就是Google JS interview會被問的題目。然後又問了我CSS的東西,我CSS真的超爛的,答得很爛,他們知道我CSS很少用到,因為我們都用Angular Material ......(寫到這裡不知道有多少人看得懂我在寫什麼了.....) 反正題目結束以後,他們就問我有沒有什麼問題要問他們,然後他們還問我今天的感想如何,覺得自己表現的怎麼樣,我說我覺得自己表現得很爛,當下肚子非常的餓,快餓昏了(因為這個面試前還做了另一個面試,也是寫題目的),讓人覺得很想哭= =想要快點結束,後來終於亂聊了一下結束這樣。回想起來這個大概是我最痛苦的一次面試。
這個面試的前一個面試,也是要雙向互動,但不是雙方一起寫一些code,是登入他們公司的系統,然後有點像記事本那樣,他可以打一些東西我看的到,也是做題目,大概是寫一個函式,可以給一串數字,找出當中的偶數。這個跟我第一個電話面試是一樣的題目,只是我第一次是寫C#,所以這個表現得還可以,然後問到CSS也是慘死,但他說他知道我不太會寫CSS。反正這個面試是面試的還OK,比較奇怪的是,這樣的面試,卻是用電話溝通,然後登入電腦系統,並不是用Skype,所以電話可能要開擴音,不然也無法打字.....這個公司也是跟我新公司一樣的agent,所以我也不知道feedback如何,就是沒麼下文這樣。
第一個電話面試,就是我說的一樣的方式,只是他們是用Google Doc.,然後也是問了那個找偶數的,再來就是給我看一串code問我會印出什麼這樣,然後如果把Class改成Struct會印出什麼。我自己覺得這個面試還可以,但之後HR說什麼不能幫Junior工程師做簽證,他們目前只能幫Senior的做.....讓我很無言,因為我一開始就寫在履歷上面我需要簽證。
然後其他的面試通常是Phone interviw就是大致上問一些關於我的事情,例如我目前的工作內容,我在Team的角色,然後所使用的工具技能那些,接著就是會給回家作業,然後可能要在限定的時間做完這樣。過了的話他們通常會叫你去公司跟他們談談,問問你怎麼做的,然後我現在的公司他們有要我Improve code,雖然我自己覺得面試的有點爛,而且他們問我一些JS的東西當時回答是錯的答案,他們也沒糾正我。反正還是拿到offer就對了,而且我滿喜歡他們公司的,就馬上答應。
除了上述幾個以外,也有遇過直接給Technical 線上做題的,就是例如可能一個半小時內要做完50題前端的題目,然後可能有單選或多選,問的就是也是Google可以找到的題目,但就是閱讀的要快,然後要Google也要快,這個覺得多練習就可以了。
有的Phone Interview就是直接一直瘋狂問你各種技術性的問題,例如:
1.什麼是物件導向
2.什麼是多型
3.什麼是RestfulAPI
4.為什麼要寫automation test, 好處是什麼
5.什麼是Database normalisation
6.git commit 和 git push的差異
7.如果瀏覽器沒辦法支援JS可能會發生什麼問題
8.跨瀏覽器的重要性
9.什麼是工廠模式
就是類似這些,然後問了大概2-30題左右,超多的其實我已經忘記大概了,順序也忘了,phone interview之後要我寫回家作業,反正後來因為我已經拿到offer就回絕這間公司了,沒有繼續。
通常phone interview又寫完作業,現場面試可能會是白板題。
我覺得agent的好處是,你不用一直浪費時間去回email或者去follow up,然後需要談薪水的時候也可以讓他們去幫你談。
如果想要引起agent的注意可以到各大求職網站一直撒CV就是了,但通常Agent都不接受需要簽證的人,所以這個比較麻煩,我算是滿幸運的遇到我的agent,有一些agent還是會願意幫忙找可以做簽證的公司或者願意幫你跟公司談就是了。
個人覺得phone interview一般的問題可以自己在家裡模擬練習,然後講電話的時候記得發音要清楚,建議是準備耳機,如果不是需要coding的話,需要也可以用無線耳機之類的吧!
然後記得要注意禮貌,跟agent說話也要注意禮貌,請、謝謝、對不起,大概就是英國的傳統,一直講就對了,講完還可以適時地稱讚對方。
技術類的onsite interview通常應該也是類似白板題這樣,自己在家裡也可以練習,或者有要你寫回家作業的話就會討論回家作業相關的。回家作業通常是,前端就是做一個SPA(因為現在比較多是走SPA)然後後端就是要你寫一個API讓人家可以call 你,也有就是要你寫一個SPA可以call後端的RESTAPI,有限時間的話最好就快速完成,沒有限的話就把握時間把 code寫得漂亮一點。我新公司當時是叫我用Canvas做一個動畫,這個比較少見,大概是因為他們知道我原本是寫Angular可是他們公司用Vue.JS所以覺得那就考純JS......
新公司面試的一個關鍵我覺得是CEO跟Head of private market喜歡我,因為他們說公司文化很重要,Right experience doesn't means right person. 當時我也很喜歡他們給我的感覺,面試的時候工程師們也都很好,要走的時候CEO還帶我參觀公司環境。雖然Glassdoor上面有很多人批評CEO太controlling,但我覺得實際上還是要看相處起來的狀況,當然我還沒上工我也不清楚啦!面試的時候我滿喜歡他的。
總之這次的面試大概都是技術的,跟我原本剛畢業的時候差很多,但是我還是覺得每一間公司很重視自己公司的文化,所以找到對的公司也滿重要的,然後一開始其實我看公司簡介的時候覺得對他們沒什麼興趣,可是談完以後覺得好像可以試試看,然後去他們公司的時候感覺非常好。如果有任何面試機會的話,都可以去試試看,不然當作練習也好。
希望這篇對大家有小小的幫助......雖然說如果你不是工程師的話可能看不太懂QQ
#人生就是峰迴路轉
javascript call api 在 紀老師程式教學網 Facebook 的最佳貼文
[好站分享] GitHub 上的瘋狂 C++ 相關資源清單:Awesome-C++
逛國外網站這麼久,很少碰到有資源齊全到讓我倒抽一口涼氣的...這個作者對 C++ 很有愛啊~~
Awesome-C++,是掛在 GitHub 上的一個 C++ 資源清單。收集了 C++ 相關的函式庫、軟體、書籍、文章...還推薦作者覺得也不錯的其它清單。連結如下:
https://github.com/fffaraz/awesome-cpp
一旦點進去,你會被裡面滿滿的超鏈結,把你的腎上腺素濃度打到最高... XD。如果您平常工作與 C++ 相關,您絕對不能錯過這份清單。我簡單列出一下這份清單有什麼:
(以下文長,是寫給英文苦手的讀者看的。英文沒啥問題的朋友,建議直接看原文即可)
一、函式庫與框架
* 標準函式庫(Standard Libraries):
C++ 原生函式庫、POSIX、ISO、GNU 各家出品的標準函式庫都有。
* 程式框架(Frameworks)
「框架」比「函式庫」規格大一點。一般來說,「函式庫」幫你把常用的程式寫好,你只要叫用就好了,是一種幫助你加速完工、但並沒帶來任何新功能的一堆程式碼。「框架」則是替原始 C++ 帶來一些令人驚艷的新功能。不過這種分法,並非絕對的。
* 人工智慧(Artificial Intelligence, AI)相關框架與函式庫
想要催得動這一坨東西,得有點 AI 背景。否則你可能不知道函式庫提供給你「深先搜尋(Depth-first Search)」與「廣先搜尋(Width-first Search)」這些函數怎麼讓那堆冷冰冰的硬體多一點智慧。
* 非同步呼叫所使用的事件佇列(Asynchronous Event Loop)
一般來說,一個程式呼叫另一個程式,「叫人的」得等「被叫的」把事情做完,才能繼續進行下一步。就像一個經理眼睛盯著新手做事、沒辦法回到辦公桌做自己的事一樣,這種模式叫「同步呼叫(Synchronous Call)」。比較好的作法,是你交代完新手該做什麼,就離開回去做自己的事,等新手做完了,再來報告說「我做完了」,這種模式叫「非同步呼叫(Asynchronous Call)」。不過要能做到「非同步」,「叫人者」與「被叫者」之間,得有「事件(Event)」這個機制,讓兩者互相溝通該做的事,以及是否完工。此處提供的,都是讓 C++ 能達成「非同步」機制的函式庫或框架。
* 音效(Audio)相關框架或函式庫
這裡放的,都是讓你的 C++ 能做到讀取音效檔(如:mp3),並用程式碼對該檔進行剪輯、混音...等動作的函式庫或框架。
* 生物(Biology)相關框架或函式庫
這邊的函式庫,可以讓您用 C++ 比對兩條 DNA 序列相似度有多高,或者從一大堆不同樣本的 DNA 中,找出哪條 DNA 與哪條可能有親緣關係...等。
* 命令列(Command Line Interface, CLI)相關框架或函式庫
用這邊的函式庫,可以讓您在命令列跑出一些令人驚艷的效果。如 NCurses 就是一套能在命令列之下,用文字盡量模擬出下拉式選單、按鈕...圖形界面的感覺。
* 壓縮(Compression)相關函式庫
讓您不必瞭解檔案壓縮原理,會叫用相關函數就能做到檔案壓縮。
* 平行處理(Concurrency)相關函式庫
讓 C++ 也能輕易做到同時處理多件事情的函式庫。
* 資料結構相關函式庫(Containers)
提供資料結構內的 B-Tree 與 Hashmaps 等架構,讓 C++ 輕鬆取用。
* 加密(Cryptography)相關函式庫
提供加密解密相關函數。
* 資料庫(Database)相關函式庫
讓 C++ 可以用幾道命令,輕鬆接取 MySQL、MongoDB...等知名資料庫內的資料。
* 除錯、測試、效能(Debug)相關函式庫
雖然原文只用了「Debug」這樣的簡單字眼,但這一區的函式庫包含「單元測試(Unit Test)」、「效能測試(Benchmark)」、「記憶體用量追蹤(Memory Tracking)」等功能的函數。讓您的程式在還沒跑之前,就接受嚴格檢驗,降低發生錯誤的機會。
* 遊戲引擎(Game Engine)
提供一些函數,讓您輕鬆讀入 3D 建模軟體(如:Maya, 3D Studio...)做出來的模型與動畫。並在程式內特定事件(如:碰撞)發生時播放。也提供打光(Shading)、物理函數(如:彈跳、碰撞)...等方便的程式供您取用。這些東西讓您在寫遊戲時,能以更快的效率產出結果。
* 圖形界面(Graphical User Interface, GUI)
讓您用 C++ 建立漂亮的視窗、對話框、核取框、下拉式功能表...等圖形界面。
* 圖形(Graphics)相關函式庫
這部分多與遊戲引擎搭配,提供 2D 圖形處理或 3D 光跡追蹤(Rendering)等「外觀美化」的函數。讓您的遊戲角色或場景,看起來更栩栩如生。
* 影像處理(Image Processing)相關函式庫
包含讀入/繪出各式圖檔(PNG、JPG、GIF...)、光學字元辨識、電腦視覺、讀入/播放各式影片(MP4...)等函數。
* 國際化(Internationalization)相關函式庫
讓您用 C++ 寫出來的程式,可以輕易支援各國語言(當然,各國語言要事先請翻譯社先翻好,這邊只是提供語系切換的機制)。
* 行程間通訊(Inter-Process Communication, IPC)相關函式庫
兩個跑起來的獨立程式(如:兩個執行檔)想在執行過程中交換資料,稱為「行程間通訊」,簡稱 IPC。IPC 雖然不至於難如登天,不過要做到,手續還是很瑣碎的。這邊的函式庫提供好用函數,讓兩個行程交換資料時,變得比較容易。
* JSON 支援相關函式庫
JSON 原文是 JavaScript Object Notation。是一種用「純文字」來表示「資料」的方法。如一筆「李大華、35 歲、手機 0937555666」的資料,用 JSON 表示是這樣的:
[
Name: "李大華",
Age: 35,
Mobile: "0937555666"
]
之後可以讓這樣的資料,流通於瀏覽器與伺服器之間。而 JSON 函式庫,可以快速幫您分析 JSON 表示的資料,將它還原成您要的格式。
* 日誌(Logging)支援函式庫
日誌在「系統稽核」中,是很重要的功能。系統得把「什麼人、等級多高、做了什麼事、何時做的、對哪部分做的、從哪個 IP 過來...」忠實記錄下來。萬一系統出事了,我們就能追查可能是誰搞的。類似「監視器」的功能。這部分的函式庫,可以讓 C++ 輕易做到「日誌」功能,您不用傷腦筋日誌功能該怎麼寫,它已經幫您寫好了。您只要會用就行。
* 機器學習(Machine Learning)相關函式庫
提供如「類神經網路」、「電腦視覺」等進階函式庫,讓您的 C++ 程式有少量人類視覺與思考能力(真的很少量,請不用有太高期待)。
* 數學(Math)相關函式庫
一些線性代數、矩陣運算...等相關數學函數。
* 多媒體(Multimedia)相關函式庫
如:影音串流...等相關函數。
* 網路(Networking)相關函數
提供各種低階網路協定相關函數。如:TCP/IP、HTTP、點對點傳輸、非同步通訊、以及一些與 Facebook 橋接的相關函數。
* 物理模擬(Physics)相關函數
這部分也可以大量用於遊戲程式設計。主要提供一些函數,用來模擬自然界各種物理現象。如水流、風吹、碰撞、彈跳...等。
* 機器人控制(Robotics)相關函數
一堆方便你控制或模擬機器人行為的函數。
* 科學運算(Scientific Computing)
一些在科學上比較用得著的數學運算。如工程數學、傅立葉分析...等。
* 腳本語言控制(Scripting)
包含一些能讓 C++ 與各種腳本語言(JavaScript、PHP、Perl...)橋接的函數。
* 序列化控制(Serialization)
首先解釋一下何謂序列化。序列化可以把程式執行到一半的樣子,如數保存於硬碟中,甚至於可以關機。之後可以把序列化的資料「反序列化」,將它「解凍」還原至記憶體繼續跑,就像當初跑到一半被「冷凍」當下再往下執行一樣。這邊提供許多 C++ 序列化的函式庫。
* 影片處理(Video)
可以讀入/播放各種影片檔的函式庫。
* 虛擬機(Virtual Machines)
這邊提供一些用 C++ 寫出來的「輕量級」虛擬機。所謂虛擬機,是用軟體模擬出硬碟、處理器、記憶體、螢幕,工程師可以在虛擬機內安裝另一個作業系統,就好像安裝作業系統至真實機器一樣。
* 網頁應用軟體框架(Web Application Framework)
集合了一些用 C++ 寫出來的 WWW 伺服器、或開發網頁時用得上的函式庫等。
* XML
如果你希望教會你的 C++ 程式「讀懂」一個 XML 檔在講什麼,這邊提供了一堆 XML 解析器(XML Parser),方便您分析從遠方伺服器傳來的 XML 檔到底想表達什麼樣的資料。
* 其它(Miscellaneous)
一些無法分類的東西,通通塞在這裡。大部分是一些小型的函式庫或 C++ 與其它語言的橋接軟體。
二、C++ 相關軟體
* 編譯器(Compiler)
各類把 C++ 原始碼編成 0 與 1 機械碼的軟體。
* 線上編譯器(Online Compiler)
懶得安裝編譯器的話,現在有一堆線上的編譯器。你上傳原始碼,它會編成機械碼後,丟還個執行檔給你下載。
* 除錯器(Debugger)
一些有名的 C++ 除錯器。當你的程式無法執行時,可以靠它找出到底錯在哪裡。
* 整合式開發環境(Integrated Development Environment, IDE)
IDE 就是把文字編輯器(Editor)、編譯器(Compiler)、除錯器(Debugger)...等軟體整合成一體的軟體。您可以不離開該環境,就能寫碼、編譯、除錯、執行...。
* 軟體建構系統(Build Systems)
簡單說,就是把一些瑣碎動作事先安排好、可以在程式碼修改後,下達一條指令(如:「建構!」),就可全自動一條鞭地從編譯、測試、備份、安裝...一口氣完成的系統。
* 原始碼靜態分析軟體(Static Code Analysis)
丟入原始碼,可以幫你找出哪段程式可能發生錯誤,或者可能造成效能低下。也能找出完全沒被叫用到的原始碼,提醒您刪除。甚至於可以把您的程式碼重排成符合特定格式,統一多人寫碼風格時很有用。
三、其它資源
* API Design 文件
* 有用文章(Articles)
* 推薦書籍(Books)
* 寫碼風格(Coding Style)
* 演講(Talks)
* 影片教學(Videos)
* 有用網站(Web Sites)
* 有用部落格(Weblogs)
* 其它 Awesome C++ 姊妹作(Other Awesome Projects)
四、其它也很棒的清單(Other Awesome Lists)
能看到這行字的,給您拍拍手!辛苦了!希望今天分享的內容您會喜歡!也請您不吝按讚鼓勵,或分享給您 Facebook 的親朋好友!
javascript call api 在 JavaScript Fetch API Explained By Examples 的推薦與評價
Summary · The Fetch API allows you to asynchronously request for a resource. · Use the fetch() method to return a promise that resolves into a Response object. ... <看更多>
javascript call api 在 Promise based HTTP client for the browser and node.js - GitHub 的推薦與評價
Features; Browser Support; Installing; Example; Axios API; Request method aliases; Concurrency (Deprecated); Creating an instance; Instance methods ... ... <看更多>
javascript call api 在 How to call a REST web service API from JavaScript? - Stack ... 的推薦與評價
... <看更多>
相關內容