- 博客(248)
- 资源 (8)
- 收藏
- 关注

原创 [linux][shell] MySQL 数据库备份工具
这是一个MySQL数据库自动备份脚本,主要功能包括:1)使用mysqldump命令备份所有非系统数据库;2)按日期和数据库名生成备份文件;3)记录备份日志;4)自动清理超过7天的旧备份。脚本配置了数据库连接参数和备份目录,建议改进密码存储方式(如使用配置文件)和设置适当的文件权限以增强安全性。该脚本实现了数据库备份的自动化管理,确保数据安全的同时优化存储空间。
2025-07-07 13:50:53
1347

原创 [Windows][设置]Windows设置自动时间同步
windows系统因为各种问题会导致时间不同步,此方法适用于window10,server2008 ,server 2016等Windows系列操作那个系统,设置同步时间不同步。5.重启Windows time服务,win+r输入services.msc,找到windows time服务器。6.右键属性Windows time服务器,启动类型为自动,并且点击启动。3.配置客户端程序,主要配置server,类型和同步时间。7.查看同步状态,直接上命令查看时间同步服务状态。4.配置启用客户端,确定。
2024-08-13 09:02:51
11906
1

原创 [python][代码]Python操作Redis数据库工具类
代码中定义了多个函数,用于执行不同的Redis操作,如设置键值对、获取键值、列表操作等。块中,代码设置了两个键的值,并尝试获取和打印它们的值,以及执行一些键模式匹配和列表操作。创建一个连接池,指定了Redis服务器的主机名、端口、最大连接数、密码和数据库索引。在使用这段代码之前,你可能需要根据你的具体需求进行一些调整和错误处理。这段Python代码是一个使用Redis数据库的简单客户端,它通过。函数用于处理None和NaN值,将它们转换为空字符串。函数删除数据库中的所有键。函数返回一个配置好的。
2024-07-31 21:54:27
10566

原创 [Python][工具类]Python3链接Mysql工具类
13. `ms = MYSQLHelpDict.MYSQLHelp(...)`:这里似乎有一个错误,应该是 `ms = MYSQLHelpDict(...)` 而不是 `MYSQLHelpDict.MYSQLHelp(...)`。3. `from pymysql.constants import CLIENT`:从 `pymysql.constants` 导入 `CLIENT` 常量,用于设置连接的客户端标志。15. `datas=ms.ExecQuery(sql)`:执行查询并获取结果。
2024-07-24 21:55:54
10754
原创 [Linux][K8s]Centos8 使用 containerd 安装 k8s 1.25.4脚本,亲测国内可用
本文详细介绍了Kubernetes集群的部署过程,包括准备工作、环境配置、组件安装和集群初始化等步骤。主要内容包括:1)配置主机名、hosts文件和系统参数;2)安装containerd容器运行时;3)安装kubeadm、kubelet和kubectl工具;4)在master节点初始化集群;5)添加worker节点;6)部署flannel和calico网络插件;7)安装kubernetes-dashboard并配置访问权限;8)配置containerd镜像加速器。文章提供了完整的命令行操作指南,适合在国内网
2025-08-05 17:36:41
188
原创 [linux][k8s]kubernetes技术栈
本文系统介绍了在Linux环境下学习Kubernetes的技术栈,从基础到进阶分为四个部分:一、Linux系统基础(文件管理、网络配置、服务管理)和Docker容器技术;二、Kubernetes核心技术(集群搭建、核心概念、网络存储);三、进阶内容(安全机制、高可用架构、生态工具Helm等);四、实战项目(Web应用部署、数据库集群、CI/CD集成)。学习路径循序渐进,帮助读者掌握Kubernetes容器编排和集群管理能力。
2025-07-31 12:28:48
705
原创 [Linux][运维]Centos8 国内yum源-阿里云源
本文介绍了CentOS 8系统更换阿里云YUM源的具体步骤:首先备份原有配置文件,然后下载阿里云CentOS 8的YUM源配置,接着清理并重建YUM缓存,最后通过更新验证新源是否生效。该操作可提升软件包下载速度,确保系统更新服务的稳定性。
2025-07-31 10:48:51
321
原创 [java][MyBatisPlus]SQL注入器:自定义全局操作
MyBatis-Plus中通过SQL注入器实现自定义全局操作的步骤如下:1.继承DefaultSqlInjector创建自定义注入器,重写getMethodList方法注册自定义方法;2.实现AbstractMethod类定义方法逻辑,如批量插入SQL;3.BaseMapper接口中声明自定义方法;4.配置文件中指定或通过@Bean注入自定义SQL注入器;5.Mapper继承自定义接口即可使用新方法。需注意方法名一致性、参数命名规范及SQL语句的正确性。该方案可灵活扩展MyBatis-Plus功能,满足特定
2025-07-31 10:39:47
440
原创 [java][MyBatisPlus]动态表名插件:支持动态表名
MyBatis-Plus的动态表名插件DynamicTableNameInnerInterceptor支持运行时动态修改SQL表名,适用于分表场景。配置时需在拦截器链中添加该插件并设置表名处理逻辑,可通过请求参数获取分表依据(如用户ID取模)。Mapper接口无需特殊处理,测试时通过RequestDataHelper传递分表参数即可。使用时需注意表名生成逻辑与实际表名一致,并正确设置插件顺序(推荐置于多租户插件之后,分页插件之前)。该方案灵活支持基于日期、ID等多种分表策略。
2025-07-31 10:35:53
337
原创 [java][MyBatisPlus]乐观锁插件:实现乐观锁机制
MyBatis-Plus实现乐观锁机制主要通过OptimisticLockerInnerInterceptor插件实现。配置步骤包括:1)在配置类中注册插件;2)在实体类中添加@Version注解标记版本号字段;3)数据库表添加version字段;4)测试更新操作。注意事项包括版本号字段建议使用Integer/Long类型、处理更新失败情况,以及多数据源环境下的完整配置要求。该机制能有效防止并发更新时的数据冲突。
2025-07-31 10:32:53
417
原创 [java][MyBatisPlus]性能分析插件:输出 SQL 语句及其执行时间
MyBatis-Plus性能分析插件配置指南:通过添加PerformanceInterceptor插件,可监控SQL执行时间并输出格式化SQL语句。主要配置步骤包括:1)引入MyBatis-Plus依赖;2)注册PerformanceInterceptor并设置最大执行时间(默认1000ms)和格式化选项;3)正确配置数据库连接。插件会输出SQL执行时间,超时会给出警告。建议仅用于开发环境,合理设置超时阈值以平衡监控需求与系统性能。
2025-07-29 13:47:49
518
原创 [java][MyBatisPlus]分页插件:多种数据库的分页查询
MyBatis-Plus分页插件提供强大的数据库分页功能,支持MySQL、Oracle等多种数据库。配置时需指定数据库类型,可通过Page对象实现基本分页查询和条件分页查询。功能包括分页结果处理(获取记录数、页码等)、不查询总记录数优化、设置最大单页限制等。针对大分页场景,建议使用主键索引优化、子查询优化等方法提升性能。该插件还支持多表关联分页优化和排序稳定性处理,是数据库分页查询的高效解决方案。
2025-07-29 13:43:15
612
原创 [java][MyBatisPlus]@EnumValue:枚举注解
MyBatis-Plus中的@EnumValue注解用于实现枚举类型与数据库字段的双向映射。该注解标记实体类中的枚举字段,自动处理Java枚举与数据库值(如tinyint/int)的转换。开发者可自定义映射逻辑,通过实现EnumConvert接口的convertToDatabaseColumn和convertToJavaObject方法。使用该注解能提升状态字段(如用户/订单状态)的处理效率,增强代码可读性,但需注意设置合理的数据库默认值以避免空值问题。文中通过用户状态枚举的完整示例,展示了从表设计到业务逻
2025-07-29 13:39:44
610
原创 [java][MyBatisPlus]@Version:乐观锁注解
MyBatis-Plus中的@Version注解用于实现乐观锁机制。该注解标记实体类中的版本号字段,在数据更新时会自动检查版本号是否一致,若一致则更新成功并递增版本号,否则抛出OptimisticLockException异常。适用于并发冲突较少的场景,可提高系统性能。使用需注意版本号字段类型、默认值设置及异常处理,通过捕获OptimisticLockException可自定义处理并发冲突情况。
2025-07-29 13:37:17
570
原创 [java][MyBatisPlus]@TableField:字段注解
MyBatis-Plus中的@TableField注解用于映射实体类字段与数据库表字段的关系。当字段名不一致时,通过value属性指定对应列名。该注解还支持配置字段操作行为(insert/update/select)、填充策略(自动填充时间等)和字段策略(忽略空值等)。对于枚举类型,可使用enumValue属性进行特殊处理。合理使用@TableField能提升代码可读性,避免字段映射错误,是MyBatis-Plus实体类映射的重要工具。
2025-07-29 13:33:36
603
原创 [java][MyBatisPlus]@TableId:主键注解
摘要:MyBatis-Plus中的@TableId注解用于标识实体类主键字段,支持多种配置选项。它可指定数据库字段名(value属性)、主键生成策略(type属性,如AUTO、ID_WORKER、UUID等)和逻辑主键标识(flag属性)。当实体类与表主键字段名一致时可省略value属性,否则需显式指定。该注解还支持valueStrategy属性配置数据库主键生成策略(如IDENTITY、ASSIGN_ID等)。合理使用@TableId能提升代码可读性并避免主键映射问题。(149字)
2025-07-29 13:26:08
564
原创 [java][MyBatisPlus]@TableName:表名注解
摘要:MyBatis-Plus的@TableName注解用于建立实体类与数据库表的映射关系。当类名与表名一致时(遵循驼峰命名)可省略注解;不一致时需显式指定表名。注解支持多级表名和动态表名生成,并提供value、exclude等属性用于高级配置。通过合理使用该注解,可提高代码可读性和维护性,避免因表名不一致导致的映射问题,是MyBatis-Plus框架中实现ORM映射的核心机制之一。
2025-07-29 13:21:07
468
原创 [java][MyBatisPlus]代码生成器:自动生成 Entity、Mapper、Service、Controller 等代码
MyBatis-Plus代码生成器(AutoGenerator)能够自动生成实体类、Mapper接口、Service层和Controller等基础代码,显著提升开发效率。使用步骤包括:1)添加MyBatis-Plus和Velocity引擎依赖;2)配置数据源、全局设置、包路径和生成策略;3)执行生成器。支持自定义模板文件,可灵活调整生成代码的格式和内容。该工具通过减少重复编码工作,帮助开发者快速搭建项目基础框架,同时支持Lombok注解、REST风格等现代开发特性。
2025-07-29 13:16:29
528
原创 [java][MyBatisPlus]条件构造器:提供 LambdaQueryWrapper、QueryWrapper 强大的条件构造器
MyBatis-Plus条件构造器对比摘要 MyBatis-Plus提供了LambdaQueryWrapper和QueryWrapper两种条件构造器。LambdaQueryWrapper基于Lambda表达式,具有类型安全、代码简洁的优点,适合字段固定的常规查询。QueryWrapper基于字符串拼接,灵活性更高,适用于动态字段名等复杂场景。实际开发中建议优先使用LambdaQueryWrapper,在需要动态拼接SQL时才使用QueryWrapper。两者都能有效避免手动拼接SQL,提升开发效率和代码可
2025-07-29 13:10:20
1641
原创 [java][MyBatisPlus]通用 Service:内置通用 Service,通过继承 IService 实现更丰富的业务逻辑
MyBatis-Plus 提供了IService接口和抽象类,它们是通用 Service 的核心。IService定义了一系列基础的增删改查方法,而则提供了这些方法的具体实现。IService:定义了通用的 CRUD 操作方法,例如save(新增)、updateById(根据 ID 更新)、removeById(根据 ID 删除)、list(查询列表)等。:实现了IService接口,并提供了这些方法的具体实现逻辑。通过继承,开发者可以快速获得这些基础方法,从而减少重复代码的编写。
2025-07-29 13:05:02
528
原创 [java][MyBatisPlus]通用 Mapper:内置通用 Mapper,通过继承 BaseMapper 即可获得 CRUD 功能
摘要:MyBatis-Plus的BaseMapper是一个核心组件,它封装了常用的CRUD操作,通过继承该接口可大幅简化开发。开发者只需定义实体类和Mapper接口(继承BaseMapper),即可直接使用insert/delete/update/select等通用方法,无需编写基础SQL。BaseMapper能减少重复代码、提高开发效率,同时支持在Mapper接口中添加自定义方法以满足特殊需求。这种设计既保持了MyBatis的灵活性,又显著提升了开发便捷性。
2025-07-29 10:20:15
712
原创 [java][MyBatisPlus]MyBatis-Plus 技术栈
MyBatis-Plus是一个强大的MyBatis增强工具,在保持MyBatis特性的基础上提供简化开发的功能。核心特性包括:通用Mapper/Service实现CRUD操作、Lambda条件构造器、代码生成器、分页插件等。支持主流数据库和Spring生态整合,具有无侵入、损耗小、开发效率高等优势。通过注解简化实体映射,提供乐观锁、性能分析等实用功能。适用于后台管理系统、微服务等需要快速实现数据访问层的场景,显著提升开发效率,是目前Java领域流行的ORM解决方案。
2025-07-29 10:14:27
782
原创 [python][flask]Flask-Principal 使用详解
Flask-Principal是Flask的权限管理扩展,用于实现用户身份验证和访问控制。文章介绍了其安装配置方法(pip install flask-principal),包括初始化扩展、定义权限和用户模型。重点讲解了身份加载器的实现、使用装饰器保护视图、登录/注销时的信号处理(identity_changed),以及如何创建自定义权限。该扩展配合Flask-Login可构建完整的认证授权系统,支持基于角色的访问控制和复杂权限逻辑,能有效提升应用安全性。所有代码示例均采用清晰的结构化展示方式。
2025-07-25 12:31:09
684
原创 [python][flask]Flask-Login 使用详解
Flask-Login是Flask的用户认证扩展,提供登录/注销、会话保护等功能。安装后需配置用户模型(继承UserMixin)、加载器函数和视图保护装饰器(@login_required)。支持记住我功能、角色访问控制和自定义未授权处理。系统默认开启基础会话保护,建议生产环境使用HTTPS和强密码哈希。该扩展简化了用户认证流程,适合快速构建安全认证系统。
2025-07-25 12:25:00
730
原创 [python][基础]Flask 技术栈
Flask是一个轻量级Python Web框架,通过丰富的扩展支持构建完整Web应用。技术栈包括:开发基础(Flask核心+扩展库)、前端开发(HTML/CSS/JS框架)、后端开发(数据库+ORM+任务队列)、身份验证、API开发、部署方案(服务器+容器化+云平台)、CI/CD、日志监控、安全防护及测试文档工具。该技术栈覆盖了从开发到部署的全流程,可根据项目需求灵活组合使用。
2025-07-25 12:19:01
894
原创 [python][flask]flask静态资源
Flask静态资源管理指南:默认将静态文件(CSS、JS、图片)存储在static文件夹中,通过/static/路径访问。模板中使用url_for('static', filename='path')动态生成URL链接。支持自定义静态文件夹路径(static_folder参数)和URL前缀(static_url_path参数)。可通过配置缓存时间(SEND_FILE_MAX_AGE_DEFAULT)和添加版本号实现缓存控制。Flask提供了灵活的静态资源管理方案,满足各类Web开发需求。
2025-07-25 12:14:42
792
原创 [python][flask]flask中session管理
Flask中的session机制用于在客户端与服务器间存储加密数据,通过Cookie实现跨请求状态保持。使用前需设置SECRET_KEY进行加密,支持字典式操作(设置/获取/删除数据),常用于用户登录状态管理。session默认随浏览器关闭失效,可通过PERMANENT_SESSION_LIFETIME设置有效期。安全注意事项包括:使用随机密钥、避免存储敏感信息、配置安全Cookie属性(HTTPS传输、禁止JS访问)。该机制为Web应用提供了安全可靠的数据持久化方案。
2025-07-25 11:46:02
1206
原创 [python][flask]flask蓝图使用方法
Flask蓝图(Blueprint)是组织代码的有效方式,通过模块化设计提升项目可维护性。主要步骤包括:创建蓝图对象、定义路由视图、注册到应用、管理模板/静态文件。高级用法支持蓝图间通信、中间件和权限控制。典型项目结构中,不同功能(如auth、blog)可拆分为独立蓝图模块。这种机制特别适合大型Flask应用开发,能显著提高代码结构和扩展性。
2025-07-25 11:41:14
802
原创 [python][flask]flask接受get或者post参数
Flask框架中获取请求参数的方法:对于GET请求,使用request.args获取URL查询参数;POST请求根据数据类型分别处理:表单数据用request.form,JSON数据用request.json/get_json()。也可通过request.values同时处理GET和POST参数。每种方法都支持设置默认值和类型转换,开发者可根据实际需求灵活选择获取方式。
2025-07-25 11:37:09
769
原创 [java][springboot]@PostConstruct的介绍和用法
摘要:SpringBoot中的@PostConstruct注解用于在依赖注入完成后执行初始化操作。该注解标注的方法会在构造方法执行后被调用,常用于初始化缓存、加载配置、建立数据库连接等场景。示例展示了如何使用@PostConstruct初始化缓存,相比其他初始化方式,它具有简单、标准和无侵入的优点,是SpringBoot推荐的初始化方法。该注解来自jakarta.annotation包,需配合@Component等Spring注解使用。
2025-07-11 13:29:21
1308
原创 [python][量化]TA-Lib 的一些常用指标
摘要:本文介绍了金融技术分析库Talib及其在Python中的应用。Talib提供了150多种技术指标,包括移动平均线(SMA/EMA)、布林线(BBANDS)、MACD、RSI等。文章详细展示了如何使用Talib计算各类指标:1)重叠研究指标如SMA、BBANDS;2)波动量指标如ATR;3)量价指标如OBV;4)周期指标;5)动量指标如MACD、RSI;6)统计指标。代码示例涵盖了从获取K线数据到计算各种指标的完整流程,是量化交易和技术分析的实用参考。
2025-07-11 08:41:15
1093
原创 [linux][shell]Linux发送邮件
摘要:mailx是一款轻量级邮件发送工具,适合脚本自动化使用。安装方法在RedHat系系统使用yum install mailx,Debian系使用apt-get install mailx。配置需编辑/etc/mail.rc设置发件人、SMTP服务器、认证信息及SSL验证选项。测试发送命令为echo "内容" | mailx -s "主题" 收件人,支持通过管道快速发送邮件。
2025-07-07 14:08:21
1019
原创 [linux][shell]服务器系统配置初始化脚本
【Linux服务器初始化优化脚本摘要】 该Bash脚本用于Linux服务器的系统初始化配置与性能优化,主要功能包括: 时区设置(亚洲/上海)与NTP时间同步 安全设置:禁用SELinux、关闭防火墙、禁止root远程登录 系统优化:SSH超时设置、历史命令时间记录、调整最大打开文件数 内核参数调优:TCP连接优化、SWAP使用控制 安装常用工具包(gcc/vim/网络工具等) 定时任务配置与邮件通知禁用 适用于RHEL/CentOS 6/7系统,通过自动化配置提升服务器安全性与性能。
2025-07-07 14:02:13
974
原创 [linux][shell]nginx日志分析脚本
这篇Bash脚本用于分析Nginx日志文件,主要包含四个统计功能:1)统计访问最多的10个IP(UV统计);2)统计特定时间段内访问最多的IP;3)统计访问最多的10个页面(PV统计);4)统计页面访问状态码分布。脚本使用awk处理日志字段,通过数组计数和排序输出结果,其中$1表示客户端IP,$4是访问时间,$7为请求页面,$9是状态码。每个统计功能都包含筛选、计数和排序步骤,并限定输出结果数量。
2025-07-07 14:00:02
1203
原创 [linux][shell]通过分析 Nginx 的访问日志,检测异常 IP 地址并使用iptables 将其封禁
该脚本通过分析Nginx访问日志自动封禁异常IP:首先配置日志路径(LOG_FILE)、访问阈值(THRESHOLD=10)等参数,然后提取最近5000条日志中当前时段访问超限的IP。通过iptables检查并封禁这些IP,同时记录封禁日志(DROP_LOG_FILE)。注意事项包括:需root权限运行、日志格式需匹配标准CombinedLogFormat、存在误封风险等。改进建议包括添加白名单机制、持久化iptables规则等。该方案适合简单防护场景,但对高流量或复杂环境需进一步优化。
2025-07-07 13:46:50
1362
原创 [windows][工具]使用 PowerShell 获取大文本文件的最后 100 行
使用 PowerShell 获取 MongoDB 日志文件的最后 100 行。
2025-05-28 08:56:31
1669
原创 [数据库][sqlserver]查看索引碎片
sqlserver 索引 优化数据库优化优化数据库性能,通过对碎片化严重的索引进行重建和更新统计信息来改善查询效率。
2025-05-09 12:25:01
2594
原创 [java][基础] 悲观锁 vs 乐观锁
乐观锁的代表是 AtomicInteger,使用 cas 来保证原子性。悲观锁的代表是 synchronized 和 Lock 锁。
2025-03-07 17:27:56
3963
mysql-8.2.0-winx64.msi
2024-08-12
mysql-5.5.27-winx64.msi
2024-07-26
SimpleDNSCrypt64.msi
2024-07-25
OWASP ZAP工具在 Windows 系统上的使用
2018-06-22
TA-Lib-0.4.29-cp312-cp312-win-amd64
2024-07-23
如何快速掌握机器学习
2024-08-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人