自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 【Vue3教程】组件通信

让我们来学习一下vue3组件间是如何通信的。

2024-08-23 15:12:29 300

原创 【Vue3教程】Pinia

Pinia符合直觉的 Vue.js 状态管理库。

2024-08-15 15:06:17 504

原创 【Vue3教程】路由

缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有。通过点击导航,视觉效果上“消失” 了的路由组件,默认是被。作用:让路由组件更方便的收到参数(可以将路由参数作为。优点:兼容性更好,因为不需要服务器端处理路径。作用:控制路由跳转时操作浏览器历史记录的模式。作用:可以简化路由跳转及传参(后面就讲)。作用:将特定的路径,重新定向到已有路由。浏览器的历史记录有两种写入方式:分别为。参数时,需要提前在规则中占位。文件夹,一般组件通常存放在。掉的,需要的时候再去。的对象写法,必须使用。

2024-08-11 21:33:22 385

原创 【Vue3教程】核心语法

即然你都会了Ts,何不趁热打铁看看Vue3+Ts是怎么回事呢

2024-08-02 16:46:53 969

原创 【TypeScript 一点点教程】

可以在项目目录下创建一个tsconfig.json,然后在该目录下运行tsc命令,会发现所有文件皆完成了编译。当然也可以在目录下使用tsc -w。关于tsconfig.json文件,不但可以自己创建,还可以使用在tsc -init 命令自动生成。使用 tsc -w命令可以使ts文件监测到变化时,自动编译。使用tsc命令可以将ts文件编译成js文件。该选项用于设置哪些目录下的文件需要编译。指定哪些文件需要编译,一般只用于小项目。但是每个文件都这样做就会十分麻烦。Ts也可以自动类型判断。

2024-07-23 20:39:30 901

原创 axios在vue中的使用

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。在src下创建utils目录,在该目录下创建文件 request.js。在utils下创建api目录,接着创建文件 course.js。将HTML Form 转换JSON进行请求。

2024-07-23 16:53:45 1012

原创 【环境准备】 Vue环境搭建

书接上回《NodeJs(压缩包版本)安装与配置》,安装完了NodeJs,接下来就要配置vue的环境了。

2024-07-08 15:55:21 340

原创 【Spring Security + OAuth2】OAuth2

Auth”表示“授权”Authorization"O"是Open的简称,表示“开放”连在一起就表示“开发授权”,OAuth2是一种开放授权协议在实际流程中,颁发Token前先要征询用户同意。

2024-05-22 16:44:30 1068 1

原创 【Spring Security + OAuth2】授权

RBAC(Role-Based Access Control,基于角色的访问控制)是一种常用的数据设计方案,它将用户的权限分配和管理与角色相关联。通过对用户角色关联和角色权限关联表进行操作,可以实现灵活的权限管理和访问控制。1、用户表(User table):包含用户的基本信息,例如用户名、密码和其他身份验证信息。5、角色权限关联表(Role-Permission table):将角色与权限关联起来。4、用户角色关联表(User-Role table):将用户与角色关联起来。

2024-05-20 15:58:33 734

原创 【Spring Security + OAuth2】身份认证

在WebSecurityConfig中的SecurityFilterChain加入如下配置。实现接口SessionInformationExpiredStrategy。后登录的账号会使先登录的账号失效。

2024-05-17 14:57:15 436 2

原创 【Spring Security + OAuth2】前后端分离

跨域全称是跨域资源共享(Cross-Origin Resources Sharing,CORS),它是浏览器的保护机制,只允许网页请求统一域名下的服务,同一域名指=>协议,域名,端口号都要保持一致,如果有一项不同,那么就是跨域请求,在前后端分离的项目中,需要解决跨域的问题。当访问一个需要认证之后才能访问的接口的时候,Spring Security会使用 AuthenticationEntryPoint 将用户请求跳转到登录页面,要求用户提供登录凭证。在WebSecurityConfig,加入注销配置。

2024-05-16 15:43:07 1184

原创 【Spring Security+ OAuth2】Spring Security 自定义配置

实际开发的过程中,我们需要应用程序更加灵活,可以在SpringSecurity中创建自定义配置文件。

2024-04-28 16:56:45 998 2

原创 【Spring Security + OAuth2】Spring Security快速入门

Spring Security 之所以默认帮助我们做了那么多事情,它的底层原理是传统的Servlet过滤器。DelegatingFilterProxy作为过滤器的代理,帮助我们调用spring容器中所有注册的过滤器FilterChainProxy帮助我们管理多个不同的过滤器链(SecurityFilterChain)。SecurityFilterChain帮助我们处理复杂的业务逻辑,通过匹配不同的url,由不同的过滤器链的组合来接收,从而由不同的过滤器来完成相应的功能。

2024-03-28 15:30:50 835 1

原创 WPF 实现Popup不在最上层显示、随窗口移动

由于WPF 默认的Popup总是显示在所有窗口的前面,如何让popup 层只显示在该父级之上,并随着父级而动呢?下面来看实现。/// 是否窗口随动,默认为随动(true)/// 加载窗口随动事件/// 加载窗口随动事件while (win!= null)/// 刷新位置trycatchreturn;//是否最前默认为非最前(false)/// 重写拉开方法,置于非最前/// 刷新Popup层级RECT rect;#region P。

2024-01-10 09:55:28 1389

原创 【WPF】 使用UserControl并在XAML中赋初始值

在XAML中使用自定义控件,并在XAML中并赋初始值。

2023-12-22 17:09:36 586

原创 【环境准备】NodeJs(压缩包版本)安装与配置

在Node路径中新建node_cache(缓存目录)和node_global(全局安装)目录。在编辑环境变量界面,点击新建,然后键入Node的所在路径,点击确定。调出CMD命令窗口,输入node -v,验证是否配置成功。配置环境变量,找到系统变量下的path并选中,点击编辑。在cmd窗口中,输入如下两个命令,完成路径设置。

2023-11-16 16:21:11 3410

原创 【服务调用】OpenFeign

Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可

2023-11-15 17:02:38 79

原创 WPF 以视频为背景的登录界面

好的开始是成功的一半。对于软件来说好的登录页面也同样重要。如何制作一个动态背景的登录页面呢?那么今天它来了。

2023-09-26 16:34:29 318

原创 WPF Grid自定义不规则背景

天也不早了,人也不少了,鸡也不叫了,狗也不咬了,下面来看实现。

2023-09-25 15:40:04 402

原创 C# 线程暂停和恢复

因为需要一个自动播放和暂停图片的功能,所以就非常自然想到了创建一个线程,用点击事件控制线程的暂停和启动。

2023-06-26 09:11:31 2277

原创 【服务调用】Ribbon

将用户的请求平均分配到多个服务上,从而达到系统的HA(高可用)。常见的负载均衡有软件Nginx,LVS,硬件F5等。Ribbon本地负载均衡客户端 vs Nginx 服务端负载均衡区别Nginx 是服务端负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求。即负载均衡是由服务端实现的。Ribbon 本地负载均衡,在调用微服务接口时候,会在注册中心获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技术。

2023-05-17 16:09:36 118

原创 【服务注册】Consul

Consul 是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。

2023-04-25 16:53:52 92

原创 【服务注册】Zookeeper

Zookeeper 是一个分布式协调工具,可以实现注册中心功能。

2023-04-23 11:30:26 335

原创 【服务注册】Eureka

对于注册进eureka里面的微服务,可以通过服务发现来获得该服务的信息。保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server 将会尝试保护其他服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务。如果出现下图情况,则说明Eureka进入了保护模式。默认情况下,如果EurekaServer在一定时间内没有接收到接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒)。

2023-04-19 17:02:14 239

原创 Vuex入门级使用

教会你vuex的入门使用。

2023-02-08 08:44:54 90

原创 kafka 入门使用

kafka(发布订阅模式)是一个分布式的流媒体平台。应用:消息系统、日志收集、用户行为追踪、流式处理。

2023-01-14 12:23:57 111

原创 WPF GMap使用高德地图

文章目录前言一、Nuget下载Gmap二、代码1.添加类2.加载高德地图总结前言近日在项目中用到了GMap,并且Gmap中使用了高德地图,特此记录一下。一、Nuget下载Gmap在Nuget中搜索GMap,选择GMap.NET.Presentatiom进行下载安装。(请注意版本)二、代码1.添加类添加一个类,让其GMapControl类。代码如下:using GMap.NET;using GMap.NET.MapProviders;using GMap.NET.Projectio

2022-03-25 14:51:12 2252 5

原创 WPF窗口设置无边框,并清除上部白边

目录一、设置窗口无边框二、去上部白边1.引入库2.在xaml中使用总结一、设置窗口无边框只需在xaml的window标签中,添加WindowStyle="None"属性,即可去掉上部标题栏<Window x:Class="WpfRiUi.module.CheckoutBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micr

2022-03-25 08:58:27 4983 4

原创 WPF 单击双击互斥事件

前言近日有个需求,单击加0.1(减0.1),双击加1,(减1)实现1、xaml部分<Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <DockPanel Grid.Column="0" HorizontalAlignment="Center"&gt

2022-03-21 16:37:20 752

原创 Mysql配置文件

[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysql#log-error = /var/log/mysql/error.log# By default we only accept connections from localhost#bind-address = 127.0.0.1# Disabling symbolic-links

2022-03-09 16:36:00 514

原创 九、TCP粘包和拆包及解决方案

9.1、TCP粘包和拆包基本介绍TCP是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的Socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样做虽然提高了效率,但是接收端就难于分辩出完整的数据包了,因为面向流的通信是无消息保护边界的。由于TCP无消息保护边界,需要在接收端处理消息边界问题,也就是我们所说的粘包、拆包问题、TCP粘包、拆

2022-01-26 16:35:50 1986

原创 八、Netty编解码器和handler的调用机制

8.1、基本说明Netty的组件设计:Netty的主要组件有Channel、EventLoop、ChannelFuture、ChannelHandler、ChannelPipe等ChannelHandler充当了处理入站和出站数据的应用程序逻辑的容器。例如,实现ChannelInboundHandler接口(或ChannelInboundHandlerAdapter),你就可以接收入站事件和数据,这些业务逻辑处理。当要给客户端发送响应时,也可以从ChannelInboundHandler冲刷数据

2022-01-26 16:33:16 216

原创 七、Google Protobuf

7.1、编码和解码的基本介绍编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码codec(编解码器)的组成部分有两个:decoder(解码器)和encoder(编码器)。encoder负责把业务数据转换成字节码数据,decoder负责把字节码数据转换成业务数据7.2、Netty本身编码解码的机制和问题分析Netty自身提供了一些codec(编解码器)Netty提供的编码器StringEncoder,对字符串数据进行编码

2022-01-26 16:30:59 276

原创 六、Netty核心模块组件

6.1、Bootstrap、ServerBootstrapBootstrap 意思是引导,一个Netty应用通常由一个Bootstrap开始,主要作用是配置整个Netty程序,串联各个组件,Netty中Bootstrap类是客户端程序的启动引导类,ServerBootstrap是服务器启动引导类常见的方法有public ServerBootstrap group(EventLoopGroup parentGroup,EventLoopGroup childGroup),该方法用于服务端,用来设置两

2022-01-26 16:28:42 154

原创 五、Netty高性能结构设计

5.1、线程模型基本介绍不同的线程模型,对程序的性能有很大影响。目前存在的线程模型有:传统阻塞IO服务模型Reactor模式根据Reactor的数量和处理资源池线程的数量不同,有3种典型的实现单Reactor单线程单Reactor多线程Netty线程模式(Netty注意基于主从Rectory多线程模型做了一定的改进,其中主从Reactor多线程模型有多个Reactor);5.2、传统阻塞I/O服务模型5.2.1、工作原理图PS:黄色的框表示对象,蓝色的框表

2022-01-26 16:25:18 121

原创 四、Netty概述

4.1、NIO存在的问题NIO的类库和API繁杂,使用麻烦:需要掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。需要具备其他的额外技能:需熟悉java多线程编程,因为NIO编程涉及到Reactor模式,你必须对多线程和网络编程非常熟悉,才能编写出高质量的NIO程序。开发工作量和难度都非常大;例如客户端面临断连重连,网络闪断,半包读写,失败缓存、网络拥塞和异常流的处理等等JDK NIO的Bug: 例如臭名昭著的Epoll Bug,它会

2022-01-26 16:19:26 170

原创 三、Java NIO 编程

3.1、Java NIO 基本介绍Java NIO 全称java non-blocking IO,是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即New IO),是同步非阻塞的NIO相关类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写。NIO有三大核心部分:Channel(通道),Buffer(缓存区),Selector(选择器)NIO是面向缓冲区,或者面向块编程的,数据读取到一个它稍后处理

2022-01-26 16:17:16 1020

原创 二、java BIO 编程

2.1、I/O模型I/O模型简单的理解;就是用什么的通道进行数据的发送和接收,很大程度上决定了程序通信的性能Java共支持3种网络编程模型I/O模式:BIO,NIO,AIOJava BIO :同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进程处理,如果这个连接不做任何事情会造成不必要的线程开销 Java NIO同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用

2022-01-26 16:09:08 202

原创 一、Netty的概念与体系结构

1、Netty介绍1.1、简介Netty是由JBOSS提供的一个java开源框架,现为Github上的独立项目Netty是一个异步的,基于事件驱动的网络应用框架,用以快速开发性能、高可靠性的网络IO程序。Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-Peer场景下的大量数据持续传输的应用。Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景1.2、特点设计统一的API,支持多种传输类型,阻塞和非阻塞的简单而强大的线程模型真正的无连

2022-01-26 16:05:21 176

原创 RabbitMq入门(与springboot简单使用)

RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完成不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。在rabbitMq中,Exchange有四个类型:direct,topic,fanout,header,详见。

2021-12-10 11:03:59 1774

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除