自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 .net core 3.0 Signalr - 09 待改进&交流

个人心得写博客真的比写代码累,膜拜那些坚持写博客的大佬!有时候零散的片段比较多,没写之前感觉有千千万万要写的东西,实际写的时候发现, 好像这个没啥说的,然后就帖了个图,或者一笔带过了待改进&交流使用消息队列替换目前的api调用形式,同时消息队列支持定义推送优先级使用polly来重试失败的调用将连接中传递的userId改成token多个客户端同时关闭,IsLast不...

2019-10-06 08:24:00 585

转载 .net core 3.0 Signalr - 08 业务实现-客户端demo

由于signalr作为一个单独的推送系统,跟业务系统是分离开的,所以此处模拟一个业务系统,新建一个.net core app项目模拟实现一个登录功能我们的登录很简单,当进入系统,如果检测到用户未登录则跳转到登录页面,用户只需要输入用户名点击登录即算登录成功配置ConfigServices方法 查看代码services.AddAuthentication(CookieAuthen...

2019-10-06 08:23:00 749

转载 .net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组、用户、连接

Hub的管理重写OnConnectedAsync从连接信息中获取UserId、Groups,ConnectId,并实现这三者的关系,存放于redis中代码请查看using CTS.Signalr.Server.Cores;using CTS.Signalr.Server.Dtos;using Microsoft.AspNetCore.Authorization;using...

2019-10-06 08:20:00 912

转载 .net core 3.0 Signalr - 06 业务实现-业务分析

业务需求人-项目关系一个人可以属于多个项目,一个项目可以有多个人加入,通知的时候,可以通知项目内的所有人,也可以通知部分人或者某个责任人。登录互斥同一个人不允许登录两次(不同浏览器或者不同电脑登),后面登录的会将前面登录的人挤下线。聊天可以私聊、也可以创建群聊、上线通知(多个连接的情况)文件下载用户在界面上选择了多个文件,然后选择批量打包下载,后端后台线程进行压缩、压缩...

2019-10-06 08:19:00 247

转载 .net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联

Signalr是以Group、Connect为核心来进行推送,比如,给某个组、某个连接来推送,但实际场景中,核心应该是某个组、某个人;然而一个人可以对应多个连接(浏览器多个tab页);本节就来介绍下自行管理人、组、连接这些关系由于signalr连接的时候不那么方便附带header和cookie(因为推送独立成一个子系统了),实际实现中采用以url query的形式附带上token,然后...

2019-10-06 08:18:00 257

转载 .net core 3.0 Signalr - 04 使用Redis做底板来支持横向扩展

在实际的系统中,可能需要多台机器部署;然而,Signalr的连接信息是跟站点走的,举个例子推送系统部署了A、B两个服务器,张三访问A服务器,李四访问B服务器,当张三通过A服务器向李四推送的时候,A服务器上是找不到李四的连接信息的,自然也就推送不过了,这个时候就需要有一个统一协调的玩意,signalr支持多种,Azure、Redis等,本节以Redis作为底板,介绍如何在Signalr中...

2019-10-06 08:17:00 445

转载 .net core 3.0 Signalr - 03 使用MessagePack压缩传输内容

MessagePack基础介绍Signalr默认使用的是json形式传递数据,但是signalr提供了灵活的扩展,支持MessagePack形式序列化数据,以增加性能降低网络传输的效果,极大的提高响应速度。先看一个MessagePack自定义序列化的例子,以一个自定义的实体对象为例,可以使用MessagepackObject标记为序列化的对象,同时定义使用属性名作为key(区分大小写...

2019-10-06 08:16:00 267

转载 .net core 3.0 Signalr - 02 使用强类型的Hub

强类型的优缺点优点强类型的Hub可以避免魔法函数名,相比弱类型更容易维护和发现问题,直接上代码缺点特么的得多些好几行代码代码接口定义 /// <summary> /// 服务端接口 /// </summary> public interface IServerNotifyHub { } /// <summary...

2019-10-06 08:15:00 213

转载 .net core 3.0 Signalr - 01 基础篇

因为将signalr作为单独的站点,此处需要建立两个项目,一个专门用于signalr作为推送项目,一个客户端(实际的业务项目)基础知识速览Clients对象属性属性描述All在所有连接的客户端上调用方法Caller在调用集线器方法的客户端上调用方法Others除当前连接外的所有连接Clients对象方法方法描述AllE...

2019-10-06 08:14:00 260

转载 .net core 3.0 Signalr - 实现一个业务推送系统

介绍ASP.NET Core SignalR 是一个开源代码库,它简化了向应用添加实时 Web 功能的过程。 实时 Web 功能使服务器端代码能够即时将内容推送到客户端。SignalR 的适用对象:需要来自服务器的高频率更新的应用。 例如:游戏、社交网络、投票、拍卖、地图和 GPS 应用。仪表板和监视应用。 示例包括公司仪表板、销售状态即时更新或行程警示。协作应用。 协作应用...

2019-10-06 08:13:00 201

转载 test

function daimasj($html){$html=preg_replace_callback("/(?:\s*<p>\s*)?\s*(?:\<([^\s<>]*)[^<>]*\>|\&nbsp\;)(\={3,}[^\r\n\=]+\={3,})<\/\\1>(?:\s*<\/p>)?/...

2019-10-02 20:11:00 130

转载 十一、关于Dll中“没有可放置在工具箱的组件”的解决方案

这几天没事在研究人脸识别,然后用到一个第三方DLL文件,在nuget包中也下载下来了,但是没办法添加包含的控件,总是报错“关于dll中没有任何可放置在工具箱中的组件的解决方案“原因:总的dll文件中,例如AForge.dll 中是不包含组件的,解决方法:要下载AForge.Controls.dll文件,然后添加组件再添加引用进去转载于:https://www.cnblo...

2019-09-27 09:54:00 607

转载 引用、指针、const、define、static、sizeof、左值右值

Const在C/C++中,(1)可以定义const常量,(2)修饰函数的返回值和形参;在C++中,还可以修饰函数的定义体,定义类的const成员函数。被const修饰的东西受到强制保护,可以预防意外的变动,提高了程序的健壮性。const和#define(1)const和#define都可以定义常量,但是const用途更广。(2)const 常量有数据类型,而宏常量没有...

2019-09-26 22:09:00 134

转载 20190925 软件实施

软件行业,初级开发人员,其实相对实施人员来说,实施人员获取报酬较快。在技术上面的付出度也没有开发人员那么高。而且,实施人员的职业生命周期也更长久一些。从事开发,在比较普通的公司,其实前三年收入不会特别的好。大部分时间你都在学习,软件开发,也行只有到了平台收入稳定的公司,相对待遇才会比较高吧,上升空间对于你的技能也有比较高的要求。不过做实施,确实需要出差,也需要到处跑。...

2019-09-25 11:44:00 506

转载 20190925 Phrase Of The Day

How are you doing?你好吗?你过得好吗?转载于:https://www.cnblogs.com/Soar-Pang/p/11582537.html

2019-09-25 09:42:00 124

转载 20190914 防城港高级传销体验3日

因为是曾经的同事,平时也有联系,所有他告诉我说约我一起去越南边境走走,我同意了,刚好我在休假,之前又一直看到该同事在网上发的他在湛江开奶茶店的视频。路线: 家--- 南宁---东兴然而,我到了南宁跟他们汇合,我到了南宁后,他打电话跟我说,他临时有点事情,他给我叫了车,让我先坐车去他们那边,然后再出发。一切都是谎言朋友圈里面发的奶茶店是谎言,这个车把我带到了防城港公...

2019-09-23 13:38:00 239

转载 android studio升级3.4.1时遇到的问题

1.The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.解决办法用 androidTest 替换 instrumentTest,编译运行即可。2.The minSdk version should not be declared in the android ma...

2019-09-23 10:10:00 285

转载 Oracle:imp导入dmp文件

oracle命令行登录sqlplus / as sysdba创建用户create user 用户 identified by 密码 ;创建表空间create tablespace 表空间名 datafile '数据文件存放路径' size 200M autoextend on next 50m maxsize 1000m ;用户授权...

2019-09-23 09:37:00 96

转载 事物隔离级别、MVCC以及数据库中常见锁介绍

事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。  2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。...

2019-09-22 19:24:00 105

转载 数据库索引

在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引(MyISAM 表)和R-Tree索引,本文讲的是B-Tree索引。一、Mysql索引主要有两种结构:B+Tree索引和Hash索引(a) Innodb存储引擎 默认是 B+Tree索引(b) MyISAM 存储引擎 默认是Fulltext索引;(c)Memory 存储引擎...

2019-09-21 22:51:00 119

转载 三大范式、五大约束

三大范式第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非...

2019-09-21 20:42:00 91

转载 javascript的隐式类型转换(使(a==1&&a==2&&a==3) 成立)

一些团队规定禁用==运算符换用===严格相等。以工程标准衡量,==带来的便利性抵不上其带来的成本,团队协作时候你看到别人代码中的==,有些时候需要判断清楚作者的代码意图是确实需要转型,还是无所谓要不要转型只是随手写了,增加了一些额外的成本。但是我比较喜欢的一本书You don't know JS,中作者也写道过一个我比较赞同的观点Many developers fe...

2019-09-21 11:27:00 117

转载 互斥锁、读写锁、条件变量、自旋锁

关于线程之间的通信:可以采用全局变量、加锁、信号、信号量等方式互斥锁在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。  在线程里也有这么一把锁——互斥锁(mutex),互斥锁是一种简单的加锁的方法...

2019-09-20 13:57:00 80

转载 随机森林RF

随机森林的一般步骤:对原始数据集进行可放回随机抽样成K组子数据集从样本的N个特征随机抽样m个特征对每个子数据集构建最优学习模型对于新的输入数据,根据K个最优学习模型,得到最终结果采用bagging的方法可以降低方差,但不能降低偏差公式法分析bagging法模型的方差问题:假设子数据集变量的方差为,两两变量之间的相关性为所以,bagging法的方差:...

2019-09-19 20:56:00 137

转载 【魔板】题解

大家好,我是学习竞赛一年半的超级小周,喜欢唱,跳,rap,篮球。下面我将为大家分析这题为什么只能用搜索+枚举(为什么我没做出来...)首先,我们把搜索和枚举在脑海里划掉,这时我们会想到哪种方法?由于只能交换任意两列数字(对一行的数字来说只是交换两个数字)或把每行数字00变成11,11变成00(有规律的改变00,11个数),很容易想到用一个数组记录每一行11...

2019-09-19 20:08:00 76

转载 虚函数与纯虚函数

1.虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstractclass),而只含有虚函数的类(class)不能被称为抽象类(abstractclass)。2.虚函数可以被直接使用,也可以被子类(subclass)重载以后以多态的形式调用,而纯虚函数必须在子类(subclass)中实现该函数才可以使用,因为纯虚函数在基类(base...

2019-09-19 15:49:00 95

转载 常见机器学习算法适用情况总结

参考链接【1】https://www.cnblogs.com/HHHAI/p/11217291.html【2】https://blog.csdn.net/hanghangaidoudou/article/details/78829812转载于:https://www.cnblogs.com/lalalatianlalu/p/11549794.html...

2019-09-19 15:08:00 102

转载 十、传值,传引用(ret和out区别

定义: ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。 out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调...

2019-09-18 11:47:00 454

转载 九、重写,重载,和new隐藏的用法区别

重载:同一个作用域内发生(比如一个类里面),定义一系列同名方法,但是方法的参数列表不同。这样才能通过传递不同的参数来决定到底调用哪一个。而返回值类型不同是不能构成重载的。重写:继承时发生,在子类中重新定义父类中的方法,子类中的方法和父类的方法是一样的 例如:基类方法声明为virtual(虚方法),派生类中使用override申明此方法的重写.new隐藏:基类方法不做申明(默认为...

2019-09-18 10:22:00 88

转载 20190917002 - SQL 中处理交叉重复条件参考

SELECT E.EmpNo, E.EmpName, P.PartName, P.Part1Name, P.Part3Name, D3.InfoName AS DutyName, D15.InfoName AS SexNameFROM dbo.HR_Employee AS E LEFT OUTER JOIN dbo.V_H...

2019-09-17 16:16:00 198

转载 20190917001 - 去除DataTable中重复的数据

// 去除DataTable中重复的数据需要用到DataView,代码如下: DataView dv = new DataView(dt1);//_dt是一个DataTable类型的变量 //dt1 = dv.ToTable(true, "业务员");...

2019-09-17 16:03:00 119

转载 alert弹出窗口,点击确认后关闭页面

alert("点击确认后,关闭页面");window.opener=null;window.top.open('','_self','');window.close(this);转载于:https://www.cnblogs.com/zzdbullet/p/11525555.html

2019-09-16 09:18:00 2256

转载 三次握手,四次挥手

这个很好三次握手https://blog.csdn.net/Shuffle_Ts/article/details/93778635四次挥手https://blog.csdn.net/Shuffle_Ts/article/details/93909003【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?答:因为当Server端收到Client端的SYN连接请求报文后...

2019-09-15 12:54:00 64

转载 Adaboost

Adaboost的主要优点有:1. Adaboost作为分类器时,分类精度很高2. 在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。3. 作为简单的二元分类器时,构造简单,结果可理解。4. 不容易发生过拟合Adaboost的主要缺点有:对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。Adaboost是boost提...

2019-09-14 22:41:00 318

转载 C++内存管理

C++的内存分配方式c++内存分配分为堆区,栈区,自由存储区(代码区),全局区(静态区),常量区5部分堆:堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理...

2019-09-14 14:28:00 61

转载 C++三大特性(继承、封装、多态)

封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。继承指可以让某个类型...

2019-09-13 20:58:00 91

转载 线程、进程、协程(多进程,多线程)

进程进程是程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间,至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。线程线程是CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。协程协程,是一种比线程更加轻量级的存在,协程不是被操作系统内核所管理,而完...

2019-09-12 19:50:00 97

转载 团队协作问题都出在共识这两个字上

所有的团队协作问题都出在共识这两个字上。1、当决策者决策时,首先有没有把你的决策让下面明白,有没有通过一些方式沟通清楚?2、作为参与者,你认不认可领导或者团队一起商讨的最后决定。假如认可就要全力以赴的执行,假如不认可就要及时的沟通,尽快达成共识。一定不能心里不认可,嘴上说认可,最后还不执行。抱着走走看的心态,结果大都会有不好的结果。那怎样更好的达成共识那? 只有通过一些项...

2019-09-10 14:48:00 165

转载 前端算法之与数据结构-广度遍历和深度遍历与二叉树遍历

一、(图的遍历)深度优先和广度优先广度优先搜索(BFS)队列实现 -类似二叉树的先序遍历越是接近根结点的结点将越早地遍历。找到从起始结点到目标结点的路径,特别是最短路径。广度优先遍历 BFS 从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使得“先被访问的顶点的邻接点先于后被访问的顶...

2019-09-06 16:54:00 141

转载 mysql-cluster集群搭建步骤

1.从官网下载mysql-cluster安装包: https://dev.mysql.com/downloads/cluster/2.解压安装包#上传到服务器目录/usr/softwares并解压tar -xzvf mysql-cluster-gpl-7.5.15-linux-glibc2.12-x86_64.tar.gz#新建/usr/local/mysq...

2019-09-06 16:37:00 117

空空如也

空空如也

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

TA关注的人

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