随笔分类 - 开源技术
开源技术
摘要:
最近在大量使用Redis来进行数据统计前的清洗和整理,每天的数据量超5千万+,在开发过程中,数据量小,着重注意业务规则的处理,在上线基本测试后发现了大量的问题,其中之一就是Redis存储数据过多,内存的使用量大大增加。进过简单分析,对存储非常频繁的实体类进行了改进,字段名字进行缩写处理,一下子就减少了很多内存使用量。在对Redis的研究过程中,发现网络有人对Redis的不同数据结构内存占有量进行了对比。比较敢兴趣,所以也抽空进行了测试。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
本文对旅行商问题(TSP)的历史进行了简单的总结,以及相关算法进行了描述,重点介绍了Tsp优化问题的新算法——群蚁算法的原理和过程,详细对算法的理论和过程进行了解释和实例分析,并使用C#语言编写程序实现该算法。整篇论文是学习群蚂算法的基础性文章,同时也是了解TSP问题新动向,编程学习的一个好的例子。TSP问题在实际生活和工作中的出镜率非常高,说不定你就用得上,一起来看看吧。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_DataMining15.png)
摘要:
开放该数据库的目的是为了让可能需要该类型做相关研究准备,该数据库目前有390万记录,存储为Sqlite数据库,目前覆盖了全国34个省、直辖市、自治区以及特别行政区的所有县级市区。该数据库的历史天气时间范围是2011年1月至2015年8月底的数据,包括的天气数据有:天气情况,气温情况,风力情况。考虑每2-3个月更新一次。目前为一个总库,考虑到实际的城市等级,我对省份和城市进行了大概分级,具体研究分析的时候可以自己单独提取城市,单独处理。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
今天的主要内容是HtmlAgilityPack的基本介绍、使用,实际代码。最后我们以采集天气数据为例子,来介绍实际的采集分析过程和简单的代码。我们将在下一篇文章中开源该天气数据库和C#操作代码。采集核心就只是在这里介绍,其实核心代码都有了,自己加工下就可以了,同时也免费对有需要的人开放。至于具体详情,请关注下一篇文章。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
微软牛津计划(网址:https://cn.projectoxford.ai/#) 提供了一组基于Rest架构的API和SDK工具包,帮助开发者轻轻松松使用微软的自然数据理解能力为自己的解决方案增加智能服务。利用微软牛津计划构建你自己的解决方案,支持任意语言及任意开发平台。主要提供了4个自然语言处理方面的核心问题解决方案:
1)人脸识别:微软最先进的人脸算法,以云平台为基础,检测和识别图片中的人脸。为您的移动应用和桌面应用提供人脸算法的技术支持。
2)语音识别:Speech API为开发者提供最先进的语音处理算法。通过这些API,开发者可以轻松地为自己的应用添加语音操作功能。在一定条件下,这些API还可以实现与用户之间的实时交互。
3)计算机视觉:Computer Vision APIs为开发者提供最顶尖的图像处理算法。通过这些API你可以获得基于图像视觉内容的各种信息并生成理想的缩略
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:今天分享给大家的是关于WinForm开发相关的小巧灵活的开源项目。虽然现在WinForm开发可能不常见了,都转向B/S了,但偶尔还是有用到的地方的,特别是学校,以及一些研究演示之类的。所以这篇文章部分项目的实用性可能不高,但的确是一个非常值得学习的东西。因为看到这些功能组件,我会想到我刚自学入门的时候,是多么的难过,每天拖控件,想自己做一个都那么难,就是因为没接触到这些东西。所以分享是总结,是一个过程,不要让大家重复的踩坑和减少重复时间。所以特意做一个总结专题,以后如果有部分优秀的,也会单独更新在博客的。
阅读全文
摘要:
Accord.NET为.NET应用程序提供了统计分析、机器学习、图像处理、计算机视觉相关的算法。Accord.NET框架扩展了AForge.NET框架,提供了一些新功能。同时为.NET环境下的科学计算提供了一个完整的开发环境。该框架被分成了多个程序集,可以直接从官网下载安装文件或者使用NuGet得到。Accord.NET框架主要有三个大的功能性模块。分别为科学技术,信号与图像处理,支持组件。下面将对3个模型的命名空间和功能进行简单介绍。可以让大家更快的接触和了解其功能是否是自己想要的,下面是主要的命名空间介绍。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
在足球彩票玩法中,经常要选择几场比赛,以及每场比赛不同的结果组合,进行投注,这个时候就要生成所有的排列组合了,以便进行下一步的平衡投注计算。 KwCombinatorics,它是.NET平台一个高效的生成排列组合序列的开源类库,它提供了4种生成排列与组合序列的方式。虽然原理和功能都很简单,但是这个类库在软件测试、组合数学以及密码学等方面都有很大的用处。很早就接触了这个类库,以前在一些小程序中也使用过,有时候为了遍历所有可能的组合,自己去写循环,生成,的确很繁琐,有了KwCombinatorics 之后,都变得简单写了,接下来将详细介绍该类库的使用。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_caipiao.png)
摘要:
全国成百上千家互联网彩票公司,都有足球赛事资料库系统,但是他们不共享,都是自己采集,而有大量的业余研究人员,特别是程序员玩足球的,很多都要自己采集数据,多多少少造成了很多浪费,不仅仅是精力时间的浪费,更多的是网络资源,带宽的浪费。所以我开放这些数据的目的,基于以下几点:1.让喜欢足球的程序员,可以直接获取足球赛事资料数据,不用重复采集;2.开放基础数据库,让更多的人可以实现自己的思路和想法,专注业务,而不是这些没有技术含量的数据;3.采集数据,从某些角度上说,只要花时间,都可以做,我就是把自己花时间做的,分享出来,降低大家的门槛。4.我们不仅开源核心的数据库,同时也开放针对数据库的数据访问接口代码(C#版本),大家有数据库,也可以自己写相应代码,但前提是搞清楚数据库的结构,可以参考上面提到的系列文章。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_caipiao.png)
摘要:
在上一篇文章中,给大家初步介绍了一下FluentValidation验证组件的使用情况。文章从构建间的验证器开始,到最后的结果,以及复杂验证等都做了比较深入的讲解和使用。但其实一个完整的组件是麻雀虽小五脏俱全的,一篇文章还不能说明问题,,一篇文章还不能说明问题,对优秀的组件,我将分开尽量多一点的进行很完整的介绍。FluentValidation在使用的时候,我们也可以看到例子中,有一些验证方法,例如NotNull等,其实是其内部已经实现的几个常规的验证。所以先来看看他们的使用以及作用。FluentValidation本身附带了一个内置的验证器,每个验证器都可以输出固定格式的错误信息。这些内置的验证器是大家自定义验证器的基础。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
上午10点一个朋友紧急求助,单位要进行在线测评,开卷考试,题库以及答案已经发给他们了,但是太多,好几百道题目,翻资料都来不及。问我能不能做一个软件,能够快速填充答案或者找到题目,节省时间,提高准确率。经过半个小时的QQ沟通,基本明确了大概要做的,由于时间紧急,晚上就要用,尽量搞简单的吧。总结下来,有这么几个需求:要能快速导入题库,几百道题,手动添加得多长时间,不敢想象,再说了,会写点程序就是要减轻工作量;要尽量自动化,直接填充答案是不可能了,不是技术上不可行,是时间来不及,在线考试的页面都没见到;题库类型比较多,有填空题,单选题,多选题以及判断题,要尽量区分,第一时间找到原题和答案;
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
在前2篇文章.net开源项目的文章中,大伙热情高涨。再次拿出自己的私货,在.NET平台处理文档相关的开源组件。文档处理在开发中是一个非常常见的任务了,例如导出Excel,导出Word,生成PDF报表等等。今天的主要内容有:Excle神器NPOI,NPOI扩展—NPOI.CSS,ExcelReport报表引擎,Epplus,LinqToExcel,Doc文档工具Docx,PDF处理组件PDFsharp,MigraDoc文档生成器,PdfReport报表工具,文件差异比较diffplex等等
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
今天要关注就是核心的赔率指数表,由于赔率指数表的内容比较多,所以将分为2篇来进行。赔率指数是赛事预测的重要参考条件,虽然有一定的随机因素,但是根据长期的分析和统计,赔率还是具有很强的指导性。所以赔率指数数据库的设计也尤为重要。一方面要考虑到日益增长的赔率数据越来越多,需要确保查询分析的速度;另外一方面赔率的类型比较复杂,设计要比较合理,才能在后续的统计分析和预测模型中方便使用。 本篇文章是赔率指数表第二篇,因为指数类型比较多,今天要介绍的是几种大家可能接触比较少的,一般在国外用得比较多的,考虑到系统的完善性,而且也不复杂,所以都包括进来了。还是沿用上一篇文章的思路,赔率指数都是继承公共的基类,这里也只贴出不同的字段。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_caipiao.png)
摘要:
Expression Evaluator是一个轻量级的可以在运行时解析C#表达式的开源免费组件。表达式求值应该在很多地方使用,例如一些工资或者成本核算系统,就需要在后台动态配置计算表达式,从而进行计算求值。经过看源代码,这组件是用到了一个Antlr3的开源工具,Antlr3是一个开源的,支持多平台的语法解析器。该组件目前还在更新中,所以值得关注。Expression Evaluator支持的特性有:*支持算术运算符,支持关系运算符,以及逻辑运算符 *支持表达式分组和括号,以及递增递减运算符 *支持表达式属性访问以及动态类型,支持字符串的+运算
*支持数值类型的后缀d/f/m/l/u/ul、
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
介绍了LiteDB的基本使用情况以及部分技术细节,我还没有在实际系统中大量使用,但文章发布后,有不少网友反应在实际项目中使用过,效果还可以吧。同时也有人碰到了关于LiteDB关于分页的问题,还不止一个网友,很显然这个问题从我的思考上来说,作者不可能不支持,同时也翻了一下源码,发现Find方法有skip和limite参数,直觉告诉我,这就是的。但是网友进一步提问,这个方法并不是很好用,它也没有实现的分页的情况。所以就亲自操刀,看看到底是神马情况?不看不知道,这个过程还真的不是那么回事,不过还是能解决啊。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
最近偶尔发现一个算法编程学习的论坛,刚开始有点好奇,也只是注册了一下。最近有时间好好研究了一下,的确非常赞,所以推荐给大家。功能和介绍看下面介绍吧。首页的标题很给劲,很纯粹的Coding社区。。。。虽然目前人气可能一般,但这里面题目和资源还是比较丰富的,希望给初学者一个帮助。 论坛主要是进行算法学习和交流,需要进行注册才可以进入。论坛有大量的算法讨论问题,以及算法编程竞赛。最主要的是论坛还可以针对编程问题,可以在线提交代码,以及进行编译和时间计算。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_DataMining15.png)
摘要:
准确的说这篇文章不是给完全的编程新手,特别是以前没有过一定编程经验的人准备的。文章的适合对象是:已经有一定编程基础的人,如果你想用Matlab来快速的完成算法验证,以及科研学术研究等。文章的范围很大,信息量很大,个别问题新手不是很理解,请自行百度。至于有编程经验的,本文提到的大部分内容应该是可以理解的,根据思路,打开Matlab软件也应该是可以选择的。本文选择的Matlab版本是:2012a,个人觉得这个版本一直都还不错吧。新的版本虽然菜单中文化,但那个UI真是丑爆了,无力吐槽,也没必要换。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/478482/o_math.jpg)
摘要:
FluentValidation是一个使用Linq表达式,非常流畅的小型业务对象验证组件。流畅也可以说优雅。类似链式操作。易于理解,功能完善。还可以配合MVC使用直接在页面进行验证,当你看到它的语法时,非常优雅,非常令人心动。不仅可以使用Linq的操作,还能自带验证返回信息。更重要的是,组件内部已经封装好了10几种验证器。当然可以自定义一个复杂的哦。核心dll文件也不大,130多k。如果好用,可以自己移植到自己的系统哦。直接更好。目前一直在更新中,主要是bug修复。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
上个月在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 中都提到了SharpConfig组件,简单轻量级,速度快,而且还有比较深入的使用介绍。在文章发布后,也有网友提到一些问题,当时我也没仔细去分析,在这次我亲自使用的过程中,就对几个问题进行了比较深入的研究,同时对不满足自己的地方,也进行了扩展。所以今天就把对SharpConfig的源码进行一个简单的分析,同时也根据需求对自己的一个特殊情况进行扩展。自己动手丰衣足食。。。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
程序的注释在程序的编写和维护中扮演着相当重要的角色,在Visual C#中,可以为代码创建文档,方法是在XML标记所指的代码块前面,直接在源代码的特殊注释字段中包括XML 标记。编译器编译时将在源代码中搜索所有的 XML 标记,并创建一个XML文档文件。.NET文档生成工具(下文简称为ADB)通过反射程序集及其代码中的XML注释来创建MSDN形式的API文档。很久以前就使用ADB这个工具来生成项目的帮助文档。功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释。就生成文档来自己看,非常好用。这也是一个学习方法吧。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)