- 博客(67)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
转载 kubernetes安装详解
3.关闭防火墙4.修改主机名5.添加hosts解析6.设置k8s内核参数设置内核参数加载内核模块使内核参数生效7.关闭系统swap修改fstab文件,关闭swap的自动挂载。9.安装依赖包10.时间同步11.安装docker-ce软件提示:master节点不需要安装删除自带的docker安装依赖包安装yum源安装docker-ce启动,并设置开机自启[安装设置好flanneld后,再启动docker]11.安装CFSSLcfssl三:创建CA证书
2024-08-15 09:35:05 108
转载 Spring Boot搭建AI原生应用
什么是「AI原生应用」?简单一句话就是,AI带来应用的最核心价值,如果脱离开 AI,应用将不存在。AI原生应用是指在设计、开发、部署、运营和维护过程中,具有内在安全、可信的AI能力应用,其中AI是功能的自然组成部分。实现一个AI原生应用的过程,往往需要利用数据驱动和基于知识的生态系统,在这一过程中,数据与知识将被消费和生产,以实现新的基于AI的原生功能。在需要时通过学习和自适应的AI增强能力,来替代以往静态的、基于规则的机制。
2024-07-31 16:13:55 72
原创 无缝前端部署
保留旧版本文件:利用 Vue 构建时生成的包含哈希值的静态文件名。分阶段上传:先压缩文件,再上传并解压。监控和自动化部署:使用和 Docker 实现实时监控和自动化部署。通过上述策略,我们可以实现 Vue 应用的无缝部署,减少部署过程中对用户的影响。这种方法不仅适用于 Vue,也可以扩展到其他前端框架和应用。
2024-05-18 22:34:00 468
原创 Dockerfile中的CMD和ENTRYPOINT
与Exec格式不同,使用Shell格式的指令总是使用命令shell。Shell格式不使用JSON数组格式,而是一个常规的字符串。在使用shell格式时系统会自动选择一个命令shell来执行指令,而在使用exec格式时,需要明确指定使用哪个命令shell或其他可执行文件来执行命令。exec格式使得避免使用shell字符串处理成为可能,并且可以使用特定的命令shell或任何其他可执行文件来调用命令。当使用Exec格式并直接执行shell时,就像Shell格式一样,是由shell进行环境变量替换,而不是构建器。
2024-05-05 23:31:21 2238 2
原创 Linux procps-ng - top
程序或窗口名称,取决于显示模式当前时间和自上次启动以来的时间长度用户总数系统负载(1 分钟、5 分钟、15 分钟内的平均进程数),对于单核CPU 1.0表示满负载摘要区交互命令在全屏模式和alternate-display模式下始终可用。它们影响显示的起始行,并确定消息和提示的位置。这些命令总是只影响“当前”窗口/字段组。C:显示滚动坐标切换切换一个信息消息,当消息行没有被使用时会显示。l:负载平均值/正常运行时间切换。
2023-11-19 00:31:14 1155
转载 跨域资源共享 CORS 详解
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。
2023-10-11 23:16:04 161
原创 Linux网络监控工具 - iftop
iftop 是一个基于 libpcap 库的网络流量监控工具。它通过监听指定网络接口上的数据包,并分析这些数据包的源地址、目标地址、源端口、目标端口、协议等信息,从而实时显示网络流量的相关统计信息。
2023-10-09 23:33:17 2760 3
原创 Linux网络监控工具 - nethogs
nethogs是一个基于命令行的网络监控工具,用于实时监视每个进程的网络流量。它可以显示每个进程使用的带宽、连接数和数据包数量等信息。
2023-10-08 10:21:20 1539
原创 Duration.parse格式说明
Duration.parse是Java 8及以上版本中的一个方法,用于将字符串表示的时间段解析为Duration对象。时间单位(Time Units):使用大写字母表示时间单位,包括年(Y)、月(M)、周(W)、天(D)、小时(H)、分钟(M)和秒(S)。上述代码将字符串"PT2H30M"解析为一个Duration对象,并输出该对象的字符串表示和总分钟数。Duration对象表示的时间段最大单位为天(24小时),不能表示更长的时间段。字符串中的字母大小写敏感,必须使用大写的P、T和H/M/S。
2023-08-02 14:30:45 892 1
转载 MySQL对于相同名称用户但host不同的登陆选择
有时候我们会发现有创建多个相同名称的用户,但是host给的不是相同的,最普遍的是有的小伙伴习惯性的创建 root 用户,系统有默认的 root@‘127.0.0.1’ ,而自己再去创建个 root@‘%’ 或 root@'192.168.20.%'类似这种的,那么存在多个相同名称的了,mysql在登录时候会选择哪个用户来进行登陆呢?记得有块官方文档介绍这一块的,一时没找到,感兴趣小伙伴自己去找下。大致意思应该如下:服务器使用与客户端主机名和用户名相匹配的第一行记录进行授权。
2023-04-03 14:42:58 761
转载 SpringSession
在开始spring-session揭秘之前,先做下热脑(活动活动脑子)运动。为什么要spring-session比较traditional-session方案和spring-session方案JSR340规范与spring-session的透明继承spring-session提供集群环境下HttpSession的透明集成。spring-session的优势在于开箱即用,具有较强的设计模式。
2022-11-06 23:28:56 6671
翻译 Jackson Annotation 示例
在本教程中,我们将深入研究 Jackson Annotations。我们将了解如何使用现有注解,如何创建自定义注解,最后如何禁用它们
2022-09-07 23:33:17 236
翻译 Jackson ObjectMapper 简介
本教程重点介绍如何理解 Jackson ObjectMapper 类,以及如何将 Java 对象序列化为 JSON,以及如何将 JSON 字符串反序列化为 Java 对象ObjectMapper类的另一个基本功能是注册自定义序列化程序和反序列化程序的能力。在输入或输出JSON响应在结构上与必须序列化或反序列化的Java类不同的情况下,自定义序列化程序和反序列化程序非常有用。super(t);...
2022-08-31 00:11:09 589
原创 Docker 部署 RabbitMQ 集群
为了保证线上环境RabbitMQ的高可用性,需要部署一套集群环境。RabbitMQ集群主要有两方面的优势:高可用、高性能;高可用就是保证其中部分RabbitMQ节点崩溃或停机的情况下应用程序不受影响,高性能就是对RabbitMQ的横向扩展,支持更大量的消息通信。
2022-08-21 01:13:13 2016
原创 数字精度问题
前端JS不支持Long类型数字,返回给前端Long类型数据时需要转换为Stringmongodb中默认数字类型也是浮点数类型,在查询数据时要注意属性类型
2022-08-17 00:06:16 401
原创 Redis按Key前缀删除
redis-cli --scan --pattern "prefix::*" | xargs -L 2000 redis-cli del
2022-05-31 17:06:44 626
原创 NFS(Network File System)
一个更好的教材NFS是什么NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;NFS一般用来存储共享视频,图片等静态数据NFS原理NFS本身的服务并没有提供数据传递的协议,而是通过使用RPC(远程过程调用 Remote Procedure Cal
2022-05-17 19:30:00 398 1
原创 Spring Security启动流程
SecurityConfigurer用来配置SecurityBuilder的超类。所有SecurityConfigurer首先调用其init(SecurityBuilder)方法。再调用了所有init(SecurityBuilder)方法之后,调用每个configure(SecurityBuilder)方法。public interface SecurityConfigurer<O, B extends SecurityBuilder<O>> { /** 初始化Se.
2022-04-26 18:12:01 1035
原创 Servlet 身份验证体系结构(源码)
参考BlogAuthentication表示身份验证请求的令牌,或AuthenticationManager.authenticate(Authentication)方法处理请求后经过身份验证的主体的令牌。一旦请求通过身份验证,身份验证通常会存储在由SecurityConextHolder通过所使用的身份验证机制管理的线程本地SecurityContext中。无需使用Spring Security的任何一种身份验证机制,即可通过创建一个身份验证实例并使用以下代码来实现显式身份验证:Securit
2022-04-26 17:17:47 318
原创 虚拟机VMware3种网络模式(桥接、NAT、Host-only)的工作原理
Bridged(桥接模式)在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器不过你需要多于一个的IP地址,并且需要手工为 虚拟系统配置IP地址子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。如果你想利用VMware在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式NAT(网络地址转换模式)使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网也就是说
2022-04-25 22:12:08 641
原创 Nginx命令行参数
Nginx命令行参数可以通过 nginx -h 获取:$ nginx -hnginx version: nginx/1.21.5Usage: nginx [-?hvVtTq] [-s signal] [-p prefix] [-e filename] [-c filename] [-g directives]Options: -?,-h : this help -v : show version and exit -V
2022-04-19 21:01:50 4704
原创 CPU架构
指令集计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效的工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分CISC(复杂指令集)
2022-04-16 22:41:36 2914
翻译 认证事件(Authentication Events)
对于每个成功或失败的身份验证,将分别触发一个 AuthenticationSuccessEvent 或 AbstractAuthenticationFailureEvent 。要侦听这些事件,你必须首先发布一个 AuthenticationEventPublisher,Spring Security 的 DefaultAuthenticationEventPublisher 可能会做得很好:@Beanpublic AuthenticationEventPublisher authenticationE
2022-04-05 17:27:57 1413
翻译 匿名认证(Anonymous Authentication)
通常认为采用“默认拒绝”是一种良好的安全实践,在这种情况下,您可以明确指定允许的内容,并禁止其他内容。定义未经身份验证的用户可以访问的内容也是类似的情况,特别是对于 web 应用程序。许多站点要求用户必须对除了一些 url (例如主页和登录页面)以外的任何内容进行身份验证。在这种情况下,为这些特定 url 定义访问配置属性比为每个安全资源定义访问配置属性更容易。换句话说,有时候说 role_something 是默认需要的,并且只允许该规则的某些异常,比如用于应用程序的登录、注销和主页。您还可以从过滤器链中
2022-04-05 17:11:38 4411
翻译 Remember-Me
Remember-me 或者 persistent-login 身份验证是指网站能够在会话之间记住主体的身份。这通常是通过向浏览器发送 cookie 来实现的,在以后的会话中检测到 cookie 并完成自动登录。Spring Security 提供了执行这些操作所需的挂钩,并有两个具体的 remember-me 实现。一种使用散列来保持基于 cookie 的令牌的安全性,另一种使用数据库或其他持久存储机制来存储生成的令牌。注意,这两个实现都需要 UserDetailsService。如果您使用的身份.
2022-04-05 16:50:44 180
翻译 会话管理.
检测超时(Detecting Timeouts)您可以配置 SpringSecurity 来检测无效会话 ID 的提交,并将用户重定向到适当的 URL。这是通过会议管理部分实现的:@Overrideprotected void configure(HttpSecurity http) throws Exception{ http .sessionManagement(session -> session .invalidSessionUrl("/i
2022-04-05 10:52:35 374
翻译 用户密码的存储机制
In-Memory AuthenticationSpring Security 的 InMemoryUserDetailsManager 实现了 UserDetailsService,以支持存储在内存中的基于用户名/密码的身份验证。InMemoryUserDetailsManager 通过实现 UserDetailsManager 接口提供对 UserDetails 的管理。当 Spring Security 配置为接受用户名/密码进行身份验证时,它使用基于 UserDetails 的身份验证。在这个示
2022-04-05 08:00:00 623
翻译 用户名/密码认证
表单登录让我们来看看基于表单的登录在 Spring Security 中是如何工作的。首先,我们看到如何将用户重定向到登录表单。该图构建了我们的 SecurityFilterChain 图。首先,用户向未授权的资源/私有发出未经身份验证的请求。Spring Security 的 FilterSecurityInterceptor 通过抛出 AccessDeniedException 表示拒绝未经身份验证的请求。由于用户没有经过身份验证,ExceptionTranslationFilter 启
2022-04-05 00:59:55 8668
翻译 Servlet 身份验证体系结构
SecurityContextHolder在Spring Security的身份验证模型的核心是SecurityConextHolder。它包含SecurityContext。SecurityContextHolder 是 Spring Security 存储被验证者的详细信息的地方。Spring Security 不关心 SecurityContextHolder 是如何填充的。如果它包含一个值,则将其用作当前经过身份验证的用户。表明用户已通过身份验证的最简单方法是直接设置 SecurityCon
2022-04-05 00:26:58 306
翻译 Spring Security 的体系结构
回顾 FiltersSpring Security 的 Servlet 支持是基于 Severlet 过滤器的,因此通常先看看过滤器的角色是有帮助的。下面的图片显示了单个 HTTP 请求的处理程序的典型分层。客户机向应用程序发送一个请求,容器创建一个 FilterChain(过滤器链),其中包含过滤器和Servlet,这些过滤器和Servlet应根据请求URI的路径处理HttpServletRequest。一个Servlet可以处理单个HttpServletRequest和HttpServletRes
2022-04-04 18:16:53 285
原创 JavaScript中的函数
一等公民–函数在Javascript中函数也是一等公民,函数可以独立存在,声明后就可以直接使用。let animal = {"name": "animal"};function eat(animal) { console.log(animal.name + " is eating")}eat(animal);// animal is eating// 只要一个对象有name这个属性就可以调用let dog = {"name": "dog"};let cat = {"name":
2022-04-03 22:46:27 1361
原创 Java8 函数式接口
java.util.function 包下面有大量的函数式接口,主要分为以下几个基本类别Function<T, R> 输入参数为类型T, 输出为类型R, 记作 T -> RConsumer<T> 输入参数为类型T, 输出为void, 记作 T -> voidSupplier<T> 没有输入参数, 输出为类型T, 记作 void -> TPredica
2022-04-03 00:28:45 146
疯狂Spring Cloud
2018-04-22
HttpClient4.x 教程 PDF
2017-06-25
精通Spring 4.x 企业应用开发实战
2017-06-03
Maven实战(许晓斌著)完整高清版PDF
2017-05-29
异步Servlet为什么能提高并发?
2018-10-20
提交请求后台(javaweb tomcat)无法获取参数
2018-05-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人