SonarQube

前言 SonarQube是一个用于代码质量管理的开源平台,它可以帮助开发者在开发过程中识别和修复潜在的代码问题。SonarQube提供了静态代码分析、代码覆盖率报告、代码质量度量等功能,以帮助团队提高代码质量和降低维护成本。 Code Quality Tool & Secure Analysis with SonarQubeEmpower development teams with a code quality & security solution that deeply integrates into your enterprise environment that enables you to deploy Clean Code securely, consistently and reliably.Sonar SonarQube优势 1. 提高代码质量:SonarQube可以检测出潜在的代码缺陷、安全漏洞、性能问题等,帮助开发者在发布前修复这些问题,从而提高代码质量。 2.
3 min read

Polaris Mesh

PolarisMesh是腾讯开源的一款用于构建微服务架构的组件,它提供了一种轻量级、高性能的服务网格解决方案。基于Go语言开发,对比同类产品Nacos,其功能的完善度,产品交互的体验上来说完善度要高上不少,并且对云原生的支持更加友好,微服务可以进行 无SDK集成接入。 PolarisMesh一个支持多语言、多框架的云原生服务发现和治理中心, 提供高性能SDK和无侵入Sidecar两种接入方式PolarisMesh 微服务治理 PolarisMesh提供了丰富的微服务治理功能,包括服务注册与发现、负载均衡、流量控制、熔断降级、服务限流等。这些功能可以帮助开发者更好地管理和控制微服务之间的通信和交互。 高性能代理 PolarisMesh内置了高性能的代理组件,可以实现快速的请求转发和响应处理。通过使用该代理,可以减少网络延迟,提高系统的吞吐量和响应速度。 多协议支持 PolarisMesh支持多种常见的通信协议,如HTTP、gRPC等,使得不同类型的微服务可以无缝地进行通信。这样,您可以选择适合您应用程序需求的协议,而不需要进行繁琐的配置和集成工作。
2 min read

阿里 ask 集群

前言 阿里云ASK(Alibaba Cloud ACK)集群是阿里云提供的托管式Kubernetes服务。它基于开源的Kubernetes项目,为用户提供了一个简便易用、弹性伸缩、高可用性和安全可靠的容器化部署和管理平台,相当于无服务器Kubernetes容器服务。您无需购买节点即可直接部署容器应用,无需对集群进行节点维护和容量规划,并且根据应用配置的CPU和内存资源量进行按需付费。ASK集群提供完善的Kubernetes兼容能力,同时降低了Kubernetes使用门槛,让您更专注于应用程序,而不是管理底层基础设施。 什么是容器服务 Serverless 版ACK Serverless_容器服务 Kubernetes 版 ACK-阿里云帮助中心本文介绍阿里云容器服务 Serverless 版的产品简介、核心优势、与ACK集群对比、应用场景、核心功能等信息,帮助您快速了解ACK Serverless集群。 ASK集群中的Pod基于阿里云弹性容器实例ECI运行在安全隔离的容器运行环境中。每个Pod容器实例底层通过轻量级虚拟化安全沙箱技术完全强隔离,容器实例间互不影响。 A
4 min read

架构设计原则

可扩展性 系统设计应该具备良好的可扩展性,能够支持未来的业务增长和需求变化。设计应该考虑到系统的模块化和分层架构,以便于添加新功能、处理更大的数据量和支持更多的用户。 可靠性 系统设计应该具备高可靠性,能够保证系统的稳定性和可用性。设计应该考虑到故障恢复机制、容错处理和备份策略,以便在系统发生故障时能够快速恢复并保证业务的连续性。并且高可用的架构需要具备:自动侦测、自动修复、自动切换。 极致性能 系统设计应该具备高性能,能够快速响应用户请求并处理大量的并发操作。设计应该考虑到合理的数据结构和算法选择、缓存策略、负载均衡和并发控制等,以提升系统的性能和吞吐量。 系统的性能由TPS决定,跟并发用户数没有多大关系。 系统的最大TPS是一定的(在一个范围内)但并发用户数不一定,可以调整。 建议性能测试的时候,不要设置过长的思考时间,以最坏的情况下对服务器施压。一般情况下,大型系统 (业务量大、机器多做压力测试,10000~50000个用户并发,中小型系统做压力测试,5000个用户并发比较常见。 吞吐量 (TPS) = 并发数/平均响应时间 安全性 系统设计应该具备高安全
3 min read

防重复提交

使用Token令牌机制可以有效地防止CSRF攻击和重复提交。在提交表单时,服务器会生成一个Token令牌,并将其存储在Redis中。然后,将这个Token令牌作为表单的一个隐藏字段或URL参数传递给客户端。客户端提交表单时,将这个Token令牌一并提交给服务器。服务器在处理表单时,会检查这个Token令牌是否正确,并在处理完表单后删除这个Token令牌。这种方式可以有效地防止重复提交和CSRF攻击,但是需要注意保护Token令牌的安全性,否则可能会被攻击者利用。 Token令牌机制是一种常用的Web应用程序防止重复提交和CSRF攻击的方法。它的基本思想是在每次提交表单时,服务器会生成一个Token令牌,并将其存储在Redis中。然后,将这个Token令牌作为表单的一个隐藏字段或URL参数传递给客户端。客户端提交表单时,将这个Token令牌一并提交给服务器。服务器在处理表单时,会检查这个Token令牌是否正确,并在处理完表单后删除这个Token令牌。 Token令牌机制的实现步骤如下: 在服务器端生成一个Token令牌,并将其存储在Redis中。Token令牌可以使用随机数、UUI
3 min read

数据结构:栈

栈(Stack)是一种先进后出(LIFO)的数据结构,它只允许在栈顶进行插入和删除操作。栈可以用数组或链表来实现。 在栈中,插入和删除操作通常称为入栈(push)和出栈(pop)。当插入一个元素时,它被放置在栈顶,当删除一个元素时,它是从栈顶删除的。栈顶是栈中最新添加的元素,栈底是栈中最早添加的元素。 栈的应用非常广泛,例如,计算机中的函数调用和递归调用都是通过栈来实现的。当一个函数被调用时,它的参数、返回地址和局部变量等信息被压入栈中,当函数返回时,这些信息又从栈中弹出。 以下是栈的基本操作: push(element):将一个元素压入栈顶。 pop():从栈顶弹出一个元素。 top():返回栈顶元素,但不对栈进行修改。 isEmpty():判断栈是否为空。 size():返回栈中元素的个数。 栈的时间复杂度为O(1),因为所有操作都是在栈顶进行的。但是,栈的空间复杂度为O(n),因为需要存储所有元素。 在计算机中,栈(Stack)被广泛应用于函数调用、
2 min read

HTTP 协议发展史

HTTP 是浏览器与服务端之间最主要的通信协议,HTTP 是应用层协议(7层),应用层产生的数据会通过传输层协议作为载体来传输到互联网上的其他主机中,而其中的载体就是 TCP 协议(3.0使用UDP),基于 TCP 协议进行连接,然后传输对应内容信息。 20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,这被认为是互联网的起源。70 年代,研究人员基于对 ARPA 网的实践和思考,发明出了著名的 TCP/IP 协议。该协议具有良好的分层结构和稳定的性能,并在 80 年代中期进入了 UNIX 系统内核,促使更多的计算机接入了网络。 1989 年,蒂姆伯纳斯-李博士发表了一篇论文,提出了在互联网上构建超链接文档系统的构想。在篇文章中他确立了三项关键技术:URI、HTML、HTTP。 基于这三项技术,
14 min read

Fiddler 安装并抓取HTTPS请求

众所周知 Fiddler 是一个非常实用的抓包工具(主要是对于Http请求)而且有很多的扩展功能可以去官网下载,我们在开发中,难免需要抓包工具来查看接口数据 或者 测试接口的安全性, 如未签名而进行值的修改,下面将介绍它的安装以及配置 证书 来抓取Https加密信息。 Fiddler 官方网址: Fiddler | Web Debugging Proxy and Troubleshooting SolutionsExplore the Fiddler family of web debugging proxy tools and troubleshooting solutions. Easily debug, mock, capture, and modify web and network traffic.Telerik.com [https://www.telerik.com/fiddler]
3 min read

IDEA 常用插件以及开发工具

1、静态代码质量管理工具部署平台 Code Quality and Code Security | SonarQube [https://www.sonarqube.org/] 2、代码质量检查插件 FindBugs 可以直接以插件安装在IDEA IDE中 FindBugs™ - Find Bugs in Java Programs (sourceforge.net) [https://findbugs.sourceforge.net/] 3、翻译插件(英语不好者必备) Translation 可以在代码开发试图中直接翻译 4、代码编码格式约束插件 CheckStyle-IDEA 通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范 5、Java Meven 包冲突检测工具 Maven Helper 可以检测整个项目pom.
2 min read

随心笔记

技术无止境 创新不停驻