Java
springboot的特点
springboot的特点最大的特点是 自动配置,所谓自动配置,就是在集成第三方jar包时经常要配置一堆xml文件才能使用,springboot预先配置好了直接拿来用即可 稍后配置,就是说即使你通过配置了jar,但是后面还可以修改 免部署java容器,就是说你无需在单独部署tomcat服务器直接就可以运行 独立可直接运行。就是说这个jar包包含运行所需的所遇依赖,直接运行即可。 总结来说还是为了加
确保Docker安全的10大方法
网络安全事件会严重损害组织的声誉,使其在市场竞争中处于不利地位,受到处罚,并给最终用户带来不必要的法律问题。根据 IBM 的报告,每次数据泄露的平均成本为 392 万美元。企业在提供安全方面面临的最大挑战是缺乏安全工具和实践方面的技能和培训 缺乏可见性和漏洞, 持续监控安全现状 在 PaloAlto Networks 最近发布的《云安全现状报告》调
牛客2.7比赛E,F题
链接:https://ac.nowcoder.com/acm/contest/67743/E 来源:牛客网 智乃最近学习了冒泡排序和最长子段和,所以她现在想把它们合并成一个新的算法。 众所周知,冒泡排序是一种通过交换相邻元素实现排序的算法,最长子段和是指从一个数组aaa中取出一段连续的非空数组区间[l,r][l,r][l,r],最大化数组区间的和∑i=lraisum_{i=l}^{r}a_{i}∑
.NET(C#)遍历(for,foreach,while)字典(Dictionary)的几种方法
.NET (C#) 中,Dictionary<TKey, TValue> 是一种非常实用的集合类型,用于存储键值对的集合。遍历 Dictionary 的方法有多种,包括使用 for 循环、foreach 循环和 while 循环。使用 foreach 循环是遍历 Dictionary 中所有键值对最常见和最简单的方法。for 和 while 循环在遍历 Diction
设计模式--行为型模式
设计模式--行为型模式 目录设计模式--行为型模式模板方法模式定义结构举个栗子策略模式定义结构举个栗子命令模式定义结构举个栗子责任链模式定义结构举个例子状态模式定义结构举个栗子使用场景观察者模式定义结构举个栗子中介模式定义结构举个栗子迭代器模式定义结构举个栗子访问者模式定义结构举个栗子备忘录模式定义结构举个栗子解释器模式定义结构举个栗子 模板方法模式 定义 定义一个操作中的算法骨架,而将算法的一些
Vite+Vue根据环境配置Websocket地址
前言 上回说到,利用vite加载不同mode下的配置文件,可以实现不同运行环境下的参数配置。在前端应用中经常使用到Websocket,其地址同样可以在.env中间中配置。 代码 vite.config.ts代码的执行是在createApp之前,不可以在vite.config.ts中使用例如pinia、router等组件。可以使用import.meta.env获取配置文件中的参数 废话少说,直接上代
【架构师视角系列】QConfig配置中心系列之架构设计(一)
目录声明配置中心系列文章一、架构基础模型架构图架构分层运行规则模块划分Admin模块Client模块Server模块二、总结三、最后 声明 原创文章,转载请标注。https://www.cnblogs.com/boycelee/p/17993697 《码头工人的一千零一夜》是一位专注于技术干货分享的博主,追随博主的文章,你将深入了解业界最新的技术趋势,以及在Java开发和安全领域的实用经验分享。无
9个问答牢记RocketMQ架构
RocketMQ是Java兄弟们常用的消息中间件,虽说常用,但对于RocketMQ架构经常忘记。究其原因就2点:忙于业务开发然后长时间不看则忘了、不理解架构设计的根本原因记不牢。本文用大白话描述架构设计过程,牢记RocketMQ架构。 一、架构的思考过程 首先,在记框架的原理和架构时,要先把握全局的脉络,在思考为什么这么设计,最后才是思考细节,这样才能记得牢。本文通过层层追问的方式,一步步解说Ro
vue基础知识和原理(一)
1. vue基础知识和原理 1.1 初识Vue 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象 demo容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法 demo容器里的代码被称为【Vue模板】 Vue实例和容器是一一对应的 真实开发中只有一个Vue实例,并且会配合着组件一起使用 {{xxx}}是Vue的语法:插值表达式,{{xxx}}可以
抛弃Spring Cloud Gateway,得物 使用Netty架构100Wqps网关
文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职业升级, 薪酬猛涨!加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试
vue3 let,var,const区别
在Vue3中,let、var和const都是用于声明变量的关键字区别: var:在JavaScript中,var是声明变量的最常用的关键字。var声明的变量的作用域是函数级的,如果在函数内部声明的变量,其作用域将限制在函数体内部。如果在函数外部声明的变量,则其作用域将是全局的。 let:let也用于声明变量,但其作用域是块级的
十、Django静态文件
django网络相应基础: 1、配置url路由 在urls.py中 urlpatterns添加路径 2、定义视图函数 在应用文件夹的views.py中,添加函数,响应urls.py路由 3、创建html模版 在模版目录下(默认templates文件夹)创建index.html等模版 模版路径配置:setting.py中的TEMPLATES -> DIRS参数 4、给模版传入参数 lo
解决jstack的报错:Unable to open socket file
原文网址:解决jstack的报错:Unable to open socket file_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍解决jstack的报错的方法,报错信息为:Unable to open socket file。 分享Java技术星球:自学精灵 - IT技术星球 详细报错信息: 进程号: Unable to open socket file: targe
NET 7 中使用Session
NET 7 中使用Session 2024年2月11日 net7下测试通过 Program.cs关键代码: 母版页_Layout.cshtml中使用: 撸码:复制、粘贴,拿起键盘就是“干”!!!
力扣回溯 之46. 全排列
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 示例 2: 示例 3: import java.util.ArrayList; import java.util.List; //leetcode submit region begin(Prohibit modification and deletion) c
Dubbo + Nacos这么玩就失去高可用的能力了
酱香配拿铁喝了伤头,Dubbo配Nacos这么玩也会伤头。本文介绍Dubbo配合Nacos搭建的微服务系统,在Nacos-Server集群重启时出现的问题。过程中通过种种现象、猜测、翻看源码、实践,最终让Nacos-Server平滑重启。 我们常用的微服务框架是SpringCloud那一套,在服务远程调用和注册中心的选型上也有不少方案。在服务远程调用上常用的有:Feign、Dubbo等,在注册
6个步骤搞定云原生应用监控和告警(建议收藏)
云原生系统搭建完毕之后,要建立可观测性和告警,有利于了解整个系统的运行状况。基于Prometheus搭建的云原生监控和告警是业内常用解决方案,每个云原生参与者都需要了解。 本文主要以springboot应用为例,讲解云原生应用监控和告警的实操,对于理论知识讲解不多。等朋友们把实操都理顺之后,再补充理论知识,就更容易理解整个体系了。 1、监控告警技术选型 kubernetes集群非常复杂,有容器基础
3步让Dubbo项目快速集成Sentinel
在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧。本文通过3个步骤,让Dubbo项目快速集成使用Sentinel实现系统限流。 本文接着《5小步快速集成使用sentinel限流》,继续介绍Dubbo项目如何快速集成使用Sentinel。 1、环境和资源准备 环境和资源准备,参看《5小步快速集成使用sentinel限流》。 2、启动sentinel-dashboard 下载sentine
5小步快速集成使用sentinel限流
在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧。本文通过如下几个小步骤,即可让spring项目快速集成使用sentinel实现系统限流。 1、环境和资源准备 sentinel支持许多流控方式,比如:单机限流、熔断降级、集群限流、系统保护规则、黑白名单授权等。 本文介绍如何快速集成使用sentinel,文中以单机限流为例,使用代码而非控制台配置的方式限流。 sentinel官网地址:
OOM内存泄露速查备忘录
本文整理了一份OOM内存泄露问题速查备忘录,详细见下文。 1、核心步骤 top、free、df三连,查看CPU、内存、磁盘的大致情况。 netstat -lp 查看端口占用情况。 导出内存dump文件: 保存线程栈: 2、辅助工具 jstat -gc[gcutil] pid [interval]查看JVM垃圾回收情况。通过 jstat 查看 GC 信息,首先就是判断 GC 时间是否较
10分钟3个步骤集成使用SkyWalking
随着业务发展壮大,微服务越来越多,调用链路越来越复杂,需要快速建立链路跟踪系统,以及建立系统的可观测性,以便快速了解系统的整体运行情况。此时就非常推荐SkyWalking了,SkyWalking不仅仅是一款链路跟踪工具,还可以作为一个系统监控工具,还具有告警功能。使用简便、上手又快。真可谓快、准、狠。 本文主要介绍如何快速集成使用SkyWalking,从3个方面入手:原理、搭建、使用。 1、原理
要想Pod好--健康检查少不了
要想Kubernetes里每个服务的可用性更高,那么对Pod的健康检查是少不了的。Pod生命周期和健康检查是我们最常接触的基础知识,虽说是基础吧,但如果理解不好,出现问题时很容易抓耳挠腮,揪头发。 本文主要从以下6个方面介绍Pod的健康检查:刚接触K8S的糗事、Pod生命周期、重启策略、健康检查、如何选择探针、实战,最后还会有知识点的总结和排查Pod问题的总结。 1、刚接触K8S的糗事 回想201
Springboot项目中使用Elasticsearch的RestClient
上一篇介绍了Elasticsearch的入门《5000字详说Elasticsearch入门(一)》,本篇介绍Springboot如何集成使用Elasticsearch。分为3步:配置properties文件、引入pom依赖、配置RestHighLevelClient类。 1、选择ES的Client API 我们知道Elasticsearch是一款Restful API风格的分布式搜索引擎。ES C
Netty入门实践-模拟IM聊天
我们使用的框架几乎都有网络通信的模块,比如常见的Dubbo、RocketMQ、ElasticSearch等。它们的网络通信模块使用Netty实现,之所以选择Netty,有2个主要原因: Netty封装了复杂的JDK 的 NIO操作,还封装了各种复杂的异常场景,丰富的API使得在使用上也非常方便,几行代码就可以实现高性能的网络通信功能。 Netty已经经历各种大型中间件的生产环境的验证,高可用性和
大白话-设计RocketMQ延迟消息
延迟消息一般用于:提前发送消息,延迟一段时间后才需要被处理的场景。比如:下单半小时后还未支付,则取消订单 释放库存 等。 RocketMQ的延迟消息使用上非常便捷,但是不支持任意时间的延迟,这一点对于有强迫症的朋友来说就比较难受,但是搞明白为什么这么设计后,就自然释怀了。 为什么RocketMQ不支持任意时间的延时?为什么延迟时间只能是从1s 5s 10s 30s 1m 2m 3m 4m 5m 6
【Java 并发】【队列应用】【一】ArrayBlockingQueue 的使用-Logback异步日志打印
1 前言 看了那么多 Java 提供的队列工具,那么我们这节开始看看哪些地方用到了这些队列哈。 这一节我们讲解logback异步日志打印中ArrayBlockingQueue的使用。 2 异步日志打印模型概述 在高并发、高流量并且响应时间要求比较小的系统中同步打印日志已经满足不了需求 了,这是因为打印日志本身是需要写磁盘的,写磁盘的操作会暂时阻塞调用打印日志的业
一次打通FlinkCDC同步Mysql数据
业务痛点 离开了业务谈技术都是耍流氓。我们来聊聊基于业务的痛点,衍生出来的多种数据同步方案。 业务中常见的需要数据同步的场景 1、多个库的表合并到一张表。不同的业务线或者微服务在不同的数据库里开发,但是此时有些报表需要将多个库的类似的数据合并后做查询统计。或者,某些历史原因,类似刚开始的商业模式不清晰,导致一些业务线分分合合。或者某些边缘业务逐步融合到了主业务。早起的数据是分开的,业务运营也是分开