Fork me on GitHub

2013年3月20日

摘要: 大数据排序的实现代码, 理论上支持几百亿没问题吧先上说说思路,1, 把一个bigdata文件拆分成N个小文件,小文件容量小于当前机器的内存2,对小文件进行排序处理3,对小文件进行并归排序,代码中我是用1 and 1,一个个并归生成新的排序完成的文件,直到全部并归完成简单说说我这里的并归算法,代码中的sortBySmallFile,如有文件A有n个元素, 文件B有m个元素这里的并归,先取出An0,分别比较Bn0,Bn1.... ,当An0>Bn,把Bn写入新文件,直至An0<Bn 时把An0写入结果文件,循环取出An1OK,上代码?packagecom.ben.file;import 阅读全文
posted @ 2013-03-20 18:57 HackerVirus 阅读(287) 评论(0) 推荐(0)
摘要: NuGet添加本地包(Package)最近在读Pro MVC3 ,书中示例给了很多.nupkg文件。如何将这些包导入到项目中?首先请安装NuGet,在此不多详述,请自行百度谷歌。运行VS2010 打开工程,依次点击"工具"->"Library Package Manager"->"Add Library Package Reference..."点击"Settings"按钮:在Source选项中选择本地包所在文件夹,Name会自动填充,可以修改:点击“Add”,列表中出现了我们自定义的源包,点击“确定” 阅读全文
posted @ 2013-03-20 18:55 HackerVirus 阅读(1170) 评论(0) 推荐(0)

2013年3月19日

摘要: WCF中的集合类型在.net中,各种类型的集合均实现了IEnumerable或者IEnumerable<T>接口,一个数据契约的数据成员可以是一个集合类型,服务契约也可以定义直接与集合交互的操作,但是这都是.net所特有的,WCf不能在元数据中公开它们,然后WCF专门为集合提供了编组原则。 在定义服务时候,无论使用的是IEnumerable<T>、IList<T>和ICollection<T>,他们的传输形式都使用了数组,如namespaceContractInterface{ [ServiceContract]publicinterfaceIC 阅读全文
posted @ 2013-03-19 22:14 HackerVirus 阅读(332) 评论(0) 推荐(0)
摘要: 系统学习Spring之Spring in action(一)废话两 句,以前也看过Spring in action,那时候只能草草的看看,没有仔细阅读,如今在读Spring in action 是想发奋图强,几个月后就要结婚了,也许会在今年会要宝宝,为了给宝宝一个更好的生活环境,为了做一个好爸爸,我从现在开始努力的工作,努力的学习,我想 在博客园中留下我的奋斗足迹,同时也鞭策自己,不要放弃自己的初衷。 --2013-03-... 阅读全文
posted @ 2013-03-19 21:41 HackerVirus 阅读(210) 评论(0) 推荐(0)
摘要: iOS学习笔记之CoreGraphics框架很多时候,当你需要设计更高级的UI或者是减少设计师的工作量的时候,我们就需要用代码自行绘制UI,而自行绘制UI就需要用到CoreGraphics这个框架(OpenGL更高阶,目前还没达到这个水准)。CGContext类,相当于Android里面的Canvas,使用UIGraphicsGetCurrentContext()获取当前CGContext的引用CGContextRef。我们在每一次的绘制之前都应该保存下原来的状态,待绘制完成后再恢复回原来的状态。所以CGContextSaveGState(ctx);… CGContextRestoreGSta 阅读全文
posted @ 2013-03-19 21:39 HackerVirus 阅读(523) 评论(0) 推荐(0)
摘要: 利用反射从程序集dll中动态调用方法(附demo下载)在某些应用场景下我们需要动态调用某些程序集中的方法,例如某些大型产品中集成子产品、子项目或第三方产品的功能,有一种方式是通过数据持久化的形式来,数据持久化可能是用关系数据库或XML等存储程序集名称、命名空间、类名、方法名、参数类型及值等,这样通过反射结合业务逻辑就可以做出非常好的解耦的组件,这里暂时不考虑持久化和业务逻辑,只是单纯的引入一个demo来实现利用反射动态调用dll中的方法。主要步骤总结如下:1、获取程序集的文件名或路径,加载程序集; Assembly assembly = null; ... 阅读全文
posted @ 2013-03-19 21:37 HackerVirus 阅读(521) 评论(0) 推荐(0)
摘要: 手动升级Wordpress教程_wordpress自动升级失败怎么办? 之前wordpress那些事儿写了一篇关于《盘点WordPress自动升级失败的各种原因》,主机限制、网络问题、DNS问题等各种问题都会造成Wordpress自动升级失败,自动升级失败解决的办法自然是手动升级Wordpress了。手动升级Wordpress最麻烦的就是上传Wordpress程序包了,好在我们可以先将最新版本的Wordpress打包上传再在服务器上解压,这样就能大大节省升级所需要的时间了。下面wordpress那些事儿就为大家介绍一下手动升级wordpress教程的详细步骤。一、手动升级Wordpress教. 阅读全文
posted @ 2013-03-19 21:23 HackerVirus 阅读(228) 评论(0) 推荐(0)
摘要: video上传架构设计与实现项目需要做一个关于视频上传的功能。整体的流程就是用户通过页面上传视频,然后后台记录上传信息,转码,播放。其实就是和youku,tudou等ugc视频的功能类似的。可能存在的瓶颈及解决方法:1.上传的网络瓶颈。(横向扩展,通过添加nginx即可)2.后台处理的瓶颈,涉及到截图,调整文件位置等后续操作。返回给前端的消息及时性。(延时消息异步,先给前端返回,再进行后续的操作)3.高并发。系统架构: lvs nginx nginx nginx nginx web_server(tornado)... 阅读全文
posted @ 2013-03-19 21:20 HackerVirus 阅读(348) 评论(0) 推荐(0)
摘要: 你所需要知道的一些git 的使用命令:Git大师2013-03-19 15:31 by Terry_龙, 478 阅读,0评论,收藏,编辑=== 源码发布 ===就我的项目而言,Git完全跟踪了我想打包并发布给用户的文件。创建一个源码包,我运行:$ git archive --format=tar --prefix=proj-1.2.3/ HEAD=== 提交变更 ===对特定项目而言,告诉Git你增加,删除和重命名了一些文件很麻烦。而键入如下命令会容易的多:$ git add .$ git add -uGit将查找当前目录的文件并自己算出具体的情况。除了用第二个add命令,如果你也打算这时提 阅读全文
posted @ 2013-03-19 21:19 HackerVirus 阅读(152) 评论(0) 推荐(0)
摘要: 浅谈Java分布式计算存取数据库怎么办?我们知道,大多数情况下,方法的调用都是发生在相同堆上的两个对象之间,如果要调用不同机器上的对象的方法呢?通常,我们从某一台计算机上面取得另一台计算机上的信息是通过socket的输入/输出流,打开另一台计算机的socket连接,然后取得outputStream来写入数据.但如果要调用另一台计算机上,另一个Java虚拟机上面的对象的方法你?我们当然可以自己定义和设计通信协议来调用,然后通过Socket把执行结果再传回去,并且还能够像是对本机的方法调用一样,也就是说想要调用远程的对象(像是别的堆上的),却又要像是一般的调用.这就是RMI带给我们的功能.远程过程 阅读全文
posted @ 2013-03-19 21:17 HackerVirus 阅读(390) 评论(0) 推荐(0)