Node.js基础
浏览器知识
-
浏览器
-
个浏览器都内置了DOM、BOM等API函数,供浏览器中的Javascript调用。
-
每个浏览器都有对应的JavaScript解析引擎。
-
-
浏览器中的JavaScript环境
-
V8引擎负责解析和执行JavaScript代码
-
内置API是由运行环境提供的特殊接口,只能在所属的运行环境中被调用
-
Node.js简介
-
概念
-
Node.js 是一个基于Chrome V8 JavaScript 引擎 的开源运行时环境,允许开发者在服务器端使用 JavaScript 进行编程。
-
它使得 JavaScript 不仅仅局限于浏览器端,而是可以在服务器上运行。
-
-
Node.js运行环境
-
浏览器是JavaScript的前端运行环境
-
Node.js是JavaScript的后端运行环境
-
-
用处
-
基于Express框架,可快速构建Web应用
-
基于Electron框架,可构建跨平台的桌面应用
-
基于restify框架,可以快速构建API接口项目
-
读写和操作数据库,创建实用的命令行工具辅助前端开发
-
-
学习路径
-
JavaScript基础语法
-
Node.js内置模块(fs,path,http)
-
第三方API模块(express,mysql等)
-
-
Node.js终端命令
-
node -v #查看版本信息
-
node file.js #执行js文件中的代码
-
-
fs文件系统模块
-
fs.readFile()方法,读取指定文件中的内容
-
参数1:必选,文件路径
-
参数2:可选,读取文件的编码格式
-
参数3:必选,回调函数,通过回调函数获取读取的结果
-
-
fs.writeFile()方法,用来向指定的文件中写入内容
-
参数1:必选,文件存放路径的字符串
-
参数2:必选,写入的内容
-
参数3:可选,文件内容写入格式
-
参数4:必选,文件写入完成后的回调函数
注意:
-
fswriteFile()方法只能用来创建文件,不能用来创建路径
-
重复调用fswriteFile()方法写入同一个文件,新写入的内容会覆盖之前的旧内容
-
-
-
fs模块-动态路径拼接j的问题:代码在执行时,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。(node命令所处路径+相对文件路径)
-
解决方案1:直接提供完整的路径
-
解决方案2:__dirname(表示当前文件所处目录)+相对文件路径
-
-
-
path路径模块
-
path.joint(),将多个路径片段拼接成完整的路径字符串
注意:涉及路径拼接的操作,使用path.joint()方法进行处理,不要直接使用+进行字符拼接
-
path.basename(),用于从路径字符串中,将文件名解析出来
-
path<string>必选参数:表示一个路径的字符串
-
ext<string>可选参数,表示文件扩展名
-
返回<string>表示路径中的最后一部分
-
-
path.extname()方法,获取路径中的扩展名部分
-
path<string>必选参数,表示一个路径的字符串
-
返回<string>返回得到的扩展名字符串
-
-
-
http模块
-
作用:创建web服务器的模块,使用http.createServer()方法创建服务器软件,提供web服务
-
理解:通过安装Apache、Nginx等服务器软件就能把一台普通的电脑变成一台web服务器。
-
创建web服务器的基本步骤
-
导入http模块,使用require(‘http’)
-
创建web服务器实例,使用http.createServer()方法
-
为服务器绑定request事件,监听客户端的请求,使用.on()方法
-
启动服务器,listen(端口号,cb回调),启动web服务器
-
解决中文乱码问题,当调用res.end()方法向客户端发送中文内容的时候,会出现乱码问题,此时需要手动设置内容的编码格式
-
实例:动态响应内容
-
-
相关文章:
Node.js基础
浏览器知识 浏览器 个浏览器都内置了DOM、BOM等API函数,供浏览器中的Javascript调用。 每个浏览器都有对应的JavaScript解析引擎。 浏览器中的JavaScript环境 V8引擎负责解析和执行JavaScript代码 内置API是由运行环境提供的特殊接口,只能在所属的运…...
DeepSeek R1:中国AI黑马的崛起与挑战
在人工智能(AI)领域,大型语言模型(LLMs)正以迅猛之势重塑世界,其发展速度和影响力令人瞩目。近期,中国DeepSeek公司发布的DeepSeek R1模型,宛如一颗璀璨新星,凭借卓越的推…...
【JavaEE】_MVC架构与三层架构
目录 1. MVC架构 2. 三层架构 3. MVC架构与三层架构的对比 3.1 MVC与三层架构的对比 3.2 MVC与三层架构的共性 1. MVC架构 在前文已介绍关于SpringMAC的设计模式,详见下文: 【JavaEE】_Spring Web MVC简介-CSDN博客文章浏览阅读967次,点…...
对比DeepSeek、ChatGPT和Kimi的学术写作摘要能力
摘要 摘要是文章的精华,通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研究专家,编写摘要需要言简意赅,直接概括论文的核心,为读者提供快速了解的窗口。 下面我们使用DeepSeek、ChatGPT…...
ts 进阶
吴悠讲编程 : 20分钟TypeScript进阶!无废话快速提升水平 前端速看 https://www.bilibili.com/video/BV1q64y1j7aH...
Kubernetes(一)
Kubernetes(简称K8s)是一个开源的容器编排平台,已经成为现代云原生应用的核心技术,主要应用于对容器化应用程序的自动化部署、扩展以及管理。k8s配备了一组核心组件以及一系列功能,这些组件能够实现容器的调度、负载均…...
Python里的小整数问题挺有意思的
简单来说,Python为了优化性能,会把一些常用的整数(通常是-5到256)提前创建好,放到一个“缓存池”里。这样,当你用到这些小整数时,Python就不用每次都重新创建对象了,直接从缓存池里拿…...
基于 Jenkins 的测试报告获取与处理并写入 Jira Wiki 的技术总结
title: 基于 Jenkins 的测试报告获取与处理并写入 Jira Wiki 的技术总结 tags: - jenkins - python categories: - jenkins在软件开发的持续集成与持续交付(CI/CD)流程里,及时、准确地获取并分析测试报告对保障软件质量至关重要。本文将详细…...
java.util.Random类(详细案例拆解)(已完结)
前言: 小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。 今天是除夕,小编先祝贺大家除夕快乐啦!! 今天是第六个 java.lang.Math 包中的 java.util.Random类 我…...
CMake常用命令指南(CMakeList.txt)
CMakeList从入门到精通的文章有很多不再赘述( 此处附带一篇优秀的博文链接:一个简单例子,完全入门CMake语法与CMakeList编写 )。 本文主要列举 CMake 中常用命令的详细说明、优缺点分析以及推荐做法,以更好地理解和灵…...
Mybatis是如何进行分页的?
大家好,我是锋哥。今天分享关于【Mybatis是如何进行分页的?】面试题。希望对大家有帮助; Mybatis是如何进行分页的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 实现分页的方式有很多种,最常见…...
推动知识共享的在线知识库实施与优化指南
内容概要 在当今迅速发展的数字化时代,在线知识库的实施显得尤为重要。它不仅为企业提供了高效的信息存储与共享平台,还能够有效促进团队成员之间的协作与知识传递。通过集中管理企业内的各类知识资源,在线知识库帮助员工快速查找所需信息&a…...
【最后203篇系列】007 使用APS搭建本地定时任务
说明 最大的好处是方便。 其实所有任务的源头,应该都是通过定时的方式,在每个时隙发起轮询。当然在任务的后续传递中,可以通过CallBack或者WebHook的方式,以事件的形态进行。这样可以避免长任务执行的过程中进行等待和轮询。 总结…...
为AI聊天工具添加一个知识系统 之78 详细设计之19 正则表达式 之6
本文要点 要点 本项目设计的正则表达式 是一个 动态正则匹配框架。它是一个谓词系统:谓词 是运动,主语是“维度”,表语是 语言处理。主语的一个 双动结构。 Reg三大功能 语法验证、语义检查和 语用检验,三者 :语义约…...
三天急速通关JavaWeb基础知识:Day 1 后端基础知识
三天急速通关JavaWeb基础知识:Day 1 后端基础知识 0 文章说明1 Http1.1 介绍1.2 通信过程1.3 报文 Message1.3.1 请求报文 Request Message1.3.2 响应报文 Response Message 2 XML2.1 介绍2.2 利用Java解析XML 3 Tomcat3.1 介绍3.2 Tomcat的安装与配置3.3 Tomcat的项…...
代理模式 -- 学习笔记
代理模式学习笔记 什么是代理? 代理是一种设计模式,用户可以通过代理操作,而真正去进行处理的是我们的目标对象,代理可以在方法增强(如:记录日志,添加事务,监控等) 拿一…...
前端-Rollup
Rollup 是一个用于 JavaScript 的模块打包工具,它将小的代码片段编译成更大、更复杂的代码,例如库或应用程序。它使用 JavaScript 的 ES6 版本中包含的新标准化代码模块格式,而不是以前的 CommonJS 和 AMD 等特殊解决方案。ES 模块允许你自由…...
EtherCAT主站IGH-- 21 -- IGH之fsm_reboot.h/c文件解析
EtherCAT主站IGH-- 21 -- IGH之fsm_reboot.h/c文件解析 0 预览一 该文件功能`fsm_reboot.c` 文件功能函数预览二 函数功能介绍`fsm_reboot.c` 中主要函数的作用1. `ec_fsm_reboot_init`2. `ec_fsm_reboot_clear`3. `ec_fsm_reboot_single`4. `ec_fsm_reboot_all`5. `ec_fsm_reb…...
【NLP251】NLP RNN 系列网络
NLP251 系列主要记录从NLP基础网络结构到知识图谱的学习 1.原理及网络结构 1.1RNN 在Yoshua Bengio论文中( http://proceedings.mlr.press/v28/pascanu13.pdf )证明了梯度求导的一部分环节是一个指数模型…...
数据分析系列--④RapidMiner进行关联分析(案例)
一、核心概念 1.1项集(Itemset) 1.2规则(Rule) 1.3支持度(Support) 1.3.1 支持度的定义 1.3.2 支持度的意义 1.3.3 支持度的应用 1.3.4 支持度的示例 1.3.5 支持度的调整 1.3.6 支持度与其他指标的…...
深度学习:基于MindNLP的RAG应用开发
什么是RAG? RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合检索(Retrieval)和生成(Generation)的技术,旨在提升大语言模型(LLM)生…...
Hive安装教程
Hive安装教程 文章目录 Hive安装教程写在前面安装下载安装部署安装Hive启动并使用Hive MySQL安装检查当前系统是否安装过MySQL安装初始化数据库 Hive元数据配置到MySQL拷贝驱动配置Metastore到MySQL再次启动Hive 写在前面 Linux版本:CentOS7.5Hive版本:…...
安卓逆向之脱壳-认识一下动态加载 双亲委派(二)
一:动态加载与双亲委派模型 在 Java 和 Android 中,ClassLoader 是一个非常重要的组件,负责将 .class 文件或 .dex 文件的字节码加载到内存中,供程序使用。在这其中,有两种关键的概念需要深入理解:动态加载…...
全程Kali linux---CTFshow misc入门(14-24)
第十四题: dd命令:dd是一个用于复制和转换数据的命令,它可以对文件、设备等进行操作,在数据备份、转换格式等场景经常使用。 ifmisc14.jpg:if表示 “input file”(输入文件),这里指…...
学习数据结构(3)顺序表
1.动态顺序表的实现 (1)初始化 (2)扩容 (3)头部插入 (4)尾部插入 (5)头部删除 (这里注意要保证有效数据个数不为0) (6&a…...
知识体系、知识管理角度的赚钱思考
从知识管理和知识体系的角度出发,赚钱的问题思考清单可以帮助你系统地梳理和优化自己在财富创造方面的策略。 以下是一个详细的清单,涵盖从知识获取、技能提升到实际应用的各个环节,帮助你在赚钱的道路上更加高效和有条理。 一、赚钱的目标与…...
(done) ABI 相关知识补充:内核线程切换、用户线程切换、用户内核切换需要保存哪些寄存器?
由于操作系统和编译器约定了 ABI,如下: 编译器在对 C 语言编译时,会自动 caller 标注的寄存器进行保存恢复。保存的步骤通常发生在进入函数的时候,恢复的步骤通常发生在从函数返回的时候。 内核线程切换需要保存的寄存器&#…...
QT6 + CMAKE编译OPENCV3.9
参考文档 [1] https://blog.csdn.net/rjkf_css/article/details/135676077 前提条件 配置好相关运行环境:QT6、OPENCV3.9的sources文件 OPENCV下载网页:https://opencv.org/releases/ QT6下载教程:https://blog.csdn.net/caoshangpa/article…...
Linux 常用命令——系统设置篇(保姆级说明)
系统设置类 显示当前运行的进程(ps) ps [options] [--help]# 查找指定进程格式: ps -ef | grep 进程关键字# 显示进程信息 ps -A 参数: -A 列出所有的进程 -w 显示加宽可以显示较多的资讯 -au 显示较详细的资讯 -aux 显示所有包…...
完美世界前端面试题及参考答案
如何设置事件捕获和事件冒泡? 在 JavaScript 中,可以通过addEventListener方法来设置事件捕获和事件冒泡。该方法接收三个参数,第一个参数是事件类型,如click、mousedown等;第二个参数是事件处理函数;第三个参数是一个布尔值,用于指定是否使用事件捕获机制。当这个布尔值…...
Vue3笔记——(三)hooks、路由
015 hooks 作用:使得代码更加模块化和可维护 Person.vue <template><div><h2>当前求和{{ sum }}</h2><button click"addFn">点我sum1</button></div> </template> <script setup lang"ts"…...
网络安全大模型和人工智能场景及应用理解
本文通过通俗易懂的方式的进行阐述,大家读完觉得有帮助记得及时关注和点赞!!! 一、网络安全大模型的概述 网络安全大模型是一种用于识别和应对各种网络安全威胁的模型。它通过分析网络数据包、网络行为等信息,识别潜在…...
python-leetcode-从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right r…...
NLP模型大对比:Transformer > RNN > n-gram
结论 Transformer 大于 RNN 大于 传统的n-gram n-gram VS Transformer 我们可以用一个 图书馆查询 的类比来解释它们的差异: 一、核心差异对比 维度n-gram 模型Transformer工作方式固定窗口的"近视观察员"全局关联的"侦探"依赖距离只能看前…...
MySQL查询优化(三):深度解读 MySQL客户端和服务端协议
如果需要从 MySQL 服务端获得很高的性能,最佳的方式就是花时间研究 MySQL 优化和执行查询的机制。一旦理解了这些,大部分的查询优化是有据可循的,从而使得整个查询优化的过程更有逻辑性。下图展示了 MySQL 执行查询的过程: 客户端…...
[STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
一、高级定时器简介 高级定时器的简介在前面一章已经介绍过,可以点击下面链接了解,在这里进行一些补充。 [STM32 - 野火] - - - 固件库学习笔记 - - -十二.基本定时器 1.1 功能简介 1、高级定时器可以向上/向下/两边计数,还独有一个重复计…...
Antd React Form使用Radio嵌套多个Select和Input的处理
使用Antd React Form使用Radio会遇到嵌套多个Select和Input的处理,需要多层嵌套和处理默认事件和冒泡,具体实现过程直接上代码。 实现效果布局如下图 代码 <Formname"basic"form{form}labelWrap{...formItemLayoutSpan(5, 19)}onFinish{on…...
固有频率与模态分析
目录 引言 1. 固有频率:物体的“天生节奏” 1.1 定义 1.2 关键特点 1.3 实际意义 2. 有限元中的模态分析:给结构“体检振动” 2.1 模态分析的意义 2.2 实际案例 2.2.1 桥梁模态分析 2.2.2 飞机机翼模态分析 2.2.3 具体事例 3. 模态分析的工具…...
视频多模态模型——视频版ViT
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》,2021由google 提出用于视频处理的视觉 Transformer 模型,在视频多模态领域有…...
2859.计算K置位下标对应元素的和
示例 1:输入:nums [5,10,1,5,2], k 1 输出:13 解释:下标的二进制表示是: 0 0002 1 0012 2 0102 3 0112 4 1002 下标 1、2 和 4 在其二进制表示中都存在 k 1 个置位。 因此,答案为 nums[1] nums[…...
Redis 教程
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器&…...
2024 CVPR Highlight Learning-Feedback
图像增强 Towards Robust Event-guided Low-Light Image Enhancement: A Large-Scale Real-World Event-Image Dataset and Novel Approach 解决的主要问题是低光照条件下的图像增强 通过多尺度整体融合分支提取事件和图像的结构和纹理信息,并引入信噪比࿰…...
maven、npm、pip、yum官方镜像修改文档
文章目录 Maven阿里云网易华为腾讯云 Npm淘宝腾讯云 pip清华源阿里中科大华科 Yum 由于各博客繁杂,本文旨在记录各常见镜像官网,及其配置文档。常用镜像及配置可评论后加入 Maven 阿里云 官方文档 setting.xml <mirror><id>aliyunmaven&l…...
UE求职Demo开发日志#15 思路与任务梳理、找需要的资源
1 思路梳理 因为有点无从下手,就梳理下最终形态. 基地的建设我是想单独一个场景,同一个关卡中小怪会每次来都会刷,小解密一次性的,关键的Boss和精英怪不会重复刷,同时场景里放一些资源可收集,基地建设锁定区…...
设置jmeter外观颜色
设置jmeter外观颜色 方法: 步骤一、点击顶部选项 ->外观,这里提供了不同的主题,可选自己喜欢的风格。 步骤二、选择后,弹框提示点击Yes。...
《一文读懂!Q-learning状态-动作值函数的直观理解》
在人工智能的强化学习领域,Q-learning算法是一颗耀眼的明星,被广泛应用于机器人控制、游戏AI开发、自动驾驶等诸多前沿领域。而想要真正掌握Q-learning算法,理解其核心概念——状态 - 动作值函数,是绕不开的关键一步。这篇文章就带…...
Angular 2 表单深度解析
Angular 2 表单深度解析 引言 Angular 2作为现代前端开发的框架之一,以其灵活性和强大的功能赢得了众多开发者的青睐。在Angular 2中,表单处理是其中一个重要且复杂的部分。本文将深入解析Angular 2的表单,从基础知识到高级应用,旨在帮助开发者更好地理解和运用Angular 2…...
使用kitty terminal遇到的‘xterm-kitty‘: unknown terminal type.
解决办法 方式一 export TERMxterm-256color使永久生效 echo export TERMxterm-256color >> ~/.zshrc # 如果用 zsh,如果使用的是bash就修改为bashrc source ~/.zshrc #同理如果是ssh下遇到该问题,参考 https://sw.kovidgoyal.net/kitty/faq/…...
Dest1ny漏洞库:用友 U8 Cloud ReleaseRepMngAction SQL 注入漏洞(CNVD-2024-33023)
大家好,今天是Dest1ny漏洞库的专题!! 会时不时发送新的漏洞资讯!! 大家多多关注,多多点赞!!! 0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚…...
代码随想录|动态规划 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
300.最长递增子序列 题目 参考文章 思路:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 因为没有连续,所以每一个元素都要比较,从而得到结果 两个递增子序列一定分别以nums[j]为结尾 和 nums[i]为结尾, 要不然这个比…...