- 博客(104)
- 收藏
- 关注
原创 Express项目实战大事件后台 API 项目(五)——文章管理
1.初始化路由模块2.初始化路由处理函数模块3.使用multer解析表单数据4.验证表单数据5.实现发布文章的功能①创建②在app.js① 创建②修改注意:使用中间件无法解析data格式的请求体数据。当前项目,推荐使用multer来解析data格式的表单数据。①运行如下的终端命令,在项目中安装multer②在模块中导入并配置multer③修改发布新文章④ 在模块中的addArticle处理函数中,将multer解析出。
2025-04-21 17:50:26
1045
1
原创 Express项目实战大事件后台 API 项目(四)——文章分类管理
4. 实现更新文章分类的功能。初始化路由处理函数模块。模块中,定义并向外共享。① 定义新增文章分类的。实现删除文章分类的功能。模块中,定义并向外共享。实现获取文章分类的功能。模块中,定义并向外共享。模块中,定义并向外共享。实现新增文章分类的功能。验证规则模块中,定义。验证规则模块中,使用。
2025-04-19 21:34:54
642
1
原创 Express项目实战大事件后台 API 项目(三)——个人中心
旧密码与新密码,必须符合密码的验证规则,并且新密码不能与旧密码一致!实现更新用户基本信息的功能。模块中,定义并向外共享。模块中,定义并向外共享。模块中,定义并向外共享。① 定义更新用户头像的。验证规则模块中,定义。实现更新用户头像的功能。验证规则模块中,定义。
2025-04-18 15:59:16
901
原创 Express项目实战大事件后台 API 项目(二)——登录注册
在拦截非法数据方面,起到了至关重要的作用。单纯的使用的形式对数据合法性进行验证,效率低下、出错率高、维护性差。因此,推荐使用。
2025-04-16 20:42:35
942
原创 Express项目实战大事件后台 API 项目(一)——项目初始化
文件夹作为项目根目录,并在项目根目录中运行如下的命令,初始化包管理。路由模块中,只存放客户端的请求与处理函数之间的映射关系。路由处理函数模块中,专门负责存放每个路由对应的处理函数。运行如下的命令,安装特定版本的。对象,分别向外共享如下两个。通过如下的代码,配置解析。文件夹,用来存放所有的。文件夹,用来存放所有的。运行如下的命令,安装。格式的表单数据的中间。在项目根目录中,新建。在项目根目录中,新建。
2025-04-16 10:28:08
318
原创 Express学习笔记(六)——前后端的身份认证
在互联网项目开发中,如何对用户的身份进行认证,是一个值得深入探讨的问题。用户的信息通过 Token 字符串的形式,保存在客户端浏览器中。比如企业级网站,主要功能是展示而没有复杂的交互,并且需要良好的 SEO,则这时我们就需要使用服务器端渲染;日常生活中的身份认证随处可见,例如:高铁的验票乘车,手机的密码或指纹解锁,支付宝或微信的支付密码等。前端专注于 UI 页面的开发,后端专注于api 的开发,且前端有更多的选择性。Ajax 技术的广泛应用,极大的提高了用户的体验,可以轻松实现页面的局部刷新。
2025-04-14 21:24:51
1289
原创 Express学习笔记(五)——在项目中操作 MySQL
当用户执行了删除的动作时,我们并没有执行 DELETE 语句把数据删除掉,而是执行了 UPDATE 语句,将这条数据对应的 status 字段标记为删除即可。在 MySQL 8.0 版本之后,默认的认证插件从。认证方式,当客户端尝试连接使用新认证方式的 MySQL 服务器时,就会出现此错误。在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据。使用 DELETE 语句,会把真正的把数据从表中删除掉。在使用 mysql 模块操作 MySQL 数据库之前,所谓的标记删除,就是在表中设置类似于。
2025-04-14 16:52:08
819
原创 MySQL学习笔记(七)——事务
为了解决上述的问题,就需要通过数据的事务来完成,我们只需要在业务逻辑执行之前开启事务,执行完毕后提交事务。是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作。幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了 "不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读。):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。可以看到数据操作前后是一致的。
2025-04-10 21:10:32
631
1
原创 MySQL学习笔记(六)——多表查询
1).删除之前emp, dept表的测试数据2).执行如下脚本,创建emp表与dept表并插入测试数据创建dept表,并插入数据。
2025-04-10 17:03:30
888
原创 MySQL学习笔记(五)——函数和约束
上面我们介绍了数据库中常见的约束,以及约束涉及到的关键字,那这些约束我们到底如何在创建表、修改表的时候来指定呢,接下来我们就通过一个案例,来演示一下。的常见函数我们学习完了,那接下来,我们就来分析一下,在前面讲到的两个函数的案例场景,思考一下需要用到什么样的函数来实现?中已经给我们提供了,我们要做的就是在合适的业务场景调用对应的函数完成对应的业务需求即可。我们发现,父表的数据删除成功了,但是子表中关联的记录也被级联删除了。我们发现父表的记录是可以正常的删除的,父表的数据删除之后,再打开子表。
2025-04-08 20:39:00
764
1
原创 MySQL学习笔记(四)——DML、DQL和DCL
在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站,在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台都需要借助于数据库的分页操作。DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数。分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
2025-04-07 23:00:08
1208
原创 MySQL学习笔记(三)——图形化界面工具DataGrip
上述,我们已经讲解了通过DDL语句,如何操作数据库、操作表、操作表中的字段,而通过DDL语句执行在命令进行操作,主要存在以下两点问题:1).会影响开发效率;2).使用起来,并不直观,并不方便;所以呢,我们在日常的开发中,会借助于MySQL的图形化界面,来简化开发,提高开发效率。而目前 mysql主流的图形化界面工具,有以下几种:而本次课程中,选择最后一种DataGrip,这种图形化界面工具,功能更加强大,界面提示更加友好,是我们使用MySQL的不二之选。
2025-04-05 23:21:23
1159
原创 MySQL学习笔记(一)——MySQL下载安装配置
在这一部分,我们先来讲解三个概念:数据库、数据库管理系统、SQL。而目前主流的关系型数据库管理系统的市场占有率排名如下:Oracle大型的收费数据库,Oracle公司产品,价格昂贵。MySQL开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。SQL ServerMicrosoft公司推出的收费的中型数据库,C#.net等语言常用。
2025-04-04 19:00:30
900
原创 Express学习笔记(四)——同源和跨域详解
同源如果两个页面的协议域名和端口都相同,则两个页面具有相同的源。同源策略同源策略(英文全称 Same origin policy)是浏览器提供的一个安全功能。MDN 官方给定的概念:同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。
2025-04-03 14:11:22
1377
原创 Express学习笔记(三)——使用 Express 写接口
CORS (Cross-Origin Resource Sharing,跨域资源共享)由一系列HTTP 响应头组成,
2025-04-03 12:15:21
696
原创 Express学习笔记(一)——初识Express与路由
Express 是基于内置的 http 模块进一步封装出来的,能够极大的提高开发效率。在编写调试 Node.js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件。Express 的作用和 Node.js 内置的 http 模块类似,当基于 Node.js 编写了一个网站应用的时候,传统的方式,是运行。能,使用 Node.js 提供的原生 http 模块即可。
2025-04-01 21:43:23
1019
原创 Node.js学习笔记(三)——模块化
是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。
2025-03-31 22:35:40
926
原创 Node.js学习笔记(二)——Node.js内置模块
fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
2025-03-30 17:26:10
569
原创 Node.js学习笔记(一)——初识Node.js
Node.js 作为一个 JavaScript 的运行环境,仅仅提供了基础的功能和 API。的用户来说,推荐安装 Current 版本的 Node.js。安装包可以从 Node.js 的官网首页直接下载,进入到 Node.js 的官网首页(的“大宝剑”,有了 Node.js 这个超级 buff 的加持,前端程序员的。后,按下回车键,即可查看已安装的 Node.js 的版本号。),点击绿色的按钮,下载所需的版本后,双击直接安装即可。来说,推荐安装 LTS 版本的 Node.js。
2025-03-28 21:47:49
679
原创 后台管理系统vue2.0项目实战(一)——项目前置知识复习(element ui表单验证和Promise复习)
自定义校验规则怎么用validator是一个函数, 其中有三个参数 (rule(当前规则),value(当前值),callback(回调函数))// 根据value进行进行校验// 如果一切ok// 直接执行callbackcallback() // 一切ok 请继续// 如果不okcallback(new Error("错误信息"))根据以上要求,增加手机号第三位必须是9的校验规则// 自定义校验规则,例:增加手机号第三位必须是数字 9 的校验规则callback()
2024-11-25 11:39:51
1247
1
原创 鸿蒙开发学习笔记(二)——界面开发起步
build有且只能有一个根元素,且是容器组件。① 容器组件:行Row、列Column。.xxx) 设置输入框 type 类型。ArkUI(方舟开发框架)是一套。如:Row行、Column列等。② 基础组件:文字Text、图片。需求:实现登录或注册的排版 →。(设置文本超长时的显示方式)布局思路:先排版,再放内容。如:文字、图片、按钮等。5. 文字溢出省略号、行高。Image(图片数据源)2. 界面开发-布局思路。构建页面的最小单位就是。支持 网络图片资源 和。基础组件:界面呈现的。3. 组件的属性方法。
2024-10-25 22:11:13
392
原创 鸿蒙开发学习笔记(一)——鸿蒙开发环境准备与ArkTS基础快速入门
地址:https://developer.huawei.com/consumer/cn/不能使用内置关键字或保留字 (比如 let、const)把具有相同或相似逻辑的代码“包裹”起来,有利于。HarmonyOS官网 → 一探究竟 →。先定义,后使用 (变量、函数都是如此)的,可以告诉计算机我们要做的事情。编写代码 → 编译运行 → 查看效果。只能包含数字、字母、下划线、$,数组指定的类型和存储的数据类型要。对象:是一个可以存储多个数据的。安装、环境配置时,建议。是一门用于开发鸿蒙应用的。
2024-10-25 21:39:31
581
原创 深圳锐明技术前端开发笔试题
是浏览器的一种安全机制,旨在保护用户数据,防止恶意网站对其他网站的内容进行访问。具体来说,同源策略要求,只有在。将一个数组划分为3个数组,使其每个数组的和尽量相等,如数组[1,2,3,4],划分为[1,2],[3],[4]:当时间窗口结束时,输出当前的帧数,并重置计数器和时间,准备开始下一轮计数。:在回调函数中,每次调用时增加一个帧计数器,记录在特定时间内的渲染次数。:设置一个1秒的时间窗口,监测自上次计数以来经过的时间。完全相同的情况下,网页才能互相访问资源。将一个一维数组转化为树状对象,如。
2024-09-26 22:20:41
732
原创 React学习笔记(三)——React 组件通讯
② 通过 prop-types 可以在创建组件的时候进行类型检查,更合理的使用组件避免错误。① 理解props都是外来的,在使用的时候如果数据类型不对,很容易造成组件内部逻辑出错。② 给子组件标签添加属性,值为 state 中的数据。③ 子组件中通过 props 接收父组件中传递的数据。② props 中 children 属性的使用。校验接收的props的数据类型,增加组件的稳健性。通过 props 将父组件的数据传递给子组件。通过 props 将子组件的数据传递给父组件。
2024-09-20 10:39:46
1513
1
原创 浅谈vue2.0与vue3.0的区别(整理十六点)
个人实际开发中,使用下来感受到的区别和不同点,欢迎大佬们修正与补充。借用人民日报今年的广告语,“请你努力,为了你自己。
2024-09-16 22:50:32
3966
原创 React学习笔记(二)——React 组件
了解 React 组件作用,和创建组件的方式组件允许你将 UI 拆分为独立可复用的代码片段,并对每个片段进行独立构思。将页面按照界面功能进行拆分,每一块界面都拥有自己的独立逻辑,这样可以提高项目代码的可维护性。使用函数function使用类class掌握类组件中状态的定义与使用定义state属性定义组件状态,属于组件自己的数据,它的值是个对象。使用state的时候通过this。数据发生变化,驱动视图更新。super()// 给 this 增加一个属性 state。
2024-09-15 22:12:24
2006
原创 华雁智科前端面试题
此博客记录,秋招第一次很简单的手撕代码笔试题。哭死,希望能给个面试机会。一定能找到工作的。加油,多积累面试经验,借用人民日报今年的广告语,“请你努力,为了你自己。祝大家秋招都能收到offer。
2024-09-14 17:38:02
813
原创 React学习笔记(一)——React 入门
了解 react 的历史背景和基本概念React起源于 Facebook 的内部项目。因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在 2013 年 5 月开源了。React 是最流行的前端框架之一。对比近两年Vue 和 Angular的下载量,还有 2021 年开发者使用的 web 框架的比例,可以看到 React 是前端工程师应该必备技能之一,现在很多大厂也在使用它。
2024-09-13 15:06:03
2851
原创 Vue3.0项目实战(五)——大事件管理系统个人中心页面实现
ChatGPT 3.5 的使用 (4.0 使用方式一致,回答准确度更高,但付费,且每3小时,有次数限制)打开 vscode, 搜索并安装插件 Copilot。登录 github,试用 Copilot。Ctrl + enter: 查看更多方案。正常注册流程 (IP限制,手机号限制)谷歌搜索:chatgpt 免费网站列表。② 页面中校验后,封装调用。付费,免费使用30天。
2024-09-10 23:28:16
991
原创 Vue3.0项目实战(四)——大事件管理系统文章管理页面 - [element-plus 强化]
window.URL.createObjectURL(file):使用浏览器的 URL.createObjectURL() 方法,为传入的 file 对象(即用户选择的文件)生成一个本地的临时 URL。vue2.0 v-model 是 :value 和 @input 的简写,相当于传递了一个 value 属性给子组件,自定义的事件是 input 事件。立即将图片对象,存入 formModel.value.cover_img 中,将来点击发布按钮的时候,提交给后台的服务器。
2024-09-10 11:15:03
1418
原创 Vue3.0项目实战(三)——大事件管理系统首页 layout 架子与文章分类的实现
组件对外暴露一个方法 open, 基于 open 的参数,初始化表单数据,并判断区分是添加 还是 编辑。① 封装组件 article/components/ChannelEdit.vue。① 新建 api/article/article.js 封装获取频道列表的接口。① api/article/article.js 封装请求 API。④ 基于传过来的表单数据,进行标题控制,有 id 的是编辑。① api/article.js 封装接口 api。① api/user/user.js 封装接口。
2024-09-05 20:32:11
1766
7
原创 Vue3.0项目实战(一)——Vue3 大事件管理系统项目搭建
如何在 git commit 前执行 eslint 检查?使用 husky 这个 git hooks 工具如何只检查暂存区代码?使用 lint-staged 工具4. 目录调整4.1 目录调整默认生成的目录结构不满足我们的开发需求,所以这里需要做一些自定义改动。主要是以下工作:删除一些初始化的默认文件修改剩余代码内容新增调整我们需要的目录结构拷贝全局样式和图片,安装预处理器支持① 删除文件② 修改内容routes: []})
2024-08-25 21:07:04
2680
2
原创 React18学习笔记(三)——redux状态管理工具
组件中使用哪个hook函数获取store中的数据?组件中使用哪个hook函数获取dispatch方法?如何得到要提交action对象?执行store模块中导出的actionCreater方法4. Redux与React - 提交action传参4.1 需求说明组件中有俩个按钮 `add to 10` 和 `add to 20` 可以直接把 count 值修改到对应的数字,目标count值是在组件中传递过去的,需要在提交action的时候传递参数4.2 提交action传参实现需求。
2024-08-24 17:37:33
1713
原创 React18学习笔记(二)——react基础
1. 受控表单绑定1. 受控表单绑定① 准备一个React状态值② 通过value属性绑定状态,通过onChange属性绑定状态同步的函数。
2024-08-22 15:11:22
1372
原创 TypeScript学习笔记(三)——TypeScript 类型声明文件
今天几乎所有的 JavaScript 应用都会引入许多第三方库来完成任务需求。这些第三方库不管是否是用 TS 编写的,最终都要编译成 JS 代码,才能发布给开发者使用。我们知道是 TS 提供了类型,才有了代码提示和类型保护等机制。但在项目开发中使用第三方库时,你会发现它们几乎都有相应的 TS 类型,这些类型是怎么来的呢?类型声明文件类型声明文件用来为已存在的 JS 库提供类型信息。这样在 TS 项目中使用这些库时,就像用 TS 一样,都会有代码提示、类型保护等机制了。
2024-08-20 17:07:22
1126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人