首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「R」用purrr实现迭代

::lag() masks stats::lag() for循环与函数式编程 因为R是一门函数式编程语言,我们可以先将for循环包装在函数中,然后再调用函数,而不是使用for循环,因此for循环R...$cyl) %>% map(function(df) lm(mpg ~ wt, data = df)) 因为R中创建匿名函数的语法比较复杂,所以purrr提供了一种更方便的快捷方式——单侧公式...当检查多个模型时,有时候我们需要提取像R这样的摘要统计量,要想完成这个任务,我们需要先运行summary()函数,然后提取结果中的r.squared: models %>% map(summary...()函数: invoke_map(f, param, n = 5) %>% str() #> List of 3 #> $ : num [1:5] 0.167 -0.235 -0.366 -0.933...第2个参数是列表的一个列表,给出了要传给各个函数的不同参数。随后的参数要传给每个函数。

4.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Rdfind - Linux中查找重复文件

背景 前段时间遇到一个问题,服务器下面一个文件夹下面的图片越来越多,由原来的5G,达到了现在的94G,其中这个文件夹下面有好多重复的图片,文件多了之后造成图片备份困难,图片迁移困难,浪费了大量的空间和IO...本文中将介绍rdfind命令工具linux中查找和删除重复的文件,使用之前请先在测试环境跑通并对测试环境进行严格的测试,测试通过之后再在生产环境进行操作,以免造成重要文件的丢失,数据是无价的。...Rdfind来自冗余数据查找,用于多个目录或者多个文件中查找重复的文件,它使用校对和并根据文件查找重复项不仅包含名称。 Rdfind使用算法对文件进行分类,并检测那些是重复文件,那些是文件副本。...规则如下: 如果在扫描早于B的输入参数时找到A ,则A的排名更高。 如果在低于B的深度发现A ,则A的排名更高。 如果A早于B发现,则A排名较高。...你可以 results.txt 文件中看到可能是重复文件的名字。 通过检查 results.txt 文件,你可以很容易的找到那些重复文件。如果愿意你可以手动的删除它们。

5.1K60

源码审计之空指针引用漏洞

*本文原创作者:freezing,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 最近在网上加入了一个安全团队,里面有人问我如何做代码审计。只能说先能看得懂代码,了解各种漏洞的形成原因。...往往是由于代码逻辑比较复杂空指针引用的位置会比较远,不容易发现;并且正常情况下不会触发,只有某一个特定输入条件下才会引发空指针引用。对于排查此类错误也就更加困难。...前面有一个条件,如果告警不等于默认以及小于2类。就忽略掉。 但是全局字符的告警为low,不等于默认但是小于2类,忽略。 ?...当输入参数小于1时为1,只要warning_level为1时,(low=1)<1不成立,则忽略可以不被忽略即可。所以只要optarg大于等于3即可达到条件。...重新设置参数 set args –w4 —html 1.c,发现已经出现错误了。 ? ? 由于xml格式显示也是这样的。所以重新设置参数 set args –w4 —xml 1.c 输出也一样。 ?

1.2K30

python接口自动化33-json解析神器jsonpath

当返回的数据量比较大,并且嵌套的层级很深的时候,很多小伙伴不会取值,往往返回结果取值上浪费很多时间,于是就有了 jsonpath 解析库,专门解决 json 路径深,取值难的问题。...assert result["data"][0]["name"] == "yoyo" 当层级越来越深的时候,会发现取值变得困难,并且list里面的内容往往不知道是第几个 比如我想判断返回的结果里面有没有..."name": "yoyo" 并且你不知道它是 data 列表中的第几个,这种情况断言就写的很复杂了 正则取值 比如我想判断返回的结果里面有没有 "name": "yoyo" 并且你不知道它是 data...() 支持过滤操作 n/a () 支持表达式计算 () n/a 分组,JsonPath不支持 使用示例 $ 是查找的根节点,传参数是python的dict 类型,当查找到的时候返回一个list结果,查找失败的时候返回

1.2K40

一文看懂HashMap底层原理

但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;   链表:存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。...链表的特点是:寻址困难,插入和删除容易。   HashMap:哈希表((Hash table)既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分便。...上面我们提到过Entry类里面有一个next属性,作用是指向下一个Entry。打个比方, 第一个键值对A进来,通过计算其key的hash得到的index=0,记做:Entry[0] = A。...Entry e = table[bucketIndex]; table[bucketIndex] = new Entry(hash, key, value, e); //参数...性能上进一步得到提升。

72950

python面向对象OOP入门

我们注意到以上的示例中除了class关键字用来定义类,def定义方法(类中的函数我们称方法,可以理解为类中封装的函数就是方法)后面有一个self参数,那么 这个self参数是什么?...其中参数可选,有无参数在于你设计类时是否需要。...;而新式类则是广度优先去查找;这里就不详述,以下的示例python 2.7中所以你会看到类名后有一个object,python3.x下可以不用object。...B --> D --> C  在上述查找bar方法的过程中,一旦找到,则寻找过程立即中断,便不会再继续找了 这里的baba方法D中找到,所以显示为D.baba 深度优先和广度优先查找顺序如图: ?...obj = son()的作用: 实例化出obj对象; 执行__init__构造方法,多继承环境 下,和上面讲的调用其他类方面查找一致,首先查找 son类中的__init__如果没有按新式类的度优先顺序查找所继承类中的

38611

浅析远程对象调用

诸多的RPC中,我们都基本认为是通过网络,对运行在另外一个进程(或者电脑)里的某个函数,发起一次调用请求。既然是一次函数调用,那么我们自然要传入参数,然后期望获得返回值。...,这就大大加重了因为网络带来的延迟;另外一面来源于路由查找,虽然我们可以用一致性哈希这类算法取代路由查找,但是基于数据的业务特性,我们却不太喜欢把所有数据都拆的七零八落,所以常常还是有一个查询、或探索数据所在地的过程...另外,由于远程对象调用发起之前,已经需要先查找到目地对象,这样就把查找方法和查找数据的两个过程合二为一了,路由层面也能有效降低延迟。 二、极好的易用性。...我们可以看到这里面有IP和端口,还有一个编写服务器远程对象时注册的字符串OurlLittleClient。...分布式的系统下,我们的对象池因为是分别存放在不同的机器上,所以其一致性的维护往往是比较困难的。但是,我们可以把这个问题,转换成构建一个“分布式对象池”的问题。

1.9K10

浅析“远程对象调用”

诸多的 RPC 中,我们都基本认为是通过网络,对运行在另外一个进程(或者电脑)里的某个函数,发起一次调用请求。既然是一次函数调用,那么我们自然要传入参数,然后期望获得返回值。...,这就大大加重了因为网络带来的延迟;另外一面来源于路由查找,虽然我们可以用一致性哈希这类算法取代路由查找,但是基于数据的业务特性,我们却不太喜欢把所有数据都拆的七零八落,所以常常还是有一个查询、或探索数据所在地的过程...另外,由于远程对象调用发起之前,已经需要先查找到目地对象,这样就把查找方法和查找数据的两个过程合二为一了,路由层面也能有效降低延迟。 极好的易用性。...我们可以看到这里面有IP和端口,还有一个编写服务器远程对象时注册的字符串OurlLittleClient。...分布式的系统下,我们的对象池因为是分别存放在不同的机器上,所以其一致性的维护往往是比较困难的。但是,我们可以把这个问题,转换成构建一个“分布式对象池”的问题。

2.7K00

解决KafKa数据存储与顺序一致性保证

“严格的顺序消费”有多么困难 下面就从3个方面来分析一下,对于一个消息中间件来说,”严格的顺序消费”有多么困难,或者说不可能。...要想保证,一面要同步复制,不能异步复制;另1面得保证,切机器之前,挂掉的机器上面,所有消息必须消费完了,不能有残留。很明显,这个很难!!!...下面就看一下Kafka和RocketMQ中,分别是如何对待这个问题的: Kafka中:发送1条消息的时候,可以指定(topic, partition, key) 3个参数。...RocketMQ: RocketMQKafka的基础上,把这个限制更放宽了一步。只指定(topic, key),不指定具体发往哪个队列。也就是说,它更加不希望业务,非要去要一个全局的严格有序。...Producer往Kafka插入数据时,控制同一Key分发到同一Partition,并且设置参数max.in.flight.requests.per.connection=1,也即同一个链接只能发送一条消息

3.1K20

聊聊NPM镜像那些险象环生的坑

管理镜像 你还可能会遇上这种情况,开发项目时使用淘宝镜像,但是发布「NPM第三模块」时就必须使用原镜像了。着手解决那些奇葩情况前,先推荐大家使用一个「NPM镜像管理工具」。...还好npm config提供了一个参数disturl,它可设置Node镜像地址,当然还是将其指向国内的淘宝镜像。这样又能爽歪歪安装这些依赖C++模块的模块了。...然而办法总比困难多,从node-sass的官方文档中可找到一个叫sass_binary_site的参数,它可设置Sass镜像地址,毫无疑问还是将其指向国内的淘宝镜像。...nrm use taobao 安装过程中悄悄下载node-gyp 上面有提到,在这里不再叙述,解决办法如下。...、cdn、config、dist、download、host、mirror、npm、site、url等这样的关键词(自行探索,通常「mirror」的匹配度最高) 搜查结果里查找形态像「镜像地址」的代码块

5.1K51

详解接口测试(1)-常见的网络通信协议

协议的接口是我们日常测试工作当中接触最多的接口类型,除此之外,还有其他协议的接口,如常见的WebService、WebSocket、Dubbo、MQTT等最好也有所了解 可能有同学觉得协议理解起来很困难...,用于描述Web Service提供的方法、参数和返回值。...通过UDDI,企业可以根据自己的需要动态查找并使用Web服务,也可以将自己的Web服务动态地发布到UDDI注册中心,供其他用户使用 UDDI 由 WSDL 来进行描述并且存在映射关系,用户可以UDDI...注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务 WSDL和UDDI的区别就是,WSDL用来描述服务,UDDI用来注册和查找服务 WebSocket 谈到WebSocket...Provider),服务提供者启动时, 向注册中心(Registry)注册自己提供的服务 调用远程服务的服务消费(Consumer),服务消费者启动时,向注册中心订阅(subscribe)自己所需的服务

99020

chrome 浏览器 FungLeo 常用插件汇总

但这对于有选择困难症的人来说,是一个坏事,那就是,我根本就不知道我需要什么,我怎么知道我要怎么配置浏览器呢? 我把我常用的插件在这里做一个汇总,希望对大家有所帮助。...这款插件比较轻,使用第三的接口,有时候这些接口会挂掉。不过只要换一个第三接口就可以接着使用了。 我本人比较常用的一款插件。 ?...但是,只要安装了这款插件,就可以直接在浏览器里面有很好的查看体验了。 ? Markdown Here 如果你平时也是和我一样,用 markdown 来写文档,那么你很可能非常需要这款插件。...这款插件功能强大,使用复杂,我这里不做过多的阐述,请搜索查找它的相关资料。 Octotree 这款插件比较神奇,专门用于 github 网站的。...当我们浏览某个仓库的时候,它会把其整理成树状结构,方便你快速的定位到你想要的位置。属于相当好用的插件。 ? Vue.js devtools 这是一款用于 vue 开发的插件。

50470

python爬虫常用库之BeautifulSoup详解

因为是第三库所以我们需要下载,命令行敲下以下代码进行下载 pip install beautifulsoup4 安装第三解析库 pip install lxml pip install html5lib...但是当我们需要获取任意一个指定属性的标签还是有点困难的,所以,此时有了下面这个方法: soup.find_all( name , attrs , recursive , text , **kwargs...这里搜索了具有属性为class='more-meta'的div标签 3)根据关键字参数来搜索 # 对相关属性进行进行查找也可以这样 print(soup.find_all(class_='more-meta...这里注意,我们找的是class属性为more-meta的标签,用了关键字参数,但是python里面有class关键字,所以为了不使语法出错,所以需要在class加个下划线 其他参数的就不再介绍了,可以自行去官网查看...4)find()方法 此方法与find_all()方法一样,只不过这个方法只是查找一个标签而已,后者是查找所有符合条件的标签。

85870

透过网红面试题,超详细解析 parseInt,学不懂找我

很多人可能觉得这种网红题目是刁难人,没有实际的意义。但是面试时,有时候想要快速了解一个人对某些知识的掌握,还是有意义的。而且说出答案是一回事,重点还在于他们得出答案的分析过程。...这是MDN给的解释,其实理解起来有点困难,这里我一步步的拆解一下。首先,解析一个字符串并返回指定基数的十进制整数这句话怎么理解呢? parseInt 第一个参数理解 第一个参数是字符串?...,首先会默认将传入的参数转为字符串(使用toString) 从左边开始查找有效数字字符,转为数字;当遇到非有效数字字符,则停止查找 举几个例子: parseInt(12); // 12 parseInt...,并且以0x开头,那么就将0x11看作16进制来解析,11转为十进制整数,结果为17(如果对进制转换不熟悉,后面有详细讲解)。...,然后开始查找有效数字 注意:上边提到的有效数字,并不是数字都是有效数字, 而应该根据parseInt第二个参数指定的进制来看。

3.5K10

HashMap原理解析

但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。...哈希表((Hash table)既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分便。   ...上面我们提到过Entry类里面有一个next属性,作用是指向下一个Entry。打个比方, 第一个键值对A进来,通过计算其key的hash得到的index=0,记做:Entry[0] = A。...= null; e = e.next) {             Object k; //如果key链表中已存在,则替换为新value if (e.hash == hash && ((k...    Entry e = table[bucketIndex]; table[bucketIndex] = new Entry(hash, key, value, e); //参数

59190

基于时间的盲注

对于基于布尔的盲注来说,我们可以构造一条注入语句来测试我们输入的布尔表达式,而这布尔表达式结果的真假,决定了每次页面有不同的反应。...参数给定的秒数之后运行。...(注意):sleep 函数是只要存在一个满足条件的行就会延迟指定的时间,比如sleep(5),但是实际上查找到两个满足条件的行,那么就会延迟10s,这其实是一个非常重要的信息,真实的渗透测试过程中,我们有时候不清楚整个表的情况的话...图片 图片 确定了长度后,依次查找每一位的ascii码 例如:id=1’and if(ascii(substring(version(),1,1))=53,sleep(3),1) --+ 尝试第一位的...另一面,你又会希望延迟足够短以合理的时间内测试应用程序,所以把握这个时间长短的度是很困难的。

54110

.NET简谈互操作(三:基础知识之DllImport特性)

,微软为我们处理了复杂的内存分配、动态函数查找、地址解析等等本应该我们自己去处理的事情;所谓工欲善其事,必先利其器;选择.NET是正确的;下面我们就来逐一讲解互操作方面我们要用到的一些基本知识当然也是踏进互操作门槛的关键技术要点...构造函数里面有一个dllname的参数,请看图: 图1: 我们可以看到注释,这个构造函数的参数是非托管dll的名称,也就是我们所要用到的导入方法的具体位置;上图中的参数是 "Win32DLL.dll"...CharSet枚举中的auto值,让CLR自动为我们处理相关细节; DllImport特性中的CallingConvention可选属性; CallingConvention属性也是一个比较重要的属性,平台调用的过程中起到查找入口点的作用...,托管代码进行非托管代码入口点查找时,会通过CallingConvention中的值进行确认非托管入口点的调用约定,上篇文章中我们提到了调用约定的一些概念, extern "C" _declspec(...,我们来看_stdcall调用的相关概念说明:函数的参数自右向左通过栈传递,被调用的函数返回前清理传送参数的内存栈;意思是说,有被调用来清理调用堆栈; 还有_declspec(dllexport)关键代码

61710

Python 输出调试

找出两个输出可能不是很困难,但是如果有五个以上的不同输出呢?尝试查找与输出相关的代码可能会很耗时。 当然你可以在打印语句中添加文本,使其更容易理解: 输出结果。...Icecream是一个Python第三库,可通过最少的代码使打印调试更清晰明了。 使用pip安装Icecream库。 下面,让我们通过打印Python函数的输出来进行尝试。 输出结果如下。...通过使用icecream,我们不仅可以看到函数输出,还可以看到函数及其参数! 02. 检查执行情况 如果你想要找到执行代码的位置,可以通过执行如下所示的操作,来查找执行了哪个语句。 输出结果。...ic.configureOutput()中,设置includeecontext的参数值为True即可。 输出结果如下。...通过查看源码,可知有四个可供设置的参数

52000
领券