.net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组、用户、连接
## Hub的管理 - 重写OnConnectedAsync 从连接信息中获取UserId、Groups,ConnectId,并实现这三者的关系,存放于redis中 [代码请查看](https://github.com/xiexingen/CTS.Signalr/blob/master/CTS.Signalr.Server/Hubs/NotifyHub.cs) ``` C# using CTS.Signalr.Server.Cores; using CTS.Signalr.Server.Dto
HashMap源码浅析
HashMap个人感觉是根据hash值分了类别的的链表或者红黑树。 public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>, Cloneable, Serializable {
private static final long serialVersionUID = 362498820763181265L;
// 默认的HashMap的存储容量大小
static fin
Manacher 算法学习笔记
算法用处: 解决最长回文子串的问题(朴素型)。 算法复杂度 我们不妨先看看其他暴力解法的复杂度: \(O(n^3)\) 枚举子串的左右边界,然后再暴力判断是否回文,对答案取 \(max\) 。 \(O(n^2)\) 枚举回文子串的对称轴,向两边扩展,对答案取 \(max\) 。 \(O(n)\) \(\texttt{Manacher}\) 算法。 显然我们的 \(\texttt{Manacher}\) 是十分优秀的。。。 实现原理 \(\text{step 1}\) 首先我们需解决一个问题:
LeetCode 第17题--电话号码的组合(DFS)
1. 题目 2.题目分析与思路 3.代码 1. 题目 输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 2. 思路 这道题主要是考察了一个图的遍历,由两种方法,1.深度优先遍历2.广度优先遍历,一个用的是递归,或者栈,另一个用队列 3. 代码 先给出递归的深度优先遍历: class Solution:
def letterCombinations(self, digits: str) -> Li
Spring配置初始化和销毁的方法
在Spring中如果某个bean在初始化之后 或 销毁之前要做一些 额外操作可以为该bean配置初始化和销毁的方法 ,在这些方法中完成需要的一些功能。 执行循序: 在Spring创建bean对象时,先创建对象(通过参构造或工厂),之后立即调用init方法来执行初始化操作,之后此bean就可以哪来调用其他普通方法,而在对象销毁之前,spring容器调用其destory方法来执行销毁操作。 实现 等待补充。。。
带固态硬盘的电脑Ubuntu和Windows双系统安装
带固态硬盘的电脑Ubuntu和Windows双系统安装 说明 假设电脑有一个230G固态硬盘一个1T机械硬盘。(其他硬盘大小同理)此教程适用于win10与Ubuntu都装在固态以及win10装在固态,ubutnu装在机械这两种情况。 因为我频繁使用的Ubuntu,所以此分区教程把固态分一半给Ubuntu装系统。固态只用来放两个系统以提高速度。此教程只适合于有固态硬盘的双系统装机(无论是只有win10装在固态还是都装在固态)。 因为是固态装系统,所以固态硬盘的格式要使用GUID模式而非MBR,同
读史 —— 回望勾吴
立国 据史书记载周太王生有三子,长子太伯(泰伯)、次子仲雍和小儿子季历。季历的儿子姬昌聪明早慧,深受太王宠爱。周太王想传位于姬昌,但根据当时传统应传位于长子,太王因此郁郁寡欢。泰伯明白父亲的意思后,就和二弟仲雍借为父采药的机会一起逃到荒凉的江南,定居于梅里(今江苏无锡的梅村),自创基业,建立了勾吴古国。 太伯、仲雍“断发文身”,接受当地习俗,主动融入当地社会,并把中原先进的农耕技术带到当地,于是上千小部族,自愿归附于太伯。“泰伯奔吴”,无疑是一次中原文化与东南文化的融合与交流,对长江下游地区的
认知模型:系统化思考的思维模型
生态系统思维,源自生态学的概念,生态学把生物与其所处的环境看作一个整体来研究,这样才能完整地表述个体的发展规律。 事实上,我们遇到的每个问题背后都是一个复杂的生态系统。 生态系统思维,简单说就是把事物联系在一起看,看成链、看成网、看成生态系统,而不只看作是一个个相对孤立的个体。 这个思维背后的根本逻辑是“任何两个对象之间都是相互联系、相互影响的”。我们在思考时,就需要把各个相关的对象放在一个类似于生态系统的体系中去思考,这样我们才能更准确、更完整的理解。 大自然的生态系统,正是这种思考方式最好
openstack问题记录
先去查看对应的日志:/var/log/,再来排查错误 1.实例处于错误状态 解决办法: 1.使用openstack hypervisor list查看 2.然后openstack hypervisor show挨个show一下,看看vcpus,local_gb,memory_mb local_gb只剩9g可用,磁盘空间不够,需要对/root分区扩容 或者使用卷来创建实例,创建的时候记得选择实例类型中根磁盘为0的来创建,否则会占用local_gb的空间,会导致后面无法创建虚拟机。 根磁盘是为镜像
Spring懒加载机制
Spring默认会在容器初始化的过程中,解析xml,并将单例的bean创建并保存到map中,这样的机制在bean比较少时问题不大,但一旦bean非常多时,spring需要在启动的过程中花费大量的时间来创建bean 花费大量的空间存储bean,但这些bean可能很久都用不上,这种在启动时在时间和空间上的浪费显得非常的不值得。 所以Spring提供了懒加载机制。所谓的懒加载机制就是可以规定指定的bean不在启动时立即创建,而是在后续第一次用到时才创建,从而减轻在启动过程中对时间和内存的消耗。 懒加
.net core 3.0 Signalr - 06 业务实现-业务分析
## 业务需求 1. 人-项目关系 一个人可以属于多个项目,一个项目可以有多个人加入,通知的时候,可以通知项目内的所有人,也可以通知部分人或者某个责任人。 2. 登录互斥 同一个人不允许登录两次(不同浏览器或者不同电脑登),后面登录的会将前面登录的人挤下线。 3. 聊天 可以私聊、也可以创建群聊、上线通知(多个连接的情况) 4. 文件下载 用户在界面上选择了多个文件,然后选择批量打包下载,后端后台线程进行压缩、压缩完成后通过signalr通知该用户(的某个连接,比如当前用户开了多个tab页,应
Java第9次作业--接口及接口回调
一、题目 利用接口和接口回调,实现简单工厂模式,当输入不同的字符,代表相应图形时,利用工厂类获得图形对象,再计算以该图形为底的柱体体积。 二、源代码 1.Shape.java /**
* 创建图形接口和求面积方法
*/
package com;
public interface Shape {
double getArea();
} 2.Rectangle.java /**
* 创建矩形类:定义成员变量、一个有参的构造方法、求面积方法
*/
package
周排行