Java
Java中的单元测试与集成测试最佳实践
Java中的单元测试与集成测试最佳实践 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在软件开发过程中,测试是保证代码质量和系统稳定性的重要环节。Java作为一种广泛使用的编程语言,其测试工具和框架也非常成熟。本文将详细介绍Java中的单元测试与集成测试的最佳实践,帮助开发者编写高质量的测试代码。 二、单元测试 单元测试是对软件系统的最小可测试单元进行验
使用Spring Boot和GraphQL构建灵活的API服务
使用Spring Boot和GraphQL构建灵活的API服务 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在现代Web应用中,API服务是前后端数据交互的桥梁。传统的RESTful API虽然强大,但在复杂查询场景中显得有些笨重。GraphQL作为一种新型API查询语言,提供了更灵活和高效的查询方式。本文将详细介绍如何使用Spring Boot和Gr
使用Apache Velocity生成邮件模板内容
什么是Apache Velocity? Apache Velocity是一个提供模板服务的Java库,它允许你定义动态资源(如邮件、HTML页面等)。Velocity使用特殊的模板语言(VTL),让你可以轻松地将动态数据插入到模板中。 为什么选择Velocity? 简单性:Velocity的模板语言简单直观,易于学习和使用。 灵活性:可以用于多种场景,包括生成邮件、网页和其他文本内容。 强大的社区
如何在Java中实现高性能的数据加密与解密算法
如何在Java中实现高性能的数据加密与解密算法 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在现代应用中,数据安全至关重要。加密和解密算法能够保护敏感数据不被未授权访问。本文将介绍如何在Java中实现高性能的数据加密与解密算法,重点讲解对称加密算法AES和非对称加密算法RSA的实现与优化。 二、对称加密算法:AES AES(Advanced Encry
构建基于Spring Cloud和Consul的服务注册与发现系统
构建基于Spring Cloud和Consul的服务注册与发现系统 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在微服务架构中,服务注册与发现是关键组件。Spring Cloud与Consul的结合可以帮助我们轻松实现服务注册与发现功能。本文将介绍如何使用Spring Cloud和Consul构建一个高效的服务注册与发现系统。 二、环境准备 在开始之前
Easyexcel导出时如何隐藏掉某些字段
方案 //不显示字段注解 @ExcelIgnore 背景 只要一个注解 @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) //设置主键生成策略 属性是自动生成 @ExcelProperty(value = "序号") //不显示字段注解 @ExcelIgnore private Integ
更改类的属性类型后发现的坑org.apache.ibatis.type.TypeException: Could not set parameters for mapping
背景 本次将一个类的属性从Integer改成String,上线后发现有这种报错org.apache.ibatis.type.TypeException: Could not set parameters for mapping org.apache.ibatis.type.TypeException: Could not set parameters for mapping: Parameter
线上问题总结-获取不到连接池(logback 配置+代码问题)
原文链接 出错问题复盘 1、问题回顾 早上 6:00 多开始报警,数据库连接池获取不到连接,日志的报错如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying databa
一些执行maven命令的报错
1.mvn clean --settings ./settings.xml 需要注释掉settings.xml文件中的localRepository配置 2.mvn clean [ERROR] Failed to execute goal on project xxx-build: Could not resolve dependencies for project co
实时时钟、弱函数、json
一、实时时钟 时间戳(实时的时间【单位:s】): 使用"time.h"文件: mktime() ——得到一个时间戳 localtime() ——得到一个当前时间的结构体(包含:年-月-日 时:分:秒) eg: 在window的powershell获取unix时间戳命令: 二、弱函数 想要实现在其他文件中调用该文件函数,可以使用弱函数调用,在相关对应文件中重写 弱函数格
MYSQL DQL in 到底会不会走索引&in 范围查询引发的思考。
前情引子 in 会不会走索引?很多人肯定会回答、废话、如果命中了索引、那肯定会走。 其实我和大多数人一样、一开始也是这么想的、直至有一个血淋淋的案子让我有所改观、有所思考。 背景介绍 业务的工单表、我们分了64张、以userId作为分表键、业务实际场景中未使用到搜索引擎、主要是一些B端业务。 业务有一个场景是使用userId作为条件 使用in语句查询工单数据。 这里分析一下、 第一个userId
Android平台下的cpu利用率优化实现
目录背景CPU调频概念实现验证线程CPU亲和性概念亲和性控制API应用层控制实现验证线程优先级概念实现验证 背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如何调控App频率、如何将指定线程绑定到特定CPU、如何通过提升线程优先级获得更多CPU时间片的执行。 CP
Java | 编程技巧
实践来源:Spring手撸源码 编程技巧:类代码中方法的位置顺序结构 常见的排列顺序 常量和静态变量 实例变量 构造方法 公共方法(public) 受保护的方法(protected) 私有方法(private) getter 和 setter 方法 示例 覆盖的方法往往代表了类的重要行为和逻辑,应该放在更显眼的位置。这有助于快速找到类的主要功能和行为。 编程技巧:分析类的步骤 分析一个J
Spring | 接口分析
接口分析:PointCut Pointcut 接口是面向切面编程(AOP)中的一个核心概念,它定义了在程序运行过程中,哪些点(称为"连接点")应该被拦截。具体来说,Pointcut 通过两个方法来指定拦截的规则: getClassFilter():返回一个 ClassFilter 对象,用于确定哪些类应该被拦截。 getMethodMatcher():返回一个 MethodMatcher 对象,
Spring | 类分析
类分析: AspectJExpressionPointcut AspectJExpressionPointcut 类实现了 Pointcut、ClassFilter 和 MethodMatcher 接口,主要用于通过 AspectJ 表达式定义切入点。在 AOP 中,这种方式允许我们使用复杂的表达式来匹配类和方法,从而实现更灵活的切面逻辑。 类声明和字段 SUPPORTED_PRIMITIVE
Android 开发学习笔记
Android 开发学习笔记 基本概念 Android 应用程序由一些零散的有联系的组件组成,通过一个工程 manifest 绑定在一起。在 manifest 中,描述了每一个组件以及组件的作用,其中有 6 个组件,它们是 Android 应用程序的基石。Android 有四大组件(也有说六大组件的,外加 Intent 和 Notification),分别是 Activity,Service,Co
spring data mongodb 如何以事物的方式进行增删改查
在Spring Data MongoDB中使用事务(transactions)来进行增删改查操作可以确保这些操作要么全部成功,要么全部失败,从而保证数据的一致性。以下是使用Spring Data MongoDB事务的一些关键步骤和示例: 前提条件 MongoDB版本:确保你使用的MongoDB版本为4.0或更高,因为事务支持是从4.0版本开始引入的。 副本集:事务只能在副本集(Replica S
如何在 Android 项目中应用 OpenCV?
如何在 Android 项目中应用 OpenCV? 流程总览 导入 OpenCV 库 在 Android 项目中配置 OpenCV 创建人脸识别器 识别并裁剪人脸区域 显示裁剪后的人脸图片 具体实现 导入 OpenCV 库 先去 OpenCV 官网下载 OpenCV 的 Android 库并解压:https://opencv.org/releases/ 在项目中点击 file->new
[LeetCode] 2196. Create Binary Tree From Descriptions
You are given a 2D integer array descriptions where descriptions[i] = [parenti, childi, isLefti] indicates that parenti is the parent of childi in a binary tree of unique values. Furthermore, If isLef
Kafka系列---【CentOS7离线安装kafka集群】
1.安装包下载并上传 上传到:/opt/app/middles Kafka: https://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz Zookeeper(apache-zookeeper-3.5.7-bin.tar.gz): http://archive.apache.org/dist/zookeeper/zookeeper
java反序列化cc1链
危险方法:exec 第一步 InvokerTransform.transform 第二步 第三步 InvokerTransformer源码部分 第四步:寻找transform调用地方:checkSetvalue 第五步:寻找checkSetvalue调用 找到可利用的位置 第六步:寻找readobject中调用setvalue 位置:sun.reflect.ann
flask,mysql,html,js如何实现VIP会员可以观看视频但普通会员不可以观看
要实现VIP会员可以观看视频但普通会员不可以观看的功能,可以使用Flask作为后端框架,MySQL作为数据库,HTML和JavaScript作为前端。以下是一个简单的实现步骤: 数据库设计: 创建一个用户表,包含用户ID、用户名、密码、会员类型(VIP或普通)等字段。 创建一个视频表,包含视频ID、视频名称、视频路径等字段。 Flask后端: 创建Flask应用,设置路由和视图函数。
daizhengli
unix时间戳的定义 function UnixTimeStampToDateTime(unixTimeStamp: Int64): TDateTime; const UnixStartDate: TDateTime = 25569.0; // 1970-01-01 begin Result := TTimeZone.Local.ToLocalTime(IncSecond(UnixDateDelt
如何在上传文件到 COS 时同步获取文件信息
背景介绍 本文将介绍如何在上传文件到 COS 时同步获取文件信息,如图片的宽高、格式等。 目前,可以通过 COS 上传接口,如 PUT Object、CompleteMultipartUploads 等将文件存储至 COS 存储桶中,我们针对以下三种场景提供上传时同步获取文件信息的方式: ReturnBody 是 COS 对外提供的一种获取文件信息的方式。在上传请求(PUT Object、P