大家知道enode框架的架构是基于ddd+event sourcing的思想.我们持久化的不是聚合根的最新状态,而是聚合根产生的领域事件.最近我在思考如何实现一个基于文件的eventstore.目标有两个: 1.必须要高性能:2.支持聚合根事件的并发持久化,要确保单个聚合根实例不会保存版本号相同的事件: 事件持久化高性能 经过了一番调研,发现用文件存储事件非常合适.要确保高性能,我们可以顺序写文件(append),然后随机读文件.之所以要随机读文件是因为在当某些command由于操作同一个聚合根…
忙活了半天终于可以开工了,a物品到底要不要放进去取决于两个因素,第一是a有4kg重,只有背包大于等于4kg的时候才能装进去(也就是说当i=1,k<4时f[i,k]=0):第二是当背包的重量大于等于4kg时要不要把a放进去呢(全篇的重点就在这里):Put or not put,that's a question.读者此时应该会有疑惑,肯定是把a放进去啊,反正在放a之前什么都没有,当然这样考虑我也同意,只是我要说的是,这是一个算法问题,必须找寻到规律所在,一环扣一环. 回头看看RN的填坑之旅系列,发…
1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Python的自动机器学习开发工具.项目源代码位于:https://github.com/EpistasisLab/tpot 下图是一个机器学习模型开发图,其中灰色部分代表TPOT将要做的事情:即通过利用遗传算法,分析数千种可能的组合,为模型.参数找到最佳的组合,从而自动化机器学习中的模型选择及调参部分.…
Charles所有关于hadoop的文章参考自hadoop权威指南第四版预览版 大家可以去safari免费阅读其英文预览版.本人也上传了PDF版本在我的资源中可以免费下载,不需要C币,点击这里下载. 对于某些应用,需要一个特殊的数据结构来存储数据.针对运行基于MapReduce的进程,将每个二进制数据块放入它自己的文件,这样做不易扩展, 所以Hadoop为此开发了一系列高级容器.我们可以想象一下,mapreduce遇到的文件可能是日志文件,文本文件等等,mapreduce 拆分之后变成一条条数据…
Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性,不过最主要的原因是这几个我比较熟悉. Go的很多语言特性借鉴与它的三个祖先:C,Pascal和CSP.Go的语法.数据类型.控制流等继承于C,Go的包.面对对象等思想来源于Pascal分支,而Go最大的语言特色,基于管道通信的协程并发模型,则借鉴于CSP分支. Go/Python/Erlang语言特…
AutoTest系统设计概述 AutoTest是一个基于.NET平台实现的自动化/压力测试的系统,可独立运行于windows平台下,支持分布式部署,不需要其他配置或编译器的支持.(本质是一个基于协议的测试工具),前面还有一篇对其功能的简单介绍[AutoTest简介] AutoTest用于发布的部分有2个部分,主程序[AutoTest.exe]及分布式部署程序[RemoteService.exe](用于将将测试业务分布式部署到远程主机) 而在内部又被设计为多个组成部分,最终完成对自定义脚本文件的解…
自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的. 一般基于文件存储Session数据效率不是很高,毕竟跟磁盘IO是有关系的,如 果需要多台服务器共享数据,可以考虑使用NFS来存储数据,如果需要比较快的速度,可以考虑使用共享内存(shm)来保存数据,直接把Session数据 存储路径指定为/dev/shm,这样磁盘IO会提高不少,不过shm空间比较小,一般Linux下是60多M,所以不可能保存太…
本文详细介绍了基于Spring创建一个“hello world” RESTful web service工程的步骤. 目标 构建一个service,接收如下HTTP GET请求: http://localhost:8080/greeting 并返回如下JSON格式的问候语: {"id":1,"content":"Hello, World!"} 你也可以通过指定查询字符串中的可选参数name来定制问候语: http://localhost:8080…
一.引子 新进公司被安排处理系统的数据报表任务——对学生的考试成绩进行统计并能导出到excel.虽然以前也有弄过,但感觉不是很好,所以这次狠下心,多花点时间作个让自己满意的插件. 二.适用领域 因为需求是基于学生成绩,可能更多的是按这样的需求去考虑.如下图(请不要计较数据): 三.逻辑 一个excel文件 --> N个工作表 --> N个数据容器-->N个数据内容 四.类的组成 WorkbookWrapper(抽象类) excel容器,一个实例代表一个excel文件 BuildConte…
基于文件的数据结构 两种文件格式: 1.SequenceFile 2.MapFile SequenceFile 1.SequenceFile文件是Hadoop用来存储二进制形式的<key,value>对而设计的一种平面文件(Flat File). 2.能够把SequenceFile当做一个容器,把全部文件打包到SequenceFile类中能够高效的对小文件进行存储和处理. 3.SequenceFile文件并不依照其存储的key进行排序存储.SequenceFile的内部类Writer**提供了…