others
文章平均质量分 54
I天辉I
专注于Python相关的量化投资
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程中的脚手架是什么意思?
这里是stackoverflow上的一个回答:Scaffolding is a meta-programming method of building database-backed software applications. It is a technique supported by some model-view-controller frameworks, in which the转载 2017-12-09 16:35:39 · 13061 阅读 · 0 评论 -
FIFO、LRU、LFU的含义和原理
题目:请简要介绍FIFO、LRU、LFU的含义和原理含义:FIFO:First In First Out,先进先出LRU:Least Recently Used,最近最少使用LFU:Least Frequently Used,最不经常使用以上三者都是缓存过期策略。原理和实现:一、FIFO按照“先进先出(First In,First Out)”的原理淘汰数据,正好符合队列的特性,数据结构上使用队列Q...转载 2018-04-19 13:15:02 · 594 阅读 · 0 评论 -
LRU(Least Recently Used)缓存介绍与实现
引子:我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东西是一定的,我们只能记住自己最熟悉的,而长时间不熟悉的自然就忘记了。其实,计算机也用到了同样的一个概念,我们用缓存来存放以前读取的数据,而不...转载 2018-04-19 13:17:56 · 603 阅读 · 0 评论 -
缓存和内存的区别
许多人认为,“缓存”是内存的一部分 许多技术文章都是这样教授的 但是还是有很多人不知道缓存在什么地方,缓存是做什么用的 其实,缓存是CPU的一部分,它存在于CPU中 CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大 缓存是为了解决CPU速度和内存速度的速度差异问题 内存中被CPU...转载 2018-04-19 13:32:14 · 476 阅读 · 0 评论 -
SecureCRT中改变背景色和文字颜色
options->;session options->;emulation->;terminal选择linux(相应的服务器系统)ansi color 打上狗狗options->; global option ->;appearance->;ANSI COLOR->;bold color ->;里面的8种色彩就是服务器里文件相应的颜色,想改那只颜色点...转载 2018-05-10 13:07:04 · 389 阅读 · 0 评论 -
SecureCRT 8.1中文乱码解决办法
打开SecureCRT 8.1,选择Options2选择Edit Default Session…3选择Appearance后,右边选择Character encoding的下拉框4在下拉框中选择 “简体中文 GB2312”,点击 OK 按钮5出现下图弹框,选择“Change ALL sessions(no undo)”6关闭SecureCRT 8.1,再打开就可以正常显示了。END注意事...转载 2018-05-10 13:18:24 · 2339 阅读 · 0 评论 -
圈复杂度
文章是转来的,刚好今天公司同事给我们分享了这方面的一些资料,其中用到的例子就是文字最后的那个例子。但是例子中的代码用SourceMonitor计算圈复杂度确实7。有朋友知道缘由可以分析下的。话说不同公司对圈复杂度的要求也有不一样的,比如有的公司把switch语句作一个圈复杂度,而有的却是安装case的个数来计算的。不过重要的是要有意识的减少自己代码的圈复杂度,毕竟你也不希望去维护一个圈复杂度很高的...转载 2018-05-22 13:59:17 · 454 阅读 · 0 评论 -
时间复杂度和空间复杂度详解
没有挤公交来上班过,就不知道生活的压力有多大。算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。...转载 2018-05-22 14:07:40 · 334 阅读 · 0 评论 -
关于RAM与ROM的区别与理解
随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会...转载 2018-10-11 23:06:48 · 330 阅读 · 0 评论 -
谈谈并行、并发或多线程
1.CPU的发展趋势: 核心数目依旧会越来越多,根据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的PC桌面在2018年可能回到24核心。2.并发和并行的区别: 所有的并发处理都有排队等候,唤醒和执行这三个步骤,所以并发是宏观的观念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上多个几乎同时到达的请求同时在被处...转载 2018-10-11 23:20:56 · 300 阅读 · 0 评论 -
阻塞式IO和非阻塞式IO
什么是阻塞式IO,什么是非阻塞式IO?区分他们有何用? 阻塞式IO:IO即input/output,阻塞式IO指的是“一旦输入/输出工作没有完成,则程序阻塞,直到输入/输出工作完成”。在目前,我们从书本上学到的语法用的基本都是阻塞式IO。比如c语言的stdio.h库的所有函数(包含scanf(),getchar(),gets()等函数),Java的BIO(比如各类输入输出流)...转载 2018-10-05 22:00:38 · 1744 阅读 · 0 评论 -
谈谈网站架构设计开发的一些来龙去脉
这篇就当成最近研究网站架构问题的一个小小的总结记录,当然肯定不全面,这个领域很大的。后面如果有新的认知,继续补充说明。但是核心的概念和基本原理搞明白就好办,剩下的就是工具应用和开发细节问题了。不过,“细节出魔鬼”,可别以为架构师的活好做。 架构这个问题怎么出现的? 当然是信息社会从单机时代推进到网络时代的产物。单机时代,大家一般买台PC,装个Windows,自己捣鼓着玩。各种应用基...转载 2018-10-23 00:08:47 · 240 阅读 · 0 评论 -
网站架构设计分析及分层架构要素
为了使网站这个虚拟的大建筑能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,架构要素和分层架构是必不可少的,就犹如盖房子要用建筑材料一层一层盖一样。满山红网站建设接下来为您一一详细解答。整个架构一般可以分为 应用层、服务层、数据层。实践中大的分层结构中还可以继续分层,比如应用层还可以继续分为视图层和业务逻辑层,服务层也可以继续细分为数据接口层、逻辑处理层等。通过分层,把一个庞大...转载 2018-10-23 00:16:03 · 1575 阅读 · 0 评论 -
Twsited异步网络框架
TwsitedTwsited是一个事件驱动的网络架构,其中包含了很多功能,例如:网络协议,线程,数据库管理,网络操作,电子邮件等。 事件驱动简单来说,事件驱动分为两个部分,第一注册事件,第二触发事件例子:event_list = [] def run(): for event in event_list: obj = event() obj.exec...转载 2018-02-27 10:41:25 · 464 阅读 · 0 评论 -
linux 中 ll 命令如何让查询结果按时间升序或降序排序?
可以加上-t选项。-t选项的功能是使输出的结果将以时间降序排列。如果希望按时间的升序排列,可以使用管道符将返回的结果传入tac命令。用法示例:查询当前目录的文件并以降序排列:ll -t查询当前目录的文件并以升序排列:ll -t | tac转载 2018-01-10 11:29:20 · 1895 阅读 · 0 评论 -
浅谈异步消息队列模型
最近在研究网站的异步消息队列模型,渐渐有了一些心得,下面就说说我个人对于消息队列的理解。什么是消息队列?所谓消息队列,就是一个以队列数据结构为基础的一个实体,这个实体是真实存在的,比如程序中的数组,数据库中的表,或者redis等等,都可以。首先我们说说为什么要使用队列,什么情况下才会使用队列?我的理解是,那些实时性要求不高,且比较耗时的任务,是队列的最佳应用场景。比转载 2018-01-23 10:41:28 · 494 阅读 · 0 评论 -
#圈复杂度 - Cyclomatic Complexity
##概念循环复杂度(Cyclomatic complexity)也称为条件复杂度,是一种软件度量,是由老托马斯·J·麦凯布(英语:Thomas J. McCabe, Sr.) 在1976年提出,用来表示程序的复杂度,其符号为VG或是M。“循环复杂度”的名称有时会让人误解,因为此复杂度不只计算程序中的循环 (循环)个数,也包括条件及分支个数。##算法圈复杂度(Cyclom转载 2017-12-01 14:23:38 · 3138 阅读 · 0 评论 -
浅谈进程同步和互斥的概念
简介 进程同步是一个操作系统级别的概念,是在多道程序的环境下,存在着不同的制约关系,为了协调这种互相制约的关系,实现资源共享和进程协作,从而避免进程之间的冲突,引入了进程同步。 临界资源 在操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必须资源)。但对于某些资源来说,其在同一时间只能被一个进转载 2017-12-02 19:42:18 · 689 阅读 · 0 评论 -
同步IO和异步IO
同步IO和异步IO 有两种类型的文件IO同步:同步文件IO和异步文件IO。异步文件IO也就是重叠IO。在同步文件IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步文件IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成了。 如果IO请求需要大量时间执行转载 2017-11-24 11:05:43 · 979 阅读 · 0 评论 -
C++中结构体与类的区别(struct与class的区别)
转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和c转载 2017-11-24 14:30:38 · 418 阅读 · 0 评论 -
怎样用通俗的语言解释REST,以及RESTful?
我觉得问题很好:REST -- REpresentational State Transfer 直接翻译:表现层状态转移。这个中文直译经常出现在很多博客中。尼玛谁听得懂“表现层状态转移”?这是人话吗?我自己也困惑了很久,查询了很多资料,花了差不多一年有个还算清晰的理解。分享如下:@Ivony老师的一句话概括很精辟:URL定位资源,用HTTP动词(GET,POST,DELET转载 2017-12-04 23:11:40 · 350 阅读 · 0 评论 -
Swagger简介
前言Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。本文简单介绍了在项目中集成swagger的方法和一些常见问题。如果想深入分析项目源码,了解更多内容,见参考资料。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧转载 2017-12-05 15:19:36 · 264 阅读 · 0 评论 -
Swagger - 前后端分离后的契约
前后端分离按照现在的趋势,前后端分离几乎已经是业界对开发和部署方式所达成的一种共识。所谓的前后端分离,并不是传统行业中的按部门划分,一部分人只做前端(HTML/CSS/JavaScript等等),另一部分人只做后端(或者叫服务端),因为这种方式是不工作的:比如很多团队采取了后端的模板技术(JSP, FreeMarker, ERB等等),前端的开发和调试需要一个后台Web容器的支持,从而转载 2017-12-05 15:58:22 · 314 阅读 · 0 评论 -
什么是 MIME Type
一、首先,我们要了解浏览器是如何处理内容的。在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如:Content-Type: tex转载 2017-12-05 22:24:05 · 325 阅读 · 0 评论 -
Win10以管理员身份打开命令提示符CMD的3种方法
不可否认,多数技术人员还需要大量使用命令提示符。在Win10系统上,除了在运行窗口输入“cmd”可以使用管理员身份来打开命令提示符外,此外还有三种方法也能实现这个目的。是哪三种?我们一起来看看。 方法一 打开C:\Windows\System32目录,找到cmd.exe,单击选中后右键,菜单中选择“以管理员身份运行”。 方法二 1、点开开始菜单,转载 2017-12-06 21:18:16 · 207626 阅读 · 2 评论 -
什么是 MIME Type?
一、首先,我们要了解浏览器是如何处理内容的。在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如:Conte转载 2017-12-16 17:46:19 · 985 阅读 · 0 评论 -
wget命令
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。语法wget(选项)(参数)选项-a:在指定的日志文件中记录资料转载 2018-01-05 18:45:45 · 717 阅读 · 0 评论 -
tail命令
tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。转载 2018-01-05 18:52:47 · 350 阅读 · 0 评论 -
驼峰式命名法
骆峰式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例)。骆峰式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。 小驼峰法变量一般用小驼峰法标识。驼峰...转载 2018-10-24 00:33:38 · 2403 阅读 · 0 评论
分享