自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 深入解析-正则表达式

在开发过程中,正则表达式的调试往往是一个挑战,尤其是在正则表达式非常复杂的情况下。正则表达式的性能是我们在实际应用中必须关注的一个重要方面,尤其是在大数据量或复杂模式匹配的情况下。正则表达式的引擎存在不同的流派,它们在正则表达式的实现上有一定的差异。幸运的是,许多工具和IDE插件都提供了调试支持。不同的流派在正则表达式的匹配效率、灵活性以及表达能力上有所不同,开发人员在选择时需要根据实际的需求进行权衡。在这个示例中,贪婪匹配会尝试匹配尽可能长的字符串,而非贪婪匹配会尽量少匹配字符,从而减少回溯。

2025-01-03 16:18:43 1285

原创 Java 性能调优实战

Java 性能调优实战》课程覆盖了 Java 性能调优的各个方面,涵盖从 Java 编程到多线程调优、JVM 性能监控、数据库优化和分布式系统的调优。每个模块都提供了详细的讲解和实际代码示例,帮助开发者在实际开发中提高系统的性能和可扩展性。Java 编程性能调优:深入讨论了常见的性能瓶颈及其优化方案,帮助开发者提高代码效率。多线程性能调优:通过优化线程池、锁机制和协程,帮助开发者在并发场景下提高系统吞吐量。JVM 性能监控及调优。

2025-01-03 15:41:51 918

原创 深入拆解Java虚拟机

通过字节码注入,可以在运行时修改或增强已有代码的行为,避免在编译时进行繁琐的修改。无论是使用 CGLIB 还是 Byte Buddy,字节码注入都为我们提供了灵活的功能增强手段,适用于各种场景,如日志拦截、性能计时、缓存等。

2025-01-03 15:26:12 777

原创 Java 并发编程实战

1. 可见性、原子性和有序性问题:并发编程 Bug 的源头在并发编程中,常常会遇到由于线程之间共享数据而导致的问题,主要体现在可见性、原子性和有序性上。让我们通过一些代码示例来深入理解这些问题。可见性问题public class VisibilityTest { private static boolean flag = false; public static void main(String[] args) throws InterruptedException {

2025-01-03 15:14:36 1464 1

原创 软件设计与架构原理 (面试宝典)

微服务架构(Microservices Architecture)是近年来软件架构领域的热门话题,它提倡将应用程序拆分成多个独立的、小型的服务,这些服务通过轻量级的通信机制(如HTTP REST、消息队列等)进行交互。大数据架构的目标是高效处理PB级甚至EB级的数据,支持复杂的分析和计算,确保数据的实时处理、存储和查询能力。然而,区块链的潜力远远超出了加密货币的领域,它在供应链管理、金融服务、智能合约、身份验证、版权保护等众多领域都展现出巨大的应用前景。在高并发、分布式的场景下,异步架构是必不可少的。

2025-01-03 13:59:50 837

原创 Redis(基础篇 + 实践篇 )

Redis 提供了对地理位置信息的支持,通过。

2025-01-03 13:36:15 1336

原创 深入解析与实践:MySQL

字段是数据库中存储数据的基本单位,MySQL 提供了多种数据类型,以适应不同的业务需求。数值类型:包括INTBIGINTDECIMALFLOAT和DOUBLE等类型。对于精度要求较高的财务数据,推荐使用DECIMAL,而对于一般的整数数据,则可以使用INT。字符串类型:包括VARCHARCHARTEXT和BLOB。对于变长字符串数据,可以使用VARCHAR,而对于定长字符串,则使用CHAR。日期和时间类型:包括DATEDATETIMETIMESTAMPTIME和YEAR。其中,DATETIME和。

2025-01-03 13:23:49 1094

原创 深度解析与实践:HTTP 协议

HTTP 协议作为 Web 的基础协议,贯穿了从前端到后端、从请求到响应、从客户端到服务器的所有通信。虽然 HTTP 协议本身简单易懂,但要在现代 Web 和微服务架构中高效、安全地使用它,

2025-01-03 11:43:08 1469

原创 Java 和领域驱动设计的深度实践

通过在 Java 项目中深入应用领域驱动设计(DDD),我们能够更好地应对复杂的业务需求,并构建出更加健壮、灵活且可维护的系统。DDD 并非一蹴而就,它需要开发者深入理解业务、精心设计领域模型,并通过合理的架构和工具加以实现。虽然 DDD 为 Java 开发带来了诸多挑战,如领域模型设计、跨限界上下文的协作和性能优化,但通过不断学习、重构和实践,团队可以克服这些难题,最终实现业务与技术的完美融合。领域驱动设计不仅是一个架构方法论,它是一种思维方式,要求我们从业务角度出发,反映业务需求并快速迭代。

2025-01-03 11:36:28 983

原创 深入理解领域驱动设计(DDD)

领域驱动设计(DDD)是由 Eric Evans 在其 2004 年出版的《领域驱动设计:软件核心复杂性应对之道》(Domain-Driven Design: Tackling Complexity in the Heart of Software)一书中首次提出的。DDD 的核心思想是,软件的设计应该基于业务领域模型,并且开发团队需要与领域专家(如业务人员)密切合作,通过语言和模型表达业务需求。DDD 强调在设计过程中,开发团队应始终关注“领域问题”,而不是具体的技术实现。

2025-01-03 11:32:00 1007

原创 深入 Redis:高级特性与最佳实践

Redis 作为一个高性能的键值存储系统,在现代分布式系统中发挥着重要作用。通过合理利用 Redis 的高级特性和设计模式,开发者可以在高并发、海量数据的环境下实现高效的数据存储与访问。同时,深入理解 Redis 的性能优化与最佳实践,能够确保系统的稳定性与扩展性。

2025-01-03 11:27:40 1196

原创 Java 高级设计模式:深度解读与应用实例

当我们需要创建一组相关或依赖的对象时,抽象工厂模式显得尤为重要。它提供了一个接口,用于创建一系列相关的产品,而不指定具体的类。优点:抽象工厂模式使得系统能够在不修改代码的情况下扩展新的产品族。设计模式是编程世界的智慧结晶,它们为我们提供了在复杂系统中组织和管理代码的最佳方法。在 Java 中,合理运用设计模式可以有效提升软件的可维护性、可扩展性和灵活性。掌握高级设计模式,不仅能帮助我们构建更高效的系统,还能在工作中提升我们解决问题的能力。

2025-01-03 11:25:16 1258

原创 edusoho企培版纯内网部署教程(解决播放器本/上传本地化、ppt/pdf 本地播放、后台所有页面卡顿问题、开启倍速播放/播放器指纹 或对接阿里云点播存储播放视频 及 oss 存储和播放文档)

处理edusoho内网部署问题处理edusoho内网部署问题前面的环境随你开心只要是正常lnmp就行,就php有要求 ,根据教程先能访问网校页面。重点在后面的内网配置及代码改动(说明: 改完以后不建议升级,升级版本就要再改一次,安装版本最好是偏新的,低版本可能存在某些bug,可以找个连外网的装了升级到最新 然后迁移到内网环境再修改代码)

2022-06-29 09:48:26 14392 20

原创 ubuntu 20.04 部署edusoho企培版(安装包部署)

1. 安装依赖apt-get updateapt-get upgradeapt-get install wget gcc make perl vim libmcrypt-dev mcrypt2.安装配置nginxapt-get install nginxvim /etc/nginx/nginx.conf添加`client_max_body_size 1024M;`到http下,如下所示http { ## # Basic Settings

2022-03-11 13:03:34 5080

原创 edusoho 内网部署问题(视频播放,文件上传 无法使用)

edusoho 网络课堂 /edusoho 企业大学(企业培训版) 纯内网部署。课程视频播放 和课程上传文件 问题。 原因是: 播放器和上传的sdk是访问云端的,内网部署的话需要本地化。操作1.下载sdk文件:链接: https://pan.baidu.com/s/1akGId9DOrtN60iec_Acu1A 提取码: n27nsdk功能是持续在更新的 目前这个是2021-11-01版本,能正常使用 如需最新需要联系官方获取2.替换文件 :替换项目目录web/service-...

2021-11-03 11:47:35 2836 22

原创 edusoho企培版推荐环境部署文档之 -Ubuntu 14.04-php7.1

安装向导 - Ubuntu 14.04Step1:安装PHP7.11.ubuntu 14.04, 添加PHP 7的APT源sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get install php-pear php7.1-cli php7.1-common php7.1-curl php7.1-dev php7.1-fpm php7.1-json php7.1-mbstring p

2021-06-08 10:06:23 371

原创 edusoho企培版 5.6.0 前版本下chrome 8.0版本以上无法上传资源 处理文档

备份代码 将文件夹中JWT文件夹复制到项目目录src/AppBundle/Component 下 将文件夹中的UploaderToken.php替换src/AppBundle/Util/UploaderToken.php 将文件夹中的UploadFileServiceImpl.php替换src/Biz/File/Service/Impl/UploadFileServiceImpl.php、 将文件夹中的security.yml替换app/config/security.y...

2021-06-08 10:01:26 269

原创 edusoho企培版 centos8.2 /php7/mysql8.0部署文档

1安装wget如果系统已安装wget,请跳过此步骤 yum install wget2更新系统#更新yum软件包yum check-update #更新系统yum update3 安装配置防火墙3-1 更改默认防火墙,开启22端口、80端口、3306端口关闭firewall:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动安装ipta

2021-04-09 14:02:39 631

原创 Excel 高级使用指南:从零开始,小白也能轻松掌握

《Excel 从入门到精通指南》摘要(149字): 本文系统讲解Excel核心技能: 1️⃣ 基础篇:界面认知、高效快捷键(如Ctrl+C/V)、数据自动填充与验证 2️⃣ 函数篇:SUM/IF/VLOOKUP等5大必备函数,特别推荐XLOOKUP替代方案 3️⃣ 进阶应用:数据透视表快速统计、宏录制实现自动化、条件格式智能标注 4️⃣ 实战演示:动态图表制作技巧,搭配切片器实现交互式报表 学习路径清晰划分三个阶段,建议每日掌握1个技巧,配套真实数据练习。涵盖职场高频需求如数据分析、报表优化,助新手1个月显

2025-08-20 09:24:26 219

原创 MySQL 数据与表结构导出 Excel 技术文档

本文档详细介绍了将MySQL数据与表结构导出为Excel文件的方法,包含多种实用技术方案。主要内容包括:使用SELECT INTO OUTFILE、MySQL命令行和mysqldump工具导出表数据;通过INFORMATION_SCHEMA和SHOW CREATE TABLE命令获取表结构;以及利用Python/PHP编程语言实现数据导出。文档还提供了批量导出多表数据的Shell脚本示例,并总结了大数据量处理、编码问题和Excel兼容性等注意事项,为数据库管理员和开发人员提供了全面的技术参考。

2025-08-20 09:19:24 754

原创 阿里云KMS完全指南:从零开始的密钥管理实践

《阿里云KMS完全指南》系统介绍了密钥管理服务的核心功能与技术原理。文章首先阐释KMS作为全托管密钥管理平台的价值,包括安全存储、加密操作简化和合规保障三大优势。深入剖析了密钥生命周期管理和信封加密技术,并提供了从开通服务到创建密钥、加解密测试的完整Python示例代码。最佳实践部分涵盖数据库和文件加密方案,同时强调安全合规要求与成本优化策略。最后给出故障排查方法和学习路径,帮助用户全面掌握KMS应用。该指南兼具理论深度与实践指导性,适合不同层次的云安全从业者参考。

2025-08-12 11:23:14 658

原创 Yii2 Redis Queue

Yii2 中的 Redis Queue 组件提供了高效的任务队列解决方案,采用 Redis 作为底层存储,支持实时监听和批量处理两种消费模式。其核心机制包括任务序列化、阻塞式弹出、延迟任务和失败重试等功能。生产环境中建议配合 supervisor 管理进程,开启 Redis 持久化,并实施队列监控。典型应用场景包括邮件发送、数据同步等异步任务处理,需注意任务类加载、进程管理和内存泄漏等问题。通过合理配置多进程消费和任务拆分,可显著提升队列处理性能。

2025-08-12 11:00:43 607

原创 基于Flask的深度学习模型部署技术文档

本文档详细介绍了使用Flask框架部署深度学习模型的全流程。主要内容包括:系统架构设计、环境配置、Flask应用开发(模型加载、API端点实现)、数据预处理/后处理方法、性能优化技巧(多线程、生产服务器)、安全考虑(文件验证、API认证)以及测试和部署建议。该方案可实现高效稳定的深度学习模型Web服务,支持图像分类等任务,并提供了从开发到生产部署的完整解决方案。

2025-08-12 10:45:38 470

原创 深度学习与JWT:Java实现安全身份验证

本文介绍了JWT的基本原理及其在Java中的实现方法,并探讨了如何利用深度学习增强JWT安全性。文章首先解析JWT的三部分结构和工作流程,然后详细展示了使用Java JJWT库生成、验证JWT的完整代码实现,包括密钥管理、令牌生成和验证逻辑。最后提出三种深度学习增强方案:通过异常访问检测模型识别可疑行为、基于用户行为动态调整令牌有效期,以及利用智能黑名单检测泄露令牌。这些方法结合了传统安全机制与前沿AI技术,为构建更智能、更安全的身份验证系统提供了可行方案。

2025-08-12 10:29:56 623

原创 PDF转图片工具技术文档(命令行版本)

本文介绍了一个基于PyMuPDF库的PDF转图片命令行工具,能够将PDF每页转换为高分辨率PNG图片。工具通过argparse处理命令行参数,自动创建输出目录并按页码命名图片。核心功能包括300DPI输出、2倍缩放优化、错误处理和文件验证。文章详细说明了安装方法、使用示例、代码实现原理,并提供了常见问题解决方案和扩展建议。该工具无需GUI界面,适合集成到自动化工作流中,支持自定义输出质量、目录和图片格式,可通过简单命令实现PDF批量转换。

2025-08-05 15:27:00 443

原创 JWT 签名验证失败:Java 与 PHP 互操作问题解决方案

Java和PHP在JWT实现中的密钥处理差异导致签名验证失败。Java的JJWT库要求HS256签名密钥必须Base64编码,而PHP的php-jwt库直接使用原始密钥。解决方案是:在Java端使用TextCodec.BASE64.encode()对密钥编码后再签名,PHP端保持原始密钥验证。跨语言系统应统一约定密钥格式,并通过测试工具验证互操作性。当PHP生成JWT时,Java验证需使用原始密钥而非编码后密钥。

2025-08-05 15:16:37 452

原创 JavaScript 回车事件使用指南

JavaScript回车事件处理指南:介绍如何监听和处理键盘回车事件,包括表单提交、搜索触发等常见场景的实现方法。文章详细说明了使用event.key检测回车键的推荐方式,对比了已弃用的keyCode方法,并提供了React/Vue框架中的实现示例。同时强调了阻止默认行为、事件冒泡处理等注意事项,以及组合键处理、事件委托等高级用法,帮助开发者提升Web应用的用户交互体验。

2025-08-05 15:13:51 458

原创 Safari浏览器弹窗拦截问题分析与解决方案

摘要:Safari浏览器对弹窗拦截有严格策略,特别是异步回调中的window.open调用。本文分析了Safari基于"用户手势跟踪"的拦截机制,提供了三种解决方案:预打开空白窗口(推荐)、同步请求(不推荐)和自定义弹窗替代。最佳实践建议在点击事件中立即打开窗口并显示加载状态,待AJAX返回后再更新地址。文章还总结了Safari弹窗规则对比表,并提供了测试验证方法。这种预打开方案既能绕过拦截,又能保证用户体验,是解决Safari弹窗问题的有效方法。

2025-08-05 11:44:05 312

原创 Java实现与PHP兼容的MD5加密技术详解

本文介绍了Java实现与PHP兼容的MD5加密技术。主要内容包括:MD5算法特性概述;Java中实现与PHP结果一致的MD5加密方法,重点解决字符编码差异问题;提供性能优化版本和文件MD5校验扩展实现;讨论了MD5的安全局限性和替代方案(如SHA-256、bcrypt)。文章通过测试用例验证了Java与PHP的MD5结果一致性,并解答了常见问题。虽然MD5已不推荐用于安全场景,但在非安全领域仍有应用价值。

2025-08-05 11:38:25 714

原创 Python实现AES/ECB/PKCS5Padding加解密详解

本文详细介绍了Python实现AES/ECB/PKCS5Padding加解密的方法。首先讲解了AES对称加密算法的核心特点及ECB模式特性,指出其不适合加密结构化数据。其次解释了PKCS5/PKCS7填充机制的区别与实现规则。文章提供了完整的Python实现代码,使用pycryptodome库,包含密钥验证、加密解密功能及命令行交互演示。重点分析了ECB模式的可视化缺陷,相同明文块会产生相同密文块,建议生产环境改用CBC或GCM等更安全模式。最后给出密钥管理等安全实践建议和CBC模式示例代码。

2025-08-05 11:28:45 849

原创 Java UnsupportedOperationException 深度解析及解决方案

避免该异常的关键是确保对集合的修改操作是在可变集合上进行。之一,属于未检查异常(Unchecked Exception)。,以确保集合是可修改的。希望本文能帮助你更好地理解 Java 的集合框架,避免。是一种常见的运行时异常,通常发生在尝试对。等方法可能会触发此异常。,特别是在使用 Java 集合框架时。的可能原因,并提供有效的解决方案。不能被修改,任何试图调用。在 Java 开发过程中,

2025-04-02 15:53:54 561

原创 深入解析 Java Optional:避免 NPE 的最佳实践与代码示例

创建 Optional: 不能为null: 允许null: 创建空Optional判断是否有值(不推荐)获取值get()(不推荐)转换值组合 OptionalorElse()这样,你可以在 Java 项目中更优雅地处理null,减少 NPE 发生的可能性。🚀。

2025-02-19 10:44:27 431 1

原创 PHP 中 `foreach` 循环结合引用使用时可能出现的问题

引用遍历的隐患在使用引用遍历时,循环结束后引用变量不会自动解除,这可能导致后续代码中意外修改了引用的对象。后续操作的误区当后续循环中再次使用之前的变量(例如$value)时,即使不使用引用,赋值操作也会作用到原来引用的目标上(在本例中为数组最后一个元素)。解决方案在引用foreach循环结束后调用或以解除引用关系。尽量避免在同一作用域中混用引用和非引用的循环,或改变变量名后仍记得清理引用。理解了这个问题的机制后,在实际开发中就可以避免类似的陷阱,提高代码的健壮性和可读性。

2025-02-05 10:17:23 1106

原创 PHP `foreach` 引用变量导致的问题及其解决方案

在 PHP 5 和 PHP 7/8 中,foreach处理引用的方式有所不同。PHP 7/8 由于优化可能导致数组副本创建,从而影响foreach逻辑,进而导致代码在不同环境下的行为不一致。避免foreach✅尽量使用值拷贝,而不是引用✅如果修改数组,优先使用或for循环✅确保 PHP 版本一致,避免环境差异导致的问题✅如果使用引用,确保释放引用通过遵循这些最佳实践,可以避免foreach在不同 PHP 版本中的潜在问题,提高代码的健壮性和可维护性!

2025-02-05 10:07:18 1010

原创 深入学习 Python 量化编程

首先,你需要安装一些在量化编程中常用的 Python 库。

2025-01-11 11:40:54 2547 1

原创 Python3 多线程编程学习指南

多线程是一种在同一个进程内并发执行多个线程的技术。每个线程是一个独立的执行单元,共享进程的内存和资源。多线程允许在一个应用程序中同时执行多个任务。优势:挑战:在多线程环境下,由于线程共享内存,因此线程切换比进程切换更轻量,适用于处理并发任务。Python 中的 GIL(Global Interpreter Lock)是一个锁机制,确保同一时刻只有一个线程可以执行 Python 字节码。GIL 使得 Python 在执行 CPU 密集型任务时无法充分利用多核 CPU,这意味着在多线程程序中,CPU 密集型任务

2025-01-11 11:36:18 890

原创 Python Selenium 库学习指南

Selenium 是一个强大的浏览器自动化工具,它可以模拟用户在浏览器中的操作,如点击按钮、输入文本、滚动页面等。它最初用于 Web 应用的自动化测试,但在数据抓取和爬虫领域也得到了广泛应用,特别是抓取动态加载的网页内容。Selenium 可以与多种浏览器配合使用,包括 Chrome、Firefox、Edge、Safari 等,它通过 WebDriver 接口与浏览器交互。你也可以通过执行自定义的 JavaScript 代码,控制页面行为。# 让页面元素改变颜色")

2025-01-11 11:30:18 1589

原创 深入学习 Python 爬虫:从基础到实战

爬虫,顾名思义,是一种自动化的网络数据抓取程序。它通过模拟人类的浏览行为,向指定的 Web 服务器发送请求,获取网页数据,然后从中提取出有用的信息。获取公共网站的数据。监控某些网页的变化。搜集数据用于分析和研究。请求(Request):发送到 Web 服务器的 HTTP 请求,通常是 GET 或 POST 请求。响应(Response):服务器返回的网页内容,通常是 HTML 格式的数据。数据提取:从 HTML 响应中提取你感兴趣的数据。

2025-01-11 11:27:09 1814 1

原创 **MapStruct** 在实际开发中的应用

当字段名称不同或字段类型不匹配时,我们需要显式指定映射规则。MapStruct 提供了@Mapping注解来定义源字段与目标字段的映射关系。@Mapper在这里,我们使用@Mapping注解显式指定了carModel映射到model。当源对象和目标对象的字段名不同,或者是类型转换时,我们可以通过source和target来指定映射关系。当两个对象的类型不匹配时,MapStruct 允许你提供自定义转换方法。通过在映射接口中定义default方法,或者在实现类中自定义方法来处理复杂的类型转换。

2025-01-10 16:31:52 789

原创 Git 操作与技巧

掌握 Git 的各种操作技巧,可以大大提高你的开发效率,避免许多常见的开发问题。在日常开发中,合理使用分支管理、提交规范、以及与 CI/CD 集成,能够确保代码质量和团队协作的顺畅。同时,了解和熟练使用一些 Git 的高级操作,如git bisectgit rebase和标签管理,也能帮助你更好地管理项目和调试 bug。通过不断实践和积累经验,你将能在 Git 的世界中游刃有余,更高效地完成开发任务。

2025-01-10 16:13:50 1092

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除