WPF1、WPF栅格WPF有着和BootStrap类似的栅格系统,可以将页面分割为你所需要的块大小,并且为响应式布局结构
示例,将页面分为3行3列,就如数组一样,下标从0开始,想使用某一个区域,直接指定Grid.Column ,Grid.Row 这两个属性即可,下面示例指向了中间区域。
123456789101112131415161718192021222324<Window x:Class="WPF基础学习.WPFTEST" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schema ...
LINUX1、LINUX文件目录
以下是对这些目录的解释:
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空 ...
Promise一个 Promise 是一个代理,它代表一个在创建 promise 时不一定已知的值。它允许你将处理程序与异步操作的最终成功值或失败原因关联起来。这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回一个 promise,以便在将来的某个时间点提供该值。
一个 Promise 必然处于以下几种状态之一:
待定(pending):初始状态,既没有被兑现,也没有被拒绝。
已兑现(fulfilled):意味着操作成功完成。
已拒绝(rejected):意味着操作失败。
一个待定的 Promise 最终状态可以是已兑现并返回一个值,或者是已拒绝并返回一个原因(错误)。当其中任意一种情况发生时,通过 Promise 的 then 方法串联的处理程序将被调用。如果绑定相应处理程序时 Promise 已经兑现或拒绝,这处理程序将被立即调用,因此在异步操作完成和绑定处理程序之间不存在竞态条件。
如果一个 Promise 已经被兑现或拒绝,即不再处于待定状态,那么则称之为已敲定(settled)。
Vue组件简介
组件(Component)是 Vue.js 最强大的功能之一。
组件可以扩展 HTML 元素,封装可重用的代码,提高代码的复用性。
组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树
示例123456789101112131415161718192021<div id="app"> <student></student></div><script> const student = Vue.extend({ template: `<h1>你好 {{ msg }}</h1>`, data() { return { msg: 'XSS' } } }) let vm = ...
消息队列交互模型
消息队列两种模式点对点模式
点对点模式特点:
每个消息只有一个接收者(Consumer)(即一旦被消费,消息就不再在消息队列中)
发送者和接收者间没有依赖性,发送者发送消息之后,不管有没有接收者在运行,都不会影响到发送者下次发送消息;
接收者在成功接收消息之后需向队列应答成功,以便消息队列删除当前接收的消息;
发布订阅模式
发布/订阅模式特点:
每个消息可以有多个订阅者;
发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。
为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行;
Kafka简介
Kafka是由Apache软件基金会开发的一个开源流平台,由Scala和Java编写
Apache Kafka是一个分布式流平台。一个分布式的流平台应该包含3点关键的能力:
发布和订阅流数据流,类似于消息队列或者是企业消息传递系统
以容错的持久化方式存储数据流
处理数据流
上图,我们可以看到:
Producers:可以有很多的应用程序,将消 ...
最近项目收获1、Web消息格式前言 在Web项目开发中,我们都会和前端约定好,消息转换格式,便利于项目消息传输与使用,在此之前,我都是使用统一消息格式的类对象进行消息转换,而这次使用ResponseBodyAdvice接口,及逆行消息格式自动转换,并且自定义注解,在加上注解的类上或者是方法上,可以不进行消息类型的转换
ResponseBodyAdvice的使用ResponseBodyAdvice接口和RequestBodyAdvice接口类似, RequestBodyAdvice是请求到Controller之前拦截,做相应的处理操作, 而ResponseBodyAdvice是对Controller返回的{@code @ResponseBody}or a {@code ResponseEntity} 后,{@code HttpMessageConverter} 类型转换之前拦截, 进行相应的处理操作后,再将结果返回给客户端.
源码12345678910111213141516public interface Response ...
java
未读HTTP、HTTPS、以及跨域
HTTPS相对HTTP协议来说,不是特别安全,HTTPS可以解决以下问题
常规的 HTTP 通信,有以下的问题1.窃听风险 (eavesdropping): 第三方可以获知通信内容2.篡改风险(tampering): 第三方可以修改通信内容。3.冒充风险 (pretending) :第三方可以冒充他人身份参与通信.
https的设计
1.所有信息都是加密传播,第三方无法窃听。2.具有校验机制,一旦被篡改,通信双方会立刻发现3.配备身份证书,防止身份被冒充。
HTTP简介 HTTP 的全称是 HyperText Transfer Protocol (超文本传输协议)的缩写,是一种建立在 TCP 上的无状态连接。HTTP 是互联网的基础协议,用于客户端与服务器之间的通信,它规定了客户端和服务器之间的通信格式,包括请求与响应的格式。
基本的工作流程是客户端发送一个 HTTP 请求,服务端收到请求开始处理,处理结束返回给客户端结果,客户端对结果进行处理并展示。
请求报文格式主要由请求头,请求行,请求体组成
响应报文格式主要由状态行、响应头、响应正文 ...