代码改变世界

更换邮箱那些事儿

2013-05-01 17:34 by MichaelYin, 200 阅读, 收藏, 编辑
摘要:由于中国雅虎的邮箱服务马上就要停止,趁着放假有时间,决定把散落各处的账号进行整理,并将原先和雅虎邮箱绑定的账号绑定到另外的邮箱上去,防止由于邮箱失效造成以后不能找回账号的登录密码。 更换登录账号绑定的邮箱,方便用户进行数据迁移,这是一个原始用户需求,各个应用对于这个需求有着不同的解决方案。 想到我的众多可爱师妹们,以及那些众多好图,人人账号是我最先进行修改的 1: 进入账号设置页面以后,看到... 阅读全文

CodeKata-Data Munging

2013-03-03 22:43 by MichaelYin, 201 阅读, 收藏, 编辑
摘要:这次的CodeKata主要训练的是正则的使用,之前了解正则是在Asp.net的URL处理上,比如进行URL的重写需要进行正则的匹配,这次正好学习学习。第一个问题是对天气数据的提取,取出温度分布最小的那一天,使用正则中的group就可以很方便的取出相应的数据第二个问题是根据英超成绩找出净胜球最接近0的球队原理和上一个相同,考察的也是正则表达式中的group,后面的无关数据不需要匹配,所以只要能确保解析到我要的数据就OK了。第三个问题是对前两个问题的代码进行分析,提取出共用的部分,进行重用。考察前两个问题的代码,发现文件读取,正则处理,都是很类似的逻辑,所以将这部分进行提取抽象成一个类,将正则,相 阅读全文

CodeKata-How Big, How Fast?

2013-02-19 23:40 by MichaelYin, 108 阅读, 收藏, 编辑
摘要:这次主要是训练的对于基本空间和时间复杂度的一些估计的思考,作者承诺一周后给出答案,不过到现在为止答案也木有见到,莫非是读者自己去讨论?首先是对于十进制很大数字所占bit位的大致估计,只要知道2的十次方是1024,然后1024约等于1000,按照这个对比关系得出结果即可。第二个题目是对于存储空间的估计,人名,地址,电话号码啥的大概多少位也不是个定数,自己估计下就行,单个字符的话如果是ASC码的话按照一个字节来处理(编码方式决定这里的字节数),最后得出大概的结果就行。二分法查找的那个题目文章后面有评论给出了解法 ,不过我觉得这个解法是有问题的。它把两个之间通过一个比例关系来推导出最后结果所需要的时 阅读全文

CodeKata-Karate Chop

2013-02-17 21:47 by MichaelYin, 89 阅读, 收藏, 编辑
摘要:这个题目的意思是让读者用尽可能的多的方法实现二分查找算法,并对每种算法的优劣进行比较,题目详情可点击这里。二分法查找其实并不难,比较常见的就是两种方法,递归和迭代,并且方法中通过边界索引值进行计算,不会对原有的array进行任何修改。 在Python里面,优雅的切片运算符提供了另外一种方法的思路。在调用时不停的对需要进行比较的列表进行切片操作,不管是递归还是迭代,得到的都是切片后的列表。 代码... 阅读全文

前缀,中缀,后缀表达式学习笔记(2)

2012-05-03 15:51 by MichaelYin, 306 阅读, 收藏, 编辑
摘要:前面一章已经将前缀,中缀,后缀表达式的基本概念进行了介绍,同时也介绍了编程中较常用的中缀表达式转换到后缀和前缀表达式的方法。接下来主要针对前缀,中缀和后缀表达式求值来进行相应的讨论。 在上一篇BLOG中的开始就阐述了中缀表达式求值的过程,中缀表达式求值比较符合人脑的计算方式,而对于计算机来说并不是十分高效,需要多次对表达式进行遍历。下面贴出我自己实现的直接对中缀表达式按人脑计算方式进行求值的代码... 阅读全文

前缀,中缀,后缀表达式学习笔记(1)

2012-05-02 16:40 by MichaelYin, 8041 阅读, 收藏, 编辑
摘要:表达式简介 最近看书的时候接触到了后缀表达式,恰好看SICP中间也碰到了类似的问题,就花时间好好将这部分内容进行了整理。 前缀表达式(Prefix Notation)是指将运算符写在前面操作数写在后面的不包含括号的表达式,而且为了纪念其发明者波兰数学家Jan Lukasiewicz所以前缀表达式也叫做“波兰表达式”。比如- 1 + 2 3 后缀表达式(Postfix Notatio... 阅读全文

Winform中的Control.Invoke&Control.BeginInvoke

2012-02-22 21:06 by MichaelYin, 178 阅读, 收藏, 编辑
摘要:最近由于毕业论文的原因接触了下Winform,以前对于Control.BeginInvoke和delegate下的同样的方法的区别不是很清楚,这次借着这次机会把这个知识点好好补了一下。 先来说说Winform中的Control吧,Winform中的控件是运行在UI线程中的,而不是工作线程(可以通过InvokeRequired来进行判断是不是安全的),所以如果我们在工作线程中对其的属性进行修改的话... 阅读全文

算法学习之栈

2011-10-10 20:16 by MichaelYin, 828 阅读, 收藏, 编辑
摘要:最近趁着找工作做了很多关于数据结构和算法的题,在这里也将涉及到栈的一些不错的知识点和题目以及代码贴出来,一方面是为了夯实基础,另外一方面方便大家更好的掌握数据结构中的栈 栈的特性其实一说对数据结构有稍微了解的人都知道,后进先出,但是在解决问题的过程中熟练的使用合适的数据结构我觉得才是对栈真正的理解 首先来讲一个很经典的问题,就是出栈顺序,题目是这样的,比如现在又1 2 3 4 5五个数字,规定... 阅读全文

Heritrix学习系列导航

2011-10-10 15:52 by MichaelYin, 257 阅读, 收藏, 编辑
摘要:终于赶在去TX面试之前把这个系列拖着写完了,话说时间拖的也够久的了。没办法,一直都太忙了。。。各种事情,希望早点把工作搞定,以后会把Heritrix和Lucene整合专门在写几篇Post,呵呵~最后祝自己明天好运~ Heritrix之旅之CrawlController Heritrix之旅之Frontier Heritrix之旅之ToeThread Heritrix之旅之Processor 阅读全文

Heritrix之旅之Processor

2011-10-10 15:47 by MichaelYin, 229 阅读, 收藏, 编辑
摘要:实际的url的处理是在toethread中进行的,toethread从Frontier中请求待处理的url,并将其放到一系列Processor中进行处理 可以以流水线上的处理流程来想象Processor,流水线上的产品就是url,由于处理的processor主要着重于不同的阶段和功能,所以,heritrix将其processor分成了五个大类。 1 Pre-fetch 这里面包含一些需要在像... 阅读全文