- Spring Boot 整合 Knife4j:打造更优雅的 API 文档
十二同学啊
SpringBootspringboot后端java
在现代Web应用开发中,API文档的重要性不言而喻。清晰、准确、易用的API文档不仅可以方便开发者理解和使用API,还能提高团队协作效率。Knife4j是一个基于Swagger的增强型API文档工具,它可以为SpringBoot项目生成美观、易于交互的API文档,本文将介绍如何在SpringBoot项目中整合Knife4j,并提供详细的代码示例和最佳实践。一、为什么选择Knife4j? Kn
- 后悔呀,自从用了SkyWalking分布式链路追踪,现在睡得越来越香了
Bad_Ape
java编程语言程序人生经验分享架构
本篇文章介绍链路追踪的另外一种解决方案Skywalking,文章目录如下:什么是Skywalking?上一篇文章介绍了分布式链路追踪的一种方式:SpringCloudSleuth+ZipKin,这种方案目前也是有很多企业在用,但是作为程序员要的追逐一些新奇的技术,Skywalking作为后起之秀也是值得大家去学习的。skywalking是一个优秀的国产开源框架,2015年由个人吴晟(华为开发者)开
- Python 网络爬虫高级教程:分布式爬取与大规模数据处理
Milk夜雨
pythonpython爬虫网络
经过基础爬虫和进阶爬虫的学习,我们已经掌握了爬虫的基本原理、动态内容处理及反爬机制的应对。然而,当我们面对海量数据或需要高效爬取多个站点时,分布式爬虫和数据存储、处理能力就显得尤为重要。本篇博客将带你迈向网络爬虫的高级阶段,学习分布式爬取、大规模数据处理以及性能优化。一、分布式爬虫的概念1.什么是分布式爬虫?分布式爬虫是指通过多个节点协作完成大规模网页爬取任务的爬虫架构。它能有效解决以下问题:单台
- 【SpringBoot】用一个常见错误说一下@RequestParam属性
后端springboot
问题复现在开发过程中,我们经常会用到@RequestParam,我们常常会遇到另外一个问题。当需要特别多的请求参数时,我们往往会忽略其中一些参数是否可选。例如存在类似这样的代码:@RequestMapping(path="/hi4",method=RequestMethod.GET)publicStringhi4(@RequestParam("name")Stringname,@RequestPa
- Gateway网关
胡尔摩斯.
后端springcloudjavagateway
GatewayGateway网关是微服务架构中的重要组件,作为所有微服务的统一入口,扮演着“门卫”的角色。它负责处理进入系统的所有请求,并根据预设的规则将请求路由到相应的微服务进行处理。(需要进行服务的注册与发现)官网地址:SpringCloudGatewayhttps://docs.spring.io/spring-cloud-gateway/docs/4.0.4/reference/html/
- 深入探讨Kafka:架构、实现原理与开发实践
Ceramist
kafka架构分布式
深入探讨Kafka:架构、实现原理与开发实践ApacheKafka是一个高性能的分布式流处理平台,广泛应用于实时数据处理、日志收集、消息发布/订阅等领域。本文将详细解析Kafka的架构、实现原理,并提供一些开发中的注意事项,帮助读者更好地理解和使用Kafka。一、Kafka简介Kafka由LinkedIn开发,并于2011年开源,2012年成为Apache顶级项目。Kafka的设计目标是为处理实时
- 网络爬虫——分布式爬虫架构
好看资源分享
网络爬虫Python爬虫分布式架构
分布式爬虫在现代大数据采集中是不可或缺的一部分。随着互联网信息量的爆炸性增长,单机爬虫在性能、效率和稳定性上都面临巨大的挑战。分布式爬虫通过任务分发、多节点协作以及结果整合,成为解决大规模数据抓取任务的核心手段。本节将从Scrapy框架的基本使用、Scrapy-Redis的分布式实现、分布式爬虫的优化策略等多个方面展开,结合实际案例,帮助开发者掌握分布式爬虫的设计与实现。1.Scrapy框架的核心
- 【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
m0_74824552
mybatisspringxml
mybatis的常用配置配置数据库连接#驱动类名称spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#数据库连接的urlspring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_testcharacterEncoding=utf8&useSSL=false#连接数据库的名
- PCL 点云按时间进行渲染赋色【2025最新版】
点云侠
PCL学习自动驾驶c++3d计算机视觉
目录一、可视化渲染二、代码实现三、结果展示四、保存渲染结果博客长期更新,本文最近更新时间为:2025年1月18日。一、可视化渲染 首先根据自定义的点类型从含有时间索引的las点云数据中提取时间,然后根据时间进行渲染。二、代码实现#include#include"MyPointCloud.h"
- 异步任务与定时任务
雷神乐乐
#SpringBootjavaspringboot异步任务定时任务
一、异步任务基于TaskExecutionAutoConfiguration配置类中,注册的ThreadPoolTaskExecutor线程池对象进行异步任务执行。(一)手动执行异步任务在yml中配置线程池参数spring:task:execution:pool:core-size:5#核心线程数max-size:20#最大线程数queue-capacity:1000#线程池使用的阻塞队列的最大容
- Spring Boot 集成 MinIO 实现文件上传
Flobby529
Spring框架实战项目springbootjava后端
SpringBoot集成MinIO实现文件上传一、Minio服务准备MinIO的搭建过程参考Docker搭建MinIO对象存储。登录MinIO控制台,新建一个Bucket,修改Bucket权限为公开。二、MinIO集成添加MinIO依赖io.miniominio${minio.version}在项目配置文件application.yml中添加自定义配置。properties文件自行转换minio:
- SpringCloud微服务-OpenFeign服务接口调用
TwitchR
springcloud微服务java
一、OpenFeign简介官网:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeignGitHub:https://github.com/spring-cloud/spring-cloud-openfeignFeign是一个声明式WebService客户端
- 分布式链路追踪-03-Jaeger、Zipkin、skywalking 中的 span 是如何设计的?
后端java
开源项目auto-log自动日志输出Jaeger、Zipkin中的spanId是如何生成的?在Jaeger和Zipkin这两个分布式跟踪系统中,SpanID是通过不同的方法生成的。下面分别介绍它们的生成方式:Jaeger中的SpanID生成:在Jaeger中,SpanID是通过Snowflake算法生成的。Snowflake算法是Twitter开源的一种全局唯一ID生成算法,用于生成64位的唯一标
- 微服务项目服务之间的调用--使用openfeign
m0_61813994
微服务架构springcloud
在微服务架构中,通常会将系统拆分成多个独立的服务,每个服务负责不同的功能模块。为了实现这些服务之间的通信,我们可以使用HTTP请求进行数据交互,而OpenFeign作为一种声明式的HTTP客户端库,可以让我们更方便地进行服务之间的调用。1.什么是OpenFeignOpenFeign是SpringCloud提供的一种声明式的HTTP客户端,能够在调用远程服务时自动生成请求代码并管理调用的负载均衡。它
- Spring Boot与Spring的区别
码农小灰
面试题SpringSpringBootjavaspringspringboot
在当今的Java开发领域,Spring框架无疑是最为重要且广泛应用的框架之一。而随着技术的不断发展和开发者对效率与便捷性的追求,基于Spring框架的SpringBoot应运而生。接下来,将详细阐述SpringBoot与Spring的主要区别,并通过实际的使用场景说明,帮助大家更好地理解何时该选用SpringBoot,何时适合使用Spring。一、主要区别1.自动配置Spring:需要大量的XML
- SpringCloud-05-OpenFeign服务接口调用
六甲横宝
SpringCloud微服务Javajavaspringeurekaspringboot
OpenFeign服务接口调用1.概述1.OpenFeign是什么?Feign是一个声名式WebService客户端,使用Feign能让编写WebService客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。SpringCloud对Feign进行了封装,使其支持了SpringMVC标准注解和HttpMessageConverters。Fe
- OSS获得阿里云服务端签名——服务端签名后直传
chengqiuming
JavaWebjava
一任务完成上图的第1步和第2步。二参考https://help.aliyun.com/document_detail/31926.html?spm=a2c4g.11186623.6.1711.4d777815zWYCD0三创建第三方服务微服务1配置依赖4.0.0org.springframework.bootspring-boot-starter-parent2.2.1.RELEASEcom.at
- 【学习总结|DAY027】JAVA操作数据库
123yhy传奇
学习java数据库mybatisspringboot
在后端开发中,Java操作数据库是核心技能。本文将详细介绍JDBC、MyBatis及SpringBoot配置文件相关知识,并给出实用代码示例。一、JDBC(JavaDataBaseConnectivity)(一)简介JDBC是sun公司定义的操作关系型数据库的API规范。它如同一个标准接口,各数据库厂商实现此接口并提供驱动jar包。例如,我们在使用MySQL数据库时,需引入mysql-connec
- 【学习总结|DAY025】JAVA-WEB基础
123yhy传奇
学习javawebspringboot
在Web开发领域,SpringBoot已成为重要的技术框架,其简化配置和快速开发的特性深受开发者喜爱。本文将详细介绍SpringBootWeb开发的基础知识,涵盖从入门程序搭建到HTTP协议解析,再到分层解耦实践等内容,助力读者快速上手。一、SpringBootWeb入门(一)Spring生态与SpringBoot优势Spring发展出庞大生态,提供众多子项目,各有特定功能。SpringBoot尤
- 什么是微服务?你明白了吗
百味人生一壶酒
微服务
微服务:拆开你的大蛋糕,做个小甜点如果你在开发中曾经遇到过“单体应用”这个词,那么你一定知道它就像一个巨大的蛋糕,所有的功能、代码和数据都被堆在一起。看似美味,但一旦切开,你会发现里面的层次错乱,想找点儿什么就得翻上一大堆,最后才可能挖到你想要的那块小蛋糕。这不,微服务的出现,正是为了告诉你:“嘿,把这个蛋糕拆成几块小的甜点,方便吃!”微服务到底是什么?简单来说,微服务是一种软件架构模式,目的是把
- 利用redis+lua优雅实现每天给用户发短信次数限制
百味人生一壶酒
redisRedisLua短信发送限制定时任务间隔控制
最近的一个需求要求实现每天给用户发短信不超过3次,并且发短信间隔不能小于1小时,思来想去有没有什么比较好的实现方式呢,最终决定用redis+lua来实现,第一次写lua脚本。还不太熟练,不过完美的把功能实现了,废话不多说,上代码1.controller层的调用packagecom.example.lua.controller;importorg.springframework.beans.fact
- 十、软件设计&架构-微服务-服务调用Feign
真上帝的左手
10.架构微服务云原生分布式
文章目录前言一、Feign介绍1.什么是Feign2.什么是Http客户端3.Feign和OpenFeign的区别二、Feign底层原理三、Feign工作原理详解1.动态代理机制2.动态代理的创建过程3.创建详细流程4.@FeignClient属性四、Feign使用1.常规调用2.日志打印3.添加Header前言服务调用方案--Feign 声明式的Web服务客户端一、Feign介绍1.什么是F
- Java Spring Cloud Nacos 配置修改不生效的解决方法
Tech Synapse
javaspringcloud开发语言
一、引言在微服务架构中,配置管理是一个关键部分。Nacos作为一个动态服务发现、配置管理和服务管理平台,广泛应用于JavaSpringCloud项目中。然而,有时在修改Nacos配置后,这些更改并不会立即生效。本文将详细探讨这种情况的原因,并提供多种解决方案,包括理论概述和代码示例。二、理论概述Nacos是DynamicNamingandConfigurationService的简称,旨在简化云原
- 【Node.js】Session原理详解
Peter-Lu
#NodeJSnode.jsexpress前端npmjavascript
文章目录一、Session机制概述1.什么是Session2.Session与Cookie的关系二、Session的工作流程1.基本流程2.示例代码三、Session的存储方式1.内存存储2.文件存储3.数据库存储Redis存储示例四、Session的生命周期1.Session过期时间2.手动销毁Session五、Session在分布式系统中的应用1.StickySession2.Session共
- IDEA配置SpringMVC
licungeng
javatomcatspring
创建WEB工程,引入开发的jar包在pom文件输入5.0.2.RELEASEorg.springframeworkspring-context${spring.version}org.springframeworkspring-web${spring.version}org.springframeworkspring-webmvc${spring.version}javax.servletserv
- linux-配置yum源
HoRain云小助手
运维Linuxlinux运维
一、配置本地yum源首先将centos自带的网络yum源删掉(自带的默认从centos官网下载软件,服务器在国外,非常不稳定) [root@cloud~]#rm-rf/etc/yum.repos.d/*创建挂载点并挂载镜像[root@cloud~]#mkdir/opt/centos[root@cloud~]#mount/dev/cdrom/opt/centos/mount:/dev/sr0写保护,
- 使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。
熊文豪
javaapachefreemarker
在上一篇博客中主要是使用SpringBoot+ApachePOI实现了BOM物料清单Excel表格导出,详见以下博客:SpringBoot+ApachePOI实现Exc()el导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并)目录引言项目结构源代码展示1.WordController2.WordUtil工具类3.FreeMarker模版4.POM依赖WordController类深度
- Flink(十):DataStream API (七) 状态
Leven199527
Flinkflink大数据
1.状态的定义在ApacheFlink中,状态(State)是指在数据流处理过程中需要持久化和追踪的中间数据,它允许Flink在处理事件时保持上下文信息,从而支持复杂的流式计算任务,如聚合、窗口计算、联接等。状态是Flink处理有状态操作(如窗口、时间戳操作、聚合等)的核心组成部分。2.状态的类型Flink提供了强大的状态管理机制,允许应用程序在分布式环境中处理状态,保证高可用性和容错性。Flin
- SpringBoot的AOP-入门
violin-wang
SpringBootspringbootjavaspringaop
SpringBoot另一大特性:AOP,右上角的粉色是业务需求:希望获知各个业务方法的耗时指定方法需要:包名、类名(接口名)、方法名最前面那个(*)星号表示是返回值任意类名(*)表示类名任意方法名(*)表示方法任意下面这个切入点表达式选定的是这个包下所有的方法!!!!!
- VMware VeloCloud SD-WAN 6.2 发布 - 领先的 SD-WAN 解决方案
网络
VMwareVeloCloudSD-WAN6.2发布-领先的SD-WAN解决方案VMwareVeloCloudSD-WAN,Software-DefinedWAN请访问原文链接:https://sysin.org/blog/vmware-sd-wan-6/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwareVeloCloudSD-WAN6.2.0|14thJanuary2
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include