08 2013 档案

摘要:自己动手编写高性能TCP服务器系列,是个把月前的一个想法。中间有写过一点。迟迟没有完成,主要是因为这中间有很多事情耽搁。我想现在应该要把这个事情做出来了。系列之一是给服务器提供一个日志功能。 阅读全文
posted @ 2013-08-12 16:39 进击的程序员 阅读(1193) 评论(0) 推荐(0)
摘要:标准输入/输出可能是软件工具设计原则里最基本的观念了。有很多UNIX程序都遵循这一设计历练。默认情况下,他们会读取标准输入,写入标准输出,并将错误信息传递给标准错误输出。 阅读全文
posted @ 2013-08-12 15:17 进击的程序员 阅读(1590) 评论(0) 推荐(0)
摘要:EC2的一个实例至少存在一个volumn。因为免费的是8G,显然不够空间。现在网站包括爬虫,图片等等加起来都有6G多。所以再申请一个盘,申请盘免费的是30G。我们要做的是将这个30G的盘挂到实例当中。 阅读全文
posted @ 2013-08-12 13:43 进击的程序员 阅读(10852) 评论(1) 推荐(2)
摘要:java的打包工具jar有时候会出一些莫名其妙的问题,比如不合法的头部字段等等。这些问题之前也没注意,因为一直是用eclipse打包。后来在公司的时候,要求统一编写shell脚本来进行打包。其中遇到不少问题。 阅读全文
posted @ 2013-08-11 17:52 进击的程序员 阅读(8822) 评论(0) 推荐(0)
摘要:在标准C和C++中,长度为0的数组是被禁止使用的。不过在GNUC中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,那长度为0的数组有什么意义呢? 阅读全文
posted @ 2013-08-11 17:35 进击的程序员 阅读(2160) 评论(0) 推荐(1)
摘要:这是一道经常遇见的面试题。好像网易和google都曾出过此题。这道题解法也胜多。这里给出普遍的一种解法。即增加一个辅助堆栈来存储最小值。 阅读全文
posted @ 2013-08-11 17:03 进击的程序员 阅读(3764) 评论(1) 推荐(1)
摘要:awk是一款优秀的处理列文本的小工具。是shell脚本的瑞士军刀。本案例是假设有N行文本,现在匹配某一行文本并且在此行文本之前插入一行指定的文本。 阅读全文
posted @ 2013-08-11 14:14 进击的程序员 阅读(3523) 评论(0) 推荐(0)
摘要:余数是作出发运算时剩下的数字。我们从小学就开始反复练习。不过有关除数的计算只在学习除法运算时略见其影。然而,无论在数学还是在编程中,余数都是起着非常重要的作用。这里通过几个思考题来学习“余数就是分组”的思想运用。 阅读全文
posted @ 2013-08-10 10:56 进击的程序员 阅读(1596) 评论(4) 推荐(0)
摘要:在面试笔试当中,让面试者自己实现某些库函数也是数见不鲜。下面要讲的一个算法来自百度的面试题。memove函数是C语言里面的一个标准库,包含在头文件里。要是先这样一个算法,需要考虑目标字符串和源字符串边界重叠的情况。 阅读全文
posted @ 2013-08-09 16:11 进击的程序员 阅读(6102) 评论(0) 推荐(0)
摘要:awk是一款优秀的处理列文本的小工具。是shell脚本的瑞士军刀。本案例是假设有N行文本,每一行文本包括字段1和字段2,将字段2匹配字段1的文本行输出。 阅读全文
posted @ 2013-08-09 14:36 进击的程序员 阅读(3875) 评论(1) 推荐(0)
摘要:awk是一款优秀的处理列文本的小工具。是shell脚本的瑞士军刀。本案例是假设有N行文本,我希望判断出第二个域内重复的选项。然后重复的选项比较第四个域的大小,取出小的输出第一个域,如果相同比较第三个域的大小,同样取出小的输出第一个域,若还是相同则输出第一个,这个该如何写脚本或者awk判断? 阅读全文
posted @ 2013-08-09 13:50 进击的程序员 阅读(4239) 评论(1) 推荐(0)
摘要:这是一道排列组合的题目。对于排列组合的题目在面试当中也是十分常见,主要考察小伙伴们的思维的有序性和解决问题的能力。本题就曾出自腾讯的笔试当中。一般这类题目大家做的时候用树的方式来帮助思考会有一些效果。 阅读全文
posted @ 2013-08-09 10:58 进击的程序员 阅读(2241) 评论(3) 推荐(0)
摘要:awk是一款优秀的处理列文本的小工具。是shell脚本的瑞士军刀。本案例是假设有N行文本,每行文本里假设有时间,现在想要把指定时间的文本去掉,然后保存到另外一个文本中去。 阅读全文
posted @ 2013-08-09 00:56 进击的程序员 阅读(16371) 评论(0) 推荐(0)
摘要:awk是脚本中出色的文本处理工具,是shell脚本的瑞士军刀。本案例是有2个文本:a和b。现在过滤出a文本中的存在且b文本中也存在的行。 阅读全文
posted @ 2013-08-09 00:40 进击的程序员 阅读(3479) 评论(1) 推荐(0)
摘要:awk是脚本中出色的文本处理工具,堪称shell脚本的瑞士军刀。本案例输入的是N行文本,文本中包含一些百分比,现在要过滤大于70%的行。 阅读全文
posted @ 2013-08-09 00:28 进击的程序员 阅读(6154) 评论(1) 推荐(0)
摘要:本篇文章和上一篇文章所采用思路同出一则,上文用到的方法大致可以总结为:“一次扫描,向左平移”。时间复杂度为O(N)。本次算法依然采用这种方法。当然本题还用到了“字符串hash”,这种方法也在不少算法中取得了四两拨千斤的效果。 阅读全文
posted @ 2013-08-09 00:07 进击的程序员 阅读(8468) 评论(0) 推荐(0)
摘要:无论是在面试当中还是在项目当中,去除多余的空格都是十分常见的。所以面试官或者笔试当中这个题目问的还是比较多的。即字符串左边空格,右边空格,然户字符串中如果有几个空格则合并成一个空格。笔者在写一个命令行参数程序时,就觉得去除空格十分有用。 阅读全文
posted @ 2013-08-08 23:59 进击的程序员 阅读(10076) 评论(1) 推荐(2)
摘要:最短字符串匹配算法,这道算法是基于前面算法的基础上将条件设置更严格了。基本上算法还是用之前那个算法,然后加上最小值判断。这2道题透漏一点信息,说明笔者平时缺乏思索,为做题而做题。没有学到举一而反三的本领。 阅读全文
posted @ 2013-08-08 23:44 进击的程序员 阅读(1746) 评论(3) 推荐(0)
摘要:字符串系列第三个算法是求左旋字符串。顾名思义,就是将字符串循环左移n位, 此题也是笔试面试中常见。该题算法要求空间复杂度为O(1)。所以只能采用交换的技巧。另外本算法还用到了字符串hash的技巧 阅读全文
posted @ 2013-08-08 23:35 进击的程序员 阅读(1576) 评论(2) 推荐(0)
摘要:字符串系列第二个算法是求连续最长数字串。在一个字符串中,截取最长数字串也很常见。这道题在各大公司的面试题中也是数见不鲜。主要是考察面试者的字符串处理功底。也考察了编程当中的字符串hash技巧。 阅读全文
posted @ 2013-08-08 22:20 进击的程序员 阅读(779) 评论(0) 推荐(1)
摘要:无论是在项目当中还是在面试当中,涉及到字符串类的算法总是很多,那么笔者从网上以及自己遇到的相关算法总结在此。而第一个算法是字符串翻转。字符串翻转算法不是很难,但是在面试当中却总会遇见到。因为简单而且常见,所我把此算法作为字符串面试系列的第一个算法。 阅读全文
posted @ 2013-08-08 21:10 进击的程序员 阅读(1768) 评论(2) 推荐(1)
摘要:前言 长久以来,笔者一直想用一种管理工具,将所编写的测试程序、算法代码以及工程代码统一管理起来。因为有些是用Java写的有些是用C++写的。虽有想法,但却无行动。这又让我想起了昨天晚上看到一部电影里所说,"思想上的巨人,行动上的矮子"。笔者也不想做这种人。要笔耕不辍,要随时随地表达思想。后来通过一段时间学习Makefile。发现其强大,无比强大。 正文 就比如说,我们是用VS2010,或者什么IDE工具,你要做多少操作啊。起码你要编写多个工程,然后右键某个工程,点击编译,运行吧,有时候工程多了还卡。那反过来用Makefile呢?我们只需要make就完全生成我们所需要的程序文 阅读全文
posted @ 2013-08-08 17:50 进击的程序员 阅读(2106) 评论(0) 推荐(0)