自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AttributeError: ‘WebSocketProtocol‘ object has no attribute ‘handshake_deferred‘

摘要:本文记录了在使用Django Channels开发WebSocket多人房间应用时遇到的"handshake_deferred"报错问题。错误表现为WebSocket协议对象缺少handshake_deferred属性,实则源于accept()方法被重复调用。作者通过分析发现,该问题与版本无关,而是在连接逻辑中两次调用了accept()方法:用户认证后和房间分配后各一次。正确的做法是:先完成所有前置检查(用户认证、房间校验),确定连接合法后再调用一次accept(),并在拒绝连接时

2025-11-20 00:11:35 268

原创 【踩坑记录】Django + Nginx + WebSocket + JWT 跨域问题全解析(含完整解决方案)

本文记录了Django+Vue项目中遇到的跨域问题及解决方案。主要针对静态资源、媒体文件、API接口和WebSocket连接中的跨域问题,特别是涉及Authorization请求头的场景。通过分析浏览器预检请求(OPTIONS)被拦截的原因,给出了完整的Nginx配置方案,包括核心API接口、静态文件、媒体文件上传和WebSocket的跨域处理。文章还提供了跨域排查的四步经验:查看控制台错误、检查OPTIONS响应、确认Authorization头配置以及注意Nginx的always参数。最终方案解决了跨域

2025-11-19 11:14:52 686 1

原创 Django Rest Framework 和 JWT 身份验证

本文介绍了在Django项目中集成DRF和JWT身份验证的完整流程。首先安装并配置Django Rest Framework,使用APIView创建基于类的视图。然后集成JWT验证,包括安装simplejwt、配置token参数、添加获取/刷新token的路由,以及手动获取token的方法。特别说明了JWT在Django Channels中的实现方案,创建了处理WebSocket连接的JWT中间件。最后介绍了Nginx配置,添加了对跨域请求方法的支持。这些措施共同解决了跨域身份验证问题,为前后端分离应用提供

2025-11-17 10:01:54 354

原创 第三方一键授权功能(详解版)

第三方一键授权登录

2025-09-18 11:32:21 750

原创 WebSocket Secure(WSS)在Django项目中的使用

本文介绍了游戏同步中WebSocket Secure(WSS)的实现方法。主要内容包括:1) 使用channels_redis配置Django Channels实现WebSocket通信;2) WSS协议概述,包括其加密原理、与WS的区别;3) WSS的工作流程和优势;4) Node.js实现WSS的代码示例。WSS通过TLS/SSL加密确保实时通信安全,适用于游戏同步、聊天应用等场景,是构建安全实时系统的关键技术。

2025-09-18 11:20:20 1047

原创 ​Access to XMLHttpRequest at ‘某网站‘ from origin ‘某网站‘ has been blocked by CORS policy: No ‘Access-Co

Access to XMLHttpRequest at '某网站' from origin '某网站' has been blocked by CORS policy: No 'Access-Co 跨域问题

2025-08-29 00:54:21 1114

原创 一键授权登录

该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数(如果是将第三方授权登录绑定到现有账号上,那么推荐用随机数 + user_id作为state的值,可以有效防止CSRF攻击)access_token的有效期为2小时,时间较短。请求地址:https://www.acwing.com/third_party/api/oauth2/access_token/如果access_token未过期,则将当前的access_token的有效期延长为2小时。

2025-08-20 22:56:03 661

原创 Redis(以Django为例,含具体操作步骤)

Redis是一个高性能内存数据库,支持多种数据结构(字符串/哈希/列表等),可用作缓存、会话存储和消息队列。特点包括内存存储、持久化(RDB/AOF)和分布式(主从/哨兵/集群)。在Django中可通过django_redis集成,配置缓存后端后使用cache模块进行键值操作(set/get/delete等),支持批量操作和原子计数。相比单线程KV存储,Redis提供更多高级功能,适合高并发场景。集成步骤包括安装依赖、配置连接、验证服务,并通过统一API访问。

2025-08-20 16:47:45 604

原创 Django前后端交互实现用户登录功能

Django是一个高级Python Web框架,鼓励快速开发和简洁实用的设计。它遵循“约定优于配置”的原则,内置了许多功能,使开发者能够专注于业务逻辑而非底层实现。

2025-08-17 18:54:53 496

原创 Django开发(术士之战)

该流程图描述了网页游戏的加载和执行过程:首先浏览器加载HTML模板、CSS样式和JS脚本;然后初始化游戏对象AcGame,创建游戏菜单和游戏场景;初始仅显示菜单界面;当用户点击"单人模式"时,隐藏菜单并显示游戏界面。整个过程涉及多个JavaScript文件的协同工作,通过DOM操作实现界面切换。

2025-08-05 02:11:22 295

原创 render函数在update中调用,结果没有显示

文章摘要:游戏开发中,update函数通常不在构造函数中直接调用,而是通过DjGameObject类统一管理。在动画循环函数DJ_GAME_ANIMATION中,会遍历所有游戏对象,先执行start初始化,之后在每帧调用update函数并计算时间差。调用未生效可能是浏览器缓存导致,可尝试ctrl+shift+r强制刷新。该模式通过requestAnimationFrame实现动画循环,确保所有对象的update都能被统一调用。

2025-07-27 04:05:43 130

原创 面试章-MyBatis3.X高手系列-玩转多级缓存和懒加载

MyBatis缓存与懒加载机制一级缓存SqlSession级别,默认开启,HashMap存储。同会话重复查询命中缓存,增删改操作自动清空。二级缓存需手动配置,namespace共享,支持Ehcache/Redis等存储。通过<cache>配置策略(LRU/FIFO)、刷新间隔。查询顺序:二级缓存→一级缓存→数据库。懒加载lazyLoadingEnabled开启后,关联对象按需加载。需关闭aggressiveLazyLoading(默认true)避免全加载,debug模式可能触发预加载。

2025-07-12 19:44:08 913

原创 进阶MyBatis3.X复杂Sql查询

MyBatis的resultMap详解:resultMap是MyBatis中处理复杂查询结果映射的核心机制,相比resultType更灵活强大。它支持自定义字段映射(column→property),尤其适合多表关联查询。主要功能包括:1)基础字段映射;2)一对一关联(association),如订单包含用户信息;3)一对多关联(collection),如用户有多个订单。通过id和result标签配置主键和普通字段,association和collection分别处理对象属性和集合属性。resultMap能

2025-07-12 19:44:03 553

原创 新版MyBatis3.X玩转常见配置

本文介绍了MyBatis3.X配置文件mybatis-config.xml的核心配置项及其顺序要求,包括properties、settings、typeAliases等常用节点。重点讲解了typeAlias别名的使用方式,可通过单个配置或包扫描简化类名引用,并提及MyBatis内置的常见类型别名。文章还强调了高性能SQL编写中Sql片段的使用优势,通过定义可复用的字段片段替代select *查询,提升查询性能。最后提供了MyBatis官方配置文档链接供进一步参考。

2025-07-08 18:38:09 731

原创 案例实战MyBatis3.X玩转更新和删除

摘要:本文介绍了MyBatis3.X实战中的更新和删除操作要点。在更新操作中,对比了全字段更新与选择性更新的区别,重点讲解了使用<if test>标签进行动态字段更新,并指出POJO类中基本数据类型与包装类型的处理差异(如double与Double)。在删除语法中,演示了如何通过CDATA转义特殊符号(如>、>=)来避免XML解析冲突,示例展示了按创建时间和价格条件删除视频数据的实现方法。文章特别强调在实际开发中要注意数据类型选择和转义字符的使用。

2025-07-08 06:54:44 670

原创 案例实战MyBatis3.X玩转查询和新增操作

MyBatis开发实用技巧摘要:本文介绍了MyBatis开发的多个核心功能,包括:1)通过log4j配置控制台SQL打印;2)查询参数别名的使用;3)自动驼峰命名映射配置;4)parameterType参数类型详解;5)插入操作与自增主键获取;6)foreach批量插入语法。重点讲解了数据库字段与Java对象的映射配置、多种参数类型处理以及批量操作实现。这些功能显著提升了MyBatis开发效率,特别是自动驼峰映射和批量操作可减少大量重复代码。

2025-07-07 06:31:05 1197

原创 从Javaweb原生jdbc到快速掌握新版MyBatis3.X

简介:原生jdbc访问数据库缺点和ORM框架介绍原生jdbc缺点每次要加载驱动,连接信息是硬编码sql和java代码耦合一起,改动不易参数设置缺少灵活性处理结果集麻烦,不能自动映射到实体类连接资源不能复用,资源浪费什么是ORM框架对数据库的表和POJO(Plain Ordinary Java Object)Java对象的做映射的框架市面上的ORM框架比较笨重,sql调优麻烦推荐指数:不推荐Java Persistence API, 轻量级,部分中小项目适合推荐指数:次之。

2025-07-03 04:24:30 651

原创 设计在线教育项目核心数据库表

数据库设计及概要

2025-06-27 22:15:53 203

原创 玩转新版SpringBoot2.X整合定时任务和异步任务

什么是定时任务,使用场景。

2025-06-27 21:35:34 302

原创 新版SpringBoot2.X 整合模板引擎thymeleaf和Fk

摘要:本文介绍了SpringBoot2.x常用的starter和模板引擎技术。在starter方面,重点讲解了spring-boot-starter-web等核心依赖的作用。在模板引擎方面,对比分析了JSP(官方不推荐)、Freemarker和Thymeleaf(官方主推)三种技术的特点,包括性能、语法和适用场景。文章还提供了SpringBoot整合Freemarker和Thymeleaf的实战教程,包括Maven依赖配置、基础参数设置(缓存、编码、路径等)以及简单的测试案例。

2025-06-25 23:55:09 750

原创 Servlet3.0和SpringBoot2.X过滤器-拦截器实战

本文介绍了SpringBoot2.X中过滤器和拦截器的使用。过滤器(Filter)通过Servlet3.0注解开发,可实现权限控制、登录状态验证等功能,需注意优先级设置。拦截器(Interceptor)配置更灵活,能深入到方法前后处理,与过滤器的区别在于执行时机和作用范围。文章还涉及监听器(Listener)的实现和Servlet3.0原生开发,并通过在线教育项目的登录接口案例演示实际应用。关键点包括:注解配置方法、执行顺序、路径匹配规则以及静态资源排除等常见问题的解决方案。

2025-06-25 18:03:33 947

原创 GPT,Sora原理解读

摘要:GPT是基于生成式语言任务的模型,通过大量无标注文本训练预测后续词语,但难以判断信息真伪。其核心是理解输入输出的规律,将词语转化为向量运算。Sora则采用扩散生成模型,从高斯噪声中反向重建有序结构(熵减),通过评分函数引导粒子形成特定图像。真实图片需满足像素间的约束条件,位于数学流形上。Sora将此扩展到视频领域,在时间维度保持连贯性。两者都可能影响但未必完全替代某些职业。

2025-06-20 15:13:40 611 1

原创 项目实战中的Springboot2.X全局异常处理

摘要:本文介绍了SpringBoot2.x中的全局异常处理机制。通过@ControllerAdvice或@RestControllerAdvice注解配置全局异常类,使用@ExceptionHandler捕获异常,可统一处理服务端错误(如空指针等),提供友好错误页面或JSON响应。注意需检查配置文件确保templates目录能被正确加载。全局异常处理能提升用户体验,统一错误处理逻辑。

2025-06-19 19:14:52 255

原创 项目实战中的Springboot2.X单元测试应用

本文介绍了软件开发测试流程及SpringBoot单元测试应用。测试流程包括需求分析、设计、开发、测试和上线,涵盖单元测试、黑盒/白盒测试、回归测试、集成测试和系统测试。重点讲解了SpringBoot2.x单元测试的实现:引入测试依赖,配置注解,使用断言验证结果。通过在线教育项目案例,演示了Controller和Service层的测试方法,包括用户登录和视频列表功能测试。特别介绍了MockMvc测试工具,用于模拟HTTP请求测试Controller接口,展示了视频列表API的完整测试过程。文章为SpringB

2025-06-19 03:02:26 570

原创 最佳实践之SpringBoot.2.X里面的配置文件

摘要:本文介绍了SpringBoot 2.x中常见的配置文件形式(XML、YAML、Properties)及使用区别,重点讲解了YAML的树状结构语法和Properties的键值对格式。同时演示了两种配置加载方式:通过@Value注解直接映射属性和使用@ConfigurationProperties绑定实体类,并分析了配置注入失败的常见原因及解决方案。文章还提供了SpringBoot官方配置文档参考,建议开发时将相关配置属性集中管理以提高代码可读性和维护性。

2025-06-17 22:36:54 1029

原创 IDEA中SpringBoot2.X热部署Dev-tool和常见问题

SpringBoot热部署开发指南 热部署是指在应用运行时更新代码无需重启,极大提升开发效率。常见实现方式有Jrebel、SpringLoaded和spring-boot-devtools。在SpringBoot2.x中,可通过以下步骤配置devtools实现热部署:1)添加devtools依赖和maven插件配置;2)IDEA中设置compiler.automake.allow.when.app.running选项,或通过高级设置启用"Allow auto-make to restart&quo

2025-06-17 01:23:20 1045

原创 在线教育项目核心模块

摘要:本文介绍了基于SpringBoot2.X的在线教育系统开发实践。项目采用前后端分离架构,重点讲解后端核心模块开发,包括用户注册/登录、视频管理CRUD等。主要内容涵盖:1)项目架构搭建与包结构设计;2)HTTP接口开发(GET/POST请求及相应注解使用);3)统一接口返回协议规范(JsonData工具类实现);4)RequestBody处理JSON数据绑定;5)Jackson定制JSON字段格式(日期格式、敏感信息过滤等)。通过实战演示SpringBoot在项目中的典型应用,包括序列化/反序列化操作

2025-06-16 19:17:40 1028

原创 Trie字符串统计

Trie树

2025-05-07 11:16:11 235

原创 互联网公司中新版SpringBoot2.X开发规范解读

目录讲解。

2025-04-27 21:31:01 1167

原创 Maven项目细节

Maven 是一个广泛使用的 Java 项目管理和构建工具: 依赖传递:Maven 会自动处理依赖的传递性,即如果项目 A 依赖于项目 B,而项目 B 又依赖于项目 C,Maven 会确保项目 C 的依赖也被正确引入到项目 A 中。 构建生命周期 清理(clean):删除以前构建生成的所有文件和目录,如目录。 编译(compile):将项目的源代码编译成字节码文件。对于 Java 项目,会将目录下的 Java 源文件编译到目录中。 测试(test):运行项目的单元测试。

2025-04-27 10:51:24 375

原创 微服务必备核心-快速入门SpringBoot2.X

Springboot

2025-04-23 12:04:23 954

原创 Spring5框架和基本概念

管理创建和组装对象之间的依赖关系, 加了spring注解的类会自动创建一个实例,加到IOC容器里面,然后看哪里需要它,就自动赋值过去。什么是Spring:轻量级的 DI / IoC 和 AOP 容器的开源框架。为什么要学Spring。什么是Spring框架。

2025-04-23 11:19:29 221

原创 教育平台项目实战(从0到1)

Springboot项目实战,Vue项目实战,从0到1

2025-04-23 11:09:14 272

原创 DeepSeek+Graphrag检索增强

用于增强的文章为一篇机器学习的文章,以及本人自己的论文对于此感兴趣的可私聊我,过多细节不便展示。

2025-03-05 18:05:55 725 3

原创 machinelearning(机器学习)

机器学习0帧起手

2025-03-05 17:32:54 958

原创 基于Hadoop平台的电信客服数据的处理与分析

本项目为基于Hadoop平台的电信客服数据的处理与分析 ,通过做项目的途径,对本学期所学的知识点进行总结和应用,有利于更好地掌握和使用数据处理系统。利用Hadoop对大量数据进行分析和处理,得到精简出的有益消息,有助于发现问题,对电信推广方法进行优化,考察不同用户的数据,贴近用户本身。通过数据分析的结果,可以更加合理地分配推广资源,解决日常通话方面出现的问题,极大推动了电信行业的进步,化繁琐冗余为简练,在课程评估方面发挥出重要作用。通过对客服数据的深度分析,发现潜在问题,提供改进建议,优化客户服务流程。

2025-03-03 22:03:59 1217 4

原创 健康医疗大数据——医疗影像

本项目是一项基于Hadoop平台的医疗影像大数据实训,通过运用诸如ZooKeeper、Kafka、Flume、Hadoop、Maxwell、Hive、Superset等组件,旨在构建一个高效、协同运作的大数据处理系统。在项目的设计、调试和运行过程中,我们积累了丰富的实践经验,为未来类似项目提供了有价值的参考。Hadoop平台在本项目中担任了核心基础的角色,为其他组件提供了强大支持,促使它们协同工作。ZooKeeper通过协调和同步的功能,确保了整个系统的有序运行。

2025-03-03 21:51:15 1430

原创 求1+2+…+n

短路原则

2024-06-01 14:08:16 320 1

原创 C++类、结构体、指针、引用

C++类、结构体、指针、引用

2024-05-29 02:35:59 348

原创 <router-link>出现Error: No match for {“name“:“home“,“params“:{}}

与传统的多页面应用不同,单页面应用可以实现快速的页面加载和无刷新的页面更新,提供更流畅的用户体验。在将标签换到的时候出现No match for {"name":"home","params":{}}这样的错误,其中格式并无错误,可是玄学的是:当我另起一行写,并把中的内容复制到时,错误却消失了,百思不得其解,有没有懂的佬可以分享一下。

2024-04-16 11:20:57 3796

空空如也

空空如也

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

TA关注的人

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