摘要:项目地址:http://code.google.com/p/go-home/,源代码svn地址:http://go-home.googlecode.com/svn/trunk/去年出的一款比较老的订票软件,现在可能已经失效了,只是拿来学习下基本的订票流程,方便对其他订票脚本的研究。基本流程图:1, 获取图片验证码提交请求给https://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand,2,获取登陆时使用的随机数,提交请求给https://dynamic.12306.cn/otsweb/loginAction.do?method=log
阅读全文
摘要:前几天在我在博客上发了一篇《技术宅---我的网上抢火车票攻略》,短短4天内点击量达到8000多,可见火车票是近期最为火热的话题了。这几天又帮很多朋友代购火车票,不断总结经验教训,最后得到了一个完整的全自动刷票方案。 准备工作: 1)一键自动刷票软件Go-Home下载地址:http://code.google.com/p/go-home/,这个软件有多牛逼,看看下面的项目简介就知道了。。。 2)Firefox浏览器或者Chrome浏览器 3) 12306自动登陆脚本https://gist.github.com/raw/1570973/f200dd587f6d68ab81edf7...
阅读全文
摘要:写在前面写这篇文章的起因是今天在12306上买火车票时,被这牛逼的网站给震撼到了,靠,牛叉得让人无语的用户体验啊。就讲讲我是如何利用一个小工具做辅助,幸运地抢到了回家的卧铺票的。希望能给有需要的兄弟们做个参考。 回顾下我今天网上购票的全过程,总结起来有四个难关,第一是登陆,第二是预定,第三是提交订单,第四是支付。本文的目的主要是为了在第一和第二关提供一些帮助。准备工作:1,firefox浏览器2,油猴脚本扩展GreaseMonkey(有园友反映这里看不懂啥意思,好吧,特别补充一段。GreaseMonkey是一个firefox扩展,当然,别再问我啥是扩展了,请自行google,简单说,就是装了这
阅读全文
摘要:由于以前没接触过Maven,上周第一次checkout项目代码学习时,看到项目的结构觉得挺奇怪的,src/main/java下放代码,src/main/resource下放配置文件,src/test/java下放单元测试文件,src/main/webapp下放web层的代码,今天看了《Maven权威指南》后,才明白这是Maven的约定的代码结构,它的核心理念就是“约定优于配置”。 Maven和Ant的区别简单来说,就是如果你使用Ant,那么就必须明确告诉Ant你想让它做什么,你的源代码在哪里,结果字节码你想放到哪,如何把这些字节码打包成JAR文件,而使用Maven,你只需要创建一个pom.x.
阅读全文
摘要:今天接着读《MySQL技术内幕InnoDB存储引擎》的第5章关于索引这部分内容。 什么时候使用B+树索引?并不是在所有的查询条件下出现的列都需要添加索引,作者指出当访问表中很少一部分行时,使用B+树索引才有意义。对于像性别,地区,类型等字段,它们的可取值范围很小,即所谓低选择性,比如Select * from student where sex=’M’,那么结果可能是该表50%的数据,此时添加B+树索引是完全没有必要的,相反,如果某个字段的取值范围很广,几乎没有重复性,即高选择性,则此时使用B+树索引是最合适的,例如姓名字段。 因此,当访问高选择性字段并从表中取出很少一部分数据行时,对这个字段
阅读全文
摘要:1)今天在读《MySQL技术内幕InnoDB存储引擎》,作者在第四章讲到MySQL的分区时提到了一个问题,“对数据表分区真的会提高数据库的查询性能吗?”。对于OLAP的应用,分区的确可以很好地提高查询的性能,因为OLAP应用中大多数查询需要频繁地扫描一张很大的表。假设表中数据有1亿行,其中有一个时间戳属性列。你的查询需要从这张表中获取一年的数据。如果按数据戳进行分区,则只需要扫描相应的分区就可以了。对于OLTP 的应用,分区则应该非常小心。在这种应用下,不可能会获取一张大表中10%的数据,大部分都是通过索引返回几条记录就可以了。而根据B+树索引的原理可知,对于一张大表,一般的B+树需要2~3次
阅读全文
摘要:1,《可爱的Python》,难得的一本国人写的好书。这本书最有特色的一点就是以一个CD信息搜索程序作为载体,从最简单的需求入手,逐步深入下去,一点点对python脚本进行重构和改进。这个项目虽然很小,但却能体会到作者的整个思路过程,尤其是作者的思维过程的展现,很有实用价值。不过这个项目还应当更深入提升一些,应该将CD信息构造成倒排索引,再对搜索的关键字进行分词,然后进行搜索,如果像这样能与搜索引擎...
阅读全文
摘要:1,《Python How ToProgram》 这本书是2001年的老书了,连它使用的python版本我都没弄清楚,不过我python却是从此书入门的。里面没有Set,还在讲老掉牙的CGI,不过对操作符的重载讲解的不错,其他诸如多线程,网络,XMl,数据库,文件,序列化,异常等都还可以,比较适合没有任何python基础的人学习,作者可以说是极其耐心了,恨不能把代码一句一句分析给你听。2,《Exp...
阅读全文
摘要:1,写一本免费电子书。很早就有这个想法了,初步方向是firefox和thunderbird扩展方面的,也有部分mozilla平台内核代码的分析。虽然现在转投GoogleChrome的怀抱,不过还是割舍不下对Mozilla的感情。2,珍惜生命,远离微软。今年下决心将工作平台迁移到linux上去,以后只与开源产品打交道。这是今年最重要的事情,一定要完成。3,工作重心开始专注到ActionScript,...
阅读全文
摘要:1,有一个数组a[1000]存放0--1000;要求每隔二个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。[代码]2,有一个整数数组,现要求实现这个整数数组的循环右移。如:1,2,3,4,5 则循环右移两位后结果是:4,5,1,2,3。[代码]3, 以单词为最小单位翻转字符串[代码]4,题目描述:设有n个正整数,将它们联接成一排,组成一个最大的多位整数。例如:n=2...
阅读全文
摘要:1,不使用中间变量实现strlen[代码]2,统计32位整数二进制表示1的个数[代码]3,题目: 有一个数组t[100],存放了1~99之间的数字,用效率较高的代码把重复数字去掉。例如数组{1,2,2,2,3,5,6,6}变成{1,2,3,5,6}。[代码]4,写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。...
阅读全文
摘要:1,链表的常见操作 [代码]2,动态分配二维数组[代码]3.字符串简单操作[代码]4,统计一个字符串中所有字符出现的次数[代码]5. 在字符串中找出连续最长的数字串的长度[代码]6,最大公共子串[代码]
阅读全文
摘要:1,输入N, 打印 N*N螺旋矩阵比如 N = 3,打印:123894765N = 4,打印:1 2 3 412131451116156109 8 7[代码]2,要求:不申请变量和空间反转字符串,用一个函数实现。第一种解法就是不使用变量交换两个数的两种方法[代码]第二种方法就是利用空闲的’\0’字符占的位置作为中间变量,最后填补一个’\0’[代码]3...
阅读全文
摘要:1, 对任意输入的正整数N,编写程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。(不用考虑数值超出计算机整数界限的问题)解法1:(直接大数计算N!)[代码]解法2:连续K个0,则说明是10^K的倍数,即(2×5)^ K= 2^K× 5^K;待求的数为N*(N-1)(N-2)……̷...
阅读全文
摘要:1. 成语纠错问题背景你的任务是给一个错误的四字成语进行纠错,找到它的正确写法。具体来说,你只允许修改四个汉字中的其中一个,使得修改后的成语在给定的成语列表中出现。原先的错误成语保证不在成语列表中出现。有时,这样的“纠错”结果并不惟一。例如“一糯千金”可以改为“一字千金”也可以改成“一诺千金”。但由于&...
阅读全文
摘要:1, 两个一样的杯子,分别装着同体积的茶水和牛奶,然后茶水取一瓢到牛奶杯里,搅匀后从牛奶杯里取一瓢到茶水杯里,问牛奶杯里茶水多还是茶水杯里牛奶多?(华为)答:体积不变,是一样多。 假设茶水有1000单位,牛奶也一样是1000单位。无论他倒多少次,假设最后茶水杯里有X单位的牛奶,那么茶水杯里的茶水就是(1000-X)。所以牛奶杯里的茶水就是X单位。所以是一样多的。2, 有10个硬币外形无差别,知道其...
阅读全文
摘要:1、不使用额外空间,将 A,B两链表的元素交叉归并[代码]2,字节对齐[代码]输出:[代码]结构体A中有3个short类型变量,各自以2字节对齐,结构体对齐参数按默认的8字节对齐,则a1,a2,a3都取2字节对齐,则sizeof(A)为6,其也是2的整数倍.B中a1为4字节对齐,a2为2字节对齐,结构体默认对齐参数为8,则a1取4字节对齐,a2取2字节对齐,结构体大小6字节,6不为4的整数倍,补空...
阅读全文
摘要:1,请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句答:[代码]若a>b,则a-b和abs(a-b)均大于0,若a<b,则a-b和abs(a-b)异号,则互相抵消,值为0,若a==b,则无所谓,直接返回b2,如何输出源文件的标题和目前执行行的行数[代码]3,两个数相加,小数点后位数没有限制,请写一个高精度算法[代码]4,对第3题做下修改,变成:两个数相乘,小数点后位数...
阅读全文
摘要:1)If programming languages were cars... 编程语言和车进行类比的老笑话了,不过作者加入了最新的一些语言,如Ruby等 2)If Architects Had To Work Like Web Designers 给架构师们好好上一课。。。 3)Hilarious Hello worlds 又是经典的“Hello,World”,从新手到高手的各个演...
阅读全文
摘要:1)Mmm! I love raisins made with SELECT * FROM [Equipment Table]! 呵呵,这家公司用的什么系统哦,bug都上包装袋了。。 2)Web 2.0 how-to design style guide Web2.0的设计风格指南,简约而不简单。。。 3)What code DOESN'T do in real life (that it do...
阅读全文