摘要:
一. 铺垫 1. 为什么要用服务器集群 (1). 分摊客户端的压力,提高服务器效率。(高并发) (2). 解决单点故障问题,即删除服务器节点或者增加服务器节点都不影响使用。(高可用) 2. 集群的类型 (1). 对称集群:各个集群实例角色的地位相同。(数据计算) (2). 非对称集群:各个集群实例角 阅读全文
摘要:
一. 基础 1.前言 (1). 顺序表的标准解释:顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙,这个时候我们会发现数组和顺序表的性质很类似,实际上顺序表就是基于数组来实现。 (2). 顺序表的特点:访问数据块,如果第一个元素位置为L 阅读全文
摘要:
一. 总结1 1. IWebHostEnvironment获取常用属性 (1).获取项目的根目录 _env.ContentRootPath 等价于 Directory.GetCurrentDirectory() (2).获取项目下wwwroot目录 _env.WebRootPath (3).获取项目 阅读全文
摘要:
一. 简介 1. 说明 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用 阅读全文
摘要:
一. 简介 1.路由的概念 路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。 路由分为前端路由和后端路由: (1).后端路由是由服务器端进行实现,并完成资源的分发。 阅读全文
摘要:
一. axios用法 参考: API文档: https://www.kancloud.cn/yunye/axios/234845 或者 https://axios-http.com/zh/docs/api_intro GitHub: https://github.com/axios/axios 其它 阅读全文
摘要:
一. Promise相关 1.说明 主要解决异步深层嵌套的问题,promise 提供了简洁的API 使得异步操作更加容易 。 2.入门使用 我们使用new来构建一个Promise Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异步操作执行成功后 阅读全文
摘要:
一. 组件及其交互 1.组件的注册 (1).全局注册 Vue.component('组件名称', { }) 第1个参数是标签名称,第2个参数是一个选项对象。 选项参数包括 data:必须是一个function,然后要return,在return里面声明变量。 template: 用``符号包裹 me 阅读全文
摘要:
一. 常用特性2 1. 监听器 用watch来响应数据的变化, 一般用于异步或者开销较大的操作, watch 中的属性 一定是data 中 已经存在的数据!!! 当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,只有data中的数据才能够监听到变化,此时就需要deep属性 阅读全文
摘要:
一. 常用特性 1. 表单元素 通过 v-model指令绑定 输入框、单选/多选框、下拉框、文本框 2. 表单域修饰符 (1) .number:转换成数值,如果输入的是非数字字符串时,无法进行转换 (2) .trim:自动过滤输入的收尾字符串,不能去除中间的空格 (3) .lazy:将输入input 阅读全文
摘要:
一. 简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 阅读全文
摘要:
1. OfType 获取集合中中指定类型元素。 object[] obj = { 1, 23, 4, 5, 555, "aaa", "bbb" }; int max = obj.OfType<int>().Max(); //结果是55, 获取int类型中的最大值 2. selectMany 相当于二 阅读全文
摘要:
一. 各种性能测试 这里分享EF、EFCore、EF Core调用SQL语句 分别在1000条、1w、4w、10w下的增删改查需要的时间。(括号里代表的都是对应的range方法) 1. EF测试 2. EFCore测试 3. EF Core调用SQL语句 4. EFCore组装成SQL语句,inse 阅读全文
摘要:
1.使用DbContext池 在Core Mvc中,如果使用 AddDbContextPool 方法,那么在控制器请求 DbContext 实例时,我们会首先检查池中有无可用的实例。 请求处理完成后,实例的任何状态都将被重置,并且实例本身会返回池中。 从概念上讲,此方法类似于 ADO.NET 连接池 阅读全文
摘要:
一. 前言 1.说明 本章节重点介绍JWT的利用不同程序集的几种写法及认证方式,然后复习一下JWT的组成。 其他概念参考:https://www.cnblogs.com/yaopengfei/p/10451189.html 官网:https://jwt.io 2.JWT组成 样式:"xxxxxxxx 阅读全文
摘要:
一. 基本概念 1. 背景 通常我们将 AppSecret 和数据库连接字符串存储在配置文件中,web.config 或 appsettings.json,配置文件都需要提交到SVN 和git上,对于一些开发者自己用而不需要提交的数据, 并不想进行提交,这个时候可以存储到本地机密文件中。 或者一些机 阅读全文
摘要:
整体说明:这里主要是借助依赖注入程序,在控制台上获取需要的相关类,然后进行使用对应方法的调用 (1).首先需要添加依赖注入的程序集【Microsoft.Extensions.DependencyInjection】 (2).添加所需组件对应的程序集,并进行Addxxxx (3).创建Provicde 阅读全文
摘要:
一. 数据保护 1.控制台步骤 通过Nuget安装数据保护程序集【Microsoft.AspNetCore.DataProtection】和依赖注入程序集【Microsoft.Extensions.DependencyInjection】,详见下面代码,进行数据的protect和unprotect。 阅读全文
摘要:
一. 编码解码 1.编码 将信息从一种格式(人能识别)转换成另一种形式(计算机能识别)的过程。 常见的编码:Base64 2.解码 计算机能识别的形式转换成人能识别的形式。 3.字符集和字符编码 (1).字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各 阅读全文
摘要:
一 . 客户端IP白名单限制 1.通过中间件检测 新建中间件类AdminSafeListMiddleware,获取白名单ip,通过比较byte值来比较访问的ip是否在白名单中,如果不在,则返回401无权限。 然后在ConfigureService中进行全局拦截app.UseMiddleware<Ad 阅读全文
摘要:
一. 基本配置 1. 调试程序如何开启IIS (在vs中) 方法一:创建代码的时候勾选 方法二:手动开启:① 属性→调试→启用SSL ② 在Configure中添加:app.UseHttpsRedirection(); 进行全局拦截。 PS:以上两种方案配置完成后,在vs中访问http请求的地址,会 阅读全文
摘要:
1. 说明 BackgroundService 是用于实现长时间运行的 IHostedService 的基类,使用程序集:Microsoft.Extensions.Hosting。 2. 实现方式 继承BackgroundService类,然后override ExecuteAsync这个方法,在这 阅读全文
摘要:
1. 需求 把 x 元钱分给 y 个人,每个人获得钱数不等,有多的,也有少的。 PS: x元钱要精确到分,每个人获得到的钱也是精确到分。 2. 实现思路 (1). 先把 x 元钱 乘以 100,转换成 分,然后除以 y 人得到一个平均值,把这个平均值赋值给 每个人。 (2). 查看一下步骤①中平均值 阅读全文
摘要:
一. Geo类型 1. 类型说明 Geo 是 Redis 3.2 版本后新增的数据类型,用来保存兴趣点(POI,point of interest)的坐标信息。可以实现计算两 POI 之间的距离、获取一个点周边指定距离的 POI。 2. 常用Api (1).GeoAdd:添加POI点 (2).Geo 阅读全文
摘要:
一. List类型基础 1.介绍 它是一个双向链表,支持左进、左出、右进、右出,所以它即可以充当队列使用,也可以充当栈使用。 (1). 队列:先进先出, 可以利用List左进右出,或者右进左出(ListLeftPush和ListRightPop配合 、 ListRightPush和ListLeftP 阅读全文
摘要:
一. Set类型基础 1. 类型说明 1个key→多个value,value的值不重复! Set一种无序且元素内容不重复的集合,不用做重复性判断了,和我们数学中的集合概念相同,可以对多个集合求交集、并集、差集,key可以理解成集合的名字。 注:set 用哈希表来保持字符串的唯一性,没有先后顺序,是按 阅读全文
摘要:
一. String类型基础 1.类型介绍 典型的Key-Value集合,如果要存实体,需要序列化成字符串,获取的时候需要反序列化一下。 2. 指令Api说明 3.常用Api说明 (1).StringSet:写入数据,如果数据已经存在,则覆盖;可以一次性存入1个key-value,也可以一次性存入多个 阅读全文
摘要:
一. Core Mvc 1.传统路由 Core MVC中,默认会在 Startup类→Configure方法→UseMvc方法中,会有默认路由:routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); 等价于 app. 阅读全文
摘要:
一. 简介 1.背景 索引用于快速找出在某个列中有某一特定值的行,不使用索引,数据库必须从第一条记录开始读完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多, 如果表中查询的列有一个索引,数据库能快速到达一个位置去搜索数据。 2.含义 索引是一个单独的,存储在磁盘上的数据结构,它们包含对数 阅读全文
摘要:
一. SqlMethods操作 1. Like 自定义的通配表达式。%表示零长度或任意长度的字符串;_表示一个字符;[]表示在某范围区间的一个字符;[^]表示不在某范围区间的一个字符。 (1). 例如:查询消费者ID以“C”开头的消费者。 var q = from c in db.Customers 阅读全文