- 博客(58)
- 收藏
- 关注
原创 《历史代码分析》5、动态控制列表的列
如果需要记录列的顺序,则需要用新的一张表,来记录每个老师设置的顺序,不吹了,基本上功能都是这样子,其实不管怎么样,前端都需要做判断,下次聊。后端可以在每个老师登录时,获得到她们要显示的列,前端需要控制哪个列名显示,但是这种方法,需要前端判断,前端百分百不愿意做判断,今天我们讲一下,动态展示列表的列,因为找不到代码了,所有本篇用图展示。上面的功能,我们应该如何实现,其实最简单的方式,就是记录每个老师她们要显示的列,保存到数据库中,如下。上面的操作考虑到前端,下面继续瞎说,
2025-03-12 23:53:55
439
原创 《历史代码分析》4、发起Http请求
此工具类应该是复制网络上的某博主的代码,只能说简单好用,提供了常用的请求方法。但是,目前推荐使用开源的Hutool工具库,它包含许多常用的操作,提高开发效率,内网开发除外。本系列《历史代码分析》为工作中遇到具有代表性的代码。
2025-03-09 16:45:04
142
原创 《历史代码分析》3、生成简单的Word文档
本系列《历史代码分析》为工作中遇到具有代表性的代码。今天我们讲一下生成简单的Word文档,使用开源的itext库,2022年,此库的作者Bruno Lowagie已将iText Group公司股份全部卖给了。,所以本示例中的方法,无法保证在新版本中存在。在pom.xml中引入库。
2025-03-07 10:21:42
255
原创 《历史代码分析》2、接口结果封装
这段代码定义了一个名为 的基础类,它是一个通用的响应类,用于封装接口返回的结果。 类是一个通用的响应类,提高了代码的可读性。同时,使用 枚举类来管理响应状态。
2025-03-03 09:15:00
359
原创 《历史代码分析》1、接口安全校验-拦截器的使用
这段代码定义了一个名为的拦截器,它实现了 Spring 的接口。该拦截器的主要功能是在处理 HTTP 请求之前,对请求头中的签名信息进行验证,以确保请求具有合法的访问权限。这段代码是定义一个拦截器,实现了接口,主要是在处理HTTP请求之前,对请求头的中签名信息进行校验,只有检验通过,才能访问接口。注意,肯定有不需要检验的接口,如登录功能,所以需要配置忽略拦截路径,本文不介绍。
2025-03-02 19:42:08
486
原创 Oracle 数据库常见操作技巧
在企业级应用开发中,Oracle 数据库作为一款功能强大且广泛使用的关系型数据库管理系统,掌握其常见操作技巧对于提升数据处理效率和应用性能至关重要。本文将围绕一系列 Oracle 数据库操作,结合具体代码进行详细解析。
2025-02-19 11:19:48
1055
原创 MyBatis Plus中XML复杂映射,一对多,多中一对一
通过resultMap,MyBatis 让我们能轻松处理数据库和 Java 对象之间复杂的关系。无论是一对多,还是多中嵌套一对一,都能安排得明明白白。但在编写resultMap映射代码时,需要注意上述提到的潜在问题,确保代码的准确性和可维护性。这不仅让我们的代码更简洁、易读,还提高了开发效率。下次你在处理数据库和 Java 对象交互的时候,不妨试试用resultMap来构建这些关系。
2025-02-18 08:15:00
546
原创 手动分页代码解析
通过对这段手动分页代码的详细解析以及问题分析,我们了解了手动分页的实现原理、关键步骤以及可能存在的不足。在实际开发中,需要根据项目的具体需求、数据量大小以及系统资源等因素,权衡是否使用手动分页方式,并注意对代码进行优化和完善,以提升系统性能和稳定性。。
2025-02-18 00:00:00
719
原创 Java 集合数据处理技巧:使用 Stream API 实现多种操作
在 Java 开发中,对集合数据进行处理是非常常见的需求,例如去重、排序、分组、求和等。Java 8 引入的 Stream API 为我们提供了一种简洁、高效的方式来处理集合数据。本文将详细介绍如何使用 Stream API 实现多种集合数据处理操作,并给出相应的代码示例。
2025-02-17 18:31:03
948
原创 《Nuxt.js 实战:从放弃到入门》六、打造个性化文字转图片工具
这个工具提供了一个直观的界面,允许用户输入文本,并对生成图片的多个方面进行个性化设置,包括字体样式、大小、颜色,背景颜色、图片尺寸、水印设置和边距设置等。用户设置完成后,可以点击 “生成图片” 按钮,工具会将输入的文本按照预览的样式生成图片,并以 ZIP 文件的形式下载。使用ref 定义了多个响应式状态,用于存储用户输入的文本、字体样式、背景设置等信息。// 其他状态...用户可以根据自己的需求对字体、颜色、背景、水印等进行个性化设置,生成独具特色的图片。。
2025-02-17 12:04:47
920
原创 《Nuxt.js 实战:从放弃到入门》五、还在为图片裁剪发愁?用它吧!
设计目标:图片裁剪功能页面旨在实现自由裁剪、固定比例裁剪等丰富功能,为用户提供高效、便捷的图片处理体验。页面使用 Element Plus 组件库搭建,确保界面美观且交互易用,提升用户操作的流畅性和满意度。添加到导航栏:在Header.vue中添加图片裁剪页面的导航,方便用户在不同图片处理功能页面间快速切换。代码托管地址:https://github.com/outeasy/outeasy/releases/tag/v0.5
2025-02-16 23:43:48
695
原创 《Nuxt.js 实战:从放弃到入门》四、轻松制作朋友圈九宫格图片
设计风格:图片分割功能页面将参考某网页的设计风格,使用 Element Plus 组件库实现界面,旨在确保用户体验流畅,同时保证界面的美观性与易用性。页面功能:图片上传区域:支持用户将图片直接拖拽到指定区域进行上传,也可点击上传。仅支持 JPG 和 PNG 格式,文件大小限制为 10MB。在代码中引入jszip库,并修改downloadAll函数以实现 ZIP 文件的创建和下载:添加到导航栏:在Header.vue中添加图片分割页面的导航,方便用户在不同功能页面间切换。
2025-02-16 02:00:00
562
原创 《Nuxt.js 实战:从放弃到入门》三、超实用! 打造图片压缩神器
设计风格:图片压缩功能页面将参考网络部分网站的设计风格,采用 Element Plus 组件进行开发,以确保界面美观且易用。页面功能:拖拽上传区域:支持用户将图片直接拖拽到指定区域进行上传,也可点击上传。图片压缩选项:通过滑块控制压缩质量,用户可根据需求调整。批量图片处理功能:支持同时上传和压缩多张图片。
2025-02-15 21:41:57
850
原创 从手动到自动:代码多平台同步的最终秘籍
在日常开发中,我习惯将代码存储在 Github 上。然而,由于网络访问的限制,时常会遇到无法访问的情况。为了确保其他用户能够顺利访问我的代码,我期望在向 Github 提交代码时,能够同步将代码推送到多个代码托管平台,如 Gitee、Gitlab、Bitbucket 等。
2025-02-15 08:30:00
474
原创 《Nuxt.js 实战:从放弃到入门》二、Element Plus 集成
在项目开发过程中,引入公共头部和脚部组件,有助于实现页面布局的统一,提升用户体验。以下是具体的实施步骤和相关代码。首先,需要创建一个目录,用于存放相关组件文件,为项目文件结构提供清晰的组织方式。创建 Header.vue 组件Header.vue 组件定义了页面的公共头部部分,包含导航链接等内容。其代码如下:创建 Footer.vue 组件Footer.vue 组件定义了页面的公共脚部部分,包含版权信息和相关链接。其代码如下:
2025-02-15 00:30:00
933
原创 《Nuxt.js 实战:从放弃到入门》一、项目初始,图片尺寸缩放
在开始之前,确保你的开发环境已经安装了以下工具:同时,为了方便管理 Node.js 版本,推荐安装 (Node Version Manager),安装命令如下:安装完成后,重新打开终端或者执行 使其生效。环境搭建好后,就可以开始创建 Nuxt.js 项目啦。打开终端,依次执行下面这些命令:这些命令分别是什么意思呢?项目创建好后,会有一些初始文件。比如app.vue文件,它的初始代码如下:执行启动服务,就能在浏览器里看到默认页面了。这个默认页面是 Nuxt.js 帮我们生成的,展示了一
2025-02-14 14:01:47
931
原创 关于FSGithubPNG生成外链时描述出现路径问题
之前在FSGithubPNG上添加一个新的功能,就是上传图片后生成的外链可以是Markdown格式的图片链接,
2025-02-13 15:00:38
479
原创 还在用 Cursor?免费用 Trae 打造贪吃蛇游戏
各位程序员小伙伴们,还在为寻找高效的代码生成工具而发愁吗?今天给大家介绍一款能替代 Cursor 的神器 ——Trae,它是一款强大的 AI 代码生成器。目前,Trae 官网仅提供 MacOS 系统的安装包,Mac 用户们有福啦!。
2025-02-13 10:15:00
553
原创 解锁AnythingLLM与DeekSeek
你是否曾想拥有一位全能 AI 伙伴,不仅能陪你畅聊、答疑解惑,还能根据你的独特需求,定制专属知识库,成为你的“超级大脑”?如今,随着人工智能的飞速发展,这一愿景已然成为现实。今天,让我们走进 AnythingLLM 与 DeekSeek 的智能世界,探索如何利用它们打造属于自己的 AI 助手。
2025-02-12 12:00:20
703
原创 手把手教你本地部署Deepseek,开启AI自由探索之旅
Deepseek 的不同版本对硬件要求不同,以下为推荐配置:操作系统:推荐 Windows、Linux(Ubuntu、CentOS)以获得最佳兼容性。必备工具:Windows:下载 .msi 安装包,按照向导完成安装。macOS:下载 .dmg 安装包,将 Ollama 拖入 “Applications” 目录。Linux:使用终端执行 。验证安装:运行 确认 Ollama 安装成功。选择合适的模型版本,例如 。配置参数,如温度(控制生成随机性)、最大生成长度、Top-p 采样
2025-02-12 02:24:39
418
原创 爆火的DeepSeek,你真的会用吗?
DeepSeek 以其独特的推理型大模型、强大的功能和广泛的应用场景,为我们的学习、工作和生活带来了极大的便利。它不仅能够快速解答问题,还能提供深入的分析和辅助创作。当然,合理使用 DeepSeek,了解它的优势与局限,才能真正发挥其最大价值。如果你也有使用 DeepSeek 的经验,欢迎在评论区分享你的心得,让我们一起探索 AI 的无限可能!
2025-02-11 13:06:32
590
原创 借助 Deepseek,30 分钟打造超实用 GitHub 图床应用
在蛇年新春之际,我想和大家分享一个有趣的项目成果。这是一款基于 FS-Tool-Pro 项目代码改造而成的 GitHub 图床应用。借助 Deepseek 工具,我仅仅通过一些简单的提示,利用其生成的代码,经过 30 分钟的测试,这款简洁实用的应用就成功诞生了。希望这个项目能在新的一年里为大家带来帮助,也欢迎大家一起交流探讨!
2025-02-10 12:02:47
193
原创 炸裂!AI 工具打造的个人桌面应用,功能大揭秘!
你可以在桌面创建任意数量的标签文本,并且能够自由移动其位置。以上便是该工具的基本功能展示。除此之外,应用还配备了菜单栏,包含配置、日志、说明等选项。基本的功能如上图所示,另外,应用还提供了悬浮球和托盘图标,方便你进行快捷操作。在后续开发过程中,我新编写了一个 Github 图床应用。为了提高代码的复用性和可维护性,我将两个应用中的共同逻辑代码进行了提取,封装成了一个独立的 Python 包,并将其发布到了 PyPI 上,这个包的名称为fs-base。
2025-02-10 10:22:46
509
原创 PySide6 项目开发全攻略:托盘图标&悬浮球
系统托盘图标:当应用窗口最小化时,程序会驻留在系统托盘区域。用户可通过右键点击该图标,呼出包含多种操作选项的菜单,便于快捷操作。桌面悬浮球:在关闭主界面后,系统会自动生成一个悬浮于桌面的小球。该悬浮球为用户提供了便捷的交互入口,可快速唤起隐藏的主界面。项目结构│ ├── app_mini.ico # 悬浮球图标│ └── app_tray.ico # 托盘图标├── app_mini.py # 悬浮球实现悬浮球代码实现(app_mini.py)import sys。
2025-02-09 14:14:33
385
原创 PySide6 项目开发全攻略:打造你的文件重命名神器
家人们,今天来给大家唠唠如何用 PySide6 打造一个超实用的文件重命名工具。这篇文章适合想搞点 GUI 开发的 Python 小白,也能帮有经验的大佬查漏补缺。话不多说,咱们开整!
2025-02-08 11:32:56
1016
原创 技术博客架构升级:解锁高效写作新体验
最近我对自己的技术博客架构做了一次重要升级,实现了文章内容与静态网站生成器的完全解耦。这个方案让写作回归纯粹,同时保持了自动化部署的优势。
2025-02-07 13:51:15
326
原创 如何实现Oracle先组内排序然后再组外排序
问题描述工作中遇到一个问题,因为我本人的SQL技术太差了,写了好久,都没有处理好,大概的需求如下,有一个列表,根据一个字段排序,排序后的结果,再根据字段排序。问题分析为了让读者能够充分理解这个问题,先分解问题原始数据如下:序号名称部门入职时间等级1小明开发部2012-1012小丽账务部2013-0113小华开发部2021-0134小红开发部2001-0125小张账务部2022-0121、先根据部门分组,
2022-04-29 14:23:57
1887
原创 BUG记录-多线程对事务的影响有多么大?
问题描述有一天,测试妹子W向我提了一个BUG,问题描述如下,当操作动作D时,动作D可以看作更新,更新我当前选择的那一条数据,妹子W看到操作D成功页面中多出一条一样的数据,期望的结果是只会更新当前选择行的数据,并不会新增多余的数据。问题原因开始的时候,我认为代码有问题,查看一下代码,应该没有太大的问题,普通操作动作D时,数据会更新,不会新增多余的数据,但是在出现异常时,这个问题,就会复现出来,我当前猜想应该有事务有关系。现在我先说明一下,动作D的业务逻辑,当我们点击动作D时,首先会调用更新操作,更新数
2021-10-14 13:25:00
436
1
原创 如何使用FTP中的模板文件和EasyPOI来导出Excle?
问题描述因工作需要导出Excel文件,使用技术为EasyPOI,EasyPOI是一个非常好的导出文件工具,官网提供非常详细的使用文档,在项目中使用EasyPOI的模板导出功能,官方提供的示例代码中,模板的路径都是本地,我使用时也是把Excle模板文件放在本地,因为之前需要导出的地方,不是很多,模板文件放在本地也没有太大问题,但是由于现在需求变更,会有大量的模板需要导出,如果放在本地会造成项目容量变大。现在想把导出的模板保存在远程的FTP服务中,EasyPOI读取FTP的中模板文件生成Excle文件。解决
2021-07-25 16:07:24
275
原创 Ant Design中使用Upload上传组件如何自定义文件列表展示位置
软件环境macOS Big Sur 11.1React 16.12.0Ant Design 4.10.0实际效果现有一个需求,是上传文件,点击浏览文件按钮,选中文件后,在按钮的上方显示,上传的文件列表,如下图所示当前效果目前使用阿里的Ant UI组件库,使用其中的上传组件,官方提供的示例,如下图如示本地使用后,如下图所示如何才能实现,我们需要的效果呢,Google了好多文章,找到了一种方式,就是重写itemRender方法,自定义文件列表的展示,使用这个方法,需要重写多个acti
2021-02-01 22:45:57
6385
1
原创 2019年终总结
前言为了回首过去,展望未来,把今年的工作和生活做一个小小的总结,为2019年画上一个美丽的句号。内容公司倒闭了自己的房子单身狗写技术文章公司倒闭了去年中旬入职了xx公司,刚刚开始的时候,看公司的办公场及公司人数规模都很大,觉得公司不差钱。平时的待遇都还可以,说不上好,但也不委屈,和同事相处的也不错。今年四月中旬,公司开始出现资金问题,工资也开始出现晚发的状况,大家都不知道公司...
2019-12-31 22:46:01
270
原创 设计模式入门-简单工厂模式
前言话说设计模式是我们面试中经常遇到的问题,但是开发中遇到的也不少。之前一直想学设计模式,然后总结写一些文章,但一直忙于其它事情,现在终于要学习设计模式,参考的书籍是《大话设计模式》,这本书写得通俗易懂,推荐大家都去看一下。场景描述借用书中示例问题,计算两个数的加、减、乘、除等其它运算,一般我们的思维是自上而下处理问题,也就造成了运算两个数就要经过多次判断。场景示例两个数之前的算法运算,...
2019-12-30 23:50:27
166
原创 第一周总结
前言这是我的第二篇总结,但是我为什么叫做第一周总结呢?因为上次说好每周写总结,可是都没有写,只能从头开始,又从第一周开始写总结。总结的内容主要还是写工作中相关的事情。内容用户优惠券功能优化提货卡功能项目测试个人博客用户优惠券功能用户端终于要加入优惠券功能,优惠券这个功能比较复杂,前期优惠券相关接口已写好,但是用户端需要使用优惠券,这个要做一些业务逻辑的判断,例如:用户此订单有哪...
2019-12-28 14:48:51
128
原创 代码优化-多态代替IF条件判断
场景描述在开发的场景中,常常会遇到打折的业务需求,每个用户对应的等级,他们的打折情况也是不一样的。例如普通会员打9折,青铜会员打8.5折,黄金会员打8折等等。在一般开发中最简单的就是判断用户的等级,然后对订单作对应的打折处理。场景示例写了一个简单的小示例,如下所示://1 代表学生 2老师 3校长int type = 1;if (1 == type) { System.ou...
2019-12-01 17:16:15
594
原创 Java多线程-线程通信
通信的方式要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间的相互通信,分为下面四类:文件共享网络共享共享变量JDK提供的线程协调APIsuspend/resume、wait/notify、park/unpark文件共享public class MainTest { public static void main(Stri...
2019-09-03 23:06:04
132
原创 CPU缓存和内存屏障
CPU性能优化手段-缓存为了提高程序运行的性能,现代CPU在很多方面对程序进行了优化。例如:CPU高速缓存。尽可能地避免处理器访问主内存的时间开销,处理器大多会利用缓存(cache)以提高性能。多级缓存L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。一般服务器CPU的L1缓存的容量通常在32-4096KB。L2由于L1级高速缓存容量的限制,为了再次提高CPU...
2019-08-28 21:58:24
185
原创 Java多线程-线程中止
不正确的线程中止-StopStop:中止线程,并且清除监控器锁的信息,但是可能导致线程安全问题,JDK不建议用。Destroy: JDK未实现该方法。/** * @author simon */public class StopThread extends Thread { private int i = 0, j = 0; @Override public ...
2019-08-27 00:14:55
138
原创 Java多线程-线程状态
线程状态6个状态定义:java.lang.Thread.StateNew: 尚未启动的线程的线程状态。Runnable: 可运行线程的线程状态,等待CPU调度。Blocked: 线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或方法中被阻塞。Waiting: 等待线程的线程状态。下列不带超时的方式:Object.wait、Thread.join、LockSupp...
2019-08-26 09:56:52
142
原创 Java多线程-程序运行堆栈分析
class文件内容class文件包含JAVA程序执行的字节码;数据严格按照格式紧凑排列在class文件中的二进制流,中间无任何分隔符;文件开头有一个0xcafebabe(16进制)特殊的一个标志。JVM运行时数据区线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁线程共享:所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁方法区JVM用来存储加载的类信息、常量、...
2019-08-25 12:20:33
589
原创 Java内存缓存-通过Google Guava创建缓存
谷歌Guava缓存Guava介绍Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中。实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问。Guava Cache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果不符合需求,可以选择Memcached、Redis等工具。小案例pom.xml添加guava依赖<?xm...
2019-08-24 10:17:36
476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人