后端

代码坏味道:不合理命名与重复代码

一. 命名 1.1 命名是否具有业务含义 (1) 命名不精准,用词宽泛,不能有效反应代码含义 从沟通的角度看,这就不是一个有效的沟通。要想理解它,需要消耗大量的认知成本,时间和精力,同样也增加了后来人包括我们自己维护代码的成本。 其中,Info、data、flag、process、handler、build、maintain、manager、modify等,都是属于典型的过于宽泛的名字,当这些名字

业务拆分原则介绍

1. 常见的做法 常见的错误做法: 服务拆分粒度越小越好 按照大公司的套路拆分 以代码量为拆分标准 拆分核心三原则: 2. 服务粒度匹配团队规模 服务粒度过细的问题,可以先看下面的两个图 可以看到,服务粒度过多时,虽然单个服务的内容可以减少,但是服务间调用关系的复杂度程指数级的增长,这同样也是很可怕的一件事 如果项目的人员不多,那么划分过多的服务

【Spring】DI(依赖注入)详解:属性注入@Autowired(超详细)、构造方法注入、Setter注入

1.DI(依赖注入)介绍 1.1DI是什么?DI(Dependency Injection,依赖注入) 是 Spring 框架中实现 IoC(控制反转)的一种核心机制。如果说 IoC 是一种设计思想,告诉我们“把控制权交给容器”,那么 DI 就是具体的“施工

【Spring】@RequestMapping、@RestController和Postman

文章目录 1.@RequestMapping 注解介绍 2. @RequestMapping 使用 3. @RequestMapping 是 GET 还是 POST 请求? GET 请求 POST 请求 指定 GET/POST 方法类型 2. Postman 介绍 1. 创建请求 2. 传参介绍 1. 普通传参 2. form

心理学研究方法(7)

中原焦点团队坚持分享1070天(20230109) 开放式问题是让被访人自由回答的一类问题,闭合式问题是限制答话内容或方式的问题形式,包括一些强迫性选择。 选择开放式还是闭合式应考虑的因素:访谈的目的,了解被访人的态度特征、所挂意见的基础、回答问题的参考框架以及感觉的强度采用开放式问题;被访人的信息水平,了解信息水平用开放式问题,激发动机用闭合式问题;被访人意见的结构,意见越明显越宜采用闭合式问题

【LLM】使用MySQL MCP Server让大模型轻松操作本地数据库

        随着MCP协议(Model Context Protocol)的出现,使得 LLM 应用与外部数据源和工具之间的无缝集成成为可能,本章就介绍如何通过MCP Server让LLM能够直接与本地的MySQL数据库进行交互,例如新增、修改、删除数据,甚至是创建新的表格等操作。        什么是MySQ

Lottie动画文件压缩

前言 项目中引入了“大量的”lottile动画文件以优化动画显示效果,稍微统计了下,共20多个,小的几十k,大的1.33M,总大小超过8M,apk包体积急速膨胀。 使用的lottie文件统计.png 解决方案 由于项目中显示动画的需要,引入了大量的Lottie动图,以优化显示效果导致包体积急速膨胀,目前可以想到的解决方案主要有如下2种: 方案1)远端方案 将lottie json文件放

离线安装 Nginx

在现代互联网应用中,Nginx 作为高性能的 HTTP 和反向代理服务器,被广泛应用于各种网站和应用系统中。它以其轻量级、高并发处理能力和稳定性而著称。然而,在某些网络受限的环境中,直接在线安装 Nginx 及其依赖项可能会遇到困难。为了满足这些环境的需求,本文将详细介绍如何在离线环境下安装 Nginx 及其所有必要的依赖项。我

springboot养老院信息管理系统的设计与实现 毕业设计-附源码96341

  目  录 1 绪论 1.1研究背景和意义 1.2开发意义 1.3论文结构与章节安排 2 养老院信息管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统

Spring AI开发MCP Server和MCP Client

本文介绍基于Spring AI如何实现MCP开发和调用。首先自定义了两个MCP Server,其中:一个是算术计算器MCP Server,并通过sdtio传输协议发布,另一个是天气预报MCP Server,通过sse传输协议发布。然后实现一个MCP Client,并调用阿里云qwen大模型完成整个 MCP 调用流程