本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow 看大厂图数据库技术实践. 测试框架的演进 截止目前为止,在 Nebula Graph 的开发过程中,测试框架一共发生三次较大的改动,如下图所示.在不断的演进中,团队还是积累了一些经验和教训,希望借由此文做个简单的介绍和梳理. 对于一个数据库产品而言,测试的重要性不言而喻,如何强调都不为过.所以测试框架无论切换到谁,出发点始终只有一个:方便快速的积累测试用例来保障 Nebula Graph 功能的…
          基于特定领域国土GIS应用框架 设计及应用              何仕国 2012年8月16日   摘要: 本文首先讲述了什么是框架和特定领域框架,以及与国土GIS 这个特定领域行业相结合,而进行的特定领域应用框架的设计及其相关的实践应用实例.刻画了该领域软件系统的公共属性.公共的商业规则.公共的设计决策.在设计这个领域新的软件系统的时候,可以基于应用框架包含的重要信息,设计该软件系统特殊的属性,然后有效的把两者集成为一个完整的应用系统.通过这种软件开发方式,可以大大加快…
1. 概要   本文描述一个通过C++可变参数模板实现C++反射机制的方法.该方法非常实用,在Nebula高性能网络框架中大量应用,实现了非常强大的动态加载动态创建功能.Nebula框架在码云的仓库地址.   C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数.任意类型的参数.关于可变参数模板的原理和应用不是本文重点,不过通过本文中的例子也可充分了解可变参数模板是如何应用的.   熟悉Java…
最近一段时间,认真研究了一下caffe.但是,里面内容过多,集合了CPU版本和GPU版本的代码,导致阅读起来有些复杂.因此,特意对caffe代码进行了重构,搭建一个基于CPU版本的Caffe推理框架. 此简化的Caffe推理框架具有以下特点: 只有CPU推理功能,无需GPU: 只有前向计算能力,无后向求导功能: 接口保持与原版的Caffe一致: 精简了大部分代码,并进行了详尽注释. 通过对Caffe的重构,理解了如何搭建一个推理框架,如何从输入一张图片从而得到结果.注意:此框架只是用于教学使用,…
最近互联网行业一片哀叹,这是受到三年影响的后遗症,许多的公司也未能挺过寒冬,一些外资也开始撤出市场,因此许多的IT从业人员加入失业的行列,而且由于公司较少导致许多人求职进度缓慢,很不幸本人也是其中之一.自从参加工作以来,一直都是忙忙碌碌,开始总认为工作只是为了更好的生活,但是一旦工作停下来后自己就觉得失去了一点什么,所以很少有像最近这两个月左右空闲的时光.人一旦空闲下来就未免有些空虚,空虚的原因大部分还是因为对未来的焦躁不安,比如要担心口袋余粮问题.担心兢兢业业的别人会投以不屑的目光.于是在这期…
接下来本来就直接打算分享框架重构的具体环节,但重构的代码其实并没有完成太多,许多的实现细节在我心中还没有形成一个定型.由于最近回归岗位后,新的开发环境需要自己搭建,搭建的时间来说花了我整整一天的时间才勉强搞定.人们常说工欲善其事必先利其器,开发环境和工具是必不可少的,否则你会发现在接下来的过程中遇到困难的时候就会走很多弯路.虽然最后我们仍旧达到了目的,但是我们大概也会心力憔悴.得不偿失.于是我萌生了一个想法,那就是何不自己写一个脚本(该节我会分享,里面有许多有意思的写法,有兴趣的朋友可以阅读研究…
基于NodeJS的14款Web框架 2014-10-16 23:28 作者: NodeJSNet 来源: 本站 浏览: 1,399 次阅读 我要评论暂无评论 字号: 大 中 小 摘要: 在几年的时间里,Node.js逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量网站都采用Node.js进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动Web框架. 下面就介绍14款基于Node.js的Web应用框架,大家不... 在几年的时间里,Node.js逐渐发展成一个成…
由于.net MVC 的controller 依赖于HttpContext,而我们在上一篇中的沙箱模式已经把一次http请求转换为反射调用,并且http上下文不支持跨域,所以我们要重造一个controller. 我们在写mvc项目的时候经常会用到ViewBag.ViewData,那我们就先声明这两个变量: public dynamic ViewBag = new DynamicViewBag(); public ViewDataDictionary ViewData = new ViewData…
上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章很多人看了以后,都表示不解,觉得不知道我到底要干什么,可能就像隔行如隔山吧,就像做移动端开发的人很少去考虑分布式中的通信一样.大家都知道模块化,但模块化的思路有很多,我的只是其中一种,也许你看到最后会觉得这种思路在经过不断地演化后会成为一种很好的解决方案,当然这离不开以后大家对代码及思想的贡献. 好了不扯了,还是回到主题上来吧.... 沙箱是…
第一节:我们为什么需要一个热插拔式的web框架? 模块之间独立开发 假设我们要做一个后台管理系统,其中包括“用户活跃度”.“产品管理”."账单管理"等模块.每个模块中有自己的业务特性,这些模块都与具体业务高度耦合,很难由一个团队开发完所有模块.这样看来,由数据事业部的同事来开发“用户活跃度”模块,产品事业部的同时来开发“产品管理"模块会显得更加合理.现在我们假定由不同团队开发不同业务模块,那么这些人如果共同维护同一个项目的话,这个项目会变得非常臃肿,直到最后牵一发而动全身,更…