当前位置: 首页 > news >正文

做收费课程网站建设银行网站打不井

做收费课程网站,建设银行网站打不井,网站在线问答怎么做,桂林什么公司做网站推广好前言如果你有一定的前端基础#xff0c;比如 HTML、CSS、JavaScript、jQuery#xff1b;那么#xff0c;Node.js 能让你以最低的成本快速过渡成为一个全栈工程师(我称这个全栈为伪全栈#xff0c;我认为的全栈也要精通数据库#xff0c;不喜勿喷)#xff0c;从而触及后端… 前言如果你有一定的前端基础比如 HTML、CSS、JavaScript、jQuery那么Node.js 能让你以最低的成本快速过渡成为一个全栈工程师(我称这个全栈为伪全栈我认为的全栈也要精通数据库不喜勿喷)从而触及后端和移动端的开发。当然Node.js也不是万能的、也不是说学了它就可以完全取代后端的其他开发语言它有自己的使命和擅长的应用领域。除此之外现在非常火热的 Vue.jsReact.js 等很多数据层动态交互优先选用了Node.js一些比较流行的打包工具也是如此综上为你为什么要学习它又增加了一大理由。Node.js 和传统的后端语言(比如PHP、JAVA等)相比各有优缺点各自擅长领域和侧重点不同因此各有千秋、各有需求市场。Node.js 让我们进行后端开发多了一种便捷的手段。所以大家也不要总说哪些语言是最好的各有各的使命嘿嘿。Node.js的特点非阻塞异步io例如当在访问数据库取得数据的时候需要一段时间。在传统的单线程处理机制中在执行了访问数据库代码之后整个线程都将暂停下来等待数据库返回结果才能执行后面的代码。也就是说I/O阻塞了代码的执行极大地降低了程序的执行效率。由于 Node.js 中采用了非阻塞型I/O机制因此在执行了访问数据库的代码之后将立即转而执行其后面的代码把数据库返回结果的处理代码放在回调函数中从而提高了程序的执行效率。当某个I/O执行完毕时将以事件的形式通知执行I/O操作的线程线程执行这个事件的回调函数。为了处理异步I/O线程必须有事件循环不断的检查有没有未处理的事件依次予以处理。阻塞模式下一个线程只能处理一项任务要想提高吞吐量必须通过多线程。而非阻塞模式下一个线程永远在执行计算操作这个线程的CPU核心利用率永远是100%。所以这是一种特别有哲理的解决方案与其人多但是好多人闲着还不如一个人玩命往死里干活儿。单线程在 Java、PHP 或者 .net 等服务器端语言中会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说理论上一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户就需要增加服务器的数量而 Web 应用程序的硬件成本当然就上升了。Node.js不为每个客户连接创建一个新的线程而仅仅使用一个线程。当有用户连接了就触发一个内部事件通过非阻塞I/O、事件驱动机制让 Node.js 程序宏观上也是并行的。使用 Node.js 一个8GB内存的服务器可以同时处理超过4万用户的连接。另外单线程带来的好处操作系统完全不再有线程创建、销毁的时间开销。但是单线程也有很多弊端会在 Node.js 的弊端详细讲解请继续看。事件驱动在 Node.js 中客户端请求建立连接提交数据等行为会触发相应的事件。在 Node.js 中在一个时刻只能执行一个事件回调函数但是在执行一个事件回调函数的中途又有其他事件产生可以转而处理其他事件(比如又有新用户连接了)然后返回继续执行原事件的回调函数这种处理机制称为“事件环”机制。Node.js 底层是 C(V8也是C写的)。底层代码中近半数都用于事件队列、回调函数队列的构建。用事件驱动来完成服务器的任务调度这是鬼才才能想到的。针尖上的舞蹈用一个线程担负起了处理非常多的任务的使命。注意这里的事件循环也可以说是 Node.js 的一个精髓所在下面引用一段 Node.js 官网的内容 ┌───────────────────────────┐┌─│ timers ││ └─────────────┬─────────────┘│ ┌─────────────┴─────────────┐│ │ pending callbacks ││ └─────────────┬─────────────┘│ ┌─────────────┴─────────────┐│ │ idle, prepare ││ └─────────────┬─────────────┘ ┌───────────────┐│ ┌─────────────┴─────────────┐ │ incoming: ││ │ poll ││ └─────────────┬─────────────┘ │ data, etc. ││ ┌─────────────┴─────────────┐ └───────────────┘│ │ check ││ └─────────────┬─────────────┘│ ┌─────────────┴─────────────┐└──┤ close callbacks │ └───────────────────────────┘引用Node官网中的一段内容:注意每个框将被称为事件循环的“阶段”。每个阶段都有一个要执行的回调FIFO队列。虽然每个阶段都以其自己的方式特殊但通常情况下当事件循环进入给定阶段时它将执行特定于该阶段的任何操作然后在该阶段的队列中执行回调直到队列耗尽或最大回调数量为止已执行。当队列耗尽或达到回调限制时事件循环将移至下一阶段依此类推。关于事件循环是一个核心点经常会被面试官考具体执行输出的问题大家可以看我的这篇文章跨平台起初Node 只能在 Linux 平台上运行。后来随着 Node的发展微软注意到了它的存在并投入了一个团队帮助 Node 实现 Windows 平台的兼容在v0.6.0版本发布时Node 已经能够直接在 Window 平台运行了。Node 是基于libuv实现跨平台的。Node.js的弊端单线程带来的弊端Node.js中有一个特点就是单线程它带来了很多好处但是它也有弊端单线程弱点如下。无法利用多核CPU错误会引起整个应用退出无法继续调用异步I/O大量计算占用CPU导致无法继续调用异步I/O以上确实是Node的弊端但是都会有一些对应的解决方案弊端1:解决方案(1)一些管理工具比如pm2forever 等都可以实现创建多进程解决多核 CPU 的利用率问题。(2)在v0.8版本之前实现多进程可以使用child_process(3)在v0.8版本之后可以使用cluster模块通过主从模式创建多个工作进程解决多核CPU的利用率问题。弊端2:解决方案(1)Nnigx反向代理负载均衡开多个进程绑定多个端口(2) 一些管理工具比如pm2forever 等都可以实现进程监控错误自动重启等(3)开多个进程监听同一个端口使用Node提供的cluster模块(4)未出现cluster之前也可以使用child_process,创建多子线程监听一个端口。(5)这里说明下有上面的这些解决方案但是写node后端代码的时候异常抛出try catch显得格外有必要。弊端3:解决方案(1)可以把大量的密集计算像上面一样拆分成多个子线程计算但是如果不允许拆分想计算100万的大数据在一个单线程中Node确实显得无能为力这本身就是V8内存限制的弊端。说明child_process与cluster模块我会单独拿一篇文章来讲。值得开心的是上面这些弊端随着Node的版本更新和新的api模块出现好像解决了这些弊端。调试用过node的人可能第一时间就会想到debug太难了没有stack trace因此调试比较困难。Node社区中的npm包Node.js社区有很多包品质良莠不齐、如果你想偷懒而又刚好npm了一个有问题的包你就很麻烦因为代码是开源的只能自己调试了。Node.js的应用场景介绍了Node.js的特点和弊端再说一下Node.js的应用场景。Node.js适合用来开发什么样的应用程序呢善于I/O不善于计算。因为Node.js最擅长的就是任务调度如果你的业务有很多的 CPU 计算实际上也相当于这个计算阻塞了这个单线程就不太适合Node开发但是也不是没有解决方案只是说不太适合。当应用程序需要处理大量并发的I/O而在向客户端发出响应之前应用程序内部并不需要进行非常复杂的处理的时候Node.js非常适合。Node.js也非常适合与websocket配合开发长连接的实时交互应用程序。具体场景可以表现为如下第一大类用户表单收集系统、后台管理系统、实时交互系统、考试系统、联网软件、高并发量的web应用程序第二大类基于web、canvas等多人联网游戏第三大类基于web的多人实时聊天客户端、聊天室、图文直播第四大类单页面浏览器应用程序第五大类操作数据库、为前端和移动端提供基于json的API第六大类....更多招聘信息扫码添加我的微信一定要备注面试进入面试群或者与我交流。加我微信拉你进入面试交流群关注该公众号接收各大厂招聘信息直达大厂负责人。如果你是技术负责人欢迎投递内推信息。更多大厂招聘面试面经技能要求请关注公众号【互联网大厂招聘】
http://www.lebaoying.cn/news/9762.html

相关文章:

  • linux做网站1G内存够不打开秒开小游戏
  • 排名轻松seo 网站推广旅游网哪个平台好
  • 网站开发需求说明书模板自己怎么做软件
  • 商务咨询网站源码二级a做爰片免费视网站
  • 手机网站开源长沙公司做网站
  • 枣庄手机网站建设公司西安做网站公司哪家好
  • 哪个网站做图找图片宁波北仑网站建设
  • 国外案例网站西安网站建设联系电话
  • 网站类型有哪些营销平台推广
  • 免费网站建设源码wordpress表单留言功能
  • 个体工商户经营范围做网站企业策划案怎么写
  • 做网站图片路径做缓存吗有域名之后怎样进行网站建设
  • 自助建网站市场如何在各大平台推广
  • 山东省建设工程质量监督总站网站网站建设 静态类
  • 南沙区建设局网站网站编程培训
  • 老榕树智能建站软件wordpress分页 权重
  • 中国建设银行联行号查询网站下载app下载安卓免费
  • 重大军事新闻最新消息杭州网站优化服务
  • 广州网站设计智能 乐云践新专家游戏推广网站怎么做
  • 益阳做网站wordpress的静态页面保存在哪里
  • 怎么把淘宝店放到自己做的网站去wordpress媒体文档
  • 威海建设集团网站首页自己建设网站要花多少钱
  • 上海做外贸网站建设专门做蛋糕的网站
  • 美容行业网站建设多少价格中山如何制作网站
  • 东莞php网站开发光谷 网站建设公司
  • 做网站用什么域名好12306的网站是哪个公司做的
  • 海南行指网站开发公司南京360推广 网站建设
  • 网站建设应用程序开发网站建设策划方案模板
  • joomla做类似赶集网的网站教新手做网站难吗
  • 伊利网站建设评价一般设计网站页面用什么软件