Entry

一文搞懂Raft算法

落花浮王杯 提交于 2021-01-24 14:41:38
原文: https://www.cnblogs.com/xybaby/p/10124083.html 正文   raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。在这里强调了是在工程上,因为在学术理论界,最耀眼的还是大名鼎鼎的Paxos。但Paxos是:少数真正理解的人觉得简单,尚未理解的人觉得很难,大多数人都是一知半解。本人也花了很多时间、看了很多材料也没有真正理解。直到看到raft的论文,两位研究者也提到,他们也花了很长的时间来理解Paxos,他们也觉得很难理解,于是研究出了raft算法。    raft是一个共识算法(consensus algorithm),所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。这些年最为火热的加密货币(比特币、区块链)就需要共识算法,而在分布式系统中,共识算法更多用于提高系统的容错性,比如分布式存储中的复制集(replication),在 带着问题学习分布式系统之中心化复制集 一文中介绍了中心化复制集的相关知识。raft协议就是一种leader-based的共识算法,与之相应的是leaderless的共识算法。   本文基于论文 In Search of an Understandable Consensus Algorithm 对raft协议进行分析,当然

《Java练习题》Java进阶练习题(五)

守給你的承諾、 提交于 2021-01-24 05:50:59
编程合集: https://www.cnblogs.com/jssj/p/12002760.html 前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题。 【程序88】 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 /** * 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 */ public class Subject88 { public static void main(String[] args) { int [] arrInt = new int []{-1,-9,1,2,4,6,9,8 }; int number = new Subject88().firstMissingPositive(arrInt); System.out.println(number); } public int firstMissingPositive( int [] nums) { int n = nums.length; // 基本情况 int contains = 0 ; for ( int i = 0; i < n; i++ ) { if (nums[i] == 1 ) { contains ++ ; break ; } } if (contains == 0 ) return 1 ; // nums = [1] if (n

语义分割--(DeepLabv3+)Encoder-Decoder with Atrous Separable Convolution for Semantic

拈花ヽ惹草 提交于 2021-01-22 04:42:31
语义分割--(DeepLabv3+)Encoder-Decoder with Atrous Separable Convolution for Semantic .. https://blog.csdn.net/u011974639/article/details/79518175 DeepLabv3+ Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation 原文地址: DeepLabv3+ 注意本文的一作 L i a n g − C h i e h C h e n Liang-Chieh Chen L i a n g − C h i e h C h e n 参与了 DeepLab系列 ,MaskLab和 MobileNet系列 的工作。本文是在DeepLabv3的基础上将多个技术融合到一起,达到新的state-of-the-art。 论文在提出了DeepLabv3+架构。主要以DeepLabv3做encoder架构,decoder采用一个简单却有效的模块。并探索了了改进的Xception和深度分离卷积在模型中的应用,进一步提升模型在语义分割任务上的性能。 Abstract 空间金字塔模块在输入feature上应用多采样率扩张卷积、多接收野卷积或池化,探索多尺度上下文信息。

语义分割算法之DeepLabV3+论文理解及源码解析

时光总嘲笑我的痴心妄想 提交于 2021-01-22 04:24:39
前言 之前讲了DeepLabV1,V2,V3三个算法,DeepLab系列语义分割还剩下最后一个DeepLabV3+,以后有没有++,+++现在还不清楚,我们先来解读一下这篇论文并分析一下源码吧。论文地址:https://arxiv.org/pdf/1802.02611.pdf 背景 语义分割主要面临两个问题,第一是物体的多尺度问题,第二是DCNN的多次下采样会造成特征图分辨率变小,导致预测精度降低,边界信息丢失。DeepLab V3设计的ASPP模块较好的解决了第一个问题,而这里要介绍的DeepLabv3+则主要是为了解决第2个问题的。我们知道从DeepLabV1系列引入空洞卷积开始,我们就一直在解决第2个问题呀,为什么现在还有问题呢?我们考虑一下前面的代码解析推文的DeepLab系列网络的代码实现,地址如下:https://mp.weixin.qq.com/s/0dS0Isj2oCo_CF7p4riSCA 。对于DeepLabV3,如果Backbone为ResNet101,Stride=16将造成后面9层的特征图变大,后面9层的计算量变为原来的4倍大。而如果采用Stride=8,则后面78层的计算量都会变得很大。这就造成了DeepLabV3如果应用在大分辨率图像时非常耗时。所以为了改善这个缺点,DeepLabV3+来了。 算法原理 DeepLabV3+主要有两个创新点。 编解码器

python GUI(Tkinter)

五迷三道 提交于 2021-01-21 09:41:44
Tkinter简介   是python内置的标准GUI库,在安装python后,导入模块即可正常使用,Tk和Tkinter可在大多数的Unix,以及Windows和Macintosh系统上运行。 关于Tkinter的导入(注意大小写) 在2.x版本上,编写为: from Tkinter import * 在3.x版本上,编写为: from tkinter import * Tkinter组件 控件 描述 Button 按钮控件 Canvas 画布控件,显示图形元素如线条或文本 Checkbutton 多选框控件,不存在互斥,可多个选择 Entry 输入控件,用于输入或者显示文本内容 Frame 框架控件,在屏幕上显示一个矩形区,多用于作为容器 Label 标签控件,可用于显示文本和位图 Listbox 列表控件 Menubutton 菜单项按钮控件 Menu 菜单控件,显示菜单栏,下拉菜单和弹出菜单等 Message 消息控件,用于显示多行文本,与Label类似 Radiobutton 多选框控件,存在互斥,多个只能选择一个 Scale 范围控件,显示一个数值刻度并设定范围 Scrollbar 滚动条控件,当内容超过可视化区域的时候使用,比如列表框 Text 文本控件,用于显示多行文本 Toplevel 容器控件,用来提供一个单独的对话框,和Frame类似 Spinbox 输入控件

python爬虫练习 -- 签名器+GUI界面(Tkinter)

匆匆过客 提交于 2021-01-21 07:15:05
效果图: 实现步骤如下: 实现原理 :其实就是套了一层GUI的壳,主要还是爬虫抓取某个网站返回的数据,然后利用python自带的GUI工具包Tkinter来实现gui界面: 1.爬虫分析: 目标站点:http://www.uustv.com 1、可以看到是通过提交表单传递数据的 参数有: word: 风道 sizes: 60 fonts: jfcs.ttf fontcolor: # 000000 2、找到返回的图片数据在返回的响应中, 3、主要实现逻辑 response = requests.post(url, data=data, headers= headers) response.encoding = ' utf-8 ' # 指定返回数据的编码格式,因为响应内容默认的编码方式是ISO-8859-1 # Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符 # 或者可以直接写html = reponse.content.decode("utf-8") html = response.text img = re.findall(r ' <div class="tu">.*?src="(.*?)".*?</div> ' , html)[0] # print('img:', img) image_url = ' http://www.uustv.com/%s ' % img #

HashMap的内部结构与hash冲突

我与影子孤独终老i 提交于 2021-01-21 03:59:51
HashMap的内部结构 HashMap简介: HashMap继承AbstractMap,AbstractMap实现Map接口 HashMap是线程不同步的,线程不安全的 HashMap可以把null作为条目的Key和value HashMap性能好 用作key的对象必须实现hashCode方法和equals方法 不能保证键值对的顺序 HashMap底层数据结构数组,链表,哈希表,红黑树 简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前entry的next指向null),那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度为O(n),首先遍历链表,存在即覆盖,否则新增;对于查找操作来讲,仍需遍历链表,然后通过key对象的equals方法逐一比对查找。所以,性能考虑,HashMap中的链表出现越少,性能才会越好。 *******end********* 看一下HashMap的put方法源码 public V put(K key, V value) { if (key == null ) return putForNullKey(value); int hash = hash(key.hashCode()); int i = indexFor

聊聊promtail的Client

点点圈 提交于 2021-01-21 00:23:18
序 本文主要研究一下promtail的Client Client loki/pkg/promtail/client/client.go // Client pushes entries to Loki and can be stopped type Client interface { api.EntryHandler // Stop goroutine sending batch of entries. Stop() } Client接口内嵌了api.EntryHandler接口,定义了Stop方法 EntryHandler loki/pkg/promtail/api/types.go // EntryHandler is something that can "handle" entries. type EntryHandler interface { Handle(labels model.LabelSet, time time.Time, entry string) error } EntryHandler接口定义了Handle方法 client loki/pkg/promtail/client/client.go // Client for pushing logs in snappy-compressed protos over HTTP. type client

exynos4412—链接脚本复习

て烟熏妆下的殇ゞ 提交于 2021-01-20 10:42:32
在u-boot下,定义变量, 编译,编译完后 使用arm-linux-nm arm 没有去头的二进制可执行文件   都在BSS段,均为初始化。 打印之后会出算随机值。   目前还处于uboot阶段,如果在根文件系统的话,加载器把二进制可执行文件加载到内存,并将BSS段清零。 放在BSS段的变量所对应的空间,在二进制可执行文件中不占空间。放在Data段才分配空间。 ld --help    默认链接脚本:arm-linux-ld -verbose 1 GNU ld (GNU Binutils) 2.20 . 1.20100303 2 Supported emulations: 3 armelf_linux_eabi 4 armelfb_linux_eabi 5 using internal linker script: 6 ================================================== 7 /* Script for -z combreloc: combine and sort reloc sections */ 8 OUTPUT_FORMAT( " elf32-littlearm " , " elf32-bigarm " , 9 " elf32-littlearm " )    //小端存储的arm 10 OUTPUT_ARCH(arm) 11

抖音榜单Api:今日最热视频榜

牧云@^-^@ 提交于 2021-01-20 06:45:20
抖音视频Api、抖音直播Api、抖音评论采集、抖音弹幕采集、抖音爬虫、抖音去水印、抖音视频下载、抖音视频解析 抖音直播数据、抖音数据采集、抖音直播监控 TiToData:专业的短视频数据采集、处理平台。 更多信息请联系: TiToData 海量数据采集 每天为客户采集5亿条数据 覆盖主流平台:TikTok,Zynn,YouTube,抖音,快手,1688,小红书,拼多多,淘宝,美团,饿了么,淘宝,微博 抖音榜单:今日最热视频榜 请求Api http://主机地址/douyin/board/videos?token=xxx 请求方式 GET 参数 字段 类型 说明 token string 接口授权码 返回示例 { "code":200, "data":{ "active_time":"09月14日 23:10", "aweme_list":[ { "aweme_info":{ "anchors":null, "author":{ "accept_private_policy":false, "account_region":"", "ad_cover_url":null, "apple_account":0, "authority_status":0, "avatar_168x168":{ "height":720, "uri":"3194c000a784b185c7dbf",