了解开源世界
摘要:从一幅图中了解开源世界什么是开源以前一直以为免费就是开源,在后来觉得只要公布了源码就是开源,真的是这样?上学的时候有个童鞋写了个实体类生成器,然后把源码共享了他说哥这是开源软件.....什么是开源? 开源、开放源代码、开源软件开源是不是等于免费? 开源协议:权利和义务 开源社区 微软开源社区(一直以为微软没有开源软件,MVC就是开源的) ,Apache软件基金会为什么有的软件没有开源?常用开源协议1MPL2BSD3QPL4QNCL5Jab6Com7IBM(IBM果然是大佬)8协议比较8.1开源协议8.2AL2.08.3GPL所谓“开源”,就是开放资源(OpenSource)的意思。不过在程..
阅读全文
elasticsearch文档-analysis
摘要:elasticsearch文档-analysisanalysis基本概念全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器), 这些Token会被进一步处理, 比如转成小写等, 这些处理算法被称为Token Filter(词元处理器), 被处理后的结果被称为Term(词), 文档中包含了几个这样的Term被称为Frequency(词频)。 引擎会建立Term和原文档的Inverted Index(倒排索引), 这样就能根据Term很快到找到源文档了。 文本被Tokenizer处理前可能要做一些预处理, 比如去掉里面
阅读全文
elasticsearch文档-modules
摘要:elasticsearch文档-modulesmodules模块cluster原文基本概念cluster: 集群,一个集群通常由很多节点(node)组成node: 节点,比如集群中的每台机器可以看做一个nodeshard: 分片,ES是分布式搜索引擎,会把数据拆分成很多个shard,一个索引默认有5个shardreplica: 副本,ES是high availability的, 为了数据安全会把同一份数据存放在多个节点,默认情况下一个索引的数据会存两份副本。一份是primary,一份是replica。 primary: 主节点rebalancing: 指数据在集群的节点中重新分配,比如当集群中
阅读全文
spring.NET的依赖注入
摘要:谈谈自己了解的spring.NET的依赖注入 spring.net里实现了控制反转IOC(Inversion of control),也即依赖注入DI(Dependency Injection),以达到解耦的目的,实现模块的组件化。程序在调用spring容器的时候,会自动根据配置文件(可以自己命名xml文件,不一定是web.config或app.config)的配置,给你实例化好对象供你调用。这些实例化对象,是基于单例模式的,当然可以在配置文件里修改单例模式singleton为false,这样每次生成的都是在内存中开辟的新的对象。另外也可以在配置文件里设置lazy-init(延迟加载)为tru
阅读全文
Varint code
摘要:Varint编码LevelDB内部通过采用变长编码,对数据进行压缩来减少存储空间,采用CRC进行数据正确性校验。下面就对varint编码进行学习。传统的integer是以32位来表示的,存储需要4个字节,当如果整数大小在256以内,那么只需要用一个字节就可以存储这个整数,这样就可以节省3个字节的存储空间,Google varint就是根据这种思想来序列化整数的无符号Varint 是一种紧凑的表示数字的方法。它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数。这能减少用来表示数字的字节数。Varint 中的每个 byte 的最高位 bit 有特殊的含义,如果该位为 1,表示后续的 b
阅读全文
nopCommerce添加支付插件
摘要:nopCommerce添加支付插件之前完成了nopCommerce和汉化以及配置,今天继续对nopCommerce的研究,为了能够完成购物,我们就要将伟大的支付宝添加至其中了.支付宝插件下载将Nop.Plugin.Payments.AliPay复制到 nopCommerce_3.10_Source\Plugins 文件夹下,然后在项目中添加已有项目.然后编译一下此项目!进入到商城的后台商城配置->插件管理找到支付宝插件 点击安装 然后点击 编辑将已启用勾选上,这样在付款的时候就有支付宝的选项了~!如果没有Rmb 可以在商城配置 ->货币管理里面设置!我不追求自己是何等的完美,但我追
阅读全文
Slithice 分布式架构设计
摘要:项目原因:参与过各种 分布式项目,有 Socket,Remoting,WCF,当然还有最常用的可以跨平台的 WebService。分布式编码的时间浪费:但是,无一例外的,开发分布式程序的开发遵循 如下规律:>那就是 得先写服务端代码;>然后 通过工具生成代理类;(特别浪费时间)>客户端代码 调用代理类 完成业务;这种编码规律,就有一个问题:那就是 当我们调试程序时,得先以调试模式启动服务端,再以调试模式启动客户端——然后在调试中找到代码的BUG。 这种调试方式 调试一次 需要 5-10分钟(太浪费时间);如果 服务端是 基于 WinService 的话,过程就更麻烦:你得先卸
阅读全文
logstash+elasticsearch+kibana快速搭建日志平台
摘要:使用logstash+elasticsearch+kibana快速搭建日志平台日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有:根据关键字查询日志详情监控系统的运行状况统计分析,比如接口的调用次数、执行时间、成功率等异常数据自动触发消息通知基于日志的数据挖掘很多团队在日志方面可能遇到的一些问题有:开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力日志数据分散在多个系统,难以查找日志数据量大,查询速度慢一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据数据不够实时常见的一些重量级的开源Trace系统有facebook scribe
阅读全文
开源框架Caliburn.Micro
摘要:Caliburn.Micro学习笔记----引导类和命名匹配规则用了几天时间看了一下开源框架Caliburn.Micro这是他源码的地址http://caliburnmicro.codeplex.com/文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记记录一下学习Caliburn.Micro要有MEF和MVVM的基础先说一下他的命名规则和引导类以后我会把Caliburn.Micro的ActionsIResult,IHandleIConductor ,Conductor这些常用功能写下来。从一个小例子说起Demo下载:BootstrapperAndConventions.rar这
阅读全文
OAuth的一个.NET开源实现
摘要:从编译DotNetOpenAuth中学到的程序集强签名知识OAuth的一个.NET开源实现,官方网站:http://dotnetopenauth.net/。从GitHub签出DotNetOpenAuth的源代码发现最新版本已到5.1,而NuGet中发布的版本只是4.3。新版中使用到了.NET 4.5的异步特性(async, await),于是决定直接用最新版。用最新版,就要自己进行编译。用Visual Studio 2012打开解决方案文件进行编译,一次编译成功,但编译出的DotNetOpenAuth相关dll有20个,这么多dll引用起来不方便。发现DotNetOpenAuth提供了msbu
阅读全文
UAC权限
摘要:.NET中提升UAC权限的方法总结【题外话】从Vista开始,由于增加了UAC(用户账户控制,User Account Control)功能,使得管理员用户平时不再拥有能控制所有功能的管理员权限了,所以在调用很多比较重要的功能时需要提升权限来实现。有时候写的程序需要调用这种权限,那么大概就是分为运行前就提升以及运行后再提升两种,在这里整理如下。【文章索引】程序运行前提升权限程序运行后提升权限程序中判断当前权限【一、程序运行前提升权限】如果整个程序都需要使用管理员权限的话(甚至主界面上显示的内容都需要管理员权限才行),那么可以让程序一运行时就提升管理员权限,就如同大部分的安装程序一样。程序运行时
阅读全文
General Structure of Quartz.NET and How To Implement It
摘要:General Structure of Quartz.NET and How To Implement ItGeneral Structure of Quartz.NET and How To Implement It1. Simple job schedule structure Simple job schedule graph_01The demo structure about the graph above could be:The most important snippets arein“Example.cs” file:And “Si...
阅读全文
Orchard学习计划
摘要:http://esshs.cnblogs.com/http://orchardproject.net/http://www.orchardch.com/Documenthttps://orchard.codeplex.com/https://kooboo.codeplex.com/https://dotnetnuke.codeplex.com/releases/view/112531超级管理员账户默认为adminmy.orchard.comadmin 123456789db:myorchard sa 123456http://esshs.cnblogs.com/
阅读全文
.NET开源工程推荐(Accord,AForge,Emgu CV)
摘要:.NET开源工程推荐(Accord,AForge,Emgu CV) 本人用C#开发了一些项目,下面的开源工程给了我很大的帮助——详细的源代码介绍加丰富的实例运用,是非常不错的学习资源,分享给大家,同时附上我的相关开发项目。Accord.NETThe Accord.NET Framework provides machine learning, mathematics, statistics, computer vision, computer audition, and several scientific computing related methods and techniques to
阅读全文
7z文件格式及其源码
摘要:7z文件格式及其源码的分析(四)这是7z文件格式及其源码的分析系列的第四篇.上一篇讲到了7z文件静态结构的尾header部分.这一篇开始,将从7z实际压缩流程开始详细介绍7z文件尾header的详细结构.一, 第一个概念: coder.在7z的压缩过程中, 一个非常核心的概念就是coder. 一个coder代表一个算法, 通常是指一个压缩或解压算法(也包括过滤算法和加密算法等). 例如, 在7z中lzma算法就是一个coder, deflate算法也是一个coder. 7z中用于加密的AES256算法也是一个coder. 所以概念上讲, 能处理一个文件流的算法就是一个coder. 这个&quo
阅读全文
Bootstrap 3 How-To #1 下载与配置
摘要:Bootstrap 3 How-To #1 下载与配置Bootstrap 3 发布了,通过简单的几步,我们就可以使用 Bootstrap 的样式表,图标,以及 javascript 来配置一个简单的站点。准备Bootstrap 不仅仅是一个代码集,还是一个在线社区。作为开始,你需要从熟悉 bootstrap 网站开始:http://getbootstrap.com。目前版本是 3.0 ,你应该看到如上的页面。在这里,你可以找到如下内容:文档如果这是你第一次访问这个站点,冲一杯热茶,细心地阅读这个网站的页面,查看每个组件,阅读详细的说明,沉浸在其中,你会发现非常的有趣。下载你可以获取最新版本的
阅读全文
Google开源的Deep-Learning项目word2vec
摘要:用中文把玩Google开源的Deep-Learning项目word2vecgoogle最近新开放出word2vec项目,该项目使用deep-learning技术将term表示为向量,由此计算term之间的相似度,对term聚类等,该项目也支持phrase的自动识别,以及与term等同的计算。word2vec项目首页:https://code.google.com/p/word2vec/,文档比较详尽,很容易上手。可能对于不同的系统和gcc版本,需要稍微改一下代码和makefile。具体到我的mac系统,源代码中所有#include 的地方都需要改成#include ,makefile编译选项中
阅读全文
同程旅游网开放平台SDK开发完成
摘要:同程旅游网开放平台SDK开发完成最近利用业余时间,使用了同程旅游网的开放平台,并对大部分的方法进行了调用,发现有太多坑爹的地方。1.同一个开放平台居然有几个调用地址,景区调用http://tcopenapi.17usoft.com/handlers/scenery/queryhandler.ashx,酒店调用http://tcopenapi.17usoft.com/handlers/hotel/QueryHandler.ashx。2.只能返回xml格式,在现在大多数平台可以返回json的情况下,居然只能返回xml,而且还不能直接反序列化为对象。除非自己实现这个反序列化的过程。3.错误信息提示不
阅读全文
Spring3.2 + Hibernate4.2
摘要:Spring3.2 + Hibernate4.2前三篇随笔中介绍了用原生的JDBC访问数据库、一种高效的数据库连接池druid、用Spring的JDBC框架访问数据库。本文继续介绍第三种数据库访问的解决方案:Spring3.2 + Hibernate4.2ORM框架Hibernate是一个开源的ORM框架,能自动为对象生成相应SQL并透明的持久化对象到数据库,我们首先来了解一下什么是“ORM”。ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持,即把一种形式转化为另一种形式。对象与关系数据库之
阅读全文