- 博客(112)
- 收藏
- 关注
原创 Flutter 实战:hangman_game 猜词游戏的本地词库、字母键盘与鸿蒙适配解析
本文介绍了基于Flutter开发的本地猜词游戏hangman_game的实现细节。该游戏从内置英文词库随机选词,玩家通过点击字母键盘进行猜测,猜中字母显示对应位置,猜错则增加错误次数并由CustomPainter绘制游戏图形。文章重点分析了项目定位、核心功能、技术实现(包括状态管理、随机选词、字母键盘交互、胜负判断和自定义绘制)以及鸿蒙跨端适配要点。这个轻量级项目结构清晰,适合作为Flutter入门学习和跨平台开发实践的案例参考。
2026-06-18 11:33:09
255
原创 Flutter 实战:random_team_generator 随机分队器的名单解析、均匀分配与鸿蒙适配解析
本文介绍了一个基于Flutter开发的本地随机分队工具random_team_generator的项目解析。该工具可将输入的参与者名单随机均匀分配到指定数量的队伍中,适用于线下活动、课堂分组等场景。文章从项目定位、功能边界、核心文件和技术要点入手,详细分析了文本输入解析(支持换行、逗号、分号分隔)、状态管理、随机打乱算法(shuffle())和取模均匀分配的实现方案。同时介绍了主题配置、多页面切换、状态流转及跨端适配注意事项。该项目没有复杂依赖,主要聚焦Flutter基础开发能力,包括表单处理、列表布局和条
2026-06-18 11:28:52
245
原创 Flutter 实战:password_strength 密码强度检测的规则评分、可见性切换与鸿蒙适配解析
Flutter密码强度检测工具password_strength通过本地规则评估密码安全性,主要特点包括: 核心功能 实时检测密码强度(Weak/Medium/Strong) 提供视觉反馈:颜色标签、进度条、图标 显示未达标的规则项和改进建议 技术实现 基于Flutter StatefulWidget管理状态 使用TextEditingController处理输入 通过正则表达式验证密码规则 采用本地评分算法(长度、大小写、数字、特殊字符) 项目特点 纯前端实现,无后端交互 轻量级依赖(仅Flutter S
2026-06-18 11:25:27
334
原创 Flutter 实战:weather 天气应用的城市搜索、本地天气数据与鸿蒙适配解析
Flutter天气应用开发实战解析 本文介绍了基于Flutter实现的本地天气演示应用weather,重点分析了其核心功能实现: 数据结构:使用List<Map>存储城市天气数据,包含温度、湿度、风速等指标 搜索功能:通过TextEditingController实现城市实时过滤 城市切换:点击列表项更新当前城市卡片数据 视觉设计:根据天气类型动态映射颜色和图标 布局实现:主卡片展示温度,辅助卡片显示湿度和风速 跨端适配:特别关注鸿蒙平台的兼容性验证 项目特色: 完全本地数据驱动,无需网络请求 简洁的Mat
2026-06-18 11:17:52
337
原创 Flutter 实战:loan_calculator 贷款计算器的等额本息公式、实时重算与鸿蒙适配解析
本文介绍了基于Flutter实现的贷款计算器loan_calculator,重点解析其核心功能实现与技术要点。该应用支持用户输入贷款本金、年利率和年限,实时计算并展示等额本息月供、总还款和总利息,同时提供前5年简化还款表。 文章详细分析了TextEditingController输入管理、等额本息公式计算(包括手写幂运算实现)、实时重算机制、结果卡片布局设计等关键技术点。项目采用纯Dart实现核心计算逻辑,通过tryParse处理异常输入,并包含完整的Controller生命周期管理。此外还探讨了鸿蒙平台的
2026-06-18 11:13:27
283
原创 springboot整合mybatis-plus(保姆教学) 及搭建项目
一、Spring整合MyBatis。测试一下看看项目是否能运行起来。二:整合mybatis步骤。
2026-05-03 21:35:30
43
原创 Spring Boot3.3.X整合Mybatis-Plus
AttendanceMapper的deleteById方法是无效的绑定语句,也就是,无法识别到mybatis-plus自带的删除方法,但是可以识别自定义的mapper语句,能正常进行增删改查,也就是原mybatis的写法呗,但是,我想快速实现CRUD啊!注意括号里面的内容需要根据自己的包结构来配置,com.dormitory.dormitory_backend是我的包结构,主要看java,实在不懂,那就任意打开一个XXXmapper.java文件,看其包结构,框起来的一整个复制粘贴上去就可以了。
2026-05-03 20:01:53
364
原创 PageHelper 解析及实现原理
面向关系型数据库的 SQL 查询和数据导出时,如果数据条数非常大,直接将所有数据一次性查出或者导出显然是不可行的。这时候就需要进行分页查询或分页导出,将查询或导出的数据按照指定大小分页加载或写入,从而提高查询或导出的效率。而分页查询或分页导出的实现过程比较繁琐,需要考虑很多细节问题,容易出错。因此,出现了一些支持分页查询或分页导出的插件或工具类,例如 MyBatis-Plus 的分页插件 PageHelper。PageHelper是Mybatis-Plus中的一个插件,主要用于实现数据库的分页查询功能。
2026-05-03 18:30:51
248
原创 MySql中的事务、MySql事务详解、MySql隔离级别
思考:我去银行给朋友汇款,我卡上有100元,朋友卡上50元,我给朋友转账50元,如果我的钱刚扣,而朋友的钱又没加时,网线断了, 怎么办(Transaction)是数据库管理系统(DBMS)中的一个核心概念,它确保了一系列数据库操作要么全部成功,要么全部失败,从而维护数据库的完整性和一致性。MySQL在5.5版本开始,就将InnoDB引擎作为默认存储引擎。由于Mysql中的事务是存储引擎实现,而且只有InnoDB支持事务。
2026-05-03 17:00:06
354
原创 java进阶提高学什么用_阳光沙滩
对着上面这个列表吧,面向对象往后的应该算是进阶了,知道不难,理解是需要时间的。当然不是,分包也是封装的一种,多态的理解,这些主要是以后设计的时候用得上,怎么样写,扩展性好…所以,你要先知道的是编程语言只是工具,实现你想法的工具,也就是说,java编程语言是工具。好了,回到你的问题上。对于初学者来说,先知道怎么用就够了,至于设计模式,原则,一些思想相关的,后期再去学习吧。java只是招式,思想才是内容,先练招式吧,有了一定的招式,同时修炼内容。基本概念,比如说,变量,常量,类,编译,环境搭建之类的。
2026-05-03 15:27:37
21
原创 CentOS7安装Mysql5.7(ARM64架构)
看到 3、4、5 状态为开或者为 on 则表示成功。gcc 各版本下载地址: https://ftp.gnu.org/gnu/gcc/输入密码(上面操作 bin/mysqld --initialize xxx 生成)3.下载 GCC 源码,选择合适的版本,本文以 gcc-13.2.0 为例。解压安装包 mysql-5.7.27-aarch64.tar.gz。修改 mysql 用户的登陆密码(这里根据需要设置,可以略过)的版本太老,里面的动态链接库没有。将解压后的目录改名为 mysql。
2026-05-02 13:59:03
376
原创 springcloud-eureka与gateway简易搭建
启动服务后,可通过eureka提供的web控制台查看服务注册状态。启动服务,可以看到已经成功注册到eureka上。至此eureka已经部署完成。
2026-04-21 09:57:47
155
原创 Spring Boot应用关闭分析
本文挖掘了Spring Boot的关闭方式,并列举了关闭方式,从原理、源码的角度阐述了Spring Boot的关闭代码及扩展点。同时,额外说明了一些系统特性 和原理,比如,程序退出码和信号机制。
2026-04-21 07:36:09
314
原创 node.js+npm的环境配置以及添加镜像(保姆级教程)
双击安装包,点击【Next】,勾选使用许可协议,点击【Next】,选择安装位置(可根据个人情况更换路径,例如在 D:App odejs)我上面点了Add to PATH,在安装的时候就自动配置好了,如果不行再根据这个方法手动配置一下环境变量。4.5在这里填入nodejs的安装地址,比如:D:App odejs,之后点击【确定】不选中,直接点击【Next】按钮,之后点击【Install】安装。4.1进入环境变量,编辑【系统变量】下的变量【Path】4.3选中系统变量中的path,点击【编辑】
2026-04-21 05:20:01
56
原创 MySQL 的 INSERT(插入数据)详解
如果你要插入的值涵盖了表中的所有列,可以省略列名部分。但请注意,值的顺序必须与表中列的顺序相同。无论是基础的单行插入,还是高级的插入否则更新和数据迁移。语句非常灵活,支持多种语法形式,可以根据具体需求选择合适的用法。如果你希望在插入数据时忽略已经存在的记录(即不抛出错误),可以使用。如果你希望在插入数据时遇到主键或唯一键冲突时更新现有记录,可以使用。语法来插入数据,这种方式更适用于需要明确指定列名和值的场景。语法,适用于插入单行数据。子句中指定多组值,从而一次性插入多行数据。语句的详细语法和使用示例。
2026-04-21 03:03:10
208
原创 Failed to restart nginx.service Unit nginx.service not found
你可以选择手动启动和停止 Nginx,或者创建一个 systemd 服务单元文件来管理 Nginx 服务。当你遇到 Failed to restart nginx.service: Unit nginx.service not found 错误时,这意味着系统无法找到 Nginx 的服务单元文件。这通常是因为 Nginx 没有通过 systemd 管理,或者 Nginx 没有正确安装。如果你希望使用 systemd 来管理 Nginx,可以创建一个服务单元文件。首先,确保 Nginx 已经正确安装。
2026-04-21 00:46:05
47
原创 SQL进阶——JOIN操作详解
如果某个表中的行在另一个表中没有匹配的行,那么这些行将不会出现在查询结果中。在实际开发中,我们经常需要执行更复杂的查询,例如多表连接查询和子查询。与普通的子查询不同,关联子查询是指在子查询中使用主查询中的列作为条件。在每一行中,子查询都会使用不同的主查询行数据。子查询的结果通常用于限制主查询的结果集,或者作为表的输入。查询所有的员工和部门信息,不论员工是否有部门,或者部门是否有员工。有多种类型,不同的连接方式根据连接条件的不同展现出不同的结果。表的连接中,我们查询所有部门信息,即使某些部门没有员工。
2026-04-19 18:57:32
156
原创 springboot与springcloud以及springcloudalibaba版本对照
由于 Spring Boot 2.4+ 和以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 2.4 为分界线,同时维护 2.2.x 和 2021.x 两个分支迭代。为了规避相关构建过程中的依赖冲突问题,我们建议可以通过 云原生应用脚手架 进行项目创建。2.0.4.RELEASE(停止维护,建议升级)1.5.1.RELEASE(停止维护,建议升级)
2026-04-19 16:07:23
172
原创 Redis简介、常用命令及优化
关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2 等。① 易于维护:都是使用表结构,格式一致② 使用方便:SQL语言通用,可用于复杂查询③ 支持复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
2026-04-19 13:28:44
183
原创 Linux安装Redis以及Redis三种启动方式
也就是上面我们说的,窗口要一直打开。后台进程启动搞完之后,以后开启redis后,就可以去进行其他操作了(在src目录下 ./redis-server /opt/soft/redis-4.0.6/redis.conf启动redis)。此时Redis服务已经可以成功启动了,但是小问题来了,界面一直停留在Redis服务窗口中,按ctrl+c虽然可以屏蔽服务窗口,但是也会结束Redis服务。./redis-server代表要启动redis,后面一串代码进入redis.conf来开启redis,就是路径。
2026-04-19 02:10:11
226
原创 超详细MySQL,含下载安装配置环境变量,基础代码
1.这一步和MySQL5.X版本的有很的大区别,在这一步我们不多进行解释,直接选择“Custom(自定义)”,方便我们把MySQL安装到非系统盘。安装完成后会在系统的开始菜单下出现左图所示的程序,随便打开一个,输入之前设置的密码。查看在搜索界面已经下载的root登录界面点击进入MySQL。输入密码后,出现右图的界面,表示MySQL正常。注意:创建表之前要打开库,要在库的目录下对表操作。然后输入“exit”,退出MySQL。注意一定要选第二个!一直点击确定即可完成配置环境变量。6.设置root密码。
2026-04-18 08:05:55
209
原创 启动springboot项目时报错Web server failed to start. Port 8080 was already in use
在Windows上,您可以使用命令提示符(cmd)来检查端口的使用情况。点击菜单栏 -> 右键 - > 任务管理器 -> 详细信息,根据PID排序找到PID为10728的进程,选择后点击结束任务。【1】关闭该进程的方法一:如果查找到了占用端口,可以通过PID,去任务管理器找到对应的进程,然后暴力地直接杀了这个进程。报错原因:这个错误表明端口1717已经被其他程序占用,导致我们的的Web服务器无法在这个端口上启动。找到对应的PID后,我们可以使用任务管理器来结束该进程,或者在CMD中使用。
2026-04-18 05:43:01
185
原创 【MySQL数据库】Ubuntu下的mysql
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个用户建立的数据库,一般开发人员会针对每一个应用创建一个数据库,而为保存应用中实体的数据,一般会在数据库中创建多个表结构,以保存程序中实体的数据。输入“ help ” 或 “ h ” 获取MYSQL基础命令帮助,例如:clear清除当前输入的指令,quit退出mysql等。:这是MySQL服务器的主要配置段,大部分与服务相关的设置都在这里,包括数据存储路径、缓冲池大小、线程数、日志设置等。在Ubuntu系统下,使用。
2026-04-18 03:18:23
181
原创 SpringBoot集成Flink-CDC,实现对数据库数据的监听
CDC 是(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、 更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。/*** 反序列化数据,转为变更JSON对象*/@Override//5.获取操作类型 CREATE UPDATE DELETE2 : 3;//7.输出数据/*** 从元数据获取出变更之前或之后的数据*/= null) {
2026-04-17 23:56:42
414
原创 springboot下使用druid-spring-boot-starter
Druid声称是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能。spring boot starter自动装配组件,简化组件引入的开发工作量,所以Druid推出了druid-spring-boot-starter。
2026-04-17 23:25:20
385
原创 SDN架构详解
SDN架构中OpenFlow交换机基于流表(Flow Table)转发报文。经典网络依靠网络设备通过查询路由表指导流量转发当前OpenFlow的主流应用是用于数据中心的软件交换机,例如OVS、CE1800V(华为)等,而不是实现硬件交换机的转控分离每个流表项由匹配字段、优先级、计数器、指令、超时、Cookie、Flags这七部分组成。其中关于转发的关键的两个内容是匹配字段和指令。匹配字段是匹配规则,支持自定义。指令是用来描述匹配后的处理方式。
2026-04-04 05:10:34
406
原创 mysql之联合索引
联合索引的最左原则索引并非越多越好,过多的索引会增加数据的维护速度还有磁盘空间的浪费。当表的数据量很大的时候,可以考虑建立索引。表中经常查数据的字段,可以考虑建立索引。想要保证表中数据的唯一性,可以考虑建立唯一索引。想要保证俩张表中的数据的完整性跟准确性,可以考虑建立外键约束。经常对多列数据进行查询时,可以考虑建立联合索引。
2026-04-04 02:10:49
88
原创 SpringBoot 3.4.x踩坑记录及解决方案(持续更新)
第一:不能只引入mybatis-plus-spring-boot3-starter依赖了,需要配合mybatis-plus-jsqlparser。解决方案:升级springdoc-openapi-starter-webmvc-ui 2.7.0。没有@ApiModel 和@ApiModelProperty写法,全局使用@Schema。这个改动真的有点大,切费老鼻子劲了,不建议旧项目直接迁移,不然得改到S3赛季开战!之前的写法:(这样一直没毛病啊,但是3.4.0不行!
2026-04-02 07:11:24
82
原创 Node.js v16 版本安装
(如果输入变量值之后没有自动创建【node_modules】文件夹,就在【node_global】下手动创建一个【node_modules】文件夹)1、找到安装的目录,在安装目录下新建两个文件夹【node_global】和【node_cache】然后你就会发现【node_global】里多出了一个【node_modules】文件夹。在【系统变量】中选择【Path】点击【编辑】添加【NODE_PATH】,点击【确定】【此电脑】-单击右键-【属性】-【高级系统设置】-【环境变量】
2026-04-02 03:54:43
371
原创 Linux下安装Nginx服务及systemctl方式管理nginx详情
将下载好的nginx压缩包上传至刚才所建的目录中/usr/local/nginx(我习惯用CRT这个工具,大家可以根据自己的喜好)------[也可以在此目录下直接下载使用(确保安装了wget 没有安装可以 yum install -y wget 下载一个)在linux中进入上传nginx的文件夹/usr/local/nginx并解压。命令将编译完成的程序和相关文件复制到系统的适当位置,使其可以被系统和用户访问。),更具自己想要的版本下载相应的tar.gz包。下载完成后解压就可以了]------
2026-04-02 00:37:32
365
原创 ES在SpringBoot集成使用
按i进入插入模式,就可以编辑了,编辑完按ESC退出编辑模式,输入:,进入底行模式,再输入wq强制保存并退出,这些命令不懂的话去学下liunx基础。可以进行索引的创建、文档的增删改查等操作。Kibana是ES的一个图形化操作工具,也可以使用es-head,这里我本人使用的是es-head,因此我讲的也是es-head安装。其中的高亮显示是在ES7.9.x版本才有的好像,我在ES7.7版本显示报错,有一个方法不支持了。- http://localhost:9200 //es容器的地址,ip要换成虚拟机ip。
2026-04-01 22:51:17
332
原创 超详细关于vue项目vue-cli-service启动报错失败的问题
这里我们可以看出是报错了的,那么这个原因呢就是没有安装vue-cli-service导致的。我们需要在node_modules文件中找到这个文件的路径 然后替换到命令中。正常呢是配置的vue-cli-service serve这个命令。依赖全部安装完成后,运行一下看看结果,可以看到项目正常启动。这里为了方便比较 我选择新建一条命令对比。那么替换后的script命令为。
2026-04-01 20:43:25
248
原创 开源的不需要写代码的爬虫maxun
转自github热门项目,更多详细信息见github。本文主要是讲一下自己部署遇到的一些小问题。可以直接看最后一节,获得博主专属个人经验。
2026-04-01 19:24:27
647
原创 Vllm进行Qwen2-vl部署(包含单卡多卡部署及爬虫请求)
阿里云于今年9月宣布开源第二代视觉语言模型Qwen2-VL,包括 2B、7B、72B三个尺寸及其量化版本模型。Qwen2-VL具备完整图像、多语言的理解能力,性能强劲。相比上代模型,Qwen2-VL 的基础性能全面提升,可以读懂不同分辨率和不同长宽比的图片,在 DocVQA、RealWorldQA、MTVQA 等基准测试创下全球领先的表现;可以理解 20 分钟以上长视频,支持基于视频的问答、对话和内容创作等应用;
2026-04-01 02:15:36
256
原创 Nginx在windows下安装启动
更改文件后要重新启动程序,才可运行,且除了80可以不写端口,其他都需要编写端口号。logs:存放Nginx日志的目录(登录的ip地址,正在运行的进程pid号)下载稳定版本,下载的为压缩包,解压到桌面,如图为1.26.2版本解压后文件。nginx:启动nginx程序,点击即可启动nginx程序。输入本机ip地址,点击浏览器浏览本机网址即可查看运行页面。docs:存放Nginx文档的目录(license)html:存放静态html文件的目录(登录的网页)nginx为应用程序,点击即可启动无其他画面。
2026-03-31 02:21:39
195
原创 Linux系统离线部署MySQL详细教程(带每步骤图文教程)
使用sftp工具上传到/usr/local目录上在/usr/mysql/目录下groupadd mysql #创建用户组# -r 参数表示mysql 用户是系统用户,不可用于登录系统;# -g 将用户mysql添加到用户组mysql中chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为mysql用户chgrp -R mysql /usr/local/mysql/ # 将组属性改为mysql组mkdir -p /data/mysql #创建数据目录。
2026-03-30 11:34:07
343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅