位置: 编程技术 - 正文

初始Nodejs(初始学历是什么意思)

编辑:rootadmin

推荐整理分享初始Nodejs(初始学历是什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:初始化电脑时出现问题,初始学历是什么意思,初始台地一定要拿的东西,初始学历是什么意思,初始化,初始化电脑时出现问题,初始化电脑时出现问题,初始小芳十五月亮十六圆,内容如对您有帮助,希望把文章链接给更多的朋友!

基本概念

Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台。可以说,Node.js开创了javascript模块化开发的先河,早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成 类。最后node.js的出现才开始有了js模块化开发的概念,这使得臃肿的js代码免去了命名冲突等一系列开发难题。

Node最大的特点就是采用了异步式I/O与事件驱动的架构设计。Node.js是一个让js运行在浏览器外的平台。其最初目标是实现事件驱动,非阻塞I/O的web服务器

Node.js 只是一个 JavaScript 的运行环境(或者说是一组库), 为标准 js 补充了有关异步 IO, 即读写网络和文件的功能。一个库嘛,无非是调调 API 什么的,除了略反人类的事件回调之外,和其他后端语言(PHP, Python)也差不了多少。

Node.js使用的是单线程模式,每一个线程完成一个功能,一个进程可以有多个线程,对于所有的I/O都采用异步式的请求方式。每个异步式I/O请求完成后都会被推送到事件队列,等待程序进程进行处理。

总之,node的核心思想就是:非阻塞,单线程和事件驱动。(同步对应的是阻塞,异步对应的是非阻塞)

Node.JS架构示意图

单线程

javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。

这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无 响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。

大部分 Web 应用的瓶颈都在 I/O, 即读写磁盘,读写网络,读写数据库。使用怎样的策略等待这段时间,就成了改善性能的关键点

同步与异步

为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。

"同步模式"就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的;"异步模式"则完全不同, 每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执 行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的。

"异步模式"非常重要。在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应,最好的例子就是Ajax操作。在服务器端,"异步模式"甚至是唯一的模式,因为执行环境是单线程的,如果允许同步执行所有http请求,服务器性能会急剧下降,很快就会失去响应。

进程与线程

mac系统中的进程与线程

从图中我们可以看出,一个进程可以包括多个线程,进程就好比工程里的车间,线程就是这个车间的工人,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。

区别

线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。

模块和包模块

模块:一个实现某些特定功能的文件,以实现模块化编程。通过require(模块名)引入模块.—模块中的功能(如:变量,函数)通过赋给exports对象的某个属性提供给调用者使用。

如何使用模块?

在Node中使用模块是非常方便的,在 JavaScript 代码中可以直接使用全局函数 require() 来加载一个模块。例如,我们可以使用require("http")来加载node中自带的http服务器模块,

初始Nodejs(初始学历是什么意思)

包:包是一个文件夹,它将模块封装起来,用于发布、更新、依赖管理和版本控制。通过package.json来描述包的信息:入口文件,依赖的外部包等等。通过npm install命令来安装包,并通过require使用包。

异步式 I/O 与事件驱动

Node.js 的异步机制是基于事件的,每一个 I/O就是一次请求,所有的磁盘 I/O、网络通信、数据库查询都以非阻塞的方式请求,返回的结果由事件循环来处理。如下图所示:

Node.js 进程在同一时刻只会处理一个事件,完成后立即进入事件循环检查并处理后面的事件。这样做的好处是,CPU 和内存在同一时间集中处理一件事,同时尽可能让耗时的 I/O 操作并行执行

开始node编程

在这里,我推荐大家使用webstorm进行node.js的开发,方便又快捷,比起cmd,或者Mac下的终端都好用太多了。

至于node的安装大家就自行百度吧,这里就不赘述了,看下webstorm下的node编程界面吧:我们只需要在编写好的node代码界面按鼠标右键,然后点击Run就行啦,方便又快捷吧

下面是node的输出界面:

在Mac系统下进行web开发,我推荐大家使用的三款工具是:coda2,webstorm和Sublime text3这些是目前我已经的最好的开发工具了,大家不妨试试哪个更符合自己的口味。

在webstorm进行node开发需要先配置一定的文件,大家就自行百度吧,因为我的webstorm已经配置好了,所以没法截图给大家看步骤了,大概步骤是,在mac系统下是先点击顶部栏的webstorm,然后点击perference,然后点击Node.js and NPM,然后在右侧点击configure配置,最后大概会是下面这个样子:

windows系统下和这个流程步骤大概相似啊,我使用的版本是8.0.4的。

全局变量

在js编程中,我们最好给每个变量都添加上var关键字,以免污染全局命名空间,提高代码的耦合风险。

console

console用于向标准输出流standout(stdout)和标准错误流(stderr)输出字符。

console.log()向标准输出流打印字符并以换行符结束,其接受多个参数,将以类似C语言的printf()格式输出

计算代码运行时间

我们只需在开始和结束那里给同样一个标签即可,中间放你想要计算执行时间的任何代码。

__filename和__dirname

Nodejs全栈框架StrongLoop推荐 StrongLoop是一个基于Nodejs的强大框架,几乎包含了移动开发全栈所需要的所有功能。年成立,很少的员工,一个技术驱动,执行力强大的团队。也是在

使用cluster 将自己的Node服务器扩展为多线程服务器 用nodejs的朋友都有了解,node是单线程的,也就是说跑在8核CPU上,只能使用一个核的算力。单线程一直是node的一个诟病,但随着0.6版本中引入cluster之后

使用node.js 制作网站前台后台 node.js能做什么?我至今也不清楚,他在哪方面应用比较广泛,我没有机会接触到那样的项目。只是因为喜欢,业余时间做了一个网站和后台。深刻领悟

标签: 初始学历是什么意思

本文链接地址:https://www.jiuchutong.com/biancheng/374234.html 转载请保留说明!

上一篇:node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用(node.js如何运行)

下一篇:Nodejs全栈框架StrongLoop推荐(nodejs全栈前景)

  • 延期申报后可否延期缴纳税款
  • 免税收入怎么做会计分录
  • 财务软件里怎么输大于等于号
  • 董事会职权是否为强制规定
  • 如何查询公司的财务负责人
  • 综保区和自贸区的联系
  • 一般纳税人开红票怎么处理
  • 私人口腔诊所会感染艾滋病吗
  • 境外企业在境内取得的收入所得税
  • 外购货物对外捐赠企业所得税
  • 资产损失税前扣除是什么意思
  • 部分红冲的发票无法勾选怎么办
  • 金税三期中个税怎么算
  • 服务性合同签了能反悔吗
  • 发生销售折扣如何做账
  • 小额开专票
  • 开具红字增值税专用发票是什么意思
  • 企业案例描述
  • 涉农产品税率
  • 工商年报报表
  • 企业筹建期间开办费计入什么科目计入借方还是贷方
  • 资本公积金转增资本属于所有者权益吗
  • 企业法人的工资没有实收可以退税吗
  • 银行利息收入的账务处理
  • 安装服务需要预缴税款吗
  • 境外投资亏损是否可以抵减境内盈利
  • 无法查明原因现金盘盈计入什么科目
  • 插上U盘电脑无法启动怎么回事
  • 单位缴纳工会经费的会计分录怎么做
  • 永恒之蓝是
  • 激进型和保守型筹资组合怎么判断
  • 企业发生的亏损不一定会导致所有者权益减少
  • 事业单位的费用
  • win10excel闪退是什么原因
  • 公司收到供应商退款会计分录
  • 原材料的运费计入什么科目
  • 固定资产折旧折完了
  • 小型企业的资产负债表
  • 无形资产的转让
  • 金融商品转让收入
  • 梅林澳大利亚信号好最好吗
  • antd-vue-pro
  • 怎么用html做一个收藏夹
  • 低代码开发开源
  • 命令执行函数echo
  • 会计要离职了要注意几点
  • 商品发生销售退回
  • 中国源码亲测网
  • 建筑企业开票都要交税吗
  • 融资租赁担保余值例题
  • 计提房产税土地使用税
  • 复印件可以作为会计原始凭证吗
  • 验资报告费用如何做账
  • 股东变更实收资本变更吗
  • 投资性房地产公允价值模式转为成本模式
  • 员工 成本
  • 银行汇票结算程序有哪些
  • 收付转三种凭证怎么装订
  • u8委外怎么核销
  • 商品销售折让怎么计算
  • 工业企业如何建立税务风险预警体系工作表
  • 非营利医疗机构是什么单位
  • 请创建一个die类
  • 如何设置sqlserver数据库用户名密码
  • mysql数据库无法连接到服务器怎么办
  • windows2000怎么安装
  • macOS 10.12 Beta 7更新了什么 macOS 10.12 Beta7更新内容汇总
  • centos 安装chia
  • centos添加用户到组
  • 如何安装vmware10
  • win10搜索功能不好用
  • win10更新2021年6月
  • ie8-ie11浏览器
  • win8.1设置在哪
  • shell脚本启动应用程序
  • php curl获取cookie
  • [置顶]马粥街残酷史
  • 重庆电子税务局官网登录入口
  • 国有固定资产出租出借安全管理办法
  • 国税能级管理(国税局等级制度)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设