随笔分类 - 资料收集
摘要:从阿里云数仓表中导出数据的详细步骤
阅读全文
摘要:这部分的代码出自《深入理解计算机系统》(CS:APP)第五章,其目的是通过手工改变代码结构,而不是算法效率和数据结构优化,提高执行效率。有些编译器在某些优化选项下可能会做出类似的改动。为了便于以后的查阅和使用,本文进行了摘录和简要分析,其中包含了一些个人理解。
阅读全文
摘要:今天在首页上看到Vamei的博客,里面有个豆瓣链接,点进去之后发现他的首页里能显示自己博客最近的内容,于是研究下是怎么实现的。梳理出方法如下:1.首先登陆豆瓣账号,并进入9点功能:http://9.douban.com/2.在订阅地址中输入自己的博客链接;3.订阅成功后,在“管理订阅列表”中选择自己的博客,然后“认领这个博客”,并按照要求发表一篇标题或内容包含给定字符串的博文;4.验证成功后,豆瓣首页那篇博文也可以删除了。示例可以在我的豆瓣首页上看到:http://www.douban.com/people/71264896/。这个方法应该不限于博客园,只要支持RSS都可以。不过9点自动更新实
阅读全文
摘要:又要到一年招聘季,又有很多人开始啃《编程之美》了吧。此书从开阔视野的角度来说很好,不过限于篇幅,有的问题并没有讲清楚;或者扩展问题很难,没有给予解答和提示。在我看书和查阅资料的过程中,有很多重复的,也有不少基本没什么价值。为了便于查阅,也为了方便后人不必在搜索上浪费时间,我把比较有价值的文章链接整理如下,并附以说明。
阅读全文
摘要:问题来自于《程序员面试宝典(第三版)》第12.2节面试例题9,主要是结合原书代码和解析,讨论malloc(0)的行为,对原书没说清的地方进行补充。
阅读全文
摘要:本文不局限于具体的二分搜索算法和排序算法,而是提炼其中的思想,并将其应用到其他与它们似乎没有直接关系的问题中,从而获得高效的解决算法。主要解决的问题:线性期望时间的随机元素选择问题、大数据中找出一组重复元素、英文字典求所有变位词、子集元素的最小和。
阅读全文
摘要:这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分。《编程珠玑》上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing Solid Code)这两本书,只要有一般的C语言基础就能读懂,而且读起来比较快,读完后能提高不少coding的实践水平。 目录循环不变式(invariant)debug之脚手架断言(assert)循环不变式(invariant) 循环不变式主要用来帮助理解算法的正确性,具体来看,比较针对...
阅读全文
摘要:估算的数据主要依赖于所能获得的数据和常识,有时还包括实践而不仅仅是理论。它常常作为一个大问题中的子问题,恰当地估算可以省去精确计算的时间和开销。在计算机领域,所谓常识的内容很宽泛,比如硬盘的传输速度、CPU每秒能执行多少指令、各种数据结构的大小甚至每分钟录入的单词数。有些数据是能够从各种资料中查得的,但仅仅靠记忆总难免遗漏;如果有经过学习而建立起的系统的知识结构,那便能很方便地把这些常识组织起来,除此以外,还可以靠平时经验的积累和一些面试题上的启发了。这里将进行一个收集,随时更新。 Little定律深入了估算所依赖的法则的细节:总花费等于各个部分的花费再乘以总的部分数,它在计算机系统方面...
阅读全文
摘要:位向量/位图是一个很有用的数据结构,在充分利用小空间存储大量数据方面非常具有优势,Linux内核中很多地方都是用了位图。同时,它不但基础,而且用到了很多编程语言的知识,以及对细节的把握,常常作为面试题出现。这里将要介绍它的实现、操作、应用。 与位图(bitmap)比,我更倾向于用位向量(bit ve
阅读全文
摘要:系列博文主要目的: 收集《编程珠玑》和《编程珠玑(续)》(以下简称《续》)上的算法和思想,并包括了一些自己的思考和对相关问题的引申,以备复习和查用。内容提要: 主要是算法收集,结合了《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing solid code)和《算法导论》的部分相关内容,以及自己的思考,无论你是否看过原书,都能够帮助你快速理解以至于能够独立完成这些算法。我相信自己写的解释比原书详细而易于理解,并且根据我的经验,对很多问题进行了扩展,这也是这个系列命名为“珠玑之椟”的原因。当然,“买椟还珠”是不可取的,这个系..
阅读全文
摘要:原定标题是“linux自带的测试、调试、性能工具”,不过并不恰当,比如本文要提到的gdb,很多Linux发行版中都提供了它,但毕竟不是Linux的必要组成部分,只是对与大多数Linux用户随手可得罢了。合理组合使用这些工具可以满足更复杂的要求,并写成测试脚本,能为测试提供很大的方便。本文不涉及具体的脚本编写,也不涉及与网络相关的命令如netstat和tcpdump。 为了方便阅读,用横线把内容进行分割,并且每个下划线下对这部分主要内容进行提示。 对于1~6这几个命令,单独使用时看上去很简单,但当它们结合重定向和正则表达式从而构成更复杂的功能甚至是自动化脚本时,才能发挥其真正威力。 c...
阅读全文
摘要:或许你曾经仔细了解过什么是大端小端,也动手编写了测试手头上的机器上是大端还是小端的程序,甚至还编写了大端小端转换程序;但过了一段时间之后,当你再看到大端和小端这两个字眼,你的脑中很快浮起了自己曾经做过的工作,却总是想不起究竟哪种是大端、哪种是小端,然后又去查以前写的记录?更让人不快的是,这种经历反反复复,让你十分困扰。如果你和以前的笔者一样,有过这种不快的经历,那么这篇文章希望能帮你彻底解决这个苦恼,让你彻底记住它们。 如果你在工作中经常使用到大端和小端以至于对它们十分熟悉,或者你的记忆力在保持时间的长度和精准度上都十分优秀,以至于不需要借助其他的方法,那么这篇文章不适合你。 如果你...
阅读全文
摘要:我在网上查找安装方法时有两种方式,第一种方案在第三步测试的时候没有成功,不知道问题出在哪里,换用了第二种方式。如果直接用第二种方式安装不成功,可以试试进行第一种方式的第2步。 安装环境是Ubuntu 10.04,内核版本2.6.32.22。OpenCV版本为2.4.3。第一种方式,参考自:http://www.opencv.org.cn/index.php/Debian%E4%B8%8B%E5%AE%89%E8%A3%851.更新下载更新软件包列表信息$ apt-get update2.查询OpenCV相关软件包 查询获得的内容和OpenCV软件包版本有关$ apt-cache sea...
阅读全文
摘要:安装方法:(参考自http://blog.csdn.net/abee23/article/details/7391859,很详细,下面的整理只为存档)1.下载$cd ~/Download$mkdir matlab$cd matlab$wget -c http://math.whut.edu.cn/shumo/special/msoft/mac/matlab_unix_2009b.iso(wget支持断点续传,但是我是用Win下的下载工具进行的)2.安装安装环境: Linux wy-desktop 2.6.32.22 #7 SMP Wed Jul 11 15:31:29 CST 2012 i6.
阅读全文
摘要:有关于VC维可以在很多机器学习的理论中见到,它是一个重要的概念。在读《神经网络原理》的时候对一个实例不是很明白,通过这段时间观看斯坦福的机器学习公开课及相关补充材料,又参考了一些网络上的资料(主要是这篇,不过个人感觉仍然没有抓住重点),重新思考了一下,终于理解了这个定义所要传达的思想。 先要介绍分散(shatter)的概念:对于一个给定集合S={x1, ... ,xd},如果一个假设类H能够实现集合S中所有元素的任意一种标记方式,则称H能够分散S。 这样之后才有VC维的定义:H的VC维表示为VC(H) ,指能够被H分散的最大集合的大小。若H能分散任意大小的集合,那么VC(H)为无穷大。...
阅读全文
摘要:说明:本文中代码段主要参考自《QTP自动化测试实践》。一、软件安装 按照提示,勾选"安装Microsoft Script Debugger",完全安装即可。二、软件启动 选择测试对象所需要加载的相应插件,在欢迎窗口选择“Blank Test”。三、自带资源 F1可以获得丰富的帮助文档,菜单Help—>Product Feature Movies中包含了几段示例视频,同时在开始菜单的QTP程序目录中可以看到练习示例程序flight。四、进行测试 QTP使用的是VBScript作为测试脚本语言,因此需要对它有一定的了解,比如数据类型、循环结构等,此处不再赘述。 菜单Aut
阅读全文
摘要:由于项目需要进行猴子测试,最近在看《QTP自动化测试实践》。与书上介绍的WinXP的性能计数器相比,Win7的性能日志使用方法有些不同,而且网上现成的很少,在此整理一下使用方法,以备后用。 启动方法:[Win]+[R]——>“运行”输入perfmon启动性能监视器,当然也可以右击“计算机”——>管理——>性能。 数据收集器集——>用户定义,在右边右击,选择新建——>数据收集器,打开向导窗口。设定监视间隔时间。“添加”时要保证监视的程序正在运行,“计数器”是表示需要监视的内容,比如Working Set是内存占用;“选定的对象实例”是需要监视的对象。下一步就完成了。
阅读全文
摘要:在最近的项目中,自己对部分文件进行了一些小修改,又不便于直接提交版本,需要将新版本和自己修改的老版本进行比较。Beyond Compare功能比较强大好用,应用面比较广,甚至可以作为一些编译器的插件。本文简单记录了一下它的基本使用过程,留档后用。 打开软件,选择文件夹比较。 在两边路径里输入需要比较的文件夹。 选中所有文件,选择“比较内容”。 开始比较。 有不等号并用红色高良的文件表示不同的文件。打开进行查看。 使用Ctrl+N快速定位至每一个不同之处,点击箭头可以选择用右边替换左边(或用左边替换右边)。关闭这个窗口可以进行保存,误操作可以使用Ctrl+Z撤消。 另外,如果两...
阅读全文
摘要:一、三层(网络层)发现算法来源:王娟娟.基于SNMP的网络拓扑发现算法研究.武汉科技大学硕士学位论文,2008数据结构:待检路由设备网关链表:存放指定深度内待检路由设备的网关信息,处理后删除。拓扑信息链表:存放从已检测路由设备的网关信息。子网信息链表:存放网关信息对应的子网信息。基本思想: 类似于广度优先,在指定深度内运行算法,最后根据拓扑信息链表获得所有路由及其互联关系,根据子网信息链表各路由设备连接的子网及子网内所有活动主机的信息。需要获得的信息: 路由信息如下图所示。点击可查看补充说明。路由表中的每个条目都包含ipRouteDest、ipRouteIfIndex、ipRouteNex..
阅读全文