- 博客(60)
- 收藏
- 关注
原创 vue3中使用mqtt
MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议,通常用于连接物联网设备和应用程序之间的通信。它最初由IBM开发,现在由OASIS(Organization for the Advancement of Structured Information Standards)进行标准化。MQTT的工作原理很简单:它采用发布/订阅模式,其中设备(称为客户端)可以发布消息到特定的主题(topics),而其他设备可以订阅这些主题以接收消息。
2024-12-08 19:50:12
964
原创 mybatis代码生成器
MyBatis-Plus 代码生成器基于模板引擎,可以自动生成以下内容:实体类:对应数据库表的 Java 实体类。Mapper 接口:用于数据库访问的 Mapper 接口。Mapper XML:与 Mapper 接口对应的 SQL 映射文件(可选)。Service 和 ServiceImpl:业务逻辑层的接口和实现类。Controller:处理 HTTP 请求的控制层代码(可选)。通过代码生成器,开发者只需要配置好数据库连接和表名等信息,即可自动生成一套基础的代码结构,节省大量重复性工作。
2024-12-06 22:20:52
723
原创 基于Vue3、ByteMD打造掘金同款markdown编辑器(二)
预览功能ByteMD编辑和预览插件分别使用的是Editor和Viewer 即:import { Editor, Viewer } from '@bytemd/vue-next'预览时只需把编辑时value与plugins赋值即可<template> <Viewer ref="markDownRef" :locale="zh" :value="value" :plugins="plugins" /></template><script setup
2024-12-05 16:02:03
810
1
原创 基于Vue3、ByteMD打造掘金同款markdown编辑器(一)
/ 内容控件所支持的特殊功能插件列表,如:支持代码高亮、图片优化等。插件作用:支持GFM(自动链接文字、删除线、表格、任务列表)通过定义uploadImages实现图像上传。支持Gemoji短代码。
2024-12-05 15:24:48
979
原创 SSE基础配置与使用
*Server-Sent Events (SSE) **是一种轻量的服务器向客户端推送消息的机制,基于 HTTP 协议实现单向通信,适用于需要实时更新的场景。实时数据流更新实时通知或消息推送GPT-3/4 等 AI 模型的流式输出SSE 的优势简单性:基于 HTTP,使用简单。效率:相比 WebSocket,SSE 对于服务器资源的消耗较小。浏览器支持:现代浏览器均支持 SSE。自动重连:SSE 有内置的自动重连机制,连接断开时,浏览器会自动尝试恢复。
2024-11-30 16:05:16
1396
原创 二分基本实现
输入:1 2 3 4 5 6 7 8 9 10 6。例2:n个数字中最早出现m的位置(最小下标)例3:n个数字中最晚出现m的位置(最大下标)例1:1-10中找6。
2024-11-22 22:50:03
380
原创 尚庭公寓-小程序接口
导入代码模块包名/路径说明controllerweb-app略voweb-appView Object,用于封装或定义接口接受及返回的数据结构。
2024-11-05 20:49:52
907
原创 尚庭公寓-后台管理系统
7. 项目开发7.1 项目初始化7.1.1 数据库初始化创建数据库在MySQL中创建一个lease数据库,建库语句如下CREATE DATABASE lease CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;导入数据库脚本将资料中的lease.sql脚本导入lease数据库,其中包含了建表语句和少量的原始数据。7.1.2 创建工程按照如下目录结构创建一个多模块的Maven工程。lease├── common(公共模块——
2024-11-05 20:04:44
699
原创 尚庭公寓-开发准备
6. 开发准备6.1 准备开发环境项目开发会用到MySQL、Redis、MinIO,本章主要内容就是部署三者,部署环境为Linux虚拟机。6.1.1 准备Linux虚拟机6.1.1.1 Linux快速入门Linux入门相关内容可参考尚硅谷Linux基础。6.1.1.2 开发环境要求准备两台Linux虚拟机——server01和server02,具体要求如下提示开发阶段只需要一台虚拟机即可,另外一台留到后序的项目部署阶段使用。实际操作时,可先按要求准备一台,然后直接克隆得到第二台服务器。
2024-11-04 16:28:42
812
原创 使用Markdown-it插件实现在页面渲染markdown
Markdown-it 是一个 javascript markdown 解析器,导出一个函数,可以生成纯 HTML,人们可以随意使用。如 GitHub 页面所述,它还具有大量插件和功能。用它制作一个Vue 组件非常容易,唯一的要求是在设置一些参数后安装和导入markdown-it函数并使用该render方法。原因是: ‘vue-xxx’文件可能不是.ts文件而是.js文件。在目录src中创建shims-vue.d.ts文件。执行pnpm run build 出现如下异常。
2024-10-20 12:31:03
1604
原创 WebSocked基础
WebSocket 是基于 TCP 的一种新的应用层网络协议。它提供了一个全双工的通道,允许服务器和客户端之间实时双向通信。因此,在 WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。
2024-10-18 23:27:57
1126
原创 尚庭公寓-数据库设计
数据库设计中最常采用的模型为,简称ER模型。其核心思想是将现实世界中的复杂数据表示为一组实体,并描述这些实体之间的关系。通常对应现实世界中的一个,例如:学生、班级、教师、课程。每个实体都包含一组,这些属性用于描述实体,例如学生实体包含姓名、年龄、性别等属性。用于描述各实体之间的联系,例如学生和班级之间存在从属关系。其中可分为三种,例如学生和班级之间的关系为、学生和课程之间的关系为。实体关系模型通常使用实体关系图(ER diagram)进行表示。
2024-09-24 08:54:22
936
原创 尚庭公寓-前置内容
本项目的技术架构如下图所示。项目采用前后端分离的模式,下面介绍各模块用到的技术。前端框架:VUE3后端框架:Spring Boot数据库访问:MyBatis、MyBatis PlusMyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。数据存储关系型数据库:MySQL缓存:Redis对象存储:MinIO对象存储。
2024-09-23 22:00:08
889
原创 Linux基础
Linux中的所有文件均有严格的访问权限控制,只有当用户拥有某个文件的相关权限时,才可对文件执行相关操作。权限系统相关概念用户和用户组在Linux系统中注册的个体称为一个用户,例如root和atguigu,除此之外还能使用useradd <用户名>命令创建新的用户。每个用户都可以属于一个或多个用户组,可以使用groups <用户名>命令查看用户所属的组,使用usermod -g <新组名> <用户名>修改用户所属组。每个文件或者目录都有一个所属用户和一个所属组。文件权限。
2024-09-18 19:31:55
1689
原创 Servlet
第五章 Servlet一 Servlet简介1.1 动态资源和静态资源静态资源无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源. 例如:html css js img ,音频文件和视频文件动态资源需要在程序运行时通过代码运行生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servlet,Thymeleaf … …动态资源指的不是视图上的动画效果或者是简单的人机交互效果生活举例去蛋糕店买蛋糕直接买柜台上已经做好的 : 静态资源和柜
2024-09-17 12:09:55
1444
原创 XML_Tomcat_HTTP
1.创建SAXReader对象2. 解析XML获取Document对象: 需要传入要解析的XML文件的字节输入流3. 获取文档的根标签4. 获取标签的子标签//获取所有子标签//获取指定标签名的子标签List<Element> sonElementList = rootElement.elements("标签名");5. 获取标签体内的文本6. 获取标签的某个属性的值String value = element.attributeValue("属性名");
2024-09-15 13:15:46
1817
原创 JDBC数据库连接技术
注册驱动【依赖的驱动类,进行安装】获取连接【Connection建立连接】创建发送SQL语句对象【Connection创建发送SQL语句的Statement】发送SQL语句,并获取返回结果【Statement 发送sql语句到数据库并且取得返回结果】结果集解析【结果集解析,将查询结果解析出来】资源关闭【释放ResultSet、Statement 、Connection】
2024-09-13 22:15:36
1248
原创 网站设计不好看?不如试试CSS颜色渐变效果
随着现代审美的不断改进,前端页面的设计要求也越来越多,为了使网站更富有设计感,也就请出了这篇文章的主角,我们可以通过几个案例来看看这位主角的“技能”京东:上下线性颜色渐变装饰背景左右线性颜色渐变装饰按钮CSS 线性渐变(Linear Gradients)可以沿着一条直线显示两种或多种颜色的过渡效果,这种效果在创建按钮、背景或装饰性元素时特别有用,可以为你的网页设计增添视觉上的吸引力和深度。基本语法direction:定义渐变的方向或角度color:渐变颜色position:渐变融合位置。
2024-09-10 14:11:16
923
原创 tailwindcss
Tailwind CSS 是一个可定制化的 CSS 框架,最大的特点是功能类优先,和我们知道的bootstrap,element ui,antd,veui等框架一样。将一些CSS样式封装好,用来加速我们开发的一个工具。简单理解 TailwindCSS 就是 CSS 的 lodash, 他是一个增强工具类,你可以用原子类的方式写样式,也可以基于 PostCSS 作为工具函数做 Mixin。
2024-08-31 21:18:22
4510
原创 面试高频-深拷贝和浅拷贝
什么是深拷贝?什么是浅拷贝?深拷贝:深拷贝是对于对象的一个深度的复制,但是说复制其实不太准确,因为深拷贝从里到外都已经是一个新的对象了,与其说是复制,不如说是“照葫芦画瓢”,照着原本的对象创建出的一个新的对象,而新的对象对于原本的对象只不过是进行属性上的赋值,而不是复制,遇到基本类型就赋值,遇到引用数据类型就递归遍历到基本数据类型,再赋值,白话来说就是深拷贝出来的对象不管做任何修改都不会影响原对象。浅拷贝。
2024-08-19 20:47:25
1311
原创 sku算法实现
目前电商平台的业务中,只要有商品,不可避免的会遇到 sku方面功能。这篇文章就从理论到实践,从商品创建到商品购买,手把手带你实现 SKU 相关的“核心算法”。让我们看看实际场景:有了上图规格选中预处理,就能够帮助用户在购买商品时,直观的了解到商品是否可以购买。在我们实际开发过程中,商品创建页会先进行规格组装,商品购买页会对规格选择做处理。规格组装通过规格组合成 SKU 集合,规格选择根据规格内容获取库存数据量,计算 SKU 是否可被选择,两者功能在电商流程中缺一不可。
2024-08-16 21:33:14
1778
原创 尚品汇后台项目
使用托管github的模板文件简洁版: https://github.com/PanJiaChen/vue-admin-template加强版: https://github.com/PanJiaChen/vue-element-admin模板的文件与文件夹认知【简洁版】1.下载模板2.下载依赖npm i3.运行项目npm run dev package.json文件里面有写报错解决:cnpm install --save core-js4.文件夹介绍build。
2024-08-09 20:13:18
1160
原创 解决application.properties 中文乱码问题
这个配置文件,发现昨天编写的中文内容出现了下面乱码的情况,于是开始寻找解决方法。昨天开始学习SpringBoot,对配置文件。3、保存退出——>重新启动IDEA 再次查看。进行了一些编码,今天来的时候再次打开。
2024-08-05 17:30:57
1793
原创 SpringBootWeb AOP
我们接着继续学习@Transactional注解当中的第二个属性propagation,这个属性是用来配置事务的传播行为的。什么是事务的传播行为呢?就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行事务控制。例如:两个事务方法,一个A方法,一个B方法。在这两个方法上都添加了@Transactional注解,就代表这两个方法都具有事务,而在A方法当中又去调用了B方法。
2024-08-05 17:21:48
1152
1
原创 SpringBootWeb登录认证
什么是会话?在我们日常生活当中,会话指的就是谈话、交谈。在web开发当中,会话指的就是浏览器与服务器之间的一次连接,我们就称为一次会话。在用户打开浏览器第一次访问服务器的时候,这个会话就建立了,直到有任何一方断开连接,此时会话就结束了。在一次会话当中,是可以包含多次请求和响应的。比如:打开了浏览器来访问web服务器上的资源(浏览器不能关闭、服务器不能断开)第1次:访问的是登录的接口,完成登录操作第2次:访问的是部门管理接口,查询所有部门数据第3次:访问的是员工管理接口,查询员工数据。
2024-08-04 18:43:48
1927
原创 SpringBootWeb案例-2
文件上传,是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。在我们的案例中,在新增员工的时候,要上传员工的头像,此时就会涉及到文件上传的功能。在进行文件上传时,我们点击加号或者是点击图片,就可以选择手机或者是电脑本地的图片文件了。当我们选择了某一个图片文件之后,这个文件就会上传到服务器,从而完成文件上传的操作。
2024-08-04 18:21:21
870
原创 SpringBootWeb案例-1
前面我们已经完了基础的分页查询,大家会发现:分页查询功能编写起来比较繁琐。查询总记录数指定页码的数据列表在Service当中,调用Mapper接口的两个方法,分别获取:总记录数、查询结果列表,然后在将获取的数据结果封装到PageBean对象中。大家思考下:在未来开发其他项目,只要涉及到分页查询功能(例:订单、用户、支付、商品),都必须按照以上操作完成功能开发结论:原始方式的分页查询,存在着"步骤固定"、"代码频繁"的问题解决方案:可以使用一些现成的分页插件完成。
2024-08-04 18:12:38
1009
原创 Mybatis02
性能更高更安全(防止SQL注入)性能更高:预编译SQL,编译一次之后会将编译后的SQL语句缓存起来,后面再次执行这条语句时,不会再次编译。(只是输入的参数不同)更安全(防止SQL注入):将敏感字进行转义,保障SQL的安全性。在页面原型中,列表上方的条件是动态的,是可以不传递的,也可以只传递其中的1个或者2个或者全部。而在我们刚才编写的SQL语句中,我们会看到,我们将三个条件直接写死了。如果页面只传递了参数姓名name 字段,其他两个字段 性别 和 入职时间没有传递,那么这两个参数的值就是null。
2024-08-03 21:25:19
692
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人