- 博客(42)
- 收藏
- 关注
原创 Chrome插件开发实战指南大纲
声明内容脚本(content_scripts)和弹出页面(browser_action/popup)配置权限(permissions)和后台脚本(background scripts)标签页管理(chrome.tabs)与书签操作(chrome.bookmarks)通过chrome.runtime.sendMessage与后台脚本通信。使用chrome.storage(local/sync)持久化用户数据。可选模块:通知系统(chrome.notifications)
2026-05-14 14:51:16
325
原创 算法竞赛在技术社区中的价值
(注:实际撰写时可选择3-4个核心模块展开,配合代码示例和赛事数据图表增强专业性)字符串处理类:KMP算法实现子串匹配。图论类:Dijkstra最短路径实战。在线判题系统(OJ)搭建。
2026-05-14 11:58:38
182
原创 技术架构设计原则
事件驱动架构确保模块间松耦合,消息持久化防止数据丢失。通过服务网格实现服务间通信,支持动态扩缩容。多级缓存体系:Redis集群实现热点数据缓存,本地缓存降低数据库压力。零信任架构:动态令牌替代静态密钥,RBAC权限控制到API级别。高可用性设计:采用分布式架构,避免单点故障。数据冗余备份确保业务连续性,负载均衡提升系统吞吐量。DDoS防护:流量清洗中心识别异常请求,WAF防火墙拦截注入攻击。容灾恢复机制:建立多活数据中心,实现异地容灾。灰度发布系统:基于K8s的滚动更新机制,流量染色验证新功能。
2026-05-04 08:24:17
228
原创 检查系统硬件配置是否满足PyCharm最低要求
检查系统硬件配置是否满足PyCharm最低要求,建议使用SSD硬盘和充足的内存(至少8GB)。关闭不必要的后台程序,避免资源争抢,确保PyCharm独占足够CPU和内存资源。调整代码高亮级别,减少语法检查的复杂度(如关闭部分Inspections)。使用Python解释器的优化版本(如PyPy或Cython加速部分代码)。禁用或减少插件加载,仅保留必要插件(如版本控制、代码检查工具)。限制版本控制系统(如Git)的监控范围,避免扫描无关文件。避免过度依赖自动补全,手动调整代码补全的触发延迟(
2026-05-04 07:52:21
77
原创 【MySQL】RedHat8安装mysql9.1
安装包:mysql-enterprise-9.1.0_el8_x86_64_bundle.tar。日志中获取mysql初始密码,进入后修改密码。下载对应版本的jdbc。
2026-03-28 12:40:47
205
原创 Springboot3学习(5、Druid使用及配置)
启动项目,我们可以看到Springboot3自带的数据库连接池是HikariPool,HikariPool的主要优点是高性能,而我们即将集成的Druid数据库连接池,主要有点则是丰富的扩展以及优秀的监控性能。从学习的角度来讲,Druid相比较其他数据库连接池而言,更加的全面。我们新增application.yml,来配置druid相关配置,注释掉application.properties(ymlx相比于properties,更加的简洁和易读),配置如下。输入配置的账号密码,进入监控页面,如下图。
2026-03-28 08:32:08
237
原创 Nginx实现接口复制
项目中,通常会遇到一个中转服务需要往多个不同的系统推送同一份数据,传统做法是需要在Java代码侧中调用多个API接口进行发送。其实Nginx作为一个请求代理转发中间件必然具备类似的功能,常见就有mirror指令进行流的镜像复制。
2026-03-27 13:30:56
351
原创 Java框架SpringBoot(一)
Spring Boot 是由Pivotal 团队提供的在spring框架基础之上开发的框架, 其设计目的是用来简化应用的初始搭建以及开发过程Spirng Boot 本身并不提供Spring框架的核心特性以及扩展功能,只是用 于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具Spring Boot 以约定大于配置的核心思想(把开发中默认的做法直接进行简化),从而使开发人员。
2026-03-27 09:25:26
247
原创 mysql时间时区修改、set global、配置文件-default-time-zone
通过查看mysql错误日志或二进制日志可以看到时间和时区并不与国内的东八区时间一致。
2026-03-26 03:45:45
44
原创 flask后端开发(8):Flask连接MySQL数据库+ORM增删改查
在Flask中,很少会使用pymysql直接写原生SQL语句去操作数据库,更多的是通过SQLAichemy提供的ORM技术,类似于操作普通Python对象一样实现数据库的增删改查操作,而Flask-SQLAlchemy是需要单独安装的,因为Flask-SQLAlchemy依赖SQLAlchemy,所以只要安装了Flask-SQLAlchemy,SQLAlchemy会自动安装。其实就是创建一个ORM模型,而且user表有属性是username和password。一个ORM模型与一个数据库中的一张表对应。
2026-03-26 00:40:23
46
原创 MySQL篇之对MySQL进行参数优化,提高MySQL性能
innodb_flush_log_at_trx_commit:控制事务提交时日志的刷新策略。tmp_table_size 和 max_heap_table_size 控制内存中临时表的最大大小。如果设置为 1,每次写入二进制日志都会同步到磁盘,保证事务的持久性,但会带来一定的性能开销。磁盘 I/O 是数据库性能的重要瓶颈,合理配置与磁盘相关的参数有助于减少磁盘访问次数,提高性能。下面是一些常用的查询优化参数。MySQL 的日志记录可以帮助我们在故障时进行诊断,但是过多的日志记录会增加系统的负担。
2026-03-25 04:44:51
170
原创 LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
【代码】LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果。
2026-03-25 02:09:19
241
原创 【MySQL】 常见数据类型
浮点数和定点数类型的特点是可以处理小数 ,你可以把整数看成小数的一个特例,因此,浮点数和定点数的使用场景,比整数大多了。小数:有符号float(4,2)表示的范围是-99.99 ~ 99.99,无符号的float(4,2)表示的范围是0 ~ 99.99,MySQL在保存值时会进行四舍五入。有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),使用set类型,(男,女)[单选] ,使用enum类型。MySQL的常用数据类型,就分享到这里了,如有错误还望指出,886!
2026-03-24 14:24:00
342
原创 SpringSecurity的配置
SpringSecurity是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理!主要的几个类:webSecurityConfigurerAdapter:自定义Security策略AuthenticationManagerBuilder:自定义的认证策略。
2026-03-24 03:45:18
250
原创 Redis为什么这么快?Redis的线程模型与Redis多线程
多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,然后程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。在redis的多线程模式下,获取、解析命令,以及输出结果着两个过程,可以配置成多线程执行的,因为它毕竟是我们定位到的主要耗时点,但是命令的执行,也就是内存操作,依然是单线程运行的。
2026-03-23 10:57:08
372
原创 MySQL 常用 SQL 语句大全
这些 SQL 语句和技巧覆盖了数据库操作的广泛领域,从基础查询到高级管理和优化。掌握这些可以帮助你更高效地管理和操作 MySQL 数据库。使用 GROUP_CONCAT 函数。删除表中的所有记录(也叫截断表)内连接(INNER JOIN)右连接(RIGHT JOIN)基于其他表的更新(关联更新)左连接(LEFT JOIN)全连接(FULL JOIN)在 WHERE 子句中。计算字段的平均值和总和。在 FROM 子句中。查看当前的数据库状态。
2026-03-23 03:02:32
34
原创 yum安装redis
如果你没有配置密码,那这个时候你可以使用了,如果配置了密码,还需要授权密码才能使用。如果没有你所需要的版本,那建议你用二进制压缩包方式安装redis。输入info可查看redis信息。
2026-03-22 04:29:31
179
原创 Redis和Redis-Desktop-Manager的下载、安装与使用
3、配置环境变量:高级系统设置 => 环境变量 => 系统变量 => path。6、Redis-Desktop-Manager连接Redis(在连接时需要先。2、将下载好的压缩包解压即可【Redis-x64-3.2.100.zip】(3)点击Browse更换安装位置,点击Install。5、安装Redis-Desktop-Manager。4、在命令行输入:redis-server 命令。(2)点击【I Agree】(1)点击Next下一步。(5)点击Finish。
2026-03-22 01:19:16
352
原创 MySQL的DELETE(删除数据)详解
MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDER BY和LIMIT以及优化事务,可以显著提高DELETE语句的执行效率。
2026-03-21 04:52:43
272
原创 Mysql疑难报错排查 - Field ‘XXX‘ doesn‘t have a default value
既然说的是没有默认值,那我们就在插入的时候指定传null 进去即可,由于MyBatisPlus的特性,所以最终在DBclass层,为end_time1和end_time2都设置为null 也插入和更新。某一个插入语句使用了 MyBatisPlus 的 save 方法,因为end_time1 end_time2都并没有值,所以在MyBatisPlus默认情况下,并不会在插入语句中提及,一般情况下,这种报错是表设置成非空字段,我们又没设置默认值导致的。但是这里我们明明表中设置了可空。修复后没有再次报错。
2026-03-21 04:52:07
235
原创 【MySQL篇】使用Java操作MySQL实现数据交互
目录JDBC的认识:安装MySQL驱动包:下载完成后将包导入IDEA实现代码:1.创建数据源2.和数据库服务器建立连接?3.构造操作数据库的 sql 语句.4.执行SQL语句5.释放资源?完整代码:Insert:Select:Update:JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问;由于每个厂商的数据库的
2026-03-20 02:46:58
208
原创 SQL Server2022版+SSMS安装教程(保姆级)
不要勾选Analysis Services(勾选了其实也没事,因为本来就没有安装这个功能,在最后的时候可能会出现报错—提醒安装完成但未成功,其实也没啥事,就是勾选了这个功能但之前没有安装Analysis罢了)其中,这一步里有个实例目录,我建议在你下载SQL Server的文件夹中新建三个文件,然后放里面,因为默认的是C盘,你改到D盘或者其他盘就行。如果你勾选Analysis Services,到安装最后会弹出来这个窗口,但没事的,这样也代表安装成功的。选择安装位置(最好安装到除C盘以外的文件中)
2026-03-20 00:25:16
279
原创 springboot 异步操作
future.get()` 和 `future.join()` 都是用于处理并发编程中异步任务的结果,但它们属于不同的编程框架或库,并且具有不同的用途和行为。- **库**: Java 的 `Thread` 类或 Kotlin 的协程(`join()` 在 Kotlin 协程中表现为 `await()`)。- 在 Java 中,`thread.join()` 会使当前线程(调用 `join()` 的线程)等待,直到目标线程终止。- `join()` 是 Java 线程的方法,用于等待一个线程完成。
2026-03-19 02:45:51
236
原创 Redis内存设置
需要注意, maxmemory限制的是Redis实际使用的内存量, 也就是used_memory统计项对应的内存。由于内存碎片率的存在, 实际消耗的内存可能会比maxmemory设置的更大, 实际使用时要小心这部分内存溢出。通过命令修改(重启失效):config set maxmemory-policy allkeys-lru 命令设置内存淘汰策略,config get maxmemory-policy 命令获取当前采用的内存淘汰策略。allkeys-lru:对所有key使用LRU算法进行删除(生产推荐)
2026-03-19 00:21:36
222
原创 PostgreSQL版本选择
PostgreSQL 社区目前支持最新的三个主版本(每个版本的支持周期通常为 5 年)。如果项目需要最新功能(如性能改进或新特性),可以选择最新版本。PostgreSQL 官方会定期发布新版本,分为。具体选择应根据项目需求和运维策略确定!
2026-03-18 13:04:23
237
原创 Nginx 缓存清理
Nginx 缓存机制主要用于缓存响应数据,从而加速请求处理。代理缓存:Nginx 作为反向代理时,缓存从后端服务器获取的响应。这样可以减少后端服务器的负载,提高系统的整体响应速度。FastCGI 缓存:当 Nginx 作为前端代理处理 PHP 或其他 FastCGI 应用时,可以缓存从 FastCGI 后端获取的动态内容。静态文件缓存:Nginx 对于静态资源(如图片、CSS、JS 文件)进行缓存,减少用户请求时的文件读取延迟。HTTP 缓存:包括基于 HTTP 协议的缓存控制,如和Expires。
2026-03-18 11:49:55
296
原创 MySQL 与 Redis 的数据一致性问题
简单来讲,我们只能保证先到的请求的第一阶段写的执行顺序(MySQL 内部的事务),第二阶段写就无法保证执行顺序(除非使用强一致性方案),这时候如果使用更新 Redis 的方案就有数据错误的风险。这种清除 Redis 的策略如果有频繁的更新对导致缓存层(Redis) 会失效, 大量的请求会打到 mysql 上面,mysql 可能直接被打爆,造成严重的事故.这时候Redis 的数据是错误的,会导致后面查询的时候全部查询到错误的数据(只能重新加载 MySQL 数据到 Redis 才能恢复)
2026-03-17 03:23:57
163
原创 docker compose安装redis
在上一步创建的redis配置文件目录(/data/redis6.2.14/conf)下,创建redis.conf配置文件,启动时,会将这个配置文件挂载到容器中。下载到本地,打开压缩包,将如下的配置文件拷贝到出来,放到部署服务器创建的配置文件目录里面。连接测试有两种方式,第一种:直接用外部的工具进行连接。第二种,进入容器内部,通过redis自带的客户端进行连接。进入docker内部,通过redis自带的redis-cli工具进行验证。执行完以上,两个命令,即可通过ll查看目录,已经存在。redis启动成功。
2026-03-17 00:45:02
182
原创 解决SpringBoot+MyBatisPlus 报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
【代码】解决SpringBoot+MyBatisPlus 报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required。
2026-03-16 22:32:21
63
原创 深度掌握 RabbitMQ 消息确认(ACK)机制,确保消息万无一失
消息的发布与订阅模式:RabbitMQ 采用发布/订阅模式,生产者将消息发布到交换器(Exchange),交换器根据路由规则将消息路由到相应的队列(Queue),消费者从队列中获取消息并进行处理。交换器(Exchange)和队列(Queue)的工作机制:交换器负责接收生产者发送的消息,并根据路由键将消息路由到一个或多个队列。队列则用于存储消息,等待消费者进行消费。自动 ACK:当消费者从队列中获取消息后,RabbitMQ 会自动将该消息标记为已确认,无需消费者手动进行确认操作。手动 ACK。
2026-03-16 22:00:28
374
原创 Ubuntu 20.04配置网络
下一步,点击网络图标,这个地方有的同学,可能会出现没有网络图标。选择网络适配器,这里可以通过反复拔插我们连接的拓展块,这样就能确认名称了。进入之后,选择添加网络,选择添加网络,这里可以随便选一个上面没有的。选择好之后,我们要确认一下插入的设备的名称。打开虚拟机,插入水晶头网线后,电脑上会弹出显示,选择连接到主机。下面我们进入到虚拟机,点击上面的编辑->虚拟网络编辑。最终确认好以后,也不要忘了选择弹窗,连接到主机哦。这里改个名字,添加,然后选择到这个配置就行了。2,接下来进入正题,我们开始配置网络。
2026-03-15 02:48:07
147
原创 SpringBoot整合Email 邮件发送详解
通过上述步骤,我们成功在SpringBoot项目中整合了Email服务,实现了普通邮件、HTML邮件、含静态资源邮件以及带附件邮件的发送。这不仅提升了应用的功能性,也增强了与用户的互动。希望本文能够帮助到需要在项目中集成邮件服务的开发者。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章SpringBoot整合Email 邮件发送-CSDN博客SpringBoot整合邮箱发送邮件 - 博客园。
2026-03-15 00:13:21
195
原创 Spring 的三种注入方式?
由于构造方法注入和 set 方法注入可以混合使用,因此,如果需要强制注入,我们可以使用构造方法注入的方式;如果是可选注入,则我们可以使用 set 方法注入的方式。换言之,要是使用属性注入,那么你这个类就只能在 IOC 容器中使用,要是想自己 new 一下这个类的对象,那么相关的依赖无法完成注入。依赖不可变:这个好理解,通过构造方法注入依赖,在对象创建的时候就要注入依赖,一旦对象创建成功,以后就只能使用注入的依赖而无法修改了,这就是依赖不可变(通过 set 方法注入将来还能通过 set 方法修改)。
2026-03-14 18:39:53
347
原创 Redis 设置密码无效问题解决
打开文件后 “Ctrl+F”查找“requirepass”,找到“# requirepass foobared”我有两个后缀是 .conf 的文件,这两个文件都用编辑器打开,比如我用Notepad++打开的。再在命令窗口输入“redis-server.exe redis.windows.conf”回车。在redis的目录下找到后缀是 .conf 的文件,文件的名称不统一,以我的为例如下图。输入“exit” 回车就立即退出redis。输入“redis-cli.exe” 回车。都返回的是“OK”,就成功了。
2026-03-14 17:35:53
103
原创 springboot3整合SpringSecurity实现登录校验与权限认证(万字超详细讲解)
用户提交登录请求Spring Security 将请求交给 UsernamePasswordAuthenticationFilter 过滤器处理。UsernamePasswordAuthenticationFilter 获取请求中的用户名和密码,并生成一个 AuthenticationToken 对象,将其交给 AuthenticationManager 进行认证。
2026-03-13 22:01:17
424
原创 【玩转全栈】----Django制作部门管理页面
Bootstrap 是一个由 Twitter 团队开发的开源前端框架,专注于帮助开发者快速构建响应式和现代化的网页。它基于 HTML、CSS 和 JavaScript,提供了一系列强大的组件和工具,包括栅格系统、按钮、导航栏、表单、模态框、卡片、警告框等,使网页开发变得更加高效和规范化。Bootstrap 的核心特点是响应式设计,通过其强大的栅格系统和内置的媒体查询,开发者可以轻松创建在不同设备(如手机、平板、PC)上都能正常显示的页面。它还具有良好的跨浏览器兼容性,能够确保网页在主流浏览器中的一致性。
2026-03-13 20:50:18
332
原创 最新最详细的配置Node.js环境教程
JavaScript环境:传统的JavaScript是在浏览器环境中运行的,依赖于浏览器提供的API(如DOM操作、网络请求等)。然而,在服务器或本地环境中并没有这些浏览器API。Node.js提供了一个可以执行JavaScript代码的环境,包括基本的API,如文件I/O、网络通信等。V8引擎:Node.js包含了谷歌的V8 JavaScript引擎,这是执行JavaScript代码的核心组件。没有这个引擎,系统就无法理解并执行JavaScript代码。事件循环和非阻塞I/O。
2026-03-13 02:34:03
239
原创 使用bitnamiredis-sentinel部署Redis 哨兵模式
在 Master-Slave 设置中使用 Sentinel 时,如果要设置 Master 和 Slave 节点的密码,请考虑为它们设置。在此示例中,我们假设你希望从你自己的自定义应用程序镜像连接到 Redis 服务器,该镜像在以下代码段中由服务名称标识。或者,如果你使用的是 Docker Compose,请将 image 属性的值更新为。,你的应用程序容器可以轻松访问在容器内运行的 Redis 服务器。如果你希望以不同的方式使用容器日志,你可以使用该选项配置容器。如果你愿意,你也可以自己构建镜像。
2026-03-12 12:30:16
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅