- 博客(108)
- 收藏
- 关注
原创 8 SpringBoot进阶(上):AOP(面向切面编程技术)、AOP案例之统一操作日志
在AOP基础这个阶段,我们首先介绍一下什么是AOP,再通过一个快速入门程序,让大家快速体验AOP程序的开发。最后再介绍AOP当中所涉及到的一些核心的概念。什么是AOP?AOP英文全称:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,面向切面编程就是面向特定方法编程。那什么又是面向方法编程呢,为什么又需要面向方法编程呢?来我们举个例子做一个说明:比如,我们这里有一个项目,项目中开发了很多的业务功能。
2025-03-01 23:06:59
1148
1
原创 8 SpringBootWeb(下):登录效验、异步任务和多线程、SpringBoot中的事务管理@Transactional
参考视频什么是会话?在我们日常生活当中,会话指的就是谈话、交谈。在web开发当中,会话指的就是浏览器与服务器之间的一次连接,我们就称为一次会话。在用户打开浏览器第一次访问服务器的时候,这个会话就建立了,直到有任何一方断开连接,此时会话就结束了。在一次会话当中,是可以包含多次请求和响应的。比如:打开了浏览器来访问web服务器上的资源(浏览器不能关闭、服务器不能断开)第1次:访问的是登录的接口,完成登录操作第2次:访问的是部门管理接口,查询所有部门数据第3次:访问的是员工管理接口,查询员工数据。
2025-03-01 09:31:20
942
原创 1 什么是微服务?MybatisPlus框架
单体架构风格:我们之前的项目都是单体架构风格:微服务架构:大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是MybatisPlus.当然,MybatisPlus不仅仅可以简化单表操作,而且还对Mybatis的功能有很多的增强。可以让我们的开发更加的简单,高效。通过今天的学习,我们要达成下面的目标:简单来说,MybatisPlus可以
2025-02-25 00:46:38
901
原创 8 SpringBootWeb案例(中):文件上传(阿里云对象存储服务)、员工修改、SpringBoot中的配置文件详细讲解(yml配置文件)
在我们完成的新增员工功能中,还存在一个问题:没有头像(图片缺失)上述问题,需要我们通过文件上传技术来解决。下面我们就进入到文件上传技术的学习。文件上传技术这块我们主要讲解三个方面:首先我们先对文件上传做一个整体的介绍,接着再学习文件上传的本地存储方式,最后学习云存储方式。接下来我们就先来学习下什么是文件上传。参考视频文件上传,是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。
2025-02-23 23:44:47
873
原创 补充:文件上传、下载传输给前端之直接传递图片二进制数据:网络中的图片、音频、视频等非字符数据的传输
我们后端传的是个byte[],但是主流JSON序列化框架(如Jackson、Gson)在遇到byte[]类型时,会自动进行Base64编码变成字符串传给前端了(byte[]–>二进制数据–>安装Base64编码编码规则变成字符串),所以前端拿到的是一个乱起八遭的字符串,不过前端有工具可以将其变成图片展示。包含64个字符:大写字母(A-Z)、小写字母(a-z)、数字(0-9)、+和/,部分场景使用变体字符(如URL安全型将+//替换为-/_)。前面我们在学习Java的IO流的时候讲过字节流和字符流。
2025-02-23 23:02:42
903
原创 8 SpringBootWeb案例(上): 查询【分页功能(分页插件)】、删除、新增、修改
前面我们已经讲解了Web前端开发的基础知识,也讲解了Web后端开发的基础(HTTP协议、请求响应),并且也讲解了数据库MySQL,以及通过Mybatis框架如何来完成数据库的基本操作。那接下来,我们就通过一个案例,来将前端开发、后端开发、数据库整合起来。而这个案例呢,就是我们前面提到的Tlias智能学习辅助系统。在这个案例中,前端开发人员已经将前端工程开发完毕了。我们需要做的,就是参考接口文档完成后端功能的开发,然后结合前端工程进行联调测试即可。完成后的成品效果展示:准备工作部门管理员工管理。
2025-02-20 23:10:59
1041
1
原创 7 SpringBoot框架(中):依赖注入详解、SpringBoot中的日志管理、@Value 注解和@ConfigurationProperties 注解加载配置文件
提示:以下是本篇文章正文内容,下面案例可供参考# 设置根日志级别# 设置特定包的日志级别# 输出日志到文件logging.file.name=logs/app.log # 固定文件名logging.file.path=logs # 目录(自动生成 spring.log)# 日志格式# 日志文件滚动策略(仅对固定文件生效)如果需要更复杂的配置(如按时间/大小滚动日志、自定义过滤器),可以创建(Spring Boot 推荐此文件名以支持 Profile 配置)。Logback。
2025-02-18 21:21:50
1010
原创 反射进阶:反射机制详解:什么叫做运行时动态的加载操作类
甲公司开发的软件:这是一款支持插件的应用程序,可以根据配置文件中的插件名称动态加载插件。配置文件:用户或开发者可以在配置文件中指定插件名(例如插件的类名或者插件的标识符)。插件按钮:根据配置文件,软件的界面上会生成相应的插件按钮,用户点击按钮后,可以加载并执行插件。插件代码(乙公司插件):这些插件是由乙公司开发的,甲公司的软件需要能够加载并执行乙公司插件的代码,而这些插件代码可能是动态加载的。编译阶段:源代码(例如)会被编译成字节码(例如运行时:在运行时,会加载并实例化这个字节码文件。如果。
2025-02-17 00:34:08
945
原创 1 Java 基础面试题(上)
序列化是将对象转换为字节流的过程,这样对象可以通过网络传输、持久化存储或者缓存。ava提供了java.io.serializab1e接口来支持序列化,只要类实现了这个接口,就可以将该类的对象进行序列化反序列化是将字节流重新转换为对象的过程,即从存储中读取数据并重新创建对象,抽象类:聚焦代码复用,定义“是什么”,适合紧密相关的类族。接口:聚焦行为抽象,定义“能做什么”,适合松散的功能扩展。Java 8 后接口通过默认方法模糊了两者界限,但设计理念的本质差异仍存在。
2025-02-07 23:55:24
664
原创 6 maven工具的使用、maven项目中使用日志、pom导入项目
参考视频什么是maven?Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。Maven的作用?依赖管理方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题。统一项目结构提供标准、统一的项目结构项目构建标准跨平台(Linux、Windows、MacOS)的自动化项目构建方式maven提供了指令可以快速的将项目进行 编译、打包这些工作参考视频。
2025-02-07 23:25:11
1117
原创 4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)
本课程所有接口采用apifox模拟,全部使用的是B站-AJAX和黑马头条-数据管理平台这个里面的接口进行测试。
2025-02-04 23:33:52
631
原创 5 前端系统开发:Vue2、Vue3框架(中):Vue前端工程化组件式开发
当前最为主流的开发模式:前后端分离前端工程化: 是指在企业级的前端项目开发中,把前端开发所需的工具、技术、流程、经验等进行规范化、标准化。模块化:JS、CSS组件化:UI结构、样式、行为规范化:目录结构、编码、接口自动化:构建、部署、测试创建Vue项目选择你要将项目创建的所在目录打开cmd, 有两种创建方案命令行:vue create 项目名注意项目名不能有大写字母图形化界面:vue uistep1: 在你想要创建vue项目的目录使用管理员权限打开命令行界面,执行命令。
2025-02-04 21:12:51
1057
原创 5 前端系统开发:Vue2、Vue3框架(上):Vue入门式开发和Ajax技术
Vue的使用在前端想学习深入还是有很多要学习的,但我们重点不在前端。我们快速入门一下,能够简单使用就可以了,如果想深入了解这个十分重要的前端框架,就需要专门去找Vue这门课好好学习一下了。Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。前面学DOM操作,会发现相当繁琐,方法属性一大堆,不方便。因此就衍生出了Vue这么一个框架可以帮助我们简化DOM操作的书写。基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上Vue的学习
2025-02-04 21:12:32
960
原创 3 前端(中):JavaScript
概念:一门客户端脚本语言功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。JavaScript发展史:ECMAscript是一套统一的标准,类似与数据库中的SQL语法,通用的。所以将其理解为JavaScript基本语法也是没有错的。参考视频内部JS:外部JS:js文件使用.js后缀即可b.js学习变量前先来学习一下作用域的概念作用域各种语言:变量:一小块存储数据的内存空间Java语言是强类型语言,而JavaScript是弱类型语
2025-01-19 23:03:32
1324
原创 3 前端(上): Web开发相关概念 、HTML语法、CSS语法
在用户本地有一个客户端程序,在远程有一个服务器端程序如:QQ,迅雷…只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序VSCode在前端开发中使用最多,用这个来编辑html和css等前端的技术比较好用,还有很多前段技术都使用vscode快速可以配置很方便。Chinese (Simplified) Language Pack:适用于 VS Code 的中文(简体)语言包HTML CSS Support:在编写样式表的时候,自动补全功能大大缩减了编写时间JavaScript (ES
2025-01-12 23:38:50
1426
原创 python注意事项:range遍历越索引现象、反向切片和range反向遍历、列表边遍历边修改出现的问题
print(i) # 不会报错,但是也不会输出任何内容answer:不会报错,但是也不会遍历到任何内容。
2025-01-08 23:29:28
464
原创 Finall远程连接Linux服务器、安装python跑python代码
想要学习这个在Windows上远程连接linux服务器并上面配置python环境并跑python代码,那就需要一台远程服务器了。
2025-01-07 23:50:09
310
原创 Linux(上):基本知识篇
Linux系统内核(内核是免费开源的)内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。系统级应用程序(根据不同公司实现不同发行版不同,称为Linux发行版)系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。任何人都可以获得并修改内核,并且自行集成系统级程序提供了内核+系统级程序的完整封装,称之为Linux发行版。
2025-01-07 23:49:10
639
原创 0 导学 - JavaWeb开发导学路线
在这套传统的学习路线中(1)(2)(3)中很多技术都会被整合到(5)(6)这些现在比较流行的框架中。但是我们这里还是要学习这些基础才能更好的学习框架中对这些技术的应用,不然就只能速成不理解具体原理。先安装传统路线学习所有基础,再根据新路线学习当前流行技术。穿插整合二者一起学习。JavaWeb涉及的学习路线中框架很多,传统的学习路线。
2025-01-04 11:08:48
320
原创 2 Java操作数据库(上):JDBC基本使用、使用类加载器获取src下的文件路径(可以解决打包的路径问题)、JDBC处理事务、数据库连接池和Spring JDBC: JDBC Template
Java操作数据库有很多技术前几年使用比较多的就是JDBC这套san公司定义的规则近几年再JDBC的规则上又衍生出来了一些流行的框架。例如Mybatis这些这些我们都需要学习,但所有的都是基于JDBC的,所以我们先来学习单独使用JDBC是怎么做的,Mybatis这些操作数据库的框架能做的JDBC肯定也能做,只是代码复杂一点。所以我们先打好JDBC的基础再来学Mybatis这些框架就会更加简单了。
2025-01-02 23:38:36
443
原创 1 数据库(终):数据库管理员(数据可的备份与、DCL_管理用户)
命分行:语法备份: mysqldump -u用户名 -p密码 数据库名 > 保存的路径(.sql文件)还原:1.登录数据库2.创建数据库3.使用数据库4.执行文件 source 文件路径备份:看一下备份的.sql里面有什么?可以看到里面的其实就是将数据库里面的表重新创建并插入数据。所以这种恢复数据库的方式,需要我们重新创建数据库才行恢复:这样就恢复了。
2024-12-30 23:25:33
1132
原创 1 数据库(下):多表设计 、多表查询 + SQL中的with查询语法(MySQL8.0以后版本才支持这种新语法)+ 事务 + 数据库优化(索引优化)
一对多(多对一)多对多一对一下面我们也从这三个方面开始学习。参考视频参考视频概念:索引(index)是帮助数据库 高效获取数据 的 数据结构简单理解就是,一旦给表中的某些字段设置了索引,那么查询这些字段的查询速度会提高指数倍,当然牺牲的是空间换时间,并且进行insert、update、delete的效率会降低,因为需要维护更加复杂的数据结构。不过现在空间不值钱,在大数据量的情况下,查询效率才是最重要的。无索引就是全表扫描,一行一行遍历查找;
2024-12-30 21:02:07
1247
1
原创 1 数据库(中):DDL(数据库设计)、DML(增删改表中数据)、DQL(查询表中数据)单表基本语法
(1)对于一些离散型的字段,如男、女,一般不直接使用字符串,而是存一个标签,如:0-男,1-女这么做的原因是:直接存男、女就定死了,如果用标签我们可以在外部修改映射表,更加灵活,0- boy,1-girl;就像这样,更加灵活。(2)对于图片、或者一些大文件数据,我们不会直接存在数据库的表中,数据库中的表中只要存其url访问路径、或者硬盘路径.很显然这种设计很合理(3)对于后台管理表来说,有两个通用字段是最好加上,一个是数据创建时间,另一个是最后一次的修改时间。
2024-12-15 17:55:24
899
原创 1 数据库(上):MySQL的概述和安装、SQL简介、IDEA连接数据库使用图形化界面
常见基本概念名称说明简称数据库存储数据的仓库,数据是有组织的进行存储数据库管理系统操纵和管理数据库的大型软件SQL操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准什么是数据库?用于存储和管理数据的仓库。持久化存储数据的。其实数据库就是一个文件系统我们平时使用的内存、硬盘其实都可以看做数据库;数据库其实简单理解成硬盘也是可以的。代码开发中,数据管理部分管理内存数据,其实数据库也是干这个活的。这么一解释立马就知道数据库有什么用了。方便存储和管理数据。
2024-12-07 21:12:52
1080
原创 16 Java(junit)测试+Assert(断言测试)、枚举类、注解、javac编译和javap反编译命令、常量
在开始本节前,先来介绍一个java里面的编译和反编译命令不需要提供setXxx 方法,因为枚举对象值通常为只读对枚举对象/属性使用 final + static 共同修饰,实现底层优化枚举对象名通常使用全部大写,常量的命名规范.枚举对象根据需要,也可以有多个属性1 将构造器私有化,防止直接new出来2 去掉set方法,防止属性被修改;枚举类只能读取,不能修改3 在Season 内部,直接创建固定的对象,并且使用修饰/***//*
2024-12-07 14:57:00
812
原创 15 Java反射、动态代理
参考视频应用场景:IDEA里面的自动语法提示一个类有哪些成员变量、成员方法;一个方法里面的参数类型提示这些功能都是利用反射的功能实现的。看到这里你应该就明白反射的应用场景了,每次就是在书写封装各种框架会用到。什么是反射?一句话,就是能够动态访问类里面成员变量、方法的所有信息。【注】:这里的获取我们不是从java文件中获取的,而是从其对应的class字节码文件中获取的。所以先要学习怎么获取class字节码文件的对象。字节码对象:封装在Class类构造方法对象:封装在Constructor类。
2024-12-05 00:34:32
1021
原创 14 Java网络编程初识
本文仅仅会介绍网络编程的初识,更加复制的内容会在网络编程中详细讲述。网络编程涉及到的知识点很多,需要系统学习,所以这里只是Java中的网络编程做一个初步认识。网络编程三要素IP地址:每台主机在互联网上都有一个唯一标识;设备在网络中的地址,是唯一的标识。端口号:(应用程序在设备中唯一的标识)IP地址能确定发给那一台主机,但是不知道发送给哪一个软件。就需要规定好一个端口号,例如,主机A给主机B的qq发消息,那么主机A使用5080端口发送消息,主机B也就必须使用5080端口接受。
2024-12-02 17:50:51
1146
原创 0 补充:工具函数常用(标准化、独热编码)
sklearn 里面preprocessing(预处理模块),StandardScaler()可以将数据进行标准化,即转换为均值为0,方差为1的正态分布注意StandardScaler()只支持列标准化,即每一列都减去均值,然后除以方差,好像是不支持行标准化.fit_transform(data): 进行标准化.inverse_transform(data):返回标准化可以将经过标准化的特征数据转换回其原始形式。
2024-11-15 15:02:51
365
原创 pytorch + d2l环境配置
一直想写一篇 pytorch + d2l的深度学习环境配置。但一直都不是很顺利,配置过很多次,都会遇到一些各种依赖项的兼容性问题。但这个是没有办法的,各种开源包都在不断维护过程中,版本迭代中出现兼容性问题不可避免。下面我就给出我摸索出的一套配置:GPU版(CPU版倒是没有那么多问题)cuda11.8 + cudnn11.x(如果官网找不到11.8,就找11.x, 根据经验不跨大版本问题不大)
2024-10-24 00:10:11
890
原创 Python : 类变量、静态方法、类方法
学完Java过后,对python中有了一些疑惑。Java中有static修饰的静态变量和静态方法这两个很用用的知识点,特别是在共享内存的操作上面。Java静态变量和静态方法Java多线程:在Java中使用多线程频繁使用静态变量(共享内存)我就一直疑惑,Python中有没有类似的定义呢?因为真的好用采用Java中的那种风格写多线程。然后我就发现了Python中的这几个冷门知识点:类变量(Java静态变量)静态方法(Java静态方法)类方法:这个是Python提供的更加灵活的方法。
2024-10-04 20:10:18
1319
原创 qfluentwidgets组件库的配置与使用
这篇博客用来记录qfluentwidgets组件库的基本使用。如果你愿意花200块钱去官网github地址买一份作者的组件库,添加到了designer中了。那么本博客前面的所有配置对你都是没有用的,花钱能解决一切问题。如果不想花钱那就要废一点手脚了,主要是将组件添加到designer中去。
2024-10-01 17:51:49
3543
22
原创 13 Java多线程
先介绍一些基本概念。多线程:多就是字面意思,我们只要了解什么是线程就可以了线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。应用软件中互相独立,可以同时运行的功能其实,最简单的理解就是理解为,一个线程 = 一个任务 就好理解了。有了多线程,我们就可以让程序同时做多件事情进程(操作系统正在运行的一个软件就称为一个进程,例如QQ):进程是程序的基本执行实体(可以这么理解,每一个运行的软件就是一个进程(当然,也有软件使用多进程))
2024-09-30 12:11:46
1085
原创 4 常用控件
你可以通过设置选择行为来实现这一点,并使用selectedItems()方法获取所有选中的项。item 方法可以指定位置的单元格对象(QTableWidgetItem) ,再调用这个对象的 text 方法,就可以获取文本内容,比如。当用户修改了一个单元格的内容,会发出 cellChanged 信号,并且携带参数指明该单元格的行号和列号。代码中可以使用 rowCount 方法来获取表格所有的 行数 ,比如。可以使用 columnCount 方法来获取表格所有的 列数 ,比如。
2024-09-24 17:57:02
695
原创 3 pyqt5 Layout布局(保证主界面缩放各组件也对应缩放)== 主要有Qt Designer和完全代码设置两种设计方式(根据自己情况选择即可)
本节我们的http测试的例子,只实现界面方面的逻辑,底层不用管。我们主要的目的是通过这个例子设计界面布局。我们前面写的界面程序有个问题,如果你用鼠标拖拽主窗口边框右下角,进行缩放,就会发现里面的控件一直保持原有大小不变。这样会很难看。我们通常希望,随着主窗口的缩放, 界面里面的控件、控件之间的距离也相应的进行缩放。Qt是通过界面布局Layout类来实现这种功能的。
2024-09-23 21:56:26
716
原创 11 Java文件处理之写入、读取:IO流(下):Commons-io和Hutool(好好学习这个,特别爽) Jar包(IO流中一个十分好用的两个JAR包)、手动导Jar包流程
step1:上网上下载第三方Jar包,参考视频这里我们已经下载好了:Step2:在模块(项目)这一级下面新建一个lib文件夹(目录)并将上面的Jar包粘贴到下面step3:右键添加为库step4:成功后可以看到Jar包能展开就是成功了Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。作用:提高IO流的开发效率,提供一些好用的第三方接口apache开源基金组织提供了很多的Java开源的框架供全世界Java开发者使用。
2024-09-19 17:37:00
702
空空如也
window下安装成功pytorch
2023-10-30
Windows11安装pytorch和d2l包
2023-10-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人