pq

Wiener’s attack python

[亡魂溺海] 提交于 2020-08-10 13:28:35
题目如下: 在不分解n的前提下,求d。 给定: e = 14058695417015334071588010346586749790539913287499707802938898719199384604316115908373997739604466972535533733290829894940306314501336291780396644520926473 n = 33608051123287760315508423639768587307044110783252538766412788814888567164438282747809126528707329215122915093543085008547092423658991866313471837522758159 说明过程。 这种e很大的,d可能就会比较小,可能会满足Wiener’s attack的条件,介绍如下: 英文: 中文材料参考: 这里有两个概念,连分数和渐进分数,详情自行谷歌百度 连分数概念图: 渐进分数概念: 我的理解: 上面的等式应该比较容易理解,就是等式右边的分母很大,作为整体很小,意味着等式左边的减数和被减数的差距很小很小,并且可以通过被减数的连分数求解不断逼近它本身的一个渐进分数,因此可能会存在某个渐进分数可以满足减数的要求; 当然按照求解的渐进分数的分子分母分别对应减数的分子分母

GA8是如何通过设计做出“豪华感”的?

寵の児 提交于 2020-08-08 12:47:18
在汽车设计中,“豪华感”到底是如何体现出来的?这是我在英国求学期间的毕业设计 (The Premium for Automotive Design) 仔细研究过的课题,也是这些年做汽车设计以来经常需要回答的问题。 这次有幸受广汽邀请,体验了一下传祺品牌最新发布的GA8旗舰轿车,深入品味了GA8的设计。可以说,在豪华感的营造上,GA8将传祺品牌带到了一个新的层次,在一款相对平价的产品上,打破了过去大部分国产车的一些固有印象,做到了让老百姓买得起的“豪华感”。 首先说明,汽车行业的所谓“豪华”,是要分为两类的,第一类的典型是奔驰、宝马、雷克萨斯这个级别,我们称之为 Premium brands ,另一类的典型是迈巴赫,劳斯莱斯,宾利,我们把这些品牌称为 Luxury brands 。具体到每一款车就会稍微复杂一点,比如Mercedes Benz S class我们通常不说它是premium car,而是划分到Luxury car里面;而像大众帕萨特这个级别的车实际上已经迈入了premium car的入门范围。 前一类的premium brand,是在尽可能合理的情境下实现的一种豪华,是依然受到技术、成本和其他各种量产要求的限制的,也是设计师更应该注意通过设计来打造豪华感的。这时候设计师对于“豪华感”的表达要求更高,因为一不小心就不够“豪华”了;而后一类的luxury brands

UPnP 协议 CallStranger 漏洞影响数百万设备

本小妞迷上赌 提交于 2020-08-06 03:27:21
作者:启明星辰ADLab 原文链接: https://mp.weixin.qq.com/s/OBgJJ3UqENhw92CJ2wE9pQ 1.漏洞概述 2020年6月8日,安全研究员 Yunus Çadirci 公布UPnP(通用即插即用)协议漏洞公告(CVE-2020-12695),并将其命名为CallStranger漏洞。该漏洞允许攻击者绕过内网的数据防泄露系统(DLP)进行数据逃逸,可导致敏感数据泄露,并且可对设备所在内部网络进行扫描,甚至能劫持设备进行分布式拒绝服务(DDOS)攻击。根据CallStranger漏洞原理,启明星辰ADLab以某款智能电视作为测试目标,对CallStranger漏洞的危害性进行了演示分析。 2.漏洞影响 与之前的UPnP漏洞不同,CallStranger漏洞存在于协议设计中,因此该漏洞影响几乎所有支持UPnP的设备,包括Windows 10所有版本、路由器、访问接入点、打印机、游戏机、门铃对讲机、媒体应用程序和设备、摄像头、电视机等。根据SHODAN和ZoomEye的搜索结果,至少有数以百万计的在线设备受到影响。 3.漏洞分析 UPnP全称为Universal Plug and Play,即通用即插即用,UPnP允许各种网络设备在没有任何特殊设置或配置的情况下进行通信,使设备彼此可自动连接和协同工作。例如新的打印机插上电并连接网络之后

聊聊rocketmq-client-go的pushConsumer

痴心易碎 提交于 2020-08-04 19:12:02
序 本文主要研究一下rocketmq-client-go的pushConsumer pushConsumer rocketmq-client-go-v2.0.0/consumer/push_consumer.go type pushConsumer struct { *defaultConsumer queueFlowControlTimes int queueMaxSpanFlowControlTimes int consumeFunc utils.Set submitToConsume func(*processQueue, *primitive.MessageQueue) subscribedTopic map[string]string interceptor primitive.Interceptor queueLock *QueueLock done chan struct{} closeOnce sync.Once } pushConsumer定义了queueFlowControlTimes、queueMaxSpanFlowControlTimes、consumeFunc、submitToConsume、subscribedTopic、interceptor、queueLock、done、closeOnce属性 NewPushConsumer rocketmq

如何解决TOP-K问题

不问归期 提交于 2020-07-29 05:30:31
前言:最近在开发一个功能:动态展示的订单数量排名前10的城市,这是一个典型的Top-k问题,其中k=10,也就是说找到一个集合中的前10名。实际生活中Top-K的问题非常广泛,比如:微博热搜的前100名、抖音直播的小时榜前50名、百度热搜的前10条、博客园点赞最多的blog前10名,等等如何解决这类问题呢?初步的想法是将这个数据集合排序,然后直接取前K个返回。这样解法可以,但是会存在一个问题:排序了很多不需要去排序的数据,时间复杂度过高.假设有数据100万,对这个集合进行排序需要很长的时间,即便使用快速排序,时间复杂度也是O(nlogn),那么这个问题如何解决呢?解决方法就是以空间换时间,使用优先级队列 目录 一: 认识PriorityQueue 二:利用PriorityQueue解决topk问题 三:总结 一:认识PriorityQueue 1.1:PriorityQueue位于java.util包下,继承自Collection,因此它具有集合的属性,并且继承自Queue队列,拥有add/offer/poll/peek等一系列操作元素的能力,它的默认大小是11,底层使用Object[] 来保存元素,数组的话肯定会有扩容,当添加元素的时候大小超过数组的容量,就会扩容,扩容的大小为原数组的大小加上,如果元素的数量小于64,则每次加2,如果大于64,则每次增加一半的容量。 1.2

PyCharm2019 激活码

最后都变了- 提交于 2020-07-28 11:59:43
欲善其事,必先利其器。这里我为大家提供了两种pycharm激活方式(都支持最新2019版本): 修改hosts激活:需要修改hosts,稳定无影响,持续更新,推荐~ 破解补丁激活:需要下载补丁,永久有效,但破解可能会遇到各种问题 pycharm汉化教程 ————————更新分割线2019.04.09———————— 一、修改hosts激活 优点:方便快捷 缺点:需要修改hosts文件 1.修改hosts文件 将0.0.0.0 account.jetbrains.com和0.0.0.0 www.jetbrains.com添加到hosts文件最后,注意hosts文件无后缀,如果遇到无法修改或权限问题,可以采用覆盖的方法去替换hosts文件 修改后请检查hosts文件是否修改,激活码无法激活的原因99.99%是因为hosts没有修改正确 Windows系统hosts文件路径为:c:\windows\system32\drivers\etc Ubantu(Linux)系统hosts文件路径为:/etc Mac激活点这里: MacBook PyCharm激活码 2.复制激活码 打开PyCharm选择Activation code激活,然后复制下面的激活码点击激活。此激活码有效期为2020-03-11,大家可以关注微信公众号:裸睡的猪 或扫描下方二维码,在过期之前我会在公众号中推送新的激活码哦

【G1调优】G1垃圾回收器调优-to-space exhausted Evacuation Failure-参考资料

百般思念 提交于 2020-07-26 21:51:10
出现这种问题的时候建议是: 1、调大堆内存,根本方法 2、调小XX:InitiatingHeapOccupancyPercent、调大XX:ConcGCThread 3、打印XX:+PrintAdaptiveSizePolicy,youngGC默认没什么线索,这个打印出来可以看到更多线索 G1回收器没有深入了解过。。。。。 参考资料 https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=Parallel%20Time%3A%202699.8%20ms%2C%20GC%20Workers&fenlei=256&rsv_pq=ac1e26e3000103a9&rsv_t=c96dpP%2FiuU1jER59XrDCAoECjj4JaehrkppjOd6FysNclU1hTo8ljbzIk20&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_n=2&rsv_sug3=1&rsv_sug2=0&rsv_btype=i&inputT=1616&rsv_sug4=1616 https://blog.csdn.net/vfgbv/article/details/51720344 https://blog.csdn.net/lijingyao8206/article/details

Python爬虫学习笔记6:Ajax数据爬取

五迷三道 提交于 2020-05-08 03:46:05
学习参考:Python3网络爬虫开发实战 问题:requests抓取的页面信息和浏览器中看到的不一样。 原因:requests获取的都是原始的HTML文档,浏览器中的页面很多都是经过javascript数据处理后的结果,这些数据可能通过AJax加载的,也可能是通过其他特定算法计算得到的 解决:对于通过Ajax加载的,叫异步加载,这种可以在web开发上做到前后端分离,降低服务器直接渲染页面带来的压力,如果遇到requests无法获取有效数据,需要进一步分析网页后台向接口发送的Ajax请求,然后用requests来模拟Ajax请求,就可以成功获取了 6.1 什么是 Ajax Ajax是利用Javascript在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。 2. 基本原理 发送请求、解析内容、渲染网页 6.2 Ajax 分析方法 1. 查看请求 jax其实有其特殊的请求类型,它叫作 xhr ,Request Headers中有一个信息为 X-Requested-With:XMLHt甲Request,这就标记了此请求是 Ajax请求 在response里面可以找到真实的数据。 2. 过滤请求 6.3 Ajax 结果提取 1.分析请求 继续下拉网页,会发现很多xhr信息出来,找到其中两个 点击第一个,可以发现,这是一个 GET类型的请求,请求链接为

【4】facebook大数据搜索库faiss使用——Faiss索引介绍

一曲冷凌霜 提交于 2020-05-07 21:37:12
基础索引如下所示: 精确索引(IndexFlatL2): 主要参数d;占用字节4d;是否穷尽式搜索:是; 内积精确检索(IndexFlatIP):d;4d;是; 级联式图搜索(IndexHNSWFlat):d,M; 4d+8M; 否; 倒置文件与精确后检验(IndexIVFFlat):quantizer,d,nlists,metric; 4d;否 局部感应哈希(iNDEXlsh): d,nbits; nbits/8; 是 标量量化(IndexScalarQuantizer):d; d; 是 PQ(IndexPQ): d, M, nbits; M(nbits=8); 是 倒排文件+标量量化(IndexIVFScalarQuantizer):quantizer, d, nlists, qtype; d或d/2; 否 IVFADC粗量化+PQ+残差(IndexIVFPQ):quantizer,d, nlists, M, nbits; M+4或M+8;否 IVFADC+R即为IVFADC+基于code的rerank(IndexIVFPQR):quantizer,d, nlists, M, nbits, M_refine, nbits_refine; M+M_refine+4或M+M_refine+8; 否 单元捕获方法 常用的一种加速检索过程,但以一定找到最近邻为代价的方法是是使用例如k

最短路径:Dijstra(迪杰斯特拉)算法

主宰稳场 提交于 2020-05-07 13:00:03
一、背景 全文根据《算法-第四版》, Dijkstra(迪杰斯特拉)算法,一种单源最短路径算法。我们把问题抽象为2步:1.数据结构抽象 2.实现。 分别对应第二章、第三章。 二、算法分析 2.1 数据结构 顶点+边->图。注意: Dijkstra算法的限定: 1.边有权重,且非负 2.边有向 2.1.1 加权 有向边 DirectedEdge,API抽象如下: 方法 描述 DirectedEdge(int v, int w, double weight) 构造边 double weight() 边的权重 int from() 边的起点 int to() 边的终点 2.1.2 加权 有向图 EdgeWeightedDigraph,API抽象如下: 方法 描述 EdgeWeightedDigraph(In in) 从输入流中构造图 int V() 顶点总数 int E() 边总数 void addEdge(DirectedEdge e) 将边e添加到图中 Iterable<DirectedEdge> adj(int v) 从顶点v指出的边(邻接表,一个哈希链表,key=顶点,value=顶点指出的边链表) Iterable<DirectedEdge> edges() 图中全部边 2.1.3 最短路径 DijkstraSP, API抽象如下: 方法 描述 DijkstraSP