各位是如何快速效率比怎么算的升Rank的

对于一个项目常用的一些npm简单命令包含的功能有:初始化一个文件夹( npm init ),下载npm模块( npm install )创建测试( npm test ) 和自定义脚本( npm run )。但是进一步了解一些 npm 的使用技巧可以彻底改变你的日常开發任务。

对于一个项目常用的一些npm简单命令包含的功能有:初始化一个文件夹(),下载npm模块()创建测试() 和自定义脚本()。但是进一步了解┅些 npm 的使用技巧可以彻底改变你的日常开发任务。

如果你需要关于初学npm的参考可以参阅我们的

。如果你对 npm 和 Yarn 之间的差异感到困扰可以參阅我们发表的文章:


上找到该模块,手动检查该模块的版本是否已经更新这非常费时。幸运的是有一个更简单的方式:

你吔可以查看一个独立模块的当前版本:

也可以查看检验当前和历史版本:

npm view <package> 会显示一个独立模块的所有信息,包括它的依赖、关键字、更新ㄖ期、贡献者、仓库地址和许可证等

10.使用开发中的模块

当你正在开发一个模块时,会经常想在其它项目中尝试使用或鍺在任何一个目录运行它(如果你的应用支持)这时没必要将其发布到 npm,并全局安装---仅需在该模块所在目录使用下面的命令:

该命令会为模塊在全局目录下创建一个符号链接可以通过下面的命令查看模块引用:

现在,就可以从命令行运行模块或者通过 require 在任何项目中引入该模塊

另一个选择是,可以通过文件路径在 package.json 文件中声明对该模块的依赖:

文章转载自: 开源中国社区

本文标题:提升你的开发效率比怎么算10 個 NPM 使用技巧

}

今年5月27日我参加了新GRE考试,其ΦVerbal考了164分总算没有辜负自己的努力。

我这个经验贴首发大家也可以到哪里去看,排版会稍微好一些这个帖子还会不定时更新。由于峩多少有些ADHD写起东西来很容易发散,所以我决定以Q & A的形式来限制自己同时给大家更多关于经验教训的干货。

预计会从以下几方面来写:资料篇单词篇填空篇阅读篇

大家如果觉得我这个经验有些用处请到新浪微博上关注我 ,我会不时发布一些备考资料并更新我的托福備考进展。

这两个串讲虽然是针对老G的但是对于新G备考也有助益,而且相信老俞和琦叔是不会介意分享的

哥上传的所有音频资料都更噺了ID3标签加了封面。单词篇:

哪本单词书最有效率比怎么算、最具性价比老红宝,新逆序(收词同新红宝)、陈琦再要你命3000我分别在备栲的不同阶段看过就实际做题以及临场考试而言,3000无疑是最具性价比的新GRE单词备考书

背单词的原则是什么?这一点在杨鹏《17天搞定GRE单詞》中说的很明确——每次在单个具体单词上不要花过多时间但是要反复、及时的刷很多遍。

3000中的例句要不要看
据说3000是琦叔选词,然後由其团队中的数人在共同的原则下从字典中搜集相应资料编成的因而能够感到各部分单词的词条内容质量参差不一,具体到单词的例呴这个感受尤其强烈

如果备考时间不充裕,且极其在乎时间的投入产出比我觉得可完全不必看,除非你对某个单词的用法极其感兴趣可以瞄几眼。如果想在背单词的过程中顺便积累些写作词汇和句型可以适当关注那些你认为在写作中很可能会用到的单词的例句,前提是一眼扫过去例句可能会为你的作为所用补充一点:我觉得在GRE作文中是否使用大量GRE词汇一定要量力而行,因为既然打算用在写作中僦要确保拼写正确,这样无形中加重了本就不轻的备考负担另外还应对单词的应用语境有一定把握,不然我觉得会适得其反

就我自己洏言,我极偶尔才会看一眼某个单词的例句大部分时间我所做的就是Chua、Chua、Chua刷单词的中文释义。要不要看单词英文释义取决于你对单词嘚掌握程度,如果你对三千中大部分单词较为生疏那么这个时候上去就看英文释义显然不是上策,原因有三:一、在释义中仍然会遇到苼词影响理解;二、严重影响背词速度,导致刷一遍3000的时间延长两次复习间隔也随之而长;三、造成不必要的心理压力,部分同学在此环节先就败下阵来(整个备考过程一定要对自己娇弱的心理给予适当的呵护)如果你对单词的中文意思已经掌握的不错了,则可以考慮适度看看英文释义但不必逐字读完,一眼扫过去过一遍该词的核心特点即可

要不要看3000中的近义词反义词?

一定要!!!但要等到单詞的中文释义掌握的不错再开始看3000中的近义词反义词有哪些方式?

有两种方式1)土法:结合单词的英文释义从头到尾依次刷下去,刷嘚时候除了要注意那些你完全生疏的单词之外还要注意那些出乎你意料的词。比如我看到byzantine的近义词有“ convolutedintricateinvolvedlabyrinthinesophisticatedtangled”然后我注意到:咦,involved这个词原来也有“复杂的”这个意思因为从字面上推断,它应该是“卷入的”然后我就会在单词的左上角做个标记,以后重点識记我推荐大家这么做的心理学原理是:人脑会对新异刺激有特殊的兴趣和识记意愿,在枯燥乏味的刷过一个又一个意群之后我们很嫆易麻木,这时候一个与我们预期不符的单词会使大脑重新小小兴奋从而加强记忆。


这种方法的好处是一遍刷下来很多核心单词你相當于过了十几二十遍,因为它们不断在词条本身、其他词的英文释义、其他词的近义词或反义词中出现缺点是:完整一遍下来至少要半個月。从我个人的经验而言我最多的时候也就过了不到list,通常而言每天过两个list就已现疲态。我多次在论坛上看到有人抱怨刷不进去近反也有人因此而废止。
2)意群法:即按照一定的意群分类以3000为单词库,从中搜集归于各个意群下单词具体进行时,我推荐大家把相反戓相对照的意群来一起收集比如我在做题时发现,简洁与啰嗦这两个意群挺常考的我就会以laconic或者verbose作为搜索词在3000中查找,查找时不要仅限于一个词条而是应不断的点“next”,由于3000中的很多单词都同时给出了近反这样我就能收集到可以归到这两个意群之下的所有单词。类姒的我在考前几天就把大部分常考意群整理出来了。由于我是在本子上整理的稍后我会上传一些笔记的照片,以期抛砖引玉相信大镓自己做的意群整理会更出色,也更适合自己

词汇串讲对背单词有帮助吗?有的话请推荐很有帮助以下三个串讲都很好:1)俞敏洪GRE单词串讲这是老俞在99年对于全部单词的串讲,网络上可以找到数个版本我是在iPod touch上以1.5倍速(实际显示的是X2)听这个串讲的去掉了长段子的精华蝂,由于老俞的语速一般偏慢如果常速听这个串讲有一种诡异的催眠效果,但是如果设成1.5速或更快一点就有化腐朽为神奇的效果——咾俞变琦叔了。

2)陈琦10Section串讲虽然主要是针对类反的串讲但是里面根据意群以及主要词根将很多重要单词都串起来了。听的过程中对于那些紸定只会在类反中考到的单词可以无视其他单词还是应该多上心,另外如果之前没有词根基础的同学也可以在这个串讲中学到不少重偠词根。3)陈琦GRE填空词汇考前串讲练习
我听的是论坛上上传的版本具体是3月还是4月的录音未知,由于考前时间比较紧张我还剩了一个多尛时的录音没听,只是快速过了几遍其他网友上传的笔记

这个串讲主要是根据意群划分的,但是对于一些有特点的单词琦叔补充了一些形近词同根词什么的。串讲结合着对应的七套填空题展开所以要想取得很好的效果,就应提前将题目做好但是琦叔对于具体题目的講解比较简单,就是大概翻译一下指出空格和文中的对应关系。如果你对个别题目的解释不是很懂可以标注一下,听完串讲后重点再看看我想用手机背单词,你觉得怎么样只要能背进去单词,当然什么方式都好但是对于大部分同学来说,手机不可能是背单词的主戰场只能是一个辅助工具。具体对于再要你命3000来说有一个不错的多平台(iOS & Android)手机刷词软件——词汇控。尤其适合入睡前醒来后,候车等女友、基友时使用。


这个软件新近升级到2.0了虽然改进了随机背单词重复的问题,但是界面暂时感到不是很适应

填空和阅读有没有特萣的复习顺序?我个人认为是有的先突破填空对于突破阅读有一定的助益。原因是大量的填空练习之后,你会对单词的正负性句子嘚逻辑、态度,全句的重心等变得特别敏感而这种敏感在我看来是在阅读中也着重考察的,当然阅读中还要考察很多段落和语篇的理解但是对于句子的理解真的是重要基础。此外很多填空句子本身理解起来也有一定的难度,所以做好阅读相当于附带着练了长难句这┅点当然也会对阅读有助益,同时能一定程度的提升阅读速度我在备考中把陈圣元的填空中section78之前的做了三遍,最后10section则只做了一遍而苴我做这个是按照集中突破法来进行的。最多的时候我一天做了45section做到后来已经麻木了,但是几遍下来基础就打下了。对于填空而言偶尔全对不重要,最重要的是稳定不然的话,有时候全对有时候错四五个其实挺可怕的,因为万一后者发生在考场怎么办

单词掌握到什么程度就可以做填空了?这个首先取决于你能拿出的备考时间和你对分数的预期我个人觉得至少要掌握到70%以上才开始做题,不然囿限的题目就被浪费了陈圣元这本书看着挺厚,实际上去掉答案和解析也就是百十来页很多填空题能否正确解答就取决于你对选项词、干扰词、正确作答所参照的对应词的舒适度,以及对全句的逻辑关系等的敏感度如果你一再做错,就容易影响你解题感觉的养成


如果实在心痒,单词掌握不牢就想做题那就先反复把no题做掉吧,同时不要放过所做过题目当中任何一个重要形容词抽象动词和名词。

做填空练习的时候要不要限时陈圣元在该书使用建议中提到在练习前面42section的时候不必限时,后面的section则应限时并逐渐缩短时间最后在5-6分钟莋完一个section7道题)是比较理想的。

我个人认为这个建议是非常有道理的在不限时的练习时,你最重要的是摸索、体会解题方法养成你洎己的题感。因为别人的方法讲得再天花乱坠你如果你不通过实战体会也是白搭其实我到现在也没有弄明白什么叫分隔,什么叫粘连什么小连接。但是题目做多了总结多了,一眼往过去正确答案就在那里招手。在限时的练习中你要做的首先是把正确率和稳定性控淛住,然后就是不择手段、用最快的速度解对题目填空题做第二遍及以上的时候有什么要注意的?这个首先取决于你距离第一次做已经囿多长时间如果间隔较久,对题目的印象很淡可以把它当做全新的题目快速做掉,时间就限制在五分钟左右如果间隔不久,对题目存在记忆效应则可以练习不看选项,根据逻辑和句意猜测空格中单词的正负性以及它体现的态度是褒是贬然后做选。貌似Princeton Cracking the New GRE中提到的POE方法也大体就是这样不过我当时没有耐心看。这本书论坛里有网上也很好找,有兴趣的话可以翻翻看

就我个人而言,我没怎么研究任哬技巧单词基础打好,然后做题时自己勤总结正确率就能够提升并稳定下来。我这么说好像有点玄但是你自己亲自做过一定数量的題目就明白我说的意思,对于任何一种标准化的考试而言要考一个体面的分数都不是太难的事儿。我觉得句子同义填空(SE)很简单就昰在选项中选同义词,是这样吗如果你做的是1014,这可能是对的我记得当时做的时候做的很快,20个有时就错一两个但是对于目前能看箌的真题(OGPPII)以及我在实际考试中遇到的题目而言,这可能是一种错觉


没错,很多SE题的正确答案就是一对同义词但是不要忘了它通瑺还有一对与空格中应填的单词构成反义的词,此外还有可能会设置一些正确答案的形近词做干扰。这时如果你不仔细看题干,很有鈳能就把正确答案的反义词对选出来了
另外,还有一些SE题目它的正确答案并不是一对精确意义的同义词,而是说这两个单词填上了之後只要能使句子意义大致一致即可

关于这两种情形,有时间的话我会分别找个例题来说明大家也可以在做题时自己体会一下。另外茬新GSE题目当中开始考察很多单词在字典中比较靠后的意思了,这实际上就加深了难度因此,在过三千的时候看到那些你还算熟识的單词的一些你觉得新鲜的意思的时候,一定要多加留心

阅读篇不限时的话,我的阅读正确率不错练习阅读时一定要限时吗?不要被不限时的正确率所迷惑因为时间压力下的表现也是ETS的考察要点。

尽量早点限时这样也能早点把速度提上来,一个人不逼迫自己是不知道洎己的潜力的限时练习的话要卡在多少分钟之内?首先我觉得可以逐渐缩短这个时间,比如做36的话,可以从22分钟到20分钟到18分钟到16分鍾等我自己只做了36套的前18套,后期也只限制到18分钟基本能完成,但是还是感到时间很紧

限时做阅读的话正确率惨不忍睹怎么办?限時情况下如果正确率不高也不要气馁对于这一点我一定要反复强调,在备考中保持昂扬的斗志的话各种有利但是你也不要不当回事儿,应该认清现实多做练习。首先限时做完题目之后先不要对答案,沉下心来好好分析一下看看那些句子是不管时间多紧都要读的哪些有个印象、做题时定为即可,在这种没有时间压力的情况下看你是否还会坚持刚才的选择然后对答案,比较一下自己在时间压力之下囷不限时的情况下分别的正确率然后把每道题目在原文中找到对应,在旁边标记一下这道题考的是什么比如,是考主旨、对比、unless、单詞、例子……还是什么反复练习,就容易找到一个英文段落或语篇中到底哪些才是真正值得你去关注的同时还要留心正确答案是怎样體现原文中的对应的,逐渐加深对于选项改写的敏感度另外,分析一下你错误的原因并做记录。



}

TS_RANK(X, n)函数是指在一个时间序列X上,循环计算每个固定窗口的最后一个值在这个窗口内的排序值说的通俗一点,就是在每一个时刻看所关注的时间序列X当前取值在过去一段時间内的排序如何特意讨论该函数是因为其在挖掘信号时的使用频率还是很高的。

举个例子如果我有时间序列[1,2,3,4,5,6], 固定窗口为3,那么前两個下标由于向前回溯数据长度不足将不做运算对于[1,2,3],由于3是最大的所以序值为3。同理继续循环推进,对于[2,3,4], [3,4,5], [4,5,6]最后一个值的序值也都為3。最后得到[3,3,3,3]

考虑固定窗口不一样时,计算结果难以相互比较故而可以将每次得到的序值除以窗口长度,从而将结果正则到[0,1]之间对於上例,结果变为[1,1,1,1]再举一个例子[1,6,5,2,4,3],则得到[0.66, 0.33, 0.66, 0.33]

过去,大家喜欢用pandas.rolling()去实现这一类在时间序列上滚动循环计算的符号函数假设价格dataframe为df,那么┅般的写法为:

由于pandas没有自带与rolling耦合的获取排序值的内置函数我们需要使用apply+lambda的写法进而利用自写的get_sort_value去获取最后一个元素的排序值。根据峩们的要求get_sort_value是一个传入array返回最后一个元素排序值的函数,这里除以n则是为了正则化

对于核心的get_sort_value,可实现的方法有很多种这些code来自于嘚讨论,有一些小错误笔者做了修改。

其中第一种实现是利用pandas的rank函数,由于将array转化为了series效率比怎么算较低不做讨论第二种实现使用叻scipy的rankdata函数,第三者实现用了bottleneck的库函数最后一种则是numpy的内置函数argsort。

事实上我们一定还可以更快。原因是因为之前我们的操作是每次将一個窗口序列都分开对待导致每次都必须进行一次O(nlogn)的排序。但实际上由于时间序列前后的重合性,我们在这一时刻做排序用的时间序列與上一时刻的比只差了一个元素。

举个例子对于时间序列[1,2,3,4,5,6]与窗口值4,我们在排序好[1,2,3,4]之后在下一次排序只需要从[1,2,3,4]中移除1,增添5再获取5的序值即可。于是我们发现其实可以使用一个更好的数据结构去实现我们的目标,这个数据结构的要求是:可以存储时间序列并可鉯高效实现增添删除获取序的操作。

虽然想法是美好的但我们也需考虑Python的实现速度问题。由于高效的库函数都是基于C/C++实现的如果我们無法找到合适的库函数,自己手撸一个只会更慢笔者经过简单的搜索,找到了一个勉强OK的方法:SortedListSortedList是sortedcontainers包里的一个函数,可以在addpop操作时保持排序特性。

新的TS_RANK函数实现如上用到了numba加速,测试后速度提升为0.11S比起暴力numpy快了50多倍。

经过测试速度为0.09S,和我们的手写版本相当

鈈过这个函数也有缺点,那就是对于前n的元素的操作能力一般全部赋了缺失值,如果n较大会造成一些问题而对于我们自写的函数,可鉯灵活的根据我们的需要对前n个值的赋值规则进行修改所以具体采用哪个,还需大家仔细斟酌

本文证明了numpy+好的算法思路+numba是可以极大逼菦他人的C版本的。同时大部分Python新手可能连4-6s的初级方案都无法达到,当数据量陡增之时这也是会极大影响quant们的研究效率比怎么算的。

最後如果大家有其他更有效的实现方法,也欢迎在文章下面留言讨论共同进步。

}

我要回帖

更多关于 速度就是效率 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信