前言 首先,贴一下参考链接: http://www.redisbook.com/en/latest/internal-datastruct/adlist.html, 另外真赞文章的作者,一个90后的小伙真不错,基本功扎实,而且非常乐于助人 概述 链表是Redis的核心数据结构之一,它不仅大量应用在Redis自身内部的实现中,而且它也是Redis的List的结构的底层实现之一 这里分析的是Redis源码里adlist.h和adlist.c 数据结构 Redis的链表结构是一种典型的双端链表doub…
链表作为最基础的数据结构,在许多高级语言上已经有了很好的实现.由于redis采用C语言编写,需要自己实现链表,于是redis在adlist.h定义了链表类型.作者对于这部分没什么好说,源码比较简单,如果这方面没有接触过的话,作者也耐心地推荐了几本书供参考.为了提高效率,这里的链表指的是双向链表,使得某一个元素访问它的前驱与后继的时间复杂度均为O(1). 不多说,进入正题,首先可以看到节点的数据结构的代码如下: typedef struct listNode { struct listNode *…
进行文本的检测的学习,开始使用的是ctpn网络,由于ctpn只能检测水平的文字,而对场景图片中倾斜的文本无法进行很好的检测,故将网络换为RRCNN(全称如题).小白一枚,这里就将RRCNN的论文拿来拜读一下,也记录一下自己阅读过程中的收获. 原英文论文网址:https://arxiv.org/abs/1706.09579 在这篇论文中,作者提出了Rotational Region CNN(旋转区域CNN?),据作者说可以检测场景图片中任意角度的文本.这个网络是在Faster R-CNN的基础上搭…
7 SOA的主要组件 7.1企业服务总线ESB ESB负责SOA组件之间的互相通信;SOA注册中心的资源库包含表示SOA组件的位置的重要的引用信息: 业务流程编排管理器提供人与人,人与流程,以及流程的流程和流程之间的相互连接,服务代理负责服务之间的连接,保证业务流程的顺序进行. *组件相互协作共同实现系统功能时,系统性能的好坏取决于服务水平的高低. 7.2 ESB就是一种可以实现通信的合理而高效的方法. 7.3 SOA注册表主要两个作用 一种作用是针对操作环境. 一种作用是针对程序员和业务分析师…
作为redis最基础的底层数据结构之一,SDS提供了许多C风格字符串所不具备的功能,为之后redis内存管理提供了许多方便.它们分别是: 二进制安全 减少字符串长度获取时间复杂度 杜绝字符串溢出 减少内存分配次数 兼容部分C语言函数 下面将简要阐述SDS基础结构,并介绍这些功能相应的实现细节. SDS字符类型定义非常简单,以redis3.0.7为例: typedef char *sds; struct sdshdr { unsigned int len; //定义当前字符串长度(不包含'\0')…
1 Redis 是C语言实现的 2 C字符串是 /0 结束的字符数组 3 Redis具体的动态字符串实现 /* * 保存字符串对象的结构 */ struct sdshdr { // buf 中已占用空间的长度 使求字符串长度操作变成0(1) int len; // buf 中剩余可用空间的长度 对字符串字符增加修改时 不大于len+free不用重新分配内存(初始化一个字符串时free为0 当修改字符串时会对free进行赋值) int free; // 数据空间 char buf[]; }; sd…
论文源址:https://arxiv.org/abs/1811.12030 开源代码:未公开 摘要 本文提出了目标检测网络Grid R-CNN,其基于网格定位机制实现准确的目标检测.传统方法主要基于回归操作,Grid R-CNN则捕捉详细的空间信息,同时具有全卷积结构中对位置信息的敏感性.[ Instead of using only two independent points]是指CornerNet预测的不准确性.Grid R-CNN使用多点监督,用于编码更多的细节信息,同时降低了不准确的特…
论文源址:https://arxiv.org/pdf/1703.06870.pdf 开源代码:https://github.com/matterport/Mask_RCNN 摘要 Mask R-CNN可以在进行检测的同时,进行高质量的分割操作.基于Faster R-CNN并进行扩展,增加了一个分支在进行框识别的同时并行的预测目标的mask.Mask R-CNN易于训练,相比Faster R-CNN增加了一点点花销.此外,Mask R-CNN可以很容易扩展至其他任务中.如关键点检测.本文在COCO…
论文源址:https://arxiv.org/abs/1710.08864 tensorflow代码: https://github.com/Hyperparticle/one-pixel-attack-keras 摘要 在对网络的输入上做点小处理,就可以改变DNN的输出结果.本文分析了一种极限条件下的攻击情形,只改变一个输入中的一个像素使网络的输出发生改变.本文提出了一个基于差分进化生成单像素的对抗性扰动.可以以最小攻击信息的条件下,对更多类型的网络进行欺骗.结果表明,CIFAR-10测试集上…
前言 项目里用到了redis数据结构,不想只是简单的调用api,这里对我的读书笔记做一下记录.原文地址: http://www.redisbook.com/en/latest/internal-datastruct/sds.html 数据类型定义 与sds实现有关的数据类型有两个,一个是 sds: // 字符串类型的别名 typedef char *sds; 另一个是 sdshdr: // 持有sds的结构 struct sdshdr { // buf中已经被使用的字符串空间数量 int len…