沂水县的旅游景区的网站建设企业为什么要建立自己的网站

web/2025/10/5 15:36:49/文章来源:
沂水县的旅游景区的网站建设,企业为什么要建立自己的网站,浙江省网站集约化建设通知,西平企业网站建设如果你正在考虑使用JavaScript进行后端开发#xff0c;你会听到“Node.js”这个术语。Node通常与开发功能强大的web服务器联系在一起。 但 Node.js 究竟是什么#xff1f;它是和 Angular 一样的 JavaScript 框架吗#xff1f;它是一种编程语言吗#xff1f;它是 JavaScrip… 如果你正在考虑使用JavaScript进行后端开发你会听到“Node.js”这个术语。Node通常与开发功能强大的web服务器联系在一起。 但 Node.js 究竟是什么它是和 Angular 一样的 JavaScript 框架吗它是一种编程语言吗它是 JavaScript 库吗它是一组技术的总称吗或者它只是 JavaScript 的另一个词 在本文中我们将深入了解 Node.js 的世界了解它是什么、为什么创建它以及它的用途。这不是一个基于项目的教程——它旨在向初学者介绍 Node 及其工作原理。 以下是我们将讨论的主题 Node.js的历史 什么是Node.js Node.js是如何工作的 Node.js 中的模块 展望未来的 Node.js 如果你喜欢了解软件工具及其工作原理那么你一定会喜欢阅读这篇文章。那么让我们开始吧。 1、Node.js的历史 1995年为网景公司工作的布兰登·艾奇Brendan Eich发明了JavaScript。但它是一种只能在浏览器上运行的编程语言。 网页最初只显示静态信息。JavaScript的发明满足了网页中更多交互行为的需求。有了这项发明开发人员可以构建更动态的网页。 在Brendan Eich发明了JavaScript之后许多公司也尝试使用这种语言来运行web服务器(服务器端脚本)。这些尝试包括网景的Livewire和微软的Active Server Pages。 但这从来没有成为开发web服务器的一种方式即使JavaScript在浏览器中使用时继续获得流行。 2008年谷歌发布了一款名为Chrome的新浏览器。这款浏览器的发布彻底改变了互联网浏览的世界。它是一个优化的浏览器可以快速执行JavaScript并改善了用户在 Web 上的体验。 Google Chrome 浏览器之所以能如此快速地执行 JavaScript 代码是因为 Chrome 浏览器内运行着一个名为 V8 的 JavaScript 引擎。该引擎负责接收 JavaScript 代码优化代码然后在计算机上执行。 该引擎是客户端 JavaScript 的理想解决方案。谷歌 Chrome 浏览器成为领先的网络浏览器。 2009年一位名叫Ryan Dahl的软件工程师批评了当时流行的后端服务器运行方式。最流行的构建Web服务器的软件是Apache HTTP服务器。Dahl认为它是有限的因为它不能有效地处理大量的实时用户连接(10,000 )。 这也是 Ryan Dahl 开发 Node.js 的主要原因之一。Node.js 使用谷歌的 V8 引擎来理解和执行浏览器外的 JavaScript 代码。这是一个以运行网络服务器为目的的程序。 Node.js 是传统 Apache HTTP 服务器的一个很好的替代品并慢慢获得了开发者社区的认可。 如今Netflix、NASA、LinkedIn、Paypal 等许多大型组织都在使用 Node.js。这些公司利用 Node.js 的功能为用户构建强大的应用程序。 此外在撰写本文时在最近的StackOverflow开发者调查中Node.js被评为“Web框架和技术”类别中最受欢迎的技术。接下来展示了Node.js现在有多流行。 Source: Stack Overflow Developer Survey 2022 本文将深入探讨是什么让Node.js脱颖而出以及它是如何工作的。但在此之前我们需要确切地定义它是什么。 2、什么是Node.js 从Node.js官网来看它是这样说的 Node.js 是一个开源、跨平台的 JavaScript 运行时环境。 为了定义Node.js我们需要将定义分成几个部分。我们要定义的术语是: 开源 跨平台的 运行时环境 2.1、开放源代码是什么意思 开放源代码通常用于描述公众可以检查和编辑其源代码的软件。这意味着任何人都可以检查使程序按其方式工作的代码。 这样做的一个好处是程序的用户可以更好地了解程序及其功能。此外如果一个人发现了一个bug他们可以贡献并修复这个bug。 您可以在github上找到Node的源代码github是显示开源代码的最流行的网站。Node.js在GitHub上也有很多贡献者——添加功能和修复错误的人。每个人都可以访问Node.js的源代码如果他们愿意甚至可以定制自己的程序版本。 2.2、跨平台是什么意思 如果一个程序是跨平台的就意味着该程序不局限于单一的操作系统或硬件架构。 跨平台程序可在多个平台上运行。Node.js 可在 Windows、Linux、Unix 和 MacOS 等平台上运行。开发人员可以在很多操作系统上使用 Node.js。 2.3、什么是运行环境 编程语言的运行时环境是指用户可以执行用该语言编写的代码的任何环境。该环境提供运行代码所需的所有工具和资源。Node.js 是一种 JavaScript 运行时环境。 除了 Node.jsJavaScript 运行环境的另一个例子是网络浏览器。浏览器通常拥有执行客户端 JavaScript 代码所需的所有资源。 在浏览器中我们可以使用 JavaScript 与标记元素交互并调整样式。浏览器会立即运行代码因为它是一个运行时环境。 从上面定义的三个术语可以看出Node.js不像Angular那样是一个JavaScript框架。Node.js不是一种编程语言它不是一个JavaScript库也不是一组技术的总称。它也不是JavaScript的另一个名称。 Node.js 是一种可以执行 JavaScript 代码的软件程序。更确切地说Node.js 是一种 JavaScript 运行环境。它是一种为使 JavaScript 代码用于服务器端脚本而开发的环境。 3、Node.js是如何工作的 Node.js主要是用C/C编写的。作为一个应该运行web服务器的程序Node.js需要不断地与设备的操作系统交互。 使用C等低级语言构建Node.js使软件可以轻松访问操作系统的资源并使用它们执行指令。 但是Node.js 的工作原理还有很多复杂之处。Node.js 可运行快速高效的Web服务器但它究竟是如何做到这一点的呢本节将介绍 Node.js 实现高效的过程。 要了解 Node.js 的工作原理我们必须了解三个主要组件。这些组件是 V8引擎 Libuv Event Loop 我们将深入研究并解释这些组件以及它们如何组成Node.js。 3.1、什么是V8引擎 V8引擎是在Chrome浏览器中解释和运行JavaScript代码的JavaScript引擎。其他一些浏览器使用不同的引擎例如Firefox使用SpiderMonkey, Safari使用JavaScriptCore。没有JavaScript引擎计算机就无法理解JavaScript。 V8引擎包含一个内存堆和调用堆栈。它们是V8引擎的组成部分。它们帮助管理JavaScript代码的执行。 内存堆是V8引擎的数据存储。每当我们创建一个用JavaScript保存对象或函数的变量时引擎就会将该值保存在内存堆中。为了简单起见它类似于为徒步旅行者储存物资的背包。 每当引擎执行代码并遇到任何这些变量时它都会从内存堆中查找实际值——就像每当徒步旅行者感到寒冷并想要生火时他们可以查看背包中的打火机一样。 要了解内存堆还有很多更深层次的东西。JavaScript 中的内存管理是一个需要花更多时间解释的话题因为实际过程非常复杂。要了解有关内存堆的更多信息请查看此资源。 调用栈是 V8 引擎的另一个构件。它是一种管理函数执行顺序的数据结构。每当程序调用一个函数时该函数就会被放在调用栈上只有当引擎处理完该函数后才能离开调用栈。 JavaScript 是一种单线程语言这意味着它一次只能执行一条指令。由于调用堆栈包含要执行指令的顺序这意味着 JavaScript 引擎只有一个顺序一个调用堆栈。点击此处了解有关单线程和调用栈的更多信息。 3.2、什么是Libuv 除了 V8 引擎Node.js 的另一个非常重要的组件是 Libuv。Libuv 是一个用于执行输入/输出I/O操作的 C 语言库。 I/O 操作与向计算机发送请求和接收响应有关。这些操作包括读写文件、发出网络请求等。 Source: https://libuv.org 从 Libuv 的官方网站上可以看到他们是这样说的 Libuv 是一个多平台支持库侧重于异步 I/O。 这意味着Libuv是跨平台的(可以在任何操作系统上运行)并且专注于异步I/O。 计算机处理 I/O 指令往往需要时间但 LibuvNode.js 用于与计算机接口的库专注于异步 I/O。它可以同时处理多个 I/O 操作。 这就是 Node.js 在单线程的情况下仍能高效处理 I/O 指令的原因。这一切都要归功于 Libuv。Libuv 知道如何异步处理请求从而最大限度地减少延迟。但 JavaScript 引擎究竟是如何利用 Libuv 的 每当我们向 Node.js 传递脚本时引擎就会解析代码并开始处理。调用堆栈会保存调用的函数并跟踪程序。如果 V8 引擎遇到 I/O 操作它会将该操作传递给 Libuv。然后Libuv 执行 I/O 操作。 请注意Libuv 是一个 C 库。我们如何使用 JavaScript 代码来运行 C 指令有一些绑定可以将 JavaScript 函数与其在 Libuv 中的实际实现连接起来。这些绑定使得使用 JavaScript 代码执行 I/O 指令成为可能。 Node.js 使用 Libuv 进行实际执行但会公开应用编程接口 (API)。因此我们现在可以使用 Node.js API看起来像 JavaScript 函数来启动 I/O 操作。 值得注意的是JavaScript 的确是一种单线程语言但 Node.js 使用的底层库 Libuv 可以在操作系统中执行指令时利用线程池多线程。 现在您在使用 Node.js 时不必担心这些线程了。Libuv 知道如何有效地管理这些线程。您只需使用所提供的 Node.js API 编写指令即可。 Libuv 最初是为 Node.js 创建的但现在不同的编程语言都对其进行了绑定。Julia 和 Luvit基于 Lua 的运行环境与 Node.js 一样内置了绑定但其他语言也有提供这些绑定的库。例如 Python 中的 uvloop 等。 3.3、什么是 Event Loop Node.js 中的事件循环Event Loop是流程中非常重要的一部分。从名称上我们可以看出它是一个循环。当 Node.js 开始执行程序时循环就开始运行。在本节中我们将探讨事件循环的作用。 当我们运行包含一些异步代码如 I/O 指令或基于定时器的操作的 JavaScript 程序时Node.js 会使用 Node.js API 对其进行处理。异步函数通常会在函数处理完毕后执行一些指令。这些指令被放置在回调队列Callback Queue中。 回调队列采用先进先出FIFO方式工作。这意味着第一个进入队列的指令回调将首先被调用。 事件循环运行时会检查调用栈是否为空。如果调用栈不空它就会允许正在进行的进程继续。但如果调用栈为空它就会将回调队列中的第一条指令发送给 JavaScript 引擎。然后引擎会将该指令函数放入调用栈并执行。这与浏览器中事件循环的工作方式非常相似。 因此事件循环使用Node.js中的JavaScript V8引擎执行异步指令的回调。这是一个循环这意味着每次它运行时它都会检查调用堆栈以知道它是否会删除最前面的回调并将其发送给JavaScript引擎。 Node.js据说有一个事件驱动的架构。这意味着Node.js是围绕侦听事件并在事件发生时及时响应而构建的。这些事件可以是定时器事件、网络事件等等。 Node.js 通过使用事件循环来响应这些事件在触发事件后向引擎加载事件回调。因此Node.js 是应用程序中实时数据传输的绝佳选择。 4、Node.js 中的模块 Node.js 的许多功能都包含在软件自带的模块中。这些模块旨在将程序构件分割成易于管理的小块就像乐高积木一样。有了这些模块我们只需导入程序所需的模块即可。 例如下面的代码导入了一个名为 fs 的内置模块。 const fs require(node:fs)但在 Node.js 中我们还可以通过其他方式使用模块。除了内置模块我们还可以使用其他开发人员构建的模块或包。 Node Package ManagerNPM是一个与 Node.js 配套的软件应用程序。它管理 Node.js 中可用的所有第三方模块。无论何时需要第三方软件包都可以使用 npm install 命令从 NPM 安装。 要从NPM导入你安装的模块看起来像这样 const newModule require(newModule)5、展望 Node.js Node.js 现在拥有一个庞大的开发者社区。它在 GitHub 上有成千上万的贡献者并被当今一些最大的公司所使用。但是Node.js 的未来会怎样呢 Node.js 自 2009 年问世以来发展迅速。它最初用于后端开发但现在可以做更多的事情。您可以使用 Node.js 开发桌面应用程序、前端网络应用程序、移动应用程序和命令行工具。开发人员将继续在越来越多的应用中使用 Node.js。 Ryan Dahl——Node.js的发明者——在2018年宣布了一个名为Deno的新的JavaScript运行时。他在题为“关于Node.js我后悔的10件事”的演讲中公布了他与人合作创建的运行时。 Deno 是一个 JavaScript 运行时环境基于 Google Chrome 浏览器的 V8 引擎但使用 Rust 编写。Deno 不仅是 JavaScript 的运行时环境也是 TypeScript 的运行时环境。 Ryan Dahl 创建 Deno 是因为他认为自己在 Node.js 的原始蓝图方面做出了一些错误的决定。他希望为 Web 服务器的 JavaScript 运行时环境做出更好的架构决策。这就是 Deno。 但是Deno 还没有在开发者社区得到大规模采用。它仍然是一项相对较新的技术需要更多的时间来普及。 此外积极管理、开发和维护 Node.js 的 OpenJS 基金会一直在修复 Node.js 的一些错误并提高其最终效率。越来越多的项目建立在 Node.js 架构之上在可预见的未来这种情况可能还会继续下去。 总结 在本文中您已经学到了很多现在可以自信地回答“Node.js到底是什么?”这个问题。 我们首先回顾了Node.js的历史然后正确地定义了Node.js。之后我们详细阐述了Node.js的工作原理解释了V8引擎、Libuv和事件循环等组件。 之后我们讨论了 Node.js 和 NPM 中的模块。最后我们展望了 Node.js 的未来并得出结论Node.js 将为更多应用程序提供动力。 如果您想学习如何使用 Node.js 构建应用程序freeCodeCamp 有一个专门介绍 Node.js 的完整教程播放列表。互联网上有大量学习该技术的资源未来还会有更多。 原文https://www.freecodecamp.org/news/what-exactly-is-node-guide-for-beginners/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

凡科建站模板安徽天长建设局网站

登陆时间:2019-10-21实现难度:★★★☆☆☆请求链接:https://passport.bilibili.com/login实现目标:模拟登陆哔哩哔哩,攻克滑动验证码涉及知识:滑动验证码的攻克、自动化测试工具 Selenium 的使用完整代码&…

asp.net网站建设项目实战 董义革网站排名做不上去

一、搭建环境 1、安装Slenium pip install selenium 2、安装浏览器驱动-》查询浏览器版本-》下载对应版本驱动-》在path路径中配置(浏览器更新需要重新下载) pip install webdriver -helper(自动化)python3.9以上 pip install 安…

青岛高品质网站建设做亚马逊一个月挣10万

1185 威佐夫游戏 V2 有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁…

石家庄货运做网站公司河间做网站 申梦网络

一、什么是计算机视觉 定义:计算机视觉(Computer vision)是⼀⻔研究如何使机器“看”的科学,更 进⼀步的说,就是指⽤摄影机和计算机代替⼈眼对⽬标进⾏识别、跟踪和测量 等,⽤计算机处理成为更适合⼈眼观察…

苏州专业建站当阳seo外包

onFocus事件就是当光标落在文本框中时发生的事件。 onBlur事件是光标失去焦点时发生的事件。 可以编如下例子 1.html <HTML> <HEAD> <TITLE>使用onBlur事件处理程序</TITLE> </HEAD> <BODY BGCOLOR"lavender"> <FORM name&qu…

企业成品网站模板多语言网站制作

配置蓝牙终端定位示例 组网图形 图1 配置蓝牙终端定位示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 商场管理员希望在已有WLAN覆盖业务的基础上&#xff0c;使用蓝牙定位技术&#xff0c;根据顾客所在的位置&#xff0c;提供商场导航、导…

网站建设用模板好吗体验营销策划方案

-- 获取当天日期 -- 2023-06-20 select curdate();-- 获取当天年月日时分秒 select now();-- 日期运算 -- 2024-06-20 17:04:17 select date_add(now(),interval 1 year);-- 日期比较 -- 0 select datediff(now(),now());-- 日期MySQL对于日期类型数据如何查询 -- 获取指定日期…

网站建设鼠标点击变色怎么弄网站备案 密码找回

我使用中英互译的方法来制作本次笔记&#xff0c;课程来自网上精品资源 VSCode相关快捷键 选择文件夹和拖拽文件夹来打开 使用&#xff01;加enter&#xff08;回车&#xff09;&#xff0c;输入默认模板 <!DOCTYPE html> <html lang"en"> <head&…

php网站建设案例教程视频教程帮助传销做网站会不会判刑

**单片机设计介绍&#xff0c;1650【毕设课设】基于STM32两轮自平衡小车系统设计与控制 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序文档 六、 文章目录 一 概要 主控芯片用的是100脚的STM32F103VET6&#xff0c;陀螺仪用的是MPU6050&#xff0c;电机…

社交做的最好的网站有哪些网站建设技术服务的方式是什么意思

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 代码写法&#xff1a; &#xff08;要求 JDK 1.8 或 1.8 以上&#xff09; package gentle.entity;import lombok.Data; /**** auth…

网站开发英文参考文献WordPress二级目录文章404

来源&#xff1a;兴业证券 ▌5G:大通信容量及超低延时&#xff0c;未来多项应用的基础5G:高工作频率以及频谱带宽带来高通信容量5G(5thgeneration)是指第五代移动电话通信标准。3GPP(第三代合作伙伴计划&#xff0c;电信标准化机构)将5G标准分为了NSA(非独立组网)和SA(独立组网…

网站开发难点企业宣传册设计

现在有dll模块A,dll模块B以及静态库C, C中有个全局Create()函数负责创建对象M,当第二次调用Create()的时候会增加引用计数&#xff0c;并返回原来创建的对象M。Relase()会减少引用计数。当引用计数为0时&#xff0c;销毁对象M。现在在模块A中创建的初始化对象M&#xff0c;模块…

男和男做的视频网站长春网站设计公司

文章目录 1. 前置条件2. 简介3. GitLab Kubernetes Agent 的部署3.1 启用 Agent 服务端3.2 创建 Agent 配置和清单仓库 4. 安装agent4.1 连接k8s集群4.2 在集群中部署4.3 修改资源清淡&#xff0c;调整pod的副本数 5. 思考 1. 前置条件 gitlab 14.5 专业版k8s集群helm客户端工…

珠海集团网站制作外包云服务器5元左右的

一个网友的迷惑&#xff1a; 我工作&#xff15;年了&#xff0c;一直做&#xff2a;&#xff12;&#xff25;&#xff25;的项目&#xff0c;前几天去面试&#xff0c;一个人问我JDBC有几种连接方式&#xff0c;这个问题这么多年以来我从来没有遇见过&#xff0c;不知道大家 …

0建设营销型网站步骤wordpress 改cms

EasyPOI是一款优秀的开源Java库&#xff0c;专为简化和优化Excel文件的导入导出操作而设计。下面&#xff0c;我会介绍EasyPOI在项目中使用EasyPOI&#xff0c;实现Excel文件的高效操作。帮助读者全面了解和掌握这一工具。 EasyPOI简介 官网&#xff1a; http://www.wupaas.co…

注册网站会员需填写企业网站的类型包括

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼山西省中等职业学校对口升学考试大纲信息技术类专业本考试大纲是以国家中等职业学校计算机专业教学指导方案为依据&#xff0c;以中等职业教育国家规划教材《物理(电工电子类)》(李广华、郝翠兰主编&#xff0c;电子工业出版社)、《…

网站建设公司官网软件开发是什么行业

文章目录1. 题目信息2. 解题2.1 暴力遍历2.2 二分查找1. 题目信息 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1:输入…

我的世界做图的网站wordpress查询置顶文章

动态方法注入 grails最近&#xff0c;我有一个UI要求&#xff0c;客户希望从两个单独的下拉列表中选择值。 第一个下拉列表的值实质上过滤了第二个下拉列表的值。 鉴于我们支持的财务项目对UI的要求并不严格&#xff0c;因此我不得不进行一些初步的学习和试验&#xff0c;以实现…

宝山湖网站建设wordpress 修改发布时间

本文讲的是Unity AI副总裁Danny Lange&#xff1a;如何用AI助推游戏行业&#xff1f; &#xff0c;10月26日&#xff0c;在加州山景城举办的ACMMM 2017大会进入正会第三天。在会上&#xff0c;Unity Technology负责AI与机器学习的副总裁Danny Longe进行了题为《Bringing Gaming…

佛山外贸网站设计公司建设银行手机银行网站用户名是什么

前言 以前在给网页文字设置一些好看的字体时&#xff0c;限于用户系统是否安装此字体&#xff0c;而只能使用三种方法解决&#xff0c;要么用通用字体&#xff0c;要么用图片替换文本&#xff0c;要么用Flash。而这几种方法却存在严重的缺陷。 现在好了&#xff0c;font-face终…