对于各种编程语言,代码组织是很重要的。而模块是node中的代码组织机制,node中的很多功能都以模块划分,而模块中又封装了许多方法,而且不会改变全局作用域,极大的方便了各开发者的需求。
抢占式是指暂停或中断正在执行的计算任务,而不是与其合作。中断后再继续恢复该任务的执行,这种改变又称为上下文切换。其缺点在于操作系统可能会在一个不适当的时间进行上下文切换。
首先,定义问题:在 Node.js 应用程序中,我们可以通过环境变量或命令行参数来设置HTTP爬虫ip,以便在发送请求时使用这些HTTP爬虫ip。
网站获取用户的浏览器和操作系统版本是一个很常见的需求,但是细说起来这个功能的实现并不简单。一般情况下有两种思路。
path.sep,是路径片段分隔符。它在 Windows 上是\,在 Unix 上是/。它用于指定文件(夹)的路径中。
3. 浏览器中运行的 JavaScript 和 Node.js 中运行的 JavaScript 有区别吗
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Node.js 提供了一些核心模块,这些模块是内置的,可以直接在 Node.js 环境中使用,无需额外安装。以下是一些常见的 Node.js 核心模块:
实际上浏览器的事件循环标准是由 HTML 标准规定的,具体来说就是由whatwg规定的,具体内容可以参考event-loops in browser。而NodeJS中事件循环其实也略有不同,具体可以参考event-loops in nodejs
Node.js os 模块提供了一些基本的系统操作函数。我们可以通过以下方式引入该模块:
上篇文章主要分享了的一个Node模块儿的解析和npm的知识点,Node会将我们写的代码重新进行包装,使其包含module,exports,require这三个变量。今天接着聊一些Node的异步I/O相关的内容。
Electron是一个跨平台的桌面客户端框架,使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序,文档:https://www.electronjs.org/zh/docs/latest,当前使用最新稳定版本:20.1.4 特性 我们可以从中了解到他实现的方式以及他的应用场景 我认为他们最大特点就是: 主进程和渲染进程就行隔离(沙箱模式) 当时用户操作和渲染的事情都是交给渲染进程 当需要操作系统API,例如:创建新窗体,获取电脑的相关信息等就交给主进程 也就是说当主进程和渲染进程需
浏览器的 UA(User-Agent)是一个字符串,包含了浏览器名称、版本、操作系统等信息。每个浏览器都有自己的 UA 字符串,服务器可以通过读取该字符串来获取关于访问者的信息。 注意,解析 UA 字符串并不总是准确,因为有些用户可能会篡改 UA 字符串。因此,在使用解析 UA 字符串获取访问者信息时,需要注意这些信息可能不准确。
Node运行环境提供的API.因为这些API都是以模块化的方式进行开发的,所以我们又称Node运行环境提供的API为系统模块
我们常说的指纹,都是指人们手指上的指纹,因具有唯一性,所以可以被用来标识一个人的唯一身份。而浏览器指纹是指仅通过浏览器的各种信息,如CPU核心数、显卡信息、系统字体、屏幕分辨率、浏览器插件等组合成的一个字符串,就能近乎绝对定位一个用户,就算使用浏览器的隐私窗口模式,也无法避免。
前言:不分享什么知识,聊一下最近的一些思考和看到的一些内容。这两个内容看起来没什么关系,其实也有关系。
以以太坊为代表的智能合约,被认为是区块链2.0的产物。 区块链可以看作是一个操作系统,而比特币则可以看作其上面生长的明珠。 区块链开发可以看作是自己开发一套系统,比如ios,android操作系统。 基于以太坊可以开发智能合约,可以看作一个已经成型的操作系统,比如android。 在这个操作系统之上我们可以开发自己的应用,比如一个匿名交易系统。 所有安装,部署了以太坊应用的计算机节点都会产生一个对应的以太坊虚拟机。 这些节点的虚拟机组成了区块链所谓的去中心化节点。 基于以太坊之上的应用的每次交易都需要消
代码写完会运行一下看下效果,开发的时候我们更多都是通过 dubugger 来单步或断点运行。我们整天在用 debugger,可是你有想过它的实现原理么。
JavaScript,简称JS,是一种客户端脚本语言,主要用来向HTML网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
网页的一大特色就是无处不在, 这是一个令人惊叹的平台,用它所创建的协作平台,可以被多种类型的设备所访问,无论设备运行在何种操作系统上。换句话说,网页只能运行在浏览器中,无法直接运行在操作系统中,因此网页应用程序也就无法访问文件操作系统。它们也无法执行非JavaScript编写的代码,他们无法调用桌面应用程序可以使用的众多操作系统接口。还有,当大多数网页应用程序没有可靠的互联网连接时,也就无法使用了。
upscayl 是一个免费开源的 AI 图像放大器,支持 Linux、MacOS 和 Windows 平台,并且秉承着“Linux 优先”理念构建。
今天来介绍一个 StackBlitz 与 Next.js 和 Google 团队合作的新技术。
文件上传漏洞是web应用最常见的漏洞之一,也是危害最大的漏洞之一。web应用有很多场景需要用户自己上传文件,比如头像上传。如果对上传的文件没有限制或者限制有缺陷,就可以上传一些脚本文件(shell文件),用户可以通过脚本文件远程连接服务器且获取对服务器的控制,将对信息安全造成极大的危害。 文件上传也是渗透测试中最重要的一个环节。
编程并不只是简单地写代码,而是要将编写的代码运行在指定平台环境上,在此之前我们还需要搭建生产代码的环境。
如果你用过 Node.js 的 api,会不会觉得奇怪,为什么 api 的名字是这样的:
前言:本文根据最近做的一次分享整理而成,希望能帮忙大家深入理解Node.js的一些原理和实现。
本文内容主要分为两大部分,第一部分是 Node.js 的基础和架构,第二部分是 Node.js 核心模块的实现。
可以通过 JavaScript 来实现判断当前的设备类型:navigator 是 JavaScript 中的一个独立的对象,用于提供用户所使用的浏览器以及操作系统等信息,以 navigator 对象属性的形式来提供。所有浏览器都支持该对象。
Node运行环境提供的API. 因为这些API都是以模块化的方式进行开发的, 所以我们又称Node运行环境提供的API为系统模块
在上文中,我们从零开始安装了必需的一些NestJS开发环境,并使用命令行工具生成了第一个NestJS服务端程序,而且也初步了解了怎么把这个程序运行起来。
Inside look at modern web browser 是介绍浏览器实现原理的系列文章,共 4 篇,本次精读介绍第一篇。
近期,研究人员发现了一种恶意JavaScript文件。这种恶意JS文件能够在用户毫不知情的情况下在网站或App中悄悄进行加载,当用户使用智能手机访问网站或App时,它就能够在后台通过各种手机传感器来访问并收集用户手机中的数据,攻击者将能够利用这些收集到的数据来破解用户的密码或PIN码。 这种新型攻击技术是由英国纽卡斯尔大学的一个安全研究团队发现的,研究人员表示,这种恶意脚本能够利用25种不同的传感器来收集数据,在对这些收集到的数据进行整合之后,攻击者将能够推断出目标用户在手机上所输入的内容。 并非所有的
Arbitrium是一款跨平台并且完全无法被检测到的远程访问木马,可以帮助广大研究人员控制Android、Windows和Linux操作系统,而且完全不需要配置任何额外的防火墙规则或端口转发规则。该工具可以提供本地网络的访问权,我们可以将目标设备当作一个HTTP代理来使用,并访问目标网络中的路由器、发现本地IP或扫描目标端口等等。
C++层直接调用Libuv的uv_tcp_connect,并且设置回调是AfterConnect。接着我们看libuv的实现。
yiuanli最近在研读书籍 深入浅出nodejs , 随手写下的一些笔记, 和大家分享~ 如有错误,欢迎指正~
DOM 是 W3C(万维网联盟)的标准。 DOM 定义了访问 HTML 和 XML 文档的标准: “W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。” W3C DOM 标准被分为 3 个不同的部分: 核心 DOM - 针对任何结构化文档的标准模型 XML DOM - 针对 XML 文档的标准模型 HTML DOM - 针对 HTML 文档的标准模型 HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。 换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。
JavaScript 是一种弱类型或者说动态语言。不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
开发和维护一个桌面应用是比较复杂的,所以可以理解现在的公司门为何推动WEB应用或者各种跨平台版本,在过去的十几年里,已经有了很多尝试,Flash、Air、Java和Sliverlight,他们都各自取得了不同程度的成功
其实说了这么多,也只是一个噱头,未来的路还很长,我经常再 blink 里面看到有人投票说,华为鸿蒙操作系统将取代安卓操作系统,我先否定一下。发展好了最多也只是三足鼎立的局面,不可能取代,至于为什么?大家评论区吃瓜吧。
为什么要掌握JavaScript呢? 使用JavaScript能能否开发AI应用么?
该文章介绍如何使用Docker在Mac上构建和运行Node.js应用程序。首先,介绍了Docker的基本概念和优势,然后详细说明了在Mac上使用Docker的开发流程。包括拉取Docker镜像、运行容器、管理容器和容器路径等。最后,探讨了Docker在软件开发和部署中的重要性,以及Docker在Mac上的实际应用场景。
数组这种数据结构,应该在绝大多数语言都有实现,使用起来直接使用下标就可以获取想要的数据,在编程过程中几乎是必不可少的。
最近想学习下web前端,原因是这样的,当前中国(公元2018年)的网络环境,表现形式基本是web+移动端,像微信的小程序只要写js应该就可以了,移动端的app很多也是以web的形式展示,应用程序内是html+css+js,不仅方便发布,而且做起来也快,写完页面样式,更新资源,就好了,类似热更
JS中的Map和VBA里的字典Dictionary基本上一样的,主要的功能就是保存一对Key-Value的数据,保证Key不重复。
领取专属 10元无门槛券
手把手带您无忧上云