- 博客(167)
- 收藏
- 关注
原创 docker基本应用和相关指令
分成大类进行区分:每个大类下有不同的子命令,比如docker run属于容器操作,docker pull属于镜像管理。例子:实际应用的例子,比如如何运行一个容器,如何构建镜像,如何查看日志等。-it 以交互模式进入容器(-i 保持输入流,-t 分配伪终端)-p:端口映射,打通容器内外网络。-d:后台运行,适合长期服务。
2025-03-13 11:16:20
1055
原创 避免魔法值和多层if的关键:编程范式和设计模式
设计原则:开放封闭原则(OCP):通过扩展枚举实现新功能,而非修改现有代码单一职责原则(SRP):将区域ID与处理逻辑解耦,各自独立变化枚举类 封装区域ID与处理逻辑的映射关系BiConsumer 函数式接口实现动态方法调用Stream API 函数式遍历替代过程式循环提示:以下是本篇文章正文内容,下面案例可供参考通过函数式接口与枚举的结合,实现了 行为参数化,使代码更符合现代编程范式。这种模式不仅适用于本例,还可广泛应用于状态机、策略选择等场景,是提升代码质量的利器。
2025-03-07 13:34:35
765
原创 浅论数据库聚合:合理使用LambdaQueryWrapper和XML
例如,将Java中的分组统计转移到SQL查询,可以显著减少应用层的负担。好的,我需要分析用户提供的这段Java代码,看看是否有优化的空间。查询一天内的所有数据,如果数据量很大,这会消耗大量内存,甚至导致OOM错误。在处理有数据的区域和没有数据的区域时,存在重复的保存逻辑,可以合并处理逻辑,减少重复代码。车型分类使用硬编码的字符串(如"1", “2”),应该使用枚举或常量,提高可维护性。:处理没有数据的区域时,是否有必要生成零记录,或者是否有更高效的方式。首先,我会通读代码,理解它的功能。
2025-03-05 17:12:48
768
原创 高效能表设计(电商场景实战)
以下是一个电商场景下的 订单表设计 Demo,包含核心设计思路、字段说明和索引策略。重点体现业务驱动、扩展性、性能优化等原则通过以上设计,既满足了核心业务需求,又通过索引、分表、扩展字段等手段兼顾了性能和可维护性。实际开发中需结合具体业务场景调整,例如高并发场景可引入异步记录日志、热点数据缓存等优化措施。
2025-03-04 13:21:22
293
原创 高效能设计表(基本设计)
设计一张高效且可维护的数据库表需要综合考虑业务需求、性能、扩展性和规范性。提示:这里对文章进行总结:通过以上方法,可在保证业务需求的前提下,设计出高性能、易维护的数据库表。最终方案需根据实际业务场景调整,定期通过慢查询日志和监控优化表结构。
2025-03-04 10:45:45
581
原创 前端老张-入门实例-短信业务展示
用户输入 → 2. 前端验证 → 3. 禁用按钮 → 4. 发送请求 → 5. 处理响应 → 6. 显示结果 → 7. 恢复按钮这个页面实现了一个典型的表单提交场景,涵盖了前端开发的三个核心技术(HTML/CSS/JS),可以作为学习现代Web开发的典型案例。在实际项目中,还需要考虑安全性、错误处理、用户体验优化等方面。这段代码实现了一个短信发送的前端页面,包含表单验证、请求发送和结果反馈功能。
2025-03-03 11:21:18
913
原创 前端三剑客修炼手册:HTML+CSS+JS从入门到上头
第二章:CSS——网页美妆博主。1.2 标签使用避坑指南。2.1 选择器七十二变。3.1 DOM操作秘籍。3.2 表单验证实战。
2025-02-18 20:12:53
335
原创 《从青铜到王者:手把手教你用Vue打造会呼吸的员工管理系统》
它告诉浏览器:“嘿兄弟,我是正经HTML文档,别用IE6的姿势打开我”控制台报错:Vue未定义的错误?meta charset:中文不乱码的护身符,没有它你的页面会变成火星文展览馆。vertical-align:让图片和文字像奶茶里的珍珠和奶盖般完美融合。border-collapse:表格边框合并术,拯救强迫症的终极武器。title:浏览器tab栏的个性签名,比朋友圈封面还重要。六、代码进化论:从青铜到王者的升级路线。4.1 Vue实例:你的数字王国。3.3 事件处理:按钮的读心术。
2025-02-17 13:15:51
370
原创 单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务
Spring Cloud 是一个用于构建分布式系统和微服务架构的开发工具包。它提供了一系列的功能和组件,用于解决微服务架构中的常见问题,如服务注册与发现、负载均衡、配置管理、断路器等。本文将介绍如何使用 Spring Cloud 来构建一个简单的微服务架构。服务注册与发现:在微服务架构中,服务之间的相互调用是通过服务注册与发现来实现的。Spring Cloud 提供了 Eureka、Consul、ZooKeeper 等多种服务注册与发现的实现。我们可以选择其中一种来搭建服务注册中心,并在每个微服务启动时将
2023-11-21 14:57:05
710
1
原创 java网络通信:Springboot整合Websocket
WebSocket(Web套接字)是一种在单个 TCP 连接上实现全双工通信的协议,允许客户端和服务器之间进行双向实时通信。双向通信: WebSocket 允许服务器向客户端主动推送消息,同时也允许客户端发送消息给服务器,实现了双向通信。持久连接: 与传统的 HTTP 请求-响应模型不同,WebSocket 连接在建立后可以一直保持,而不需要为每个消息都建立新的连接,减少了通信的延迟和开销。
2023-11-07 14:04:26
713
1
原创 常用设计模式+设计原则
核心思想:抽象工厂模式是一种创建型设计模式,其核心思想是提供一个接口用于创建一系列相关或依赖对象,而无需指定其具体类。抽象工厂允许客户端代码使用抽象接口来创建一组相关的对象,而不需要知道每个具体对象的类。逻辑过程:抽象工厂模式通常包括以下主要参与者:Abstract Factory(抽象工厂):抽象工厂定义了一组用于创建一系列相关对象的方法,通常每个方法对应一个产品。Concrete Factory(具体工厂):具体工厂是抽象工厂的实现,它实现了抽象工厂中定义的方法,用于创建具体的产品。
2023-11-02 15:48:19
366
原创 基于多线程+队列实现生产者和消费者
*监督和控制:**实现一个监督线程,负责监控队列中的数据,以确保数据的处理速度跟得上数据的流入速度。生产者线程通过notify()通知消费者线程,生产了数据,而消费者线程通过wait()等待新的数据。生产者线程通过notify()通知消费者线程,生产了数据,而消费者线程通过wait()等待新的数据。**多线程处理:**创建多个消费者线程,每个线程负责从队列中获取数据,解析车牌信息,然后将其注入到对应的车辆实体类中。**日志和监控:**实施适当的日志记录和监控机制,以便跟踪系统的状态和性能。
2023-10-19 13:32:40
186
原创 springboot配置swagger
总之,Swagger 是一种提高 API 开发和维护效率的工具,它使开发者能够更轻松地构建、测试和文档化 API,并提供了可视化的交互界面,以改进开发流程和加速 API 的采用。
2023-10-17 15:05:29
357
原创 Java网络编程入门指南:实现一个多人聊天室
Socket是Java网络编程的基本组成部分,它允许应用程序通过网络发送和接收数据。这个简单的聊天室示例允许多个客户端通过输入消息与服务器进行通信,服务器会将接收到的消息广播给所有连接的客户端。客户端和服务器之间的通信是基于Socket实现的。创建一个基本的Java服务器,以便接受来自客户端的连接请求和数据传输。创建一个基本的Java客户端,以便连接到服务器并进行数据传输。创建一个基本的RMI客户端,以便调用远程服务器上的方法。创建一个基本的RMI服务,以便远程调用服务器上的方法。
2023-10-08 11:27:13
2786
1
原创 kafka:大规模实时数据流的必选
Kafka 是一个分布式流媒体平台和消息代理,最初由LinkedIn开发并开源。它设计用于高吞吐量,可扩展性,持久性以及容错性。Kafka 主要用于处理实时数据流,广泛应用于各种领域,包括日志收集、事件处理、监控、报警、数据管道和流分析等。以下是 Kafka 的一些关键概念和特点:消息传递系统:Kafka 可以看作是一个高度可配置的分布式发布-订阅消息系统,它允许生产者将消息发布到主题(topic),然后允许消费者订阅这些主题并处理消息。主题(Topic):主题是消息的类别或数据流的逻辑通道。
2023-09-25 14:33:45
455
原创 卡尔曼滤波应用在数据处理方面的应用
卡尔曼滤波器是一种用于估计系统状态的数学方法,它以卡尔曼核心思想为基础,广泛应用于估计动态系统的状态和滤除测量中的噪声。以下是卡尔曼滤波器的核心思想和介绍:系统状态估计: 卡尔曼滤波器的主要目标是估计动态系统的状态,这个状态通常由一个多维向量表示,包含了系统在不同方面的参数。例如,可以用卡尔曼滤波器来估计飞机的位置、速度和方向,或者用来估计汽车的位置和速度等。状态转移模型: 卡尔曼滤波器使用状态转移模型来描述系统状态如何随时间变化。
2023-09-15 14:15:42
773
2
原创 机器学习:基于梯度下降算法的逻辑回归实现和原理解析
逻辑回归是一种用于解决二元分类问题的统计学习方法。尽管其名称中包含"回归"一词,但实际上它是一种分类算法。逻辑回归的目标是预测输入变量与某个特定类别相关联的概率。在逻辑回归中,我们使用一个称为Sigmoid函数的特殊函数来执行这种概率预测。Sigmoid函数的形状类似于"S"型曲线,它将输入的线性组合映射到0到1之间的概率值。逻辑回归使用一种称为逻辑函数(Logistic Function)或S形函数(Sigmoid Function)的函数来建模数据点属于正类别的概率。PY1∣X11e。
2023-09-06 14:27:14
1457
原创 机器学习:基于梯度下降算法的线性拟合实现和原理解析
当我们需要寻找数据中的趋势、模式或关系时,线性拟合和梯度下降是两个强大的工具。这两个概念在统计学、机器学习和数据科学领域都起着关键作用。本篇博客将介绍线性拟合和梯度下降的基本原理,以及它们在实际问题中的应用。
2023-09-05 20:34:27
2187
1
原创 机器学习之路:基于pytorch实现完成的模型训练套路
学习过程中保持积极的学习态度和耐心,机器学习和深度学习是复杂的领域,需要持续学习和实践。目标任务:使用深度学习框架搭建一个更复杂的神经网络,并在一个数据集上进行训练和测试。尝试在学习过程中动手实践,通过编写代码来加深对算法和原理的理解。掌握数据预处理:学习数据清洗、特征选择和特征工程的基本方法。在学习过程中遇到问题及时查阅资料,或向论坛、社区寻求帮助。学习机器学习基础:了解机器学习的定义、分类和基本原理。每天定期复习前几天的内容,巩固知识。
2023-07-28 10:38:13
315
原创 机器学习之路: 神经网络的初步认识-基于pytorch搭建自己的神经网络
学习过程中保持积极的学习态度和耐心,机器学习和深度学习是复杂的领域,需要持续学习和实践。目标任务:使用深度学习框架搭建一个更复杂的神经网络,并在一个数据集上进行训练和测试。目标任务:使用深度学习算法构建一个简单的神经网络模型,并训练模型。尝试在学习过程中动手实践,通过编写代码来加深对算法和原理的理解。掌握数据预处理:学习数据清洗、特征选择和特征工程的基本方法。在学习过程中遇到问题及时查阅资料,或向论坛、社区寻求帮助。学习机器学习基础:了解机器学习的定义、分类和基本原理。每天定期复习前几天的内容,巩固知识。
2023-07-28 10:35:46
1438
原创 机器学习之路:无监督学习算法
学习过程中保持积极的学习态度和耐心,机器学习和深度学习是复杂的领域,需要持续学习和实践。目标任务:使用深度学习框架搭建一个更复杂的神经网络,并在一个数据集上进行训练和测试。目标任务:使用深度学习算法构建一个简单的神经网络模型,并训练模型。尝试在学习过程中动手实践,通过编写代码来加深对算法和原理的理解。目标任务:使用机器学习算法对一个简单的数据集进行数据预处理。目标任务:使用监督学习算法对一个分类问题进行建模和训练。学习机器学习基础:了解机器学习的定义、分类和基本原理。每天定期复习前几天的内容,巩固知识。
2023-07-28 10:29:28
160
原创 机器学习之路:FaceBook预测案例分析----->KNN算法的应用与调优
学习过程中保持积极的学习态度和耐心,机器学习和深度学习是复杂的领域,需要持续学习和实践。目标任务:使用深度学习框架搭建一个更复杂的神经网络,并在一个数据集上进行训练和测试。目标任务:使用深度学习算法构建一个简单的神经网络模型,并训练模型。尝试在学习过程中动手实践,通过编写代码来加深对算法和原理的理解。目标任务:使用机器学习算法对一个简单的数据集进行数据预处理。目标任务:使用监督学习算法对一个分类问题进行建模和训练。学习机器学习基础:了解机器学习的定义、分类和基本原理。每天定期复习前几天的内容,巩固知识。
2023-07-27 21:26:10
513
原创 机器学习之路:经典的鸢尾花数据集-数据清洗、标准化、特征降维和可视化
学习过程中保持积极的学习态度和耐心,机器学习和深度学习是复杂的领域,需要持续学习和实践。目标任务:使用深度学习框架搭建一个更复杂的神经网络,并在一个数据集上进行训练和测试。目标任务:使用深度学习算法构建一个简单的神经网络模型,并训练模型。尝试在学习过程中动手实践,通过编写代码来加深对算法和原理的理解。目标任务:使用机器学习算法对一个简单的数据集进行数据预处理。目标任务:使用监督学习算法对一个分类问题进行建模和训练。学习机器学习基础:了解机器学习的定义、分类和基本原理。每天定期复习前几天的内容,巩固知识。
2023-07-27 19:54:51
2084
原创 关于java在成员/全局变量上不同类型赋值遇到的问题(值传递)
在java中只有值传递,没有引用传递,即使是包装类型,传递了引用,但是依然是通过创建副本进行传递的!int a = 1;method1(a);input = 2;input = 2;} }结果是什么?有返回值的设值才会让String、int改变,而对javabean的直接赋值不需要返回直接变化掉这是什么导致的?存储位置吗?
2023-05-24 10:41:05
1091
原创 Postman传递@requestbody标注的List集合的传参遇到的问题
这里对应了三个传入参数,因为deviceList是必须的,Device作为我们自己封装的JavaBean,我们想要直接传参的话,前端传递一个List过来,这个是被@Requestbody修饰的,同时还存在两个由@RequestParam修饰的包装类,因此,,Spring 才会自动将 JSON 类型数据与我们的类进行匹配。Postman测试接口传入List类型的参数以及数组类型参数。前后端交互--------后端传JSON给前端。当前端传来的是一个完整对象的时候,而且是以。@RequestBody的使用。
2023-05-24 10:29:45
6070
原创 函数式接口入门简介
消费型接口接收一个参数进行消费,无返回结果 (因为没有返回值,接口里面执行内容和调用方没什么关联 –解耦// 通过Consumer 消费输出传入的参数 Consumer consumer = i -> System . out . println(i);
2023-05-23 19:41:43
565
原创 今日实际项目:传感器信息入库操作 SpringBoot整合JDBC
1.导入依赖:sql依赖 spring-starter-jdbc依赖。3.创建sql语句,调用jdbc进行处理。2.配置yaml中的数据源。
2023-03-15 17:38:42
490
原创 JavaWeb框架(四):JavaWeb项目基于三大组件实现的公司管理系统
公司管理系统是一个MVC架构的JavaWeb项目,有基本的登录、注册、查阅修改公司信息等基本功能;在上一节已经搭建好基本框架,接下来我们要实现 1. 基于会话跟踪技术保存登录信息 2. 继承HttpServlet来实现http请求与响应 3. 通过Filter过滤器实现资源限制 4. 通过Listener监听器对ServletContext对象进行监听
2022-12-19 23:47:02
959
原创 JavaWeb框架(三):JavaWeb项目实战 基于Servlet 实现系统登录注册功能
- 点击注册,账号密码通过http请求,保存到DB中- 点击登录,请求数据通过web层验证,将判断是否成功
2022-12-19 19:08:53
1120
原创 JavaWeb框架(二):Servlet组件入门
我们在平时开发,更常用的HttpServlet类;其底层其实就是根据请求方式的不同,进行分别的处理// 根据请求方式的不同,进行分别的处理 HttpServletRequest request =(HttpServletRequest) req;//1. 获取请求方式 String method = request . getMethod();//2. 判断 if("GET" . equals(method)) {// get方式的处理逻辑 doGet(req , res);
2022-12-19 18:41:22
947
原创 JavaWeb框架(一):Web入门,Http的请求和响应,https介绍,Web实战自定义服务器
Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。对我们而言:JavaWeb就是用Java技术来解决相关web互联网领域的技术。我们平时都是通过浏览器向服务器发起请求,比如:登录,购买,注册等请求获取服务器给我们的响应数据和资源展示;静态web资源(如html 页面、css):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
2022-12-19 17:23:57
840
原创 Redis框架(十五):大众点评项目 共同关注方案实现?双指针筛选DB数据:Redis取交集
SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评主要依照以下几个原则代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:Redis优化-链接: RedisProject成果展示:共同关注列表查询这里给出两种方案,后面可以通过通过一些压测工具,JMX进行对比和梳理,先天结构上猜测,在大部分情况下,Redis应该是更快的那个点击关注判断当前用户是否关注了此博主共同好友列表查询** Controller层 - 实现 **
2022-12-16 21:30:19
1234
原创 Redis框架(十四):大众点评项目 基于Redis实现点赞功能实现
SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评主要依照以下几个原则代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:Redis优化-链接: RedisFunctionLikeProject** 点赞功能的基本实现, 点赞用户排序, 相关用户信息显示****@TableField(exist = false)**表示不存在,我们通过在业务层手动注入这些信息原有业务这里对点赞次数没有限制,是不行的,我们希望对点赞功能
2022-12-15 21:33:44
1307
1
原创 Redis框架(十三):大众点评项目 达人探店 博客功能实现
SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评主要依照以下几个原则代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:Redis优化-链接: RedisProject** 处理博客展示 **对应的SQL语句对应的url,热点博客展示在主页上锁定两个,主页的所有博客展示,以及点击的单独查询博客service层业务实现博客写作和文件上传功能保存Blog上传文件总结
2022-12-15 21:24:48
1270
1
原创 12/15历史上的今天
墨脱公路嘎隆拉隧道由武警交通部队承建,参建单位代表四川武通路桥工程局第三工程处刘九林发言说,今天嘎隆拉隧道胜利实现了贯通,墨脱人民世代被茫茫雪山所阻隔的历史终于结束。对于下一步的施工,白玛赤林鼓励,要再接再厉、一鼓作气,确保安全、确保质量,早日结束墨脱『高原孤岛』的历史,将墨脱公路建设成为一条生态路、致富路、小康路。根据西藏自治区政府提供的资料,经过多年努力,西藏交通基础设施明显改善,公路总里程达到5.8万公里,交通基础设施建设的综合效益正日益凸显,有力促进了西藏的经济发展和社会稳定。
2022-12-15 11:19:57
445
原创 Redis框架(十二):大众点评项目 阻塞队列+异步处理 实现秒杀优化
SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评主要依照以下几个原则代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:Redis优化-链接: RedisBlockQueueMethodProject我们通过@PostConstruct开启线程池,一旦系统开启,直接进行处理,当有订单添加到阻塞队列,就可以异步处理响应,首先,用户接收到 是否成功的信息;后面,数据库的操作将从子线程中得到执行请求异步处理,对用户更友好,响
2022-12-15 10:56:23
627
原创 MyBatisPlus框架:一文带你清晰整个MP框架逻辑
MyBatisPlus框架:一文带你清晰整个MP框架逻辑 这个章节中将会回顾MyBatisPlus + SpringBoot的基本框架主要依照以下几个原则代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:Session-链接: MyBatisPlus_DemoMyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。其实就
2022-12-14 16:12:39
2839
原创 Redis框架(十):大众点评项目 订单功能 Redis实现全局唯一ID、 秒杀基本环境
Redis框架(四):大众点评项目 基于Redis的短信登录SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评主要依照以下几个原则代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:Redis优化-链接: RedisLightningDealsProject商品分析在点评项目中,存在了优惠券这种商品,优惠券分成了两种分析表结构这里是基本优惠券表这里是秒杀优惠券表,本身就是基本优惠券,多了一些字段注入Redi
2022-12-13 18:21:35
826
原创 Redis框架(九):大众点评项目 缓存工具封装
SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评主要依照以下几个原则 1. 基础+实战的Demo和Coding上传到我的代码仓库 2. 在原有基础上加入一些设计模式,stream+lamdba等新的糖 3. 通过DeBug调试,进入组件源码去分析底层运行的规则和设计模式
2022-12-13 14:23:37
530
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人