自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 LHS查询与RHS查询

程序中一段源代码在执行前会经历三个步骤,统称为编译。

2024-04-11 09:46:53 303

原创 Git命令(1)[删除,恢复与移动]

当暂存区和工作区的文件不同时(工作区已修改未暂存),此时删除会报错,可以用-f强制删除。如果需要一同删除git仓库里的文件,需要额外提交一下。撤销对文件的修改,恢复到上一次提交的状态。针对于已暂存未提交的文件将其从暂存区取出。若将git里的也重命名,则需要执行提交操作。(只对工作区操作,不影响暂存区)(只对暂存区操作,不影响工作区)将工作区与暂存区文件重命名。删除工作区和暂存区的文件。不会影响暂存区的状态。

2024-04-02 22:55:17 523

原创 Git简介

3.git commit -m “它是一个试验文件”(暂存->未修改)2.使用命令git add 文件路径(未跟踪->暂存)官网:https://git-scm.com/git commit 将暂存的文件存储到仓库。提交所有已修改的文件(未跟踪的文件不会提交)修改文件内容的话,文件状态就变为已修改。我们使用git就是操作文件不同的状态。git log(打印每次修改的记录)将所有已修改/未跟踪的文件都变成暂存。(傻瓜式安装)检测是否安装成功。1.新建文本(未跟踪),让我们存储代码的。4.未修改->已修改。

2024-04-01 21:52:51 1262

原创 Session介绍

在这个过程中,服务器负责管理 Session,包括创建、存储、更新和销毁等操作。客户端通过携带会话标识来与服务器进行交互,从而实现用户状态的维持和个性化服务的提供。例如,Cookie 可以在客户端快速访问和处理一些常用信息,而 Session 则在服务器端保证数据的安全性和完整性。在实际应用中,通常会根据具体需求选择使用 Cookie 还是 Session,或者结合使用以达到更好的效果。,Cookie 和 Session 相互配合,为 Web 应用提供了有效的用户状态管理和数据存储方式。

2024-03-31 18:38:49 728

原创 cookie介绍

无状态问题指的是在 Web 应用中,服务器在处理每个请求时,不保留任何与特定客户端或请求相关的状态信息。这意味着服务器无法识别不同请求之间的关联。无法维持会话:用户每次请求都需要重新进行身份验证。缺乏个性化体验:不能根据用户的历史行为提供个性化服务。难以实现购物车等功能:无法跟踪用户的选择和操作。使用 Cookie:在客户端存储状态信息。使用 Session:在服务器端存储状态信息。使用令牌:例如 JSON Web Token(JWT)。

2024-03-31 18:06:26 519

原创 Node.js中Router的使用

在Node.js中,Router是Express框架提供的一种用于组织路由的方式,是express中创建的一个对象专门用于放置路由文件,通过module.exports导出供外部使用。router实际上是一个中间件,我们可以把在它身上绑定各种路由以及其他的中间件。通过使用Router,你可以将相关的路由组织在一起,从而更好地管理你的应用程序的路由。下面是关于如何在Node.js中使用Router在Router实例上定义你的路由。你可以使用等方法来定义相应的HTTP动词的路由。

2024-03-30 09:29:15 1222 1

原创 Post路由

Post路由是用于处理HTTP POST请求的路由。在Web开发中,POST请求通常用于向服务器提交数据,例如表单数据或JSON数据。Post路由的主要作用是接收这些数据并执行相应的处理逻辑。要创建一个POST路由,你可以使用你所用的Web框架提供的相应方法,例如在Express.js中,你可以使用app.post()方法。通常,第一个参数是要匹配的URL路径,第二个参数是一个回调函数,用于处理POST请求的逻辑。// 在这里进行验证用户名和密码的逻辑});

2024-03-24 15:58:34 170

原创 param参数

是指路由中的参数,用于捕获 URL 中的动态部分,并将其作为参数传递给路由处理函数。当定义包含参数的路由时,可以使用。是一个参数,用于捕获 URL 中的用户ID。方法来捕获 URL 中的动态部分,并将其传递给路由处理函数。时,Express.js 将捕获 URL 中的。参数传递给路由处理函数。你可以在处理函数中使用。来获取这个参数的值,然后进行相应的逻辑处理。在 Web 开发中,

2024-03-24 14:51:55 186

原创 中间件设置静态资源目录

设置static中间件后,浏览器访问时,会自动去public目录寻找是否有匹配的静态资源(可以理解为浏览器自动把public目录拼接到服务器地址的后面,总之,虽然 use 方法本身不是专门用于设置静态资源目录的,但你可以借助于内置的静态文件中间件来实现这一功能。接着,通过调用 app.use 方法将静态文件中间件应用到整个应用程序中。如果希望浏览器可以访问,则需要将页面所在的目录设置静态资源目录。服务器中的代码,对于外部来说都是不可见的,,这里使用的是相对路径 ‘public’,,用于提供静态文件服务。

2024-03-24 12:46:57 570

原创 服务器软件express搭建web服务器

路径区别,路由的话写的什么路径,访问的时候就是什么路径,但是如果是中间件的话,在路径后面还可以任意加东西,都可以访问成功,但是如果是路由的话,随便加东西是访问不成功的。如果希望服务器可以正常访问,则需要为服务器设置路由,路由可以根据不同的请求方式和请求地址来处理用户的请求。next() 是回调函数的第三个参数,它是一个函数,调用函数后,可以触发后续的中间件/路由。req() 表示的是用户的请求信息,通过req可以获取用户传递数据。路由的回调函数执行时,会接收到三个参数。第一个 request。

2024-03-23 23:01:01 910

原创 如何在浏览器查看报文

2024-03-23 16:53:16 299

原创 HTTP协议与报文

TCP/IP协议族中包含了一组协议, 这组协议规定了互联网中所有的通信的细节。User-Agent 用户代理,它是一段用来描述浏览器信息的字符串。同时,由于url地址长度有限制,所以get请求无法发送较大的数据。第一部分 get 表示请求的方式,get表示发送的是get请求。响应头也是一个一个的名值对结构,用来告诉浏览器响应的信息。Accept-Encoding 浏览器允许的压缩的编码。请求头也是名值对结构,用来告诉服务器我们浏览器的信息。请求体的大小没有限制,可以发送任意大小的数据。

2024-03-23 16:28:56 636

原创 _nodemon自动重启服务器

执行的时候命令:yarn+自定义命令。

2024-03-22 22:46:27 259

原创 yarn的使用与安装

默认corepack是关闭的。可以通过启用corepack的方式使yarn启用。首先执行以下命令启用corepack。则运行时就不能只使用node 文件目录了,还得再在最前面加一个yarn才能运行。如果使用的是yarn3,则node项目里不会生成node_modules.执行命令以后,会自动安装yarn与pnpm。在新版本的node中,

2024-03-22 17:42:06 405

原创 fs方法举例

fs.appendFile() 创建新文件,或将数据添加到已有文件中。mkdir可以接收一个 配置对象作为第二个参数,用toString()方法转字符串之后。recursive 默认值为false。fs.readFile() 读取文件。fs.copyFile() 复制文件。通过该对象可以对方法的功能进行配置。fs.mkdir() 创建目录。fs.rename() 重命名。fs.rm() 删除文件。输出的Buffer对象。

2024-03-19 23:27:33 375

原创 node核心模块之Path

_dirname 是 Node.js 中的一个全局变量,用于获取当前模块文件所在的目录的绝对路径。具体来说,__dirname返回的是当前模块文件的所在目录的绝对路径,而不是当前执行脚本的目录。

2024-03-19 21:50:42 523

原创 node核心模块之Process

核心模块,宿主对象,全局对象

2024-03-19 18:49:30 543

原创 ES模块化

默认导出的内容,可以随意命名。导入的时候把sum改为别的名字也没问题。默认导出不写括号里面,其他导出要写在对象里,当我们设置"type":"module”时,当前项目下所有的js文件都默认为ES模块。修改package.json将模块化规范设置为ES模块。当我们尝试修改a的值会发现报错,提示我们常量不可修改。如图,把扩展名换为.mjs之后再打印就会出错。要想使用ES的模块化,可以采用以下两种方式。修改package.json文件。1.使用mjs作为扩展名。

2024-03-17 23:35:14 534

原创 CommonJs规范

使用require(“模块的路径”)函数来引入模块模块名要以./ 或 …/开头扩展名可以省略(除了扩展名是.cjs)在 JavaScript 中,引入模块时可以省略文件扩展名。当引入的模块是 JavaScript 文件(.js)、JSON 文件(.json)和node(.node)时,可以不写扩展名,Node.js 会根据需要自动解析文件类型并加载对应的模块。* 如果没有.js 后缀的同名文件它会寻找 .json后缀的。(如果两个后缀名都有,则优先导入后缀名为.js的)

2024-03-17 18:50:13 760

原创 `async` 和 `await`

async。

2024-03-16 16:52:59 253

原创 数据和类型转换

什么情况出现未定义类型?只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。工作中的使用场景:开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。

2024-03-14 18:41:29 984

原创 常量的基本使用

const — 类似于 let ,但是变量的值无法被修改。

2024-03-14 14:59:19 314

原创 let和var的区别

let 和 var 区别:在较旧的JavaScript,使用关键字 var 来声明变量 ,而不是 let。var 现在开发中一般不再使用它,只是我们可能再老版程序中看到它。let 解决 了var 的一些问题。var 声明:可以先使用 在声明 (不合理)var 声明过的变量可以重复声明(不合理)比如变量提升、全局变量、没有块级作用域等等结论:var 就是个bug,别迷恋它了,以后声明变量我们统一使用 let

2024-03-14 14:56:13 226

原创 变量的本质和命名规则

变量的本质内存:计算机中存储数据的地方,相当于一个空间变量本质:是程序在内存中申请的一块用来存放数据的小空间变量命名规则与规范规则:不能用关键字关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等>只能用下划线、字母、数字、$组成,且数字不能开头字母严格区分大小写,如 Age 和 age 是不同的变量2.规范:起名要有意义遵守小驼峰命名法第一个单词首字母小写,后面每个单词首字母大写。例:userName

2024-03-14 13:54:53 231

原创 Js输入输出语句

document.write(‘要出的内容’)

2024-03-14 11:34:55 185

原创 JS的三种书写位置

【代码】JS的三种书写位置。

2024-03-14 11:19:28 194

原创 Js结束符与注释

JavaScript 注释有哪两种方式?单行注释 //多行注释 /**/JavaScript 结束符注意点结束符是?分号结束符可以省略吗?Yes但为了风格统一,经结束符要么每句都写,要么每句都不写(团队约定)

2024-03-14 11:03:50 217

原创 _数据_变量_内存

内存条通电后产生的存储空间(临时的)产生和死亡: 内存条(集成电路板)>通电>产生一定容量的存储空间==>存储各种数据==>断电==>内存全部消失内存的空间是临时的, 而硬盘的空间是持久的一块内存包含2个数据内部存储的数据(一般数据/地址数据)内存地址值数据内存分类栈: 全局变量, 局部变量 (空间较小)堆: 对象 (空间较大)值可以变化的量, 由变量名与变量值组成一个变量对应一块小内存, 变量名用来查找到内存, 变量值就是内存中保存的内容。

2024-03-13 22:19:23 194

原创 JS高级_数据类型

【代码】JS高级_数据类型。

2024-03-13 21:51:24 168

原创 JS高级_数据类型

是因为在 JavaScript 中,函数也被视为一种特殊的对象类型,但它有自己的行为和特性,因此被归类为。函数在 JavaScript 中确实是一种特殊的对象,但。运算符用于获取给定变量的数据类型。在 JavaScript 中,instanceof(实例)运算符会返回函数的类型为。

2024-03-13 21:17:43 175

原创 宏任务和微任务

栈(Stack)和队列(Queue)是两种基础的数据结构。

2024-03-11 13:42:14 435

原创 Promise详解

即Promise.all() 中的任何一个 Promise 被拒绝,整个 Promise.all() 就会立即被拒绝,并且它的拒绝原因(reason)是第一个被拒绝的 Promise 的原因。])不同的只是,Promise.allsettled()不会在任何 Promise 被拒绝时中止,并且总是等待所有 Promise 对象都已解决或拒绝后才返回结果。返回执行最快的完成的Promise(即PromiseResult=fulfilled且是最快的才会被返回)返回执行最快的Promise(不考虑对错)

2024-03-10 19:01:40 663

原创 Promise介绍

通过resolve存储的数据,会调用第一个函数返回.通过reject存储的数据或者出现异常时,会调用第二个函数返回。Promise构造函数的回调函数,它会在创建Promise时调用,调用时会有两个参数传递进去。如果PromiseState变为fulfilled,则调用then的第一个回调函数来返回数据。如果PromiseState变为rejected,则调用then的第二个回调函数来返回数据。当我们通过then读取数据时,相当于为Promise设置了回调函数,

2024-03-09 22:10:54 687

原创 同步与异步

需要一个东西,可以代替回调函数来给我们返回结果.Promise横空出世. Promise是一个可以用来存储数据的对象,Promise存储数据的方式比较特殊,这种特殊方式使得Promise可以用来存储异步调用的数据.返回的a+b是定时器的值,不是iq函数的值。但是如果需要频繁地调用回调函数,则会出现回调地狱。通常情况代码都是自上向下一行一行执行的。前边的代码不执行后边的代码也不会执行。一行代码执行慢会影响到整个程序的执行。node.js通过异步方式来解决。同步的代码执行会出现阻塞的情况。

2024-03-09 14:51:21 306

原创 fs模块_写入文件

1-1.writeFile 异步写入语法:fs.writeFile(file,data,[options(可选)],callback)例如文件的创建、删除、重命名、移动,还有文件内容的写入、读取,以及文件夹的相关操作。fs:file system(文件系统)

2024-03-08 22:50:00 208

原创 进程与线程

线程是一个进程中执行的一个执行流,一个线程是。:进行中的程序 /程序的一次执行过程。一个进程中至少一个线程。

2024-03-08 19:28:01 250

原创 程序运行的基本流程

程序一般保存在硬盘中,软件安装的过程就是将程序写入硬盘的过程程序在运行时会加载进入内存,然后由CPU 读取并执行程序。装系统就是将操作系统安装到硬盘。

2024-03-08 19:13:24 172

原创 计算机基本组成

三大零部件:其他零部件:

2024-03-08 19:06:25 67

原创 Buffer介绍与创建

因为内存数据是可以复用的,用allocUnsafe()创建的buffer里面可能会含有旧的内存数据,所以不安全.alloc使用的时候会对旧数据进行清空,而allocUnsafe则不会。但是在创建的时候,第二个比第一个要快一些。,用于表示固定长度的字节序列。换句话说,Buffer 本质是一段固定长度的内存空间,专门用于处理。:Buffer 中文译为「缓冲区』,是一个类似于 Array 的。注意虽然Buffer是二进制,但是在终端显示的是十六进制。alloc是分配的意思。

2024-03-08 18:57:00 323

原创 Node.Js编码注意事项

即含有其他API的代码不能在node.js运行的js文件中编写。Node.js中的JavaScript组成。

2024-03-07 23:08:09 675

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除