自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Life And Code

快乐学习,快乐生活!

  • 博客(108)
  • 问答 (1)
  • 收藏
  • 关注

原创 Pytorch深度学习 - 学习笔记

PyTorch是一个由Facebook的人工智能研究团队开发的开源深度学习框架。在2016年发布后,PyTorch很快就因其易用性、灵活性和强大的功能而在科研社区中广受欢迎。

2023-10-20 20:24:39 708

原创 数据分析之Matplotlib

数据可视化就是将数据转换成图或表等,以一种更直观的方式展现和呈现数据。通过“可视化”的方式,我们看不懂的数据通过图形化的手段进行有效地表达,准确高效、简洁全面地传递某种信息,甚至帮助我们发现某种甚至帮助我们发现某种规律和特征,挖掘数据背后的价值。

2023-07-19 13:08:31 2143

原创 数据分析之Numpy

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。

2023-04-21 13:04:15 2030 2

原创 Java AI开发框架 - LangChain4J学习笔记

本文介绍了LangChain4J框架的入门使用指南。作为Java版的LangChain实现,LangChain4J最低要求JDK17环境(本文基于JDK21)。

2025-12-08 17:24:37 993

原创 构建用户界面的魔法:Vue 3 解密

Vue3 工程创建与组合式 API 摘要 Vue3 提供了两种创建工程的方式: 基于 vue-cli(webpack) 基于 vite(推荐),具有快速热重载、开箱即用支持 TS/JSX/CSS 等优势 组合式 API 解决了选项式 API 的弊端: 选项式 API 将数据、方法分散在不同区域,难以维护。组合式 API 通过函数方式组织代码。

2025-11-27 09:24:34 301

原创 兔子洞的奥秘:深入RabbitMQ

RabbitMQ学习笔记摘要 RabbitMQ是基于AMQP协议的消息中间件,主要用于应用程序间的异步通信。消息队列能实现功能解耦、快速响应、削峰限流和系统扩展,通过"削峰填谷"机制平衡系统负载。相比ActiveMQ、Kafka等其他消息队列,RabbitMQ具有微秒级延迟、高可用性和完善的管理界面,但吞吐量相对较低(万级)。其核心组件包括Producer、Consumer、Connection/Channel通信机制和Broker服务器架构。

2025-11-26 20:47:56 779

原创 Elasticsearch7: 全面掌握分布式搜索引擎

本文介绍了Elasticsearch(ES)的基本概念与入门操作,主要包括数据分类、ES简介和HTTP操作方法。数据分为结构化、非结构化和半结构化三类,ES作为分布式全文搜索引擎,支持实时存储检索数据。文章详细讲解了通过HTTP请求进行索引创建、查询和删除,以及文档的增删改查操作,包括随机ID和自定义ID创建、全量修改与局部修改等。ES通过倒排索引实现高效查询,适用于大规模数据处理。文中提供了Docker安装方式及7.17.0版本的配置建议,帮助用户快速上手ES基础操作。

2025-11-18 22:36:27 728

原创 maven-profile实现springboot多版本配置打包

文章摘要:本文介绍了如何使用Maven Profile管理多环境配置文件。通过在Spring Boot项目中建立不同环境的配置文件(如application-dev.yaml、application-prod.yaml),并在pom.xml中配置对应的Profile,实现了打包时动态选择配置文件。通过配置资源过滤和@activatedProfile@占位符,演示了如何默认使用8080端口,或通过勾选不同Profile分别激活8081/8082端口配置。测试结果表明,该方法能有效实现多环境配置管理。

2025-09-19 14:40:21 366

原创 《从SSM到SpringBoot:我的头发和配置文件的消失史》

本文以幽默风格对比了Java开发中SSM框架和SpringBoot的差异。SSM时代被戏称为XML配置工程师,需要编写冗长的配置文件,如复杂的bean定义和web.xml,常面临配置冲突问题。而SpringBoot以极简的启动代码(@SpringBootApplication)和starter依赖大幅简化配置,但作者调侃其零配置理念下仍存在大量properties配置,并感慨开发者对底层原理的认知逐渐弱化。

2025-09-06 10:13:58 632

原创 《Java程序员与MySQL:一场爱与折磨的持久战》

Java程序员和MySQL的爱恨情仇:从简单需求搞出复杂表结构,到战战兢兢的线上操作。一边吐槽性能,一边离不开这个老父亲般的数据库。日常建表追求扩展性,SQL写得比论文长,被DBA警告慢查询,线上操作像拆弹。虽然天天抱怨,但应用启动时还是得求MySQL高抬贵手。这大概就是技术人最真实的数据库日常。

2025-09-06 09:22:23 748

原创 《Java程序员的自我修养:从“Hello World”到“Hello, 秃头世界”》

【Java程序员的自白】 我们是一群与NullPointerException斗智斗勇的Java开发者,习惯用对象思维解构世界(包括早晨的咖啡)。面对简单需求会本能设计复杂架构,配置Spring时宛如念咒语的巫师。虽然代码冗长如企业级防弹衣,发量逐渐Optional化,但仍执着于这份严谨——毕竟能用5行代码解决1行问题的,才是真正的Java艺术。Null警告:文末可能隐藏着对象引用异常彩蛋。

2025-09-06 09:03:26 514

原创 日志配置-log4j2和logback

log4j2和logback的常用基础配置,记录。

2025-09-04 13:56:53 247

原创 WebSocket-服务器客户端双向通信

轮询浏览器以指定的时间间隔向服务器发出HTTP请求,服务器实时返回数据给浏览器。长轮询浏览器发出ajax请求,服务器端接收到请求后,会阻塞请求直到有数据或者超时才返回。SSEserver-sent-event:服务器发送事件SSE是在服务器和客户端之间打开一个单向通道,服务器通向客户端。服务器响应的不再是一次性的数据包,而是类型的数据流信息。服务器有数据变更时,将数据流式传输到客户端。WebSocket是一种在基于TCP连接上进行全双工通信的协议。

2025-01-13 13:21:25 1496

原创 vue2打包部署到nginx,解决路由history模式下页面空白问题

之前项目路由使用的是hash,现在要求调整为history模式,但是整个过程非常坎坷,遇到了页面空白问题。

2024-09-04 17:08:58 1269

原创 MySQL集群 - 一主多从、双主双从

在实际生产中,数据的重要性不言而喻。如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者崩溃,那么服务就不可用了。再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故。为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障了,其他服务器依然可以继续提供服务。

2024-08-16 17:13:19 2088

原创 设计模式 - 单例模式

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类,并且该类。可以使用可以使用不推荐使用可以使用,但是不推荐不能使用推荐使用推荐使用推荐使用。

2024-08-09 15:40:35 601

原创 设计模式 - UML类图

组合关系表示整体和部分之间存在紧密的依赖关系,部分是整体不可或缺的一部分。聚合是一种特殊的关联关系,表示一个整体与其部分之间的关系。组合关系表示的是整体和部分的关系,但是整体与部分不可以分开。组合关系也是关联关系的特例,所以它具有关联的导航性和多重性。聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以它具有关联的导航性和多重性。关联关系实际上就是类与类之间的联系,它也是依赖关系的特例。类图是描述类与类之间的关系的,是UML图中最核心的。类实例,表示班级中的学生。

2024-08-09 15:36:35 729

原创 设计模式 - 七大原则

设计模式的七大原则为:单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则(OCP)、迪米特法则、合成复用原则。

2024-08-09 15:34:29 523

原创 Redis与DataBase保持数据一致性

因为,如果是选择修改Redis数据,而不是删除,那么如果再修改Redis数据成功后,再去更新数据库中的数据时失败,这样就会导致Redis和DataBase中的数据不一致。再或者如果先成功更新了数据库中的数据,再去更新Redis中的数据时失败了,那么下次查询到Redis中的数据虽然存在,但是为错误数据。在数据库中查询到数据后,将数据返回,并且存入到Redis中,设置过期时间,设置过期时间是为了避免长时间未使用的数据一直存放在Redis中,占用内存空间。

2024-08-08 15:14:34 995

原创 SpringSecurity-前后端分离

Spring Security是Spring家族中的一个安全管理框架。相比于另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。一般来说中大型的项目都是使用SpringSecurity来做安全框架,小项目用Shiro的比较多。相比于SpringSecurity,Shiro的上手更加简单。一般Web应用需要进行认证和授权。

2024-08-07 17:18:08 1483 1

原创 自定义校验注解ConstraintValidator

等判断逻辑,特别是在不同方法出现相同的数据时,校验的逻辑代码会反复出现,导致代码冗余,阅读性和可维护性极差。系统执行业务逻辑之前,会对输入数据进行校验,检测数据是否有效合法的。所以我们可能会写大量的。

2024-08-02 10:58:08 346

原创 ResponseBodyAdvice、RequestBodyAdvice与@RestControllerAdvice

RestControllerAdvice是一个组合注解,由@ControllerAdvice、@ResponseBody组成,而@ControllerAdvice继承了@Component,因此@RestControllerAdvice本质上是个Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。一个全局的解决方案,免去了我们在Controller处理的繁琐。省略时,默认全局生效。

2024-08-02 09:42:12 1418

原创 Spring AOP 应用

AOP:面向切面编程,对面向对象编程的一种补充。AOP可以将一些公用的代码,自然的嵌入到指定方法的指定位置。比如:如上图,我们现在有四个方法,我们想在每个方法执行一开始,输出一个日志信息。但是这样做很麻烦,如果有100个、1000个方法,工作量会很大,而且难以维护。这时候就可以通过AOP进行解决。

2024-08-01 17:33:14 453

原创 Nginx配置详解

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2024-07-26 09:30:14 27066 1

原创 软件测试理论

有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系。从以下几个点进行衡量:功能性、性能、兼容性、易用性、可靠性、安全、可维护性、可移植性。兼容多种操作系统,如:Win系统(win7、win8、win10)、MacOS等。特点:三管融合(产品管理、项目管理、质量管理)、国产、免费、开源、简单、轻量级。覆盖业务测试需要使用流程图,先测业务,再测试单功能、单模块、单页面。有效数据共2条,无效数据共8条。功能错误、错误界面(UI)、兼容性、数据、易用性、改进建议、架构。

2024-07-02 23:47:16 1126

原创 SpringBoot事务 - Transaction失效原因

这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB。

2024-06-16 16:22:57 983

原创 MySQL事务

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。MySQL数据库事务是默认自动提交的。也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。

2024-06-16 16:03:31 1059

原创 SpringCloud2023 - 学习笔记

比如,我们要做一个项目,功能实现下订单,做支付,但是又要保障系统的数据、网关、服务、安全、调用等等。这使得开发人员无法专注于业务开发。所以,此时SpringCloud就相当于一个第三方来帮我们解决这些事情,开发人员就可以专注于业务的开发。

2024-06-14 17:24:02 703

原创 经典算法 - 回溯法

回溯法,都可以抽象为一个n叉树形结构。树的宽度一般就是要处理的集合的大小,树的深度就是递归的深度。在回溯做剪枝操作时,一般从循环的范围下手,尽量缩短循环的范围。回溯法是一种纯暴力的搜索,并不是一种高效的算法。

2024-06-06 23:29:13 874

原创 经典算法 - 动态规划

每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。如在下图中存在着两个相同的子树,也就意味着它会进行重复的递归操作进行运算,为了避免这个问题,我们可以使用一个记忆数组进行优化处理。如果一道题目,我们可以通过递归方法进行实现,但是存在大量的重复计算,那么我们就可以考虑使用动态规划来解决问题。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。

2024-05-24 18:00:02 391

原创 经典算法 - 贪心算法

贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。

2024-05-23 21:06:20 847

原创 Redis7基础学习笔记

Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。

2024-05-20 11:20:23 923

原创 分布式版本控制工具 - Git

软件配置管理(SCM,Software Configuration Management)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。Visual SourceSafe(VSS)是美国微软公司出品的版本控制系统,是集中式版本控制系统。Concurrent Versions System(CVS)是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便。也是集中式版本控制系统。

2024-05-11 16:10:24 1282

原创 Docker基础

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。DevOps:开发+运维传统:一堆帮助文档,安装程序Docker:打包镜像,发布测试,一键运行使用了Docker之后,我们部署应用就像搭积木一样。

2024-04-09 09:35:38 1416 1

原创 Machine Learning - 机器学习笔记

机器学习是研究计算机模仿人类学习的过程,利用新的数据改善自身的性能,是人工智能的核心。机器学习,人工智能,深度学习之间的关系:机器学习是实现人工智能的一种方法;深度学习是实现机器学习的一种技术。概念包含关系上:人工智能>机器学习>深度学习。机器学习很常见,如谷歌搜索(搜出的网站排序算法)、邮箱的垃圾站(无监督)。任务:T,性能度量:P,经验:E机器学习主要包括:监督学习和无监督学习,另外也包括强化学习(Reinforcement Learning)和推荐系统(Recommender Systems)。

2024-02-20 13:26:21 1393

原创 Vision Transformer - VIT

此外,我们还需要加上关于位置的信息,position embedding,对应于上图中的0,1,2,3,…将这一系列token加上class token以及位置参数输入到Transformer Encoder之中,Transformer Encoder对应的又是右图中的Encoder Block重复堆叠L次。需要注意:在MLP Block中,第一个全连接层,它的节点个数是我们输入节点个数的4倍,第二个全连接层又回将节点个数还原回原来的大小。,stride为16,卷积核个数为768。

2024-02-20 13:08:45 1052

原创 Python - argparse模块

python中的argparse模块,用于命令后参数解析,方便测试,是python中自带的模块。

2024-01-23 14:15:33 484

原创 目标检测 - RCNN系列模型

RCNN系列模型用于目标检测,主要包含RCNN,Fast RCNN核Faster RCNN。

2024-01-22 16:21:05 1628

原创 目标检测 - FPN结构

Feature pyramid network是CVPR2017年的一篇文章,它在目标检测中融入了特征金字塔,提高了目标检测的准确率,尤其体现在小物体的检测上。

2024-01-22 13:13:31 1364

原创 目标检测 - 绘制bounding box

绘制目标检测中的边界框,调用PIL库进行绘制。抽取工具类,方便使用。

2024-01-22 11:31:47 994

空空如也

空空如也

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

TA关注的人

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