精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入理解Node.js 的 API 設計的源頭:POSIX

開發 前端
POSIX 標準是操作系統能力的標準,定義了操作系統應該暴露什么 api 給應用程序,包括 shell 命令、c 函數庫、系統調用等標準。

[[420926]]

如果你用過 Node.js 的 api,會不會覺得奇怪,為什么 api 的名字是這樣的:

比如創建目錄:

  1. const fs = require('fs'); 
  2.  
  3. fs.mkdir('/a/b/c', { recursive: true }, (err) => { 
  4.   if (err) throw err; 
  5. }); 

創建進程:

  1. const childProcess = require('child_process'); 
  2.  
  3. childProcess.fork('a/b/c.js'); 
  4. childProcess.execFile('a/b/dddd'); 
  5. childProcess.exec('"/path/to/test file/test.sh" arg1 arg2'); 
  6. childProcess.spawn('ls', ['-lh''/usr']); 

mkdir、fork、exec、spawn 等,這些名字是怎么起的?

如果你用過 linux 命令或者 c 的函數庫,你會發現這些 api 在命令和 c 函數庫中也都是這個名字。

為什么會這樣呢?這些 api 是什么標準么?

沒錯,這就是 POSIX 標準

POSIX 是什么

POSIX 是 portable operating system interface (可移植的操作系統接口)的縮寫,x 是 unix 的意思,也就是從 unix 繼承而來。

因為不同操作系統如果提供的函數和系統調用不一樣,那么基于操作系統的上層應用程序的源代碼就不一樣,這就導致了一個平臺寫的代碼沒法在另一個平臺上編譯。

怎么辦呢?

如果每個操作系統提供的 api 一樣呢?不管操作系統底層怎么實現這些能力的,只要暴露出同樣的 api 給應用程序即可,這樣源代碼是跨平臺的,在不同的操作系統上編譯之后就能跑起來。

這個統一操作系統暴露的 api 的標準就是 POSIX。

可以把這個 POSIX 標準理解為 ts 里面定義的一個 interface,只要實現了這個 interface 的 api 就是兼容 POSIX 標準的。

POSIX 最早是 unix 擴展而來,linux 實現了這個 POSIX 的標準,而后來 windows 迫于壓力,也不得不兼容了 POSIX 標準,不然很多 linux 的應用程序在 windows 上就跑不起來。我們常用的 osx 也是。

所以說,POSIX 是操作系統向上層應用提供能力的一些標準接口,包括系統調用、c 函數庫、shell 命令。

  • 所謂的標準是指被 ISO 國際標準化組織承認的,這是一個國際組織,成員遍布各個國家,是制定各種國際標準的組織。POSIX 就是 ISO/IEC 9945 標準(IEC 是電子方向的標準化組織)。其實 POSIX 是 IEEE 提出來的,這是一個美國的標準化組織,他提出的標準被 ISO 承認會成為國際標準,比如 POSIX 就是他們提出的 IEEE Std 1003 標準,現在被 ISO 承認,成為了 ISO/IEC 9945 標準。

POSIX 有哪些內容

我們來看一下支持 posix 的 linux 提供了哪些系統調用(系統調用指的是在內核代碼中提供的程序):

進程控制:

  • fork 創建一個新進程
  • execv 運行可執行文件
  • exit 中止進程

文件讀寫

  • open 打開文件
  • close 關閉文件描述符
  • write 寫文件
  • read 讀文件
  • truncate 截斷文件
  • fsync 把文件在內存的部分寫入磁盤

文件系統相關

  • access 確定文件是否可存取
  • chdir 改變當前工作目錄
  • chown 改變文件的屬主或者用戶組
  • stat 取文件狀態信息
  • mkdir 創建目錄
  • symlink 創建符號鏈接
  • unlink 刪除鏈接

這些系統調用很多在 Node.js 里有同名的 api,shell 也有同名的命令:

比如:

  1. fs.stats 
  2. fs.access 
  3. fs.chown 
  4. fs.mkdir 
  5.  
  6. fs.open 
  7. fs.close 
  8. fs.read 
  9. fs.write 
  10.  
  11. child_process.fork 
  12. child_process.exec 
  13. child_process.execFile 

Node.js api 的特點

Node.js 是一個 js 的運行時,基于 v8 來注入很多提供操作系統能力的 api 給 js 調用,而這些 api 的設計很多都是直接用的 POSIX 標準的 api 名字,沒有做很多抽象。

Java 的 JRE(java runtime) 也提供了操作系統能力的抽象,但是那些 api 卻和操作系統 POSIX 的 api 關系不大,而且融入了很多設計模式的東西,比如 io 流的裝飾器模式。

Node.js 的 api 的特點就是抽象并不多,而且很多 api 名字和 linux 命令都很像,貼近 POSIX 標準。所以學習 Node.js 的時候還是要學習下 linux 命令的,這兩者在設計上有一定的關系。

總結

POSIX 標準是操作系統能力的標準,定義了操作系統應該暴露什么 api 給應用程序,包括 shell 命令、c 函數庫、系統調用等標準。POSIX 標準使得應用程序在源碼層面是可以跨平臺移植的,分別在不同平臺做編譯即可。

POSIX 是 ISO 承認的國際化標準,最早是由美國的一個標準協會 IEEE 提出的。ISO 是專門定制國際標準的組織,有很多國家的成員參與。

Node.js 的 api 并沒有做很多抽象,名字也很大部分和 POSIX 標準的 api 比較像,這是它的特點,相比之下,JRE 暴露給 java 的 api 則做了很多抽象。

因為 Node.js 的 api 很多和 c 函數庫、shell 命令比較接近,所以學習 Node.js 結合學習 shell 命令,或者會 c 的可以再學下系統的函數庫會有更多的收獲。

了解 POSIX,是理解 Node.js api 設計,學好 Node.js 的前提。

 

責任編輯:姜華 來源: 神光的編程秘籍
相關推薦

2021-08-05 05:46:06

Node.jsInspector工具

2021-10-16 05:00:32

.js Buffer模塊

2021-08-26 13:57:56

Node.jsEncodingBuffer

2021-08-12 01:00:29

NodejsAsync

2021-09-10 06:50:03

Node.jsSocket端口

2013-11-01 09:34:56

Node.js技術

2019-08-15 14:42:24

進程線程javascript

2021-05-27 09:00:00

Node.js開發線程

2024-01-05 08:49:15

Node.js異步編程

2022-09-04 15:54:10

Node.jsAPI技巧

2025-05-15 04:00:55

2022-02-21 16:57:13

APIIDE構建系統

2013-06-14 09:27:51

Express.jsJavaScript

2015-07-16 09:59:55

PHP Node.js討論

2011-12-23 13:58:57

node.js

2024-09-25 08:04:58

2022-03-08 15:13:34

Fetch APINode.js開發者

2023-01-10 14:11:26

2012-11-22 10:11:16

LispLisp教程

2020-08-31 15:00:17

Node.jsrequire前端
點贊
收藏

51CTO技術棧公眾號

伊人成人在线视频| 成人午夜亚洲| 久久这里只精品最新地址| 日韩av免费在线看| 欧美风情第一页| 爱高潮www亚洲精品| 欧美日韩在线视频首页| 手机看片福利永久国产日韩| 99re只有精品| 亚洲专区一区二区三区| 日韩中文字幕视频| 亚洲天堂av网站| 成人国产激情| 国产精品天美传媒| 国产一区二区三区四区五区加勒比 | 青青操免费在线视频| 欧美日韩国产在线观看网站| 日韩亚洲欧美一区二区三区| av免费网站观看| 亚洲综合影视| 中文文精品字幕一区二区| 国产精品久久久久久免费观看 | 久久国产精品久久w女人spa| 久久精品国产久精国产思思| 日本xxx在线播放| 国产精品一区二区三区av | 黄色一级视频在线播放| 好操啊在线观看免费视频| 久久人人超碰精品| 国产日韩欧美精品| 国产成人麻豆精品午夜在线| 免费精品视频在线| 欧美亚洲成人免费| 久久久久久蜜桃| 外国精品视频在线观看 | 亚洲人精品午夜| 欧美日本亚洲| 熟妇人妻中文av无码| 国内一区二区视频| 国产精品视频久久| 中文人妻av久久人妻18| 亚洲一区二区三区四区五区午夜| 欧美另类第一页| 男人天堂资源网| 国产欧美高清视频在线| 亚洲乱码一区av黑人高潮| 精品人妻伦一二三区久| 香蕉成人app| 欧美一区二区三区思思人| 向日葵污视频在线观看| 国产精品无码久久久久| 欧美特黄级在线| 免费无码不卡视频在线观看| bl视频在线免费观看| 一区二区视频免费在线观看| 超碰在线免费观看97| 欧美69xxxx| 中文字幕人成不卡一区| 97超碰免费观看| av在线看片| 亚洲一区二区中文在线| 欧美视频免费看欧美视频| 俺来俺也去www色在线观看| 一区二区三区四区视频精品免费| 一区二区三区欧美在线| 国产午夜精品久久久久免费视| 国产精品国产a| 中文字幕一区二区三区5566| 高h视频在线观看| 亚洲视频在线一区二区| 国产午夜精品视频一区二区三区| 在线免费观看a视频| 亚洲黄色性网站| 大伊香蕉精品视频在线| 欧美私密网站| 91极品视觉盛宴| 九色porny自拍| www一区二区三区| 日韩欧美不卡一区| 日韩在线视频国产| 国产区二区三区| 24小时成人在线视频| 欧美一区二区三区啪啪| 日本精品一二三| 亚洲欧美日本伦理| 日韩在线观看成人| 国产一级淫片免费| 丝袜美腿一区二区三区| 国产精品入口日韩视频大尺度| 国产精品无码久久av| 成人高清视频免费观看| 茄子视频成人在线观看| 成人福利在线观看视频| 亚洲va天堂va国产va久| 91日韩视频在线观看| 日韩精品一区二区三区中文| 亚洲欧美激情一区| av激情在线观看| 亚洲欧美日韩国产综合精品二区 | 在线看片第一页欧美| www.5588.com毛片| 国产欧美成人| 成人网在线观看| 日批视频免费播放| 亚洲欧洲成人自拍| av天堂永久资源网| 看亚洲a级一级毛片| 亚洲视频视频在线| 欧美爱爱小视频| 日本欧美一区二区| 国产伦精品一区二区三区视频免费| 成年人在线视频| 亚洲444eee在线观看| 亚洲欧美日韩精品一区| 琪琪久久久久日韩精品| 欧美www在线| 精品视频一二三区| 成人精品国产免费网站| 在线观看亚洲视频啊啊啊啊| 香蕉伊大人中文在线观看| 欧美一级片在线看| www亚洲色图| 亚洲影视在线| 国产精品嫩草在线观看| 黄网站免费在线观看| 欧美三级蜜桃2在线观看| 91精品天堂| 亚洲 自拍 另类 欧美 丝袜| 亚洲超碰在线观看| 日韩在线视频一区| 日本三级一区二区三区| 91色视频在线| 秋霞无码一区二区| 1204国产成人精品视频| 久久久成人精品视频| 波多野结衣人妻| 91蜜桃传媒精品久久久一区二区| 日韩视频一二三| 亚洲成人毛片| 日韩亚洲国产中文字幕| 中文字幕第2页| 久久久国产精品午夜一区ai换脸| 九色在线视频观看| 美女网站色精品尤物极品姐弟| 欧美精品一区二区三区国产精品| 中文字幕一区二区三区免费看| www久久精品| 91好吊色国产欧美日韩在线| 国产精品调教视频| 欧美激情综合色| 亚洲精品久久久久久久久久| 一区二区三区四区精品在线视频| www.com久久久| 99久久夜色精品国产亚洲96| 91九色国产在线| www.欧美日本韩国| 欧美一级国产精品| 久久婷婷综合国产| 岛国精品一区二区| 国产素人在线观看| 亚洲激情77| 国产精品久久一区| 国产在线观看a视频| 日韩一区二区中文字幕| 精品少妇theporn| 99久久精品99国产精品| 国产精品视频一区二区三区四区五区| 国产精品一区二区av日韩在线 | 国产高清精品软男同| 亚洲精品伊人| 欧美国产极速在线| 婷婷国产在线| 欧美三区在线观看| 婷婷色中文字幕| 99国产精品国产精品久久| 哪个网站能看毛片| 久久国产亚洲精品| 精品一区在线看| 国产伦精品一区二区三区照片| 538在线视频| 亚洲日本中文字幕| 国产精品爽爽久久久久久| 亚洲一区二区三区国产| 人妻丰满熟妇aⅴ无码| 日韩电影在线一区二区| 天天爱天天做天天操| 国产无遮挡裸体免费久久| 欧美做爰性生交视频| 日本在线免费中文字幕| 精品国产成人在线影院| 国产男人搡女人免费视频| 亚洲男人的天堂在线观看| 性久久久久久久久久久| 日韩av一区二区三区四区| www.黄色网址.com| 婷婷综合一区| 亚洲va久久久噜噜噜久久天堂| 无码小电影在线观看网站免费| 日韩中文字幕网| 日本熟女一区二区| 国产精品入口麻豆原神| 日本一区二区免费视频| 亚洲欧美日韩国产| 久久久久久久久久久综合| 禁断一区二区三区在线| 国产传媒一区| 日韩欧乱色一区二区三区在线| 55夜色66夜色国产精品视频| 成人影院在线看| 亚洲最新av网址| 天天躁日日躁狠狠躁喷水| 欧美日韩1234| 久久夜色精品国产噜噜亚洲av| 亚洲欧美日韩系列| 无码 人妻 在线 视频| 成人在线综合网站| 999在线精品视频| 日韩不卡一区二区| 成人免费在线小视频| 欧美日韩三级| 99亚洲精品视频| 狠狠操综合网| 欧美精品亚洲精品| 日本中文字幕在线一区| 97se视频在线观看| 中文字幕日韩亚洲| 国产精品欧美一区二区| 中文字幕乱码中文乱码51精品| 欧美黄色片视频| 黄色成人在线观看| 日韩小视频在线观看| 国产黄在线看| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产999| 日韩欧美一二区| 国内精品久久久久久久久久| 女同另类激情重口| 久久久免费精品| 久草免费在线色站| 久久99久久亚洲国产| www免费视频观看在线| 久久视频精品在线| 黄色免费在线网站| 久久国产精品久久久久| 99自拍视频在线观看| 超碰91人人草人人干| 超碰在线网址| 欧美精品中文字幕一区| av理论在线观看| 色与欲影视天天看综合网| 最新av在线播放| 久久久亚洲国产天美传媒修理工| 精灵使的剑舞无删减版在线观看| 欧美国产日韩一区二区三区| 三级资源在线| 96精品视频在线| 欧美电影免费观看| 国产精品人人做人人爽| 日韩在线影院| 国产欧美日韩视频| 国产日韩一区二区三免费高清| 亚洲在线视频福利| 成人在线视频www| 91情侣在线视频| 久久动漫网址| 欧美日韩一区二区视频在线| 精品国产午夜| 中文字幕乱码一区二区三区| 牛牛国产精品| 大j8黑人w巨大888a片| 日韩精品免费专区| 久久久久久久久久毛片| 国产精品1024| 女人被狂躁c到高潮| 日本一区免费视频| 久久中文免费视频| 丁香五六月婷婷久久激情| 亚洲男人天堂网址| 欧美一区二区三区婷婷月色| 日本韩国在线观看| 一本色道久久综合狠狠躁篇的优点 | 欧美精品一区二区蜜臀亚洲| 欧美孕妇孕交| 久久这里只有精品视频首页| а√天堂8资源在线| 国产精品高清在线| 136福利精品导航| 欧美日韩在线高清| 欧美一区二区三区久久精品茉莉花 | 色开心亚洲综合| 欧美激情国产精品| 日本综合久久| 成人欧美一区二区| 午夜视频在线观| 美美哒免费高清在线观看视频一区二区| 亚洲精品中文字幕乱码无线| 91亚洲国产成人精品一区二区三| 99国产精品无码| 欧美日韩国产丝袜美女| 在线视频欧美亚洲| 日韩av一区在线| 成人在线观看亚洲| 国产精品福利在线观看| 999久久精品| 中文字幕久精品免| 视频在线观看一区二区三区| 亚洲成人激情小说| 欧美国产精品劲爆| 亚洲 欧美 日韩 综合| 欧美一区二区三区播放老司机| 欧美日韩国产综合视频| 欧美劲爆第一页| 亚洲人成网站在线在线观看| 欧洲一区二区日韩在线视频观看免费| 欧美视频官网| 亚洲欧美日本一区二区三区| 久久久国产精品麻豆| 日韩xxxxxxxxx| 日韩欧美国产三级电影视频| 日本综合在线| 日本伊人精品一区二区三区介绍| 国产拍在线视频| 粉嫩高清一区二区三区精品视频 | heyzo一本久久综合| 国产这里有精品| 欧美久久久久久久久中文字幕| 经典三级在线| 欧美一级淫片播放口| 噜噜噜天天躁狠狠躁夜夜精品 | 91精品啪在线观看国产60岁| 久蕉在线视频| 欧美专区在线播放| 久久久久97| 国产自产在线视频| 国产suv精品一区二区883| 欧美视频www| 在线综合亚洲欧美在线视频| 欧美尤物美女在线| 国产精品美乳一区二区免费| 国产精品一区二区av日韩在线 | 久久久久久久中文字幕| 日韩区在线观看| 91麻豆一二三四在线| 91免费国产网站| 正在播放日韩欧美一页| 两女双腿交缠激烈磨豆腐| 亚洲猫色日本管| 久久久久免费看黄a片app| 欧美日一区二区| 男女男精品视频站| 欧美激情一区三区| 一区二区三区免费观看视频| 日韩小视频在线观看| 9999精品| a级片一区二区| www.欧美色图| 69国产精品视频免费观看| 在线观看免费高清视频97| 欧美伊人亚洲伊人色综合动图| 久久久国产精华液999999| 国产精品亚洲一区二区三区妖精| 黄色一级视频免费观看| 亚洲国产精品一区二区三区| 中文在线免费视频| 色噜噜一区二区| 国内精品视频一区二区三区八戒| 老妇女50岁三级| 亚洲成人免费网站| 黑人巨大亚洲一区二区久| 亚洲国产精品久久久久婷婷老年| 国内精品在线播放| 国产精品变态另类虐交| 亚洲男人天堂久| 小说区图片区亚洲| 国产精品www在线观看| 久久综合九色综合欧美就去吻 | 大地资源高清在线视频观看| 欧美大片在线观看一区二区| 理论片午夜视频在线观看| 日韩精品一区二区三区色偷偷| 久久99深爱久久99精品| 国产在线一二区| 一本色道久久综合亚洲精品小说| www.久久久.com| 欧美性久久久久| 亚洲欧美偷拍卡通变态| 午夜激情在线视频| 成人有码在线视频| 国产亚洲综合精品| 国产日产在线观看| 亚洲精品一区二区三区香蕉| 97成人超碰| 亚洲人精品午夜射精日韩 | 成人午夜在线| 日本福利视频一区| 国产精品女上位| 天堂av2024| 亚洲字幕一区二区| 狂野欧美一区| 精品一区二区三区人妻|