- 博客(93)
- 资源 (2)
- 收藏
- 关注
原创 i18n的原理是什么,spring整合i18n
在 Spring 中整合国际化(i18n)可以通过以下步骤实现。在 Spring 中整合国际化(i18n)可以通过以下步骤实现。3. 配置 LocaleResolver。创建不同语言的资源文件,通常命名为。在 Spring 的配置类中,配置。来加载国际化资源文件。用于拦截并切换语言参数。
2024-11-18 15:26:07
268
原创 https和http的区别,及HTTPS的工作流程
HTTPS通过SSL/TLS协议实现加密通信,利用非对称加密来验证身份,生成会话密钥,通过对称加密确保数据传输的安全和完整性。握手流程虽然复杂,但确保了用户数据的机密性和完整性,在现代网络安全中是不可或缺的部分。
2024-10-28 10:48:58
1672
2
原创 apisix的原理及作用,跟spring cloud gateway有什么区别?
是一个功能强大、高性能的 API 网关,主要用于微服务架构中流量管理、服务治理和安全控制。通过其强大的插件机制、动态配置、负载均衡、服务发现、日志和监控功能,APISIX 帮助开发者和运维人员更好地管理APISIX适合高性能、需要多协议支持、对扩展性和动态配置有更高要求的场景。它通过 Nginx 的强大性能、LuaJIT 的即时编译以及丰富的插件生态,在高并发、低延迟的情况下具有显著优势。
2024-10-25 09:45:00
2919
原创 Elasticsearch如何搜索日志并存储
Elasticsearch 通过与日志采集工具的结合(如 Logstash、Filebeat),可以实现日志的实时采集、存储和搜索。它通过倒排索引实现了对海量日志数据的快速搜索,并且支持复杂的聚合和分析功能。在分布式架构下,Elasticsearch 具有很高的扩展性和高可用性,非常适合处理日志数据的场景。
2024-10-24 15:01:29
1948
原创 nacos的原理,为什么可以作为注册中心,和zookeeper的区别
Nacos是为微服务架构设计的一站式服务治理平台,功能丰富,支持服务注册、健康检查、配置管理等功能,支持多种协议和模式,使用简单且灵活,适合现代云原生应用场景。Zookeeper则更强调一致性和强大的分布式协调能力,适合对数据一致性要求更高的系统,但它缺少 Nacos 那样丰富的服务治理功能,使用起来相对复杂。因此,如果您的场景中更需要服务注册与发现的灵活性和易用性,Nacos 是一个非常适合的选择;如果您更重视数据的一致性,且系统对高可用性要求不那么高,可以考虑 Zookeeper。
2024-10-24 14:22:45
1582
原创 springboot扩展点都有哪些?
在Spring Boot中,扩展点指的是能够自定义或增强Spring Boot功能的机制。这些扩展点允许开发者在Spring Boot的基础设施之上做定制化配置、行为修改或增强。
2024-10-20 10:42:19
431
1
原创 mac m1安装transformers时报错,tensorflow依赖无法安装
执行命令 python3 -m pip install tensorflow-macos。查询tensorflow的issue,发现已经解决了python3.9的安装问题。该错误可能与在带有 M1 芯片的 64 位 Mac 上工作有关。最后在stackoverflow上查找到该问题的解决方案。按照提示安装了几次tensorflow,始终安装不上。查询python版本,满足64位架构。
2023-05-04 17:35:10
527
原创 最近遇到几个小问题总结
这个配置的意思是设置cookie的域,只有以yto56.com.cn结尾的域名,才能共享cookie。子iframe一直没有获取到上层传递的cookie信息,导致需要重新登录。升级到https后,有些静态资源,好像无法访问了,找不到相应的静态资源。下面添加如下内容,可从 http 跳转到 https。https不允许同一页面中,出现http的请求。项目中涉及到iframe传递cookie信息的。的值为之前生成的 *.pfx文件,的值为生成.pfx文件时输入的密码,最后注意到项目里的一个配置。...
2022-08-30 20:42:04
630
翻译 Mac上搭建ELK
本篇翻译自此篇博客https://medium.com/@pablo_ezequiel/installing-elk-stack-on-osx-74b132ad1498https://links.jianshu.com/go?to=https%3A%2F%2Fmedium.com%2F%40pablo_ezequiel%2Finstalling-elk-stack-on-osx-74b132ad1498已经授权,你也可以参考https://blog.youkuaiyun.com/ywheel1989/artic
2022-05-23 14:56:49
835
原创 Sharding-JDBC分库分表学习笔记
什么是分库分表 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。分库分表的方式...
2022-02-20 17:34:41
687
1
原创 多用户并发操作的解决方案,同步锁的具体实施方法
一:并发操作出现的原因原因:多个动作在一瞬间同时操作同一数据现象:多人在某一瞬间通过相同的方式操作同一条数据 多人在某一瞬间通过不同的方式操作同一条数据 在某一瞬间,同一动作,多次执行二:并发举例及解决办法针对上述的三种的情况,分别以实际情况进行举例。【多人在某一瞬间通过相同的方式操作同一条数据】1.某仓库系统有一品牌商品A,商品A在数据库中只允许存在一条记录,库存的数量是这条数据的一个字段,现有库存100件,在某一天到货了1000件。由于数量比较大,现在需要10名操作员去
2022-02-03 20:59:09
6914
原创 java API接口签名授权安全认证问题—基于HMAC的rest api鉴权处理
创建一个拦截器public class AkSkAuthInterceptor implements ClientHttpRequestInterceptor { private static final String HEADER_X_CONTENT_MD5 = "X-Content-MD5"; private static final String HEADER_X_VERSION = "X-Sign-Version"; private static final Stri
2022-01-26 18:18:34
2750
原创 Lombok对与Java-16不兼容的jdk.compiler‘s内部包的访问
只需将我的一个项目从Java8升级到17(使用这里的最新版本)。在编译使用lombok的项目时,例如:<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency>maven编译器报告如下异常:[ERROR] Failed to execute goal org.apache.m
2022-01-20 00:03:41
2495
1
原创 面试套路问题总结6
1.数据库为什么使用B+树而不是B树B树和B+树的区别B树和B+树的区别主要有两点:在B树中,你可以将键和值存放在内部节点和叶子节点,但在B+树中,内部节点都是键,没有值。叶子节点同时存放键和值 B+树的叶子节点有一条链相连,而B树的叶子节点各自独立。使用B+树的好处1.由于B+树的内部节点只存放键,不存放值,因此,一次读取,可以在内存页中获取更多的键,有利于更快地缩小查找范围。2.B+树的叶节点由一条链相连,因此,当需要进行一次全数据遍历的时候,B+树只需要使用O(logN)时
2022-01-04 15:45:57
151
1
原创 Django-链接数据库时遇到AttributeError: module ‘djongo.models‘ has no attribute ‘ListField‘
1.问题最开始查询看到说是要把djongo降到1.3.2版本。于是改成djongo==1.3.2改了以后又报新的错误了。django.core.exceptions.ImproperlyConfigured: 'django-pyodbc-azure' isn't an available database backend.Try using 'django.db.backends.XXX', where XXX is one of: 'mysql', 'oracle', 'po
2021-12-31 14:04:58
1503
原创 java8 CompletableFuture使用示例
/** * 并发请求接口 将数据整理到一起处理 */ @SuppressWarnings("unchecked") private void parallelReqBigData(SegmentUVArgs segmentUVArgs, Map<Integer, Tag> tagMap, AreaTag areaTag) { List<SegmentTagsReply> list = Collections.synchroni..
2021-12-20 17:25:03
656
原创 Retrofit2+Okhttp3网络请求
一、引入依赖 <dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>retrofit</artifactId> <version>2.0.0-beta4</version> </dependency> <
2021-11-28 16:22:36
591
原创 验证码生成 EasyCaptcha
验证码生成 EasyCaptchaJavaWeb图形验证码,支持gif验证码,可用于基于的session的web项目和前后端分离的项目。源码地址:https://gitee.com/jeesys/EasyCaptcha/一、引入依赖引入EasyCaptcha<dependency> <groupId>com.github.whvcse</groupId> <artifactId>easy-captcha</artifac.
2021-11-15 13:33:10
1270
原创 SpringAOP+注解实现简单的日志管理
一、写一个自定义注解注解中包括配置方法所在模块名称,以及功能名称,当然我们在注解里可以自定义。@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD,ElementType.PARAMETER})public @interface LogInfoAnnotation { //模块名 String moduleName(); //操作内容 String desc();}二、建切面类.
2021-11-12 11:38:02
820
原创 Spring Cloud Gateway(读取、修改 Request Body)
Spring Cloud Gateway(以下简称 SCG)做为网关服务,是其他各服务对外中转站,通过 SCG 进行请求转发。在请求到达真正的微服务之前,我们可以在这里做一些预处理,比如:来源合法性检测,权限校验,反爬虫之类…之前是在各个微服务的拦截器里对来解密验证的,现在既然有了网关,自然而然想把这一步骤放到网关层来统一解决如果是使用普通的 Web 编程中(比如用 Zuul),这本就是一个 pre filter 的事儿,把之前 Interceptor 中代码搬过来稍微改改就 ..
2021-11-02 15:25:40
2815
原创 Django项目连接MongoDB的三种方法
有三种方法连接Django到MongoDB数据库1.PyMongo:PyMongo 是 MongoDB 与 Django 交互的标准驱动程序。这是在 Python 中使用 MongoDB 的官方和首选方式。 PyMongo 提供了执行所有数据库操作的功能,例如搜索、删除、更新和插入。由于 PyMongo 可与 PyPI 一起使用,您可以使用 pip 命令快速安装它。2....
2021-09-24 23:15:36
11215
2
原创 mysql varchar能不能超过255个字节及产生的问题。
项目里突然varchar字段设置255也不够用了,记得规定不能超过255,今天查了一下,现总结如下:MySQL要求一个行定义长度不能超过 65535 bytes(所有字符串类型字段包括其字段名称占用空间都计算在内, text、blob等大字段类型除外)。所有如果一个表有很多varchar字段的时候,不应该把varchar设置的特别大,会影响后面的字段InnoDB存储引擎的表索引的前缀长度最长是767字节(bytes)(前缀长度适用于mysql5.6及以前,后续版本有变化)你如果需要建索引,就
2021-08-23 10:23:27
14946
5
原创 单表几百万数据怎么在线修改表结构?
项目背景 项目中因为我们产品设计的时候只要用户打开app,就根据用户设备号自动生成一个账号存储在表里,所以短期内我们项目的用户表就达到了几百万的数据量,并且随着项目的运行,每年在几百万的数据量增加。这是修改字段的数据类型这种操作,就变的很麻烦起来,目前主要有三种操作方式:方式一:使用mysql5.6+提供的在线修改功能 所谓的mysql自己提供的功能也就是mysql自己原生的语句,例如我们要修改原字段名称及类型。 mysql> ALTER TABLE table_name CHAN..
2021-08-16 15:36:01
799
原创 ‘The client noticed that the server is not a supported distribution of Elasticsearch‘ 报错及解决办法
django项目运行的好好的,突然接口查询错误。观察报错信息{ "code": 400102, "message": "请求错误", "data": { "detail": "The client noticed that the server is not a supported distribution of Elasticsearch" }}搜索百度无果,随搜索谷歌查询到新闻链接链接如下:https://www.there
2021-08-11 13:16:49
6757
1
原创 ThreadLocal存List遇到的坑
背景项目有个需求,存储一个类成员变量。供类中的各个方法使用,是在easyexcel 中最一开始没有注意到service是单例模式的,所以每回存取requiredColIndexs的需要验证的列索引有可能是上一个模版的。后来加了threadlocal后,发现还是有异常。@Slf4jpublic class TemplateExcelListener extends AnalysisEventListener<Map<Integer, String>> {
2021-07-31 22:34:45
1949
1
转载 责任链模式学习总结
责任链模式顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。如何解决:拦截的类都实现统一接口。实现我们创建抽象类AbstractLogger,带有详细的日志记录级别。然后我们创建三种类型的记录器,.
2021-07-24 16:49:16
106
原创 记录select for update mysql 死锁问题
背景项目要求某表单个列自增,但是where条件,并不是这个列所有的值都符合自增想用select for update mysql 锁表后,查询最大值自增,后发现有死锁问题,先记录一下。实例以下代码在可重复读隔离级别下执行,表中原来只有1~10的rank。假如A、B两个事务同时试图插入rank为21和22的rank;@Transactional public void createBannerDeadlock(Banner banner) { banner.r
2021-07-22 18:05:03
4800
3
原创 抽象工厂和建造者模式实现rpc调用小框架
public interface SdkClient { <T> SdkResponse<T> execute(SdkRequest<T> request);}创建jie
2021-06-10 16:26:48
269
1
原创 读spring-cloud-netflix-eureka-server项目源码笔记
InstanceRegistry实体注册类中实现springevent事件private void publishEvent(ApplicationEvent applicationEvent) { this.ctxt.publishEvent(applicationEvent); }写一个发布事件方法,让所有的事件都传递给一个父类ApplicationEvent 从而发布事件统一了事件发布代码的编写风格。...
2021-05-11 16:49:02
129
原创 多节点服务器定时任务重复处理的几种方案
1.使用zookeeper做分布式锁@Componentpublic class MutexConfig { @Value(value = "${zookeeper.host}") private String zkHost; public Boolean getLock(String lock, Integer acquireTime, Integer sleepTime) throws Exception { RetryPolicy retryPolicy = new Expone
2021-05-07 18:16:45
1945
原创 rocketmq学习总结
rocketmq发送同步消息2.异步消息3.发送单向消息消费消息负载均衡顺序消息同一个业务的消息 发送到同一个队列当中去就可以了同一个订单id对应的消息 发送到同一个队列当中去消息的长度大于4mb时,最好把消息进行分割sql过滤事务消息事务消息生产者总结:mq的作用1.结耦2.流量的削峰3.数据的分发集群的搭建双主双从监控:1 mqadmin管理工具2.集群的监...
2021-04-18 14:02:07
207
1
原创 将excel导入转化为json格式数据
运用gson将每个表格第一行作为列名public static JsonObject getExcelDataAsJsonObject(File excelFile) { JsonObject sheetsJsonObject = new JsonObject(); Workbook workbook = null; try { workbook = new XSSFWorkbook(excelFile); } catch (InvalidForma
2021-04-16 17:59:14
651
原创 SpringCloudGateway自定义Predict—实现根据不同域名切换不同鉴权方式
背景项目相同的接口想同时提供给外部和内部调用,因为外部调用采用的是签名校验,内部调用采用的是token校验,因为签名校验可以有效起到防止用户多次调用同一个接口的作用,想同一个url,只是域名不同,起到不同的鉴权方式考虑在网管层实现这一功能。Spring Cloud Gateway自带的一些断言参数列表项目中有用到path - id: openapi order: 2 uri: ${domain.openapi}
2021-04-16 17:46:04
1188
1
原创 Docker 容器的学习笔记
Docker 容器使用容器使用获取镜像如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:docker pull ubuntu启动容器以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:$ docker run -it ubuntu /bin/bash参数说明:-i: 交互式操作。 -t: 终端。 ubuntu: ubuntu 镜像。 /bin/bash:放在镜像名后的是命令,
2021-03-31 14:06:02
100
原创 监控神器-普罗米修斯Prometheus的学习总结
Prometheus架构:Prometheus 中文名称为普罗米修斯,受启发于Google的Brogmon监控系统,从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,2016年6月发布1.0版本。Prometheus 可以看作是 Google 内部监控系统 Borgmon 的一个实现prometheus是一个用Go编写的时序数据库,可以支持多种语言客户端,架构如下:Prometheus监控模式目前,监控系统采集指标有两种方式,一种是『推』,另一种就是『
2021-03-30 13:26:55
4094
3
原创 Kibana 日志查询语法
2 Lucene 语法查询2.1 简易查询若是查询的时候没有明确查询的字段,会默认为_all字段,也就是全文查询。也能够指定一个字段,又称为field来查询。ja# 全文查询 ExceptionException# 指定查询字段 message 里的 Exceptionmessage: Exception# 查询短语message: "java.lang.NullPointerException" # 任何 message 字段都包含 Exception message\...
2021-03-29 17:49:47
1010
原创 m1芯片的macbook使用问题总结
1.protobuf 语言编译问题protobuf 语言编译的时候会报错,控制台打印错误日志如下[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (default-cli) on project grpc: Unable to resolve artifact: Missing:[ERROR] ----------[ERROR] 1) com.googl
2021-03-29 15:48:31
3481
转载 mongdb学习总结
1.MongoDB主键:使用ObjectId()设置_id字段在MongoDB中,_id字段是集合的主键,以便可以在集合中唯一地标识每个文档。_id字段包含唯一的ObjectID值。默认情况下,在集合中插入文档时,如果您没有在字段名称中添加带有_id的字段名称,则MongoDB将自动添加一个Object id字段,下图所示当查询集合中的文档时,可以看到该集合中每个文档的ObjectId。如果要确保在创建集合时MongoDB不会创建_id字段,并且要指定自己的ID作为集合的_id,则需要在
2021-03-23 14:23:38
303
黑暗中的大脑:神经模拟学习和推理的设计原则
2023-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人