随笔分类 - 开源技术
开源技术
摘要:
经常采集数据,肯定会碰到解析字符串,包括整个页面的html,或者json以及一些不标准的json格式。以前用json序列化,有时候需要实体类,有的时候没有,比较麻烦,听说可以用JsonMapper,解析为字典格式。不过没用过,习惯了用最原始的方法来解析字符串,所以这里分享几个解析的案例。也许会有点作用。 解析字符串最常用的应该是Splite和Replace了。分割,然后替换一些引号之类的。最后组合。特别是采集的时候,经常会把html页面中某一段要提取出来,可能很多人用正则表达式,可是不会啊,也不愿意去学。那只好用这些原始的方法了,时间久了,也积累一些经验或者函数。看看几个例子。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
在上个月发表的一篇文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 ,得到了很多朋友的响应。最近再次整理一些比较实用的.NET开源组件,如果大家有兴趣,下个月再整理2篇,分别是比较大型的和算法方面的。注意,本文所列出的.NET开源组件都是功能比较实用,但日常中曝光度比较少的,很多大家都知道的项目,我也没必要再发出来了。可能部分已经放弃更新了,但并不能说就不能用了,对于新手来说,可以是一个学习的过程,同时很多小功能组件,并不需要多长久的更新,稳定就行了。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
LiteDB是一个小型的.NET平台开源的NoSQL类型的轻量级文件数据库。特点是小和快,dll文件只有200K大小,而且支持LINQ和命令行操作,数据库是一个单一文件,类似Sqlite。 主要特点有:1.NoSQL文件存储。这是和传统关系型数据库的主要区别;支持实体类的字段更新;2.类似MongoDB的简单API;3.完成使用C#代码,在.NET 4.0环境下编写,核心dll小巧,只有168K;
4.支持ACID事务处理;5.可以进行写入失败的恢复;6.存储到文件或者数据流中(类似MongoDB的GridFS);7.类似Sqlite的单一文件存储;8.支持文件索引,可以进行快速搜索;9.支持Linq查询;【这也许是C#编写最直接的好处】;10.支持命令行操作数据库,官方提供了一个Shell command line;11.完全开源和免费,包括商业使用;
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
Compare .NET Objects组件是.NET平台用于深入比较2个.NET对象的开源组件,一直在更新,主要功能如名字所示就是深入比较2个.NET对象,是否相等或者是否有差异。可能很多.NET对象实现了一些.NET自带的接口可以直接进行比较,但是这个组件比较的范围和功能更加广泛。例如:可以比较默认的子节点;可以比较结构体;可以比较IList对象;可以比较单维或者多维的数组对象;可以比较枚举类型;可以比较IDictionary对象;可以比较数据集,数据表,字典等等;可以比较私有字段或者属性等等。Compare .NET Objects支持.NET 3.5及更高版本,同时也支持 Silverlight 5+, Windows Phone 8+, Windows RT 8+, Xamarin iOS, and Xamarin Droid等环境。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
在.NET平台日常开发中,读取配置文件是一个很常见的需求。以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲。不知道大家有没有同感。所以更多时候我还是喜欢使用开源的东西,更加方便简洁,也稳定。省去自己的麻烦。今天就介绍一个非常精致的.NET平台开源的操作配置文件(cfg/ini)的组件——SharpConfig。走过路过,千万不要错过!
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
在上一篇文章:机器学习之PageRank算法应用与C#实现(1)算法介绍 中,对PageRank算法的原理和过程进行了详细的介绍,并通过一个很简单的例子对过程进行了讲解。从上一篇文章可以很快的了解PageRank的基础知识。相比其他一些文献的介绍,上一篇文章的介绍非常简洁明了。当然文章主要引用的是[1].上述引用“赵国,宋建成.Google搜索引擎的数学模型及其应用,西南民族大学学报自然科学版.2010,vol(36),3”这篇学术论文。鉴于文献中本身提供了一个案例,所以本文就使用文章的案例和思路,并使用C#进行编程实现,测试。论文中的案例其实是来源于1993年全国大学生数学建模竞赛的B题—足球队排名问题。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_DataMining15.png)
摘要:
长期关注和使用.NET开源项目,给我带来了很多好处:1.可以快速完成我的想法,也就是所谓的业务细节,而不是关注如何实现;2.可以更快更稳定的完成需求,而不是自己造轮子实现,花费时间;3.从.NET开源项目的使用以及源码阅读中也会带来一些好处;这次先整理出15个个人认为比较好的项目。后面有时间还整理出15个左右,包括:时间周期处理,绘图,3D建模,配置文件,邮件系统,对象比较,安全,多语言与本地化,数据库架构读取,C#源码编译,文件数据库,博客系统等。。全部是.NET平台的干货啊。。。还等什么。。
阅读全文
![](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)
摘要:
由于数据表和业务是直接相关的,没有时间将所有相关业务都简述清楚,所以也只好将需求和表设计一起进行。相辅相成吧,如果思路有问题,大家可以交流提出自己的想法,当然必须要对足球赛事资料库有一定的了解和接触才行,本人也是走了很多弯路的。考虑到系统数据表很多,按照功能不同,分为基础数据表,比赛相关表,赔率相关表,以及特殊数据表4个部分分别进行讲解,请大家关注博客。今天要关注就是比赛信息相关的数据表设计。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_caipiao.png)
摘要:
由于数据表和业务是直接相关的,没有时间将所有相关业务都简述清楚,所以也只好将需求和表设计一起进行。相辅相成吧,如果思路有问题,大家可以交流提出自己的想法,当然必须要对足球赛事资料库有一定的了解和接触才行,本人也是走了很多弯路的。考虑到系统数据表很多,按照功能不同,分为基础数据表,比赛相关表,赔率相关表,以及特殊数据表4个部分分别进行讲解,请大家关注博客。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
五一后的第一周,由于搬家腰扭伤了,没注意导致压迫神经,躺在床上休息了好几天。所以没事就挂 QQ,一个网友突然问了我一个算法问题。所以有了这篇文章。感触很深,所以特发此文,以纪念和写给新朋友,以及那些热爱编程的非专业人事。有时候思路决定出路。本人可能技术含量很低,但都很真实。虽然我只花了很少的时间,但解决了这个网友困惑了1年的问题,这个网友倒是特别感激,而我倒是感觉特别心塞。那大家喝杯茶,看看这个过程吧。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
考虑到足球赛事资料库的复杂性,以及考虑到项目的前瞻性(要考虑到很多还没有发生的事情,便于以后扩展),以及大量数据,查询和计算的速度,本项目经历了3次重构,到目前为止其实也不是很成型,但基本趋于稳定。现在总结起来肯定是很流畅,但这中间的过程非常痛苦,也希望把这些经验写出来,有自己做的朋友可以一起探讨,避免踩坑。数据库很庞大,且采用了XCode非常牛逼的分库技术,秒杀千万级乃至上亿的数据需求。而只需要最基本的C#技术,对我这种数据库文盲来说,真的帮助非常大。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
在本博客的2篇文章足彩基础知识入门(1)概述与介绍和为什么选择玩足球彩票以及玩彩票的心态?详细介绍了选择足彩,以及对足彩的基本看法。今天就介绍足彩的基本玩法,是一个总结性文章,作为足彩入门的必备资料之一。今天进入到对赔率的分析和讨论。这里可能很多人会有不同的看法,我也只是谈一下我对赔率以及相关问题的看法。 在前面的文章中,我也说过,赔率的第一个主要作用就是平衡彩民的投注风险,通过动态的彩票投注倾向,来动态调整赔率,影响后续的投注,从而平衡风险。虽然不可否认庄家已经可以很准确的预测大部分的比赛结果,但庄家的目的是不断的盈利,是不可能和玩家来对赌的,而且还要考虑竞争对手。他们不会每一场比赛都赢钱,但也不会每一场比赛都输钱。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_caipiao.png)
摘要:
去年4月到现在,一年之中,做了很多事情,所以写博客的时间少了,在利用业余时间搭建的彩票数据库资料库快完工之际,将陆续在博客园开放这一年来的相关成果。一年来重点对数字彩和足球彩票资料库进行数据采集和分析平台的搭建,同时也利用数据挖掘和机器学习的简单知识,对足球比赛进行预测,也小有成果,虽然已经远离数字彩,但软件的结构非常容易扩展,数据也很容易采集。重点还是在足球赛事资料库,目前数据库已经包括了近10年,世界所有的联赛,杯赛和重要赛事的比赛信息,以及赔率盘口信息,对于玩算法和写代码的朋友来说,利用这些数据库可以快速的进行自己的数据分析工作。本系列文章会对数据库架构和结构进行介绍,并逐步开放相关足球数据库和彩票数据库,敬请关注。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_Logo_conew1.jpg)
摘要:
总的来说,由于中国国内的彩票和国外的差距太大,各个方面,从开奖,奖金,文化和市场的有序都存在巨大差距,可以说是中国特色,和垄断有一定的关系。比如被人们长期怀疑的双色球,开奖时间和开奖画面等遭到很多人的唾弃。不进行实时的开奖,给了大家很多的现象空间,从而也降低了其公信力。现在的数字高频彩也是如此,电脑开奖,还时间滞后2-3分钟,让人怎么想。与其说不敢放开,还不如说心里有鬼,找个借口而已。而最近在研究国内的竞彩足球后,也发现一些很尴尬的事情。相比国外的博彩平台,国内竞彩足球赔付率就达到超低的水平(0.65-0.8左右),国外的一般都在0.9-0.95。怪不得经常听说有人去外围平台买,直接不在国内的平台。的确是比较坑。不过话又说回来,谁叫你在国内呢,呵呵,还得接受现实,想玩的朋友要好好控制自己,娱乐一下,也未尝不可,只不过不要财迷心窍而已,这玩意,你信就买一点,不信就不要买。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_caipiao.png)
摘要:
Pagerank是Google排名运算法则(排名公式)的一部分,是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站的好坏的唯一标准。在揉合了诸如Title标识和Keywords标识等所有其它因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页在搜索结果中令网站排名获得提升,从而提高搜索结果的相关性和质量。鉴于Google的巨大成功和PageRank的巨大作用,已经入学了机器学习的十大算法之一。今天就带大家走近PageRank,简述其原理以及应用的C#实现。由于个人是专业做足球赛事预测,所以应用就拿足球胜平负的预测作为例子了。原理和过程都差不多,看大家如何分析问题了。
阅读全文
![](http://images.cnblogs.com/cnblogs_com/asxinyu/379624/o_DataMining15.png)
摘要:
矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖·‖A^(-1)‖,对应矩阵的3种范数,相应地可以定义3种条件数。 函数 cond(A,1)、cond(A)或cond(A inf) 是判断矩阵病态与否的一种度量,条件数越大矩阵越病态。条件数事实上表示了矩阵计算对于误差的敏感性。对于线性方程组Ax=b,如果A的条件数大,b的微小改变就能引起解x较大的改变,数值稳定性差。如果A的条件数小,b有微小的改变,x的改变也很微小,数值稳定性好。它也可以表示b不变,而A有微小改变时,x的变化情况。
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_C_.png)
摘要:
矩阵的秩是反映矩阵固有特性的一个重要概念。在线性代数中,一个矩阵A的列秩是A的线性无关的纵列的极大数目。类似地,行秩是A的线性无关的横行的极大数目。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵A的秩。通常表示为r(A),rk(A)或rank A。矩阵的行秩与列秩相等,是线性代数基本定理的重要组成部分. 其基本证明思路是,矩阵可以看作线性映射的变换矩阵,列秩为像空间的维度,行秩为非零原像空间的维度,因此列秩与行秩相等,即像空间的维度与非零原像空间的维度相等(这里的非零原像空间是指约去了零空间后的商空间:原像空间)。这从矩阵的奇异值分解就可以看出来。矩阵秩的计算最容易的方式是高斯消去法,这里引用维基百科的内容
阅读全文
![](http://www.cnblogs.com/images/cnblogs_com/asxinyu/379624/t_C_.png)
摘要:1.关于推荐系统中的特征工程
2.Java程序员最喜欢的11款免费IDE编辑器
3.人工智能和机器学习领域的一些有趣的开源项目
阅读全文