代码改变世界

随笔档案-2011年07月

【转】IMO2011趣题:总存在一条将会遍历所有点的直线

2011-07-30 12:52 by Aga.J, 558 阅读, 收藏,
摘要: 原文链接:http://www.matrix67.com/blog/archives/4511下面这个精彩的问题来自于刚刚结束的 IMO 2011 中的第 2 题:设 S 是平面上包含至少两个点的一个有限点集,其中没有三点在同一条直线上。所谓一个“风车”是指这样一个过程:从经过 S 中单独一点 P 的一条直线 l 开始,以 P 为旋转中心顺时针旋转,直至首次遇到 S 中的另一点,记为点 Q 。接着这条直线以 Q 为新的旋转中心顺时针旋转,直到再次遇到 S 中的某一点,这样的过程无限持续下去。证明:可以适当选取 S 中的一点 P ,以及过 P 的一条直线 l ,使得由此产生的“风车”将 S 中的 阅读全文

老大让我学Linux之练笔作业:过时文件删除脚本,日志监控程序

2011-07-29 16:29 by Aga.J, 777 阅读, 收藏,
摘要: 练笔作业1: 要求使用脚本将某个目录下前两天的文件删除实现: #!/bin/bash threshold=$(date --date='2 days ago' +%Y-%m-%d) directory=testDir cd /$directory ls -l | awk '{v0="rm -r"; v1=$8; if ($6!="" && $6<"'"$threshold"'") {print "delete ",$8;system( 阅读全文

最近很郁闷,发下大学最后一次学期考试成绩激励自己

2011-07-27 12:30 by Aga.J, 350 阅读, 收藏,
摘要: 排名22,34那两门课是不用考试的,排名38那门课我就想不明白了,考试感觉还可以,结果很意外纯属情绪发泄,不是炫耀,大学的考试很简单 阅读全文

垂直狭义SNS

2011-07-22 15:47 by Aga.J, 243 阅读, 收藏,
摘要: 在泛SNS的大潮下(Google+,Facebook,人人,新浪微博等),似乎没有人发现SNS还有某些精华没有被挖掘,秘密启动项目来完成这样一个狭义SNS。(ps:整个开发过程-从需求到产品交付-我抛弃了以前经常使用的较重的开发过程,时间不多精力不多,所有东西都是追求简单,这也必然带来很多错误)。 (一) Idea是我很久前想到的(其实还有很多Idea),今天决定实现它,使用PPT的形式勾勒出基本设想的场景和交互过程。PPT里面简单的图片可以帮助我们很快的画出界面原型,然后再加上超链接的动作,这样我们就完成了一个可见可交互的系统原型 (二) 当然,PPT制作只是为了挖掘更多idea,发现这个. 阅读全文

老大让我学Linux之echo指令,awk,grep,sed指令及shell上的socket程序实例

2011-07-22 10:42 by Aga.J, 5417 阅读, 收藏,
摘要: 下文摘自网络文章Linux echo命令功能说明:显示文字。语 法:echo [-ne][字符串] 或 echo [--help][--version]补充说明:echo默认会将结果字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。参 数:-n 不要在最后自动换行-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停留在原来的位置;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入tab;\v 与\f相同;\\ 插入\字符;\nnn 插入nnn(八进 阅读全文

老大让我学Linux之shell变量替换,cat指令,head和tail指令

2011-07-22 10:31 by Aga.J, 6637 阅读, 收藏,
摘要: Shell变量替换条件变量替换:Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换条件放在{}中.(0) ${parameter} 和$parameter相同,表示变量parameter的值(1) ${value:-word} 当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值. 有点类似 a?a:b(2) ${value:=word}与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将word赋值给value(3) ${value:?message}若变量以赋值的话,正常替换.否则将消息message送到标准错误输出(若此替换出现 阅读全文

老大让我学Linux之管道

2011-07-22 09:55 by Aga.J, 3080 阅读, 收藏,
摘要: 什么是管道?管道,很形象的一个词,描述的是linux系统中进程间是如何通信的。可以将一个程序的输出直接连接到另一个程序的输入,常说的管道多为无名管道,无名管道只能用于具有亲缘关系的进程之间。那么非亲缘间的进程怎么通信呢,这就通过named pipe(命名管道)来完成了。不管是半双工的匿名管道还是命名管道,它们都是利用FIFO排队模型来指挥进程间的通信。 例如我们使用ls –l来列出当前文件夹下有什么文件的信息,我们可以使用管道,将这些结果传递到另一个地方去(这里ls –l估计默认的隐含的管道是指向bash shell,所以我们使用ls –l时总可以看到shell上显示文件信息),我们试试 l. 阅读全文

老大让我学Linux之test指令,expr指令,Shell特殊变量

2011-07-22 09:36 by Aga.J, 2704 阅读, 收藏,
摘要: test指令(使用指令man查询)功能:检查文件类型,值比较。test的各种参数和使用。test EXPRESSION1 –a EXPRESSION2当表达式1和表达式2同时为真时值为真test EXPRESSION1 –o EXPRESSION2当表达式1或者表达式2为真时值为真test –n STRING或者test STRING当STRING串的长度不为零时值为真test –z STRING当STRING串长度为零时值为真test STRING1 = STRING2当STRING1和STRING2相同时值为真test STRING1 != STRING2当STRING1 和 STRING 阅读全文

老大让我学linux之初识linux shell

2011-07-22 09:10 by Aga.J, 1673 阅读, 收藏,
摘要: 什么是shell?Shell是一种命令解释器,用户只需要在shell内输入shell可识别的命令,即可借助shell进行一些系统操作,这和我们日常所用的windows 下的命令行一样,所以 linux shell可以类比做windows 下的命令行。 Linux提供了几种shell程序供我们选择使用,常用的有Bourne(bsh),C(csh),Korn(我用的是Ubuntu 桌面版,它的shell类型是bash-Bourne shell的增强版,可以通过在shell内输入echo $SHEL来打印)。下面是摘自网络上的一些关于linux几种常见的shell的简单介绍: Bourne she. 阅读全文

互联网革新的下一个受益者是谁?

2011-07-06 19:03 by Aga.J, 236 阅读, 收藏,
摘要: 很好的一篇文章,做了市场的领域划分,好点子就从这里来了,连接:http://news.cnblogs.com/n/107521/我非常赞同 Tim O’Reilly 将互联网比作一个操作系统的观点——世界上最大的和最有用的一个。互联网具有发展子系统的特质,这一特质成功地抛开了一些只有一个赢家的市场可能性。互联网子系统具有运用数字技术进行革新的潜力。有些子系统的领域非常清晰,并且有一到两家大公司占主导地位。而在其它一些不够发达的领域中,还有没这种成功的先行者。所有的互联网子系统都会在一定程度上影响现有的用来解决类似问题的行业。而这些影响主要体现在以下几个方面:这是世界上首个支持多对多(我把它定. 阅读全文

Java内部类应用实例:控制框架

2011-07-03 14:53 by Aga.J, 1734 阅读, 收藏,
摘要: /* * "控制框架"是应用程序框架的一种特殊类型,受到对事件响应的需要的支配: * 例如主要用来响应事件的一个系统叫做“由事件驱动的系统” * 为了理解内部类如何简化“控制框架”的创建和使用,可以认为一个控制框架的工作 * 就是在事件“就绪”以后执行它们。针对“控制框架”需要控制的东西,框架内并没有 * 包含任何特定的信息。 */(一)定义“事件”public abstract class Event { private long evtTime; public Event(long eventTime) { evtTime=eventTime; } public boo 阅读全文

mongoDB是什么?又吸引我的注意力了

2011-07-02 15:36 by Aga.J, 6884 阅读, 收藏,
摘要: 这阵子mongoDB炒得很火啊,大家都在学,我也来凑凑热闹了解了解那是什么东西。 首先当然是维基百科啦,看看介绍先。。。 http://en.wikipedia.org/wiki/MongoDB(下面是我的翻译) MongoDB是一个开源的,高性能,无模式(或者说是模式自由),使用C++语言编写的面向文档的数据库。正因为MongoDB是面向文档的,所以它可以管理类似JSON的文档集合。又因为数据可以被嵌套到复杂的体系中并保持可以查询可索引,这样一来,应用程序便可以以一种更加自然的方式来为数据建模。 下面介绍MongoDB的特点: 1 统一的UTF-8编码 不是UTF-8编码集合的数据也可以通. 阅读全文

STL源码剖析之container,stream,functor Adapter

2011-07-02 13:44 by Aga.J, 855 阅读, 收藏,
摘要: 6 container adapter Stack是一个container adapter,它封装了所有的deque对外接口,只开放符合stack原则的几个函数,从stack的定义中我们可以看到,它是使用deque作为底层逻辑结构,封装其接口来暴露自身接口 Template<class T, class Sequence=deque<T> > Class stack { Protected: Sequence c; }; Queue也是同样的道理 Template< class T, class Sequence = deque<T> > Cla 阅读全文

STL源码剖析之Adapter以及functor adapter初体验

2011-07-01 21:52 by Aga.J, 1064 阅读, 收藏,
摘要: 1 adapter在设计模式上的定义如下:将一个class的接口转换为另一个class的接口,使得原本因为接口不兼容而不能合作的classes可以一起运作。2 STL提供多种adapter,其中改变functor(仿函数)的接口的叫做 function adapter。改变 container(容器)接口的叫做container adapter改变 iterator(迭代器)接口的叫做iterator adapter3 container adapter容器queue和stack就是一种container adapter,他们修饰deque的接口形成一种新的容器接口4 iterator ada 阅读全文