学习笔记

基于.NetStandard的简易EventBus实现-基础实现

一、问题背景   最近离职来到了一家新的公司,原先是在乙方工作,这回到了甲方,在这一个月中,发现目前的业务很大一部分是靠轮询实现的,例如:通过轮询判断数据处于B状态了,则轮询到数据后执行某种动作,这个其实是非常浪费的,并且对于数据的实时性也会不怎么友好,基于以上的情况,在某天开车堵车时候,想到了之前偶然了解过的事件总线(EventBus),对比了公司当前的场景后,觉得事件总线应该是可以满足需求的(PS:只是我觉得这个有问题,很多人不觉得有问题),那既然想到了,那就想自己是否可以做个事件总线的轮子 ...

# 07 朴素叶贝斯算法

07 朴素叶贝斯算法 概率基础 概率: 一件事情发生的可能性 联合概率: 包含多个条件,且所有条件同时成立的概率。P(A,B) P(A, B) = P(A)P(B) 条件概率:事件A在另外一个事件B已经发生条件下发生的概率。 P(A|B) P(A1,A2 | B) = P(A1 | B) * P(A2 | B) 注意: 此条件概率的成立,是由于A1, A2相互独立的结果 朴素贝叶斯 朴素: 特征独立,常用文档分类 在给定词比例的基础上,求各类型文档的比例 贝叶斯公式: (多个条件下一个结果) 贝叶斯公式 ...

深入理解Kafka必知必会(2)

分类: 消息队列 标签: kafka 深入理解Kafka必知必会(1) Kafka目前有哪些内部topic,它们都有什么特征?各自的作用又是什么?# __consumer_offsets:作用是保存 Kafka 消费者的位移信息 __transaction_state:用来存储事务日志消息 优先副本是什么?它有什么特殊的作用?# 所谓的优先副本是指在AR集合列表中的第一个副本。 理想情况下,优先副本就是该分区的leader 副本,所以也可以称之为 preferred leader。Kafka 要确保所有主题的优先副本在 Kafka 集群中均匀分布,这样就保证了所有分区的 leader 均衡分布。以此来促进集群的负载均衡,这一行为也可以称为“分区平衡”。 ...

java中hashmap容量的初始化

HashMap使用HashMap(int initialCapacity)对集合进行初始化。 在默认的情况下,HashMap的容量是16。但是如果用户通过构造函数指定了一个数字作为容量,那么Hash会选择大于该数字的第一个2的幂作为容量。比如如果指定了3,则容量是4;如果指定了7,则容量是8;如果指定了9,则容量是16。 为什么要设置HashMap的初始化容量 在《阿里巴巴Java开发手册》中,有一条开发建议是建议我们设置HashMap的初始化容量。 下面我们通过具体的代码来了解下为什么会这么建议。 ...

如何教会女友递归算法?

 一到周末就开始放荡自我,这不带着女朋友去万达电影院看电影(其实是由于整天呆在家敲代码硬是被女朋友强行拖拽去看电影,作为一个有理想的程序员,我想各位应该都能体谅我),一到电影院,...

[springboot 开发单体web shop] 7. 多种形式提供商品列表

上文回顾 上节 我们实现了仿jd的轮播广告以及商品分类的功能,并且讲解了不同的注入方式,本节我们将继续实现我们的电商主业务,商品信息的展示。 需求分析 首先,在我们开始本节编码之前,我们先来分析一下都有哪些地方会对商品进行展示,打开jd首页,鼠标下拉可以看到如下: 首页商品列表示例 可以看到,在大类型下查询了部分商品在首页进行展示(可以是最新的,也可以是网站推荐等等),然后点击任何一个分类,可以看到如下: 分类商品列表示例 我们一般进到电商网站之后,最常用的一个功能就是搜索,搜索钢琴 结果如下: ...

五分钟学会HTML5的WebSocket协议

 1、背景  很多网站为了实现推送技术,所用的技术都是Ajax轮询。轮询是在特定的的时间间隔由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。HTML5新增的一些新协议WebSocket,可以提供在单个TCP连接上提供全双工,双向通信,能够节省服务器资源和带宽,并且能够实时进行通信。...

【python测试开发栈】带你彻底搞明白python3编码原理

在之前的文章中,我们介绍过编码格式的发展史:[文章传送门-todo]。今天我们通过几个例子,来彻底搞清楚python3中的编码格式原理,这样你之后写python脚本时碰到编码问题,才能有章可循。 我们先搞清楚几个概念: 系统默认编码:指python解释器默认的编码格式,在python文件头部没有声明其他编码格式时,python3默认的编码格式是utf-8。 本地默认编码:操作系统默认的编码,常见的Windows的默认编码是gbk,Linux的默认编码是UTF-8。 python文件头部声明编码格式:修改的是文件的默认编码格式,只是会影响python解释器读取python文件时的编码格式,并不会改变系统默认编码和本地默认编码。 ...

Java,你告诉我 fail-fast 是什么鬼?

本篇我们来聊聊 Java 的 fail-fast 机制,文字一如既往的有趣哦。 01、前言 说起来真特么惭愧:十年 IT 老兵,Java 菜鸟一枚。今天我才了解到 Java 还有 fail-fast 一说。不得不感慨啊,学习真的是没有止境。只要肯学,就会有巨多巨多别人眼中的“旧”知识涌现出来,并且在我这全是新的。 能怎么办呢?除了羞愧,就只能赶紧全身心地投入学习,把这些知识掌握。 为了镇楼,必须搬一段英文来解释一下 fail-fast。 In systems design, a fail-fast system is one which immediately reports at its interface any condition that is likely to indicate a failure. Fail-fast systems are usually designed to stop normal operation rather than attempt to continue a possibly flawed process. Such designs often check the system's state at several points in an operation, so any failures can be detected early. The responsibility of a fail-fast module is detecting errors, then letting the next-highest level of the system handle them. ...

[ASP.NET Core 3框架揭秘] 文件系统[3]:物理文件系统

 SP.NET Core应用中使用得最多的还是具体的物理文件,比如配置文件、View文件以及作为Web资源的静态文件。物理文件系统由定义在NuGet包“Microsoft.Extensions.FileProviders.Physical”中的PhysicalFileProvider来构建。我们知道System.IO命名空间下定义了一整套针操作物理目录和文件的API,实际上PhysicalFileProvider最终也是通过调用这些API来完成相关的IO操作。...

从壹开始 [ Design Pattern ] 之一 ║ 设计模式开篇讲

微信公众号,是我消息的唯一发送平台,请注意查看,文章底部有二维码 系列教程一目录:.netcore+vue 前后端分离Demo1Demo2视频教程Code 系列教程二目录:DDD领域驱动设计Demo Code 系列教程三目录:Nuxt.js TiBug系统Demo Code 系列教程四目录:VueAdmin 后台管理系统Demo Code 系列教程五目录:IdentityServer4 授权服务器Demo Code 本文梯子 缘起 一、目录 1、源代码Github 2、本系列文章一览 ...

面向对象和面向过程详解

 1.前言其实一直对面向过程和面向对象的概念和区别没有很深入的理解,在自己不断想完善自己的知识体系中,今天借这个时间,写一篇博客。来深入的了解面向过程与面向对象!好记性不如烂笔头!!  ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程