一年半之前刚来到这个团队,便遭遇了一次挑战: 当时有个CRM系统,老是出问题,之前大的优化进行了4次小的优化进行了10多次,要么BUG重复出现,要么性能十分拉胯,总之体验是否糟糕!技术团队因此受到了诸多质疑,也成了我这边过来外部的第一枪. 当时排查下来,问题反复的核心原因是: 该系统依赖一个核心IM系统:这套IM系统已经有几年时间,之前的同学一来是没有魄力去做重构,二来是没有能力做重构,所以每次只能小打小闹,但里面的服务旁枝错节,总有依赖服务没被修复好. 考虑这种情况,我这边派出了两支团队,一只…
我们由从 7 到 1 的顺序向大家介绍. 7. Linux Lite 正如其名,Linux Lite 是 Linux 发行版的一个轻量级版本,用户并不需要强大的硬件就可以将它跑起来,而且其使用非常简单,初学者可以非常容易地就将其安装到老旧电脑上.Linux Lite 是基于 Ubuntu LTS 进行精简的,由于 Ubuntu LTS 都具有 5 年的更新支持周期,这也就意味着 Linux Lite 也可以提供为期 5 年 的更新时间. Linux Lite 团队表示:Linux Lite 是一…
使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处   作者:Arthur V. English 出处:IBM   本文内容包括: 背景 业务用例模型与系统用例模型有什么相似之处? 业务用例模型与系统用例模型之间究竟有怎样的差别呢? 我应该为业务建模使用哪些 UML 图? 业务用例模型和系统用例模型之间的关系是什么? 总结 注释 现在对本文进行讨论! 参考资料 本文来自于 Rational Edge:学习有关业务用例与系统用例相似和不同之处的知识,包括应该使用什么样的 UML 图…
CentOS7如果是一步步内核升级上来的将会面临一个问题(一般安装了图形化界面的系统常见),由于内核增多/boot/的容量减少,导致启动变慢.这时就需要清理老旧内核,释放/boot/空间. 使用uname -r查看内核版本 [root@localhost ~]# uname -r -.el7.x86_64 接着使用rpm -q kernel查看系统内所有的内核 rpm -qa | grep kernel kernel-tools-libs--.el7.x86_64 kernel--.el7.x8…
苹果推了HomeKit,已经有很多厂商在做,可以达到Siri控制所有设备的功能. 但是Siri也不是万能的,对人类的语义理解也会产生差错,不过我相信未来这个问题会解决掉.     如果家里有老旧的电视机等设备,或者自己做了一个开关窗户的机器,那么Homekit就显得无能为力了. 家里的一些贵重物件比如冰箱,空调等设备也不是说淘汰就淘汰的,当家里充斥着Homtkit设备的时候,其他设备无法受到Homekit的控制,那就很痛苦了.   要做到如此的兼容性,设想如下:   做一个Homekit的Hub…
更新 : 2018-10-28 不知道为什么在 ng 跑一直做不到 .d.ts 最后发现,如果有一个插件 propagating-hammerjs.ts 那么就在 root create 一个 propagating-hammerjs.d.ts ,名字要匹配到,这样就可以跑了. 暂时不管先呗.. refer : https://blog.angularindepth.com/creating-a-library-in-angular-6-87799552e7e5 https://blog.ang…
在一个保存report记录的场景中,我们使用MongoDB进行数据存储 example: db: report Collection: daily_report 创建db:  use report; 创建集合: db.createCollection("daily_report") 我们的服务会根据用户配置进行每天N次自动的任务的执行,每个任务结束后会对应生成一个report, 我们将report存储于daily_report集合中. 插入一条记录:  db.daily_report.…
ElasticSearch业务逻辑案例 一.业务难题 我们有一个索引: myindex/mytype(为了方便,我们下文以a/b表示) 索引类型中的一个字段group之前是a.b.c(历史遗留问题), 我们查询是这样的: POST 127.0.0.1:9200/a/b/_search { "query": { "constant_score": { "filter": { "bool": { "must":…
5G 融合计费系统架构设计与实现(一) 随着5G商用临近,5G的各个子系统也在加紧研发调试,本人有兴全程参与5G中的融合计费系统(CCS)的设计.开发.联调工作.接下来将用几篇文章介绍我们在CCS实现过程遇到的挑战与架构设计的考量.相信这些宝贵的经验可以适用于更广的软件系统,免于重复地陷入软件开发的焦油坑. 5G系统由3Gpp定制统一的架构和协议规范,这也是电信行业一直以来通行的作法.不同的是,5G以前的规范3Gpp总是喜欢独树一帜,比如最出名的DCC(Diameter Credit Contr…
评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-system?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 2011年底,我加入大众点评网,出于很偶然的机会,决定开发CAT,为各个业务线打造分布式实时监控系统,C…
这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973   数据库原理课程设计说明书              基于Web在线考试系统的设计与实现 目  录 1 课题背景与意义 1.1课题开发背景 1.2 课题开发意义 2 系统需求分析 2.1 项目要求 2.2 开发方案 2.3开发环境 3 总体开发 3.1 开发思想 3.2 系统功能结构设计 3.3 业务…
2011年底,我加入大众点评网,出于很偶然的机会,决定开发CAT,为各个业务线打造分布式实时监控系统,CAT的核心概念源自eBay闭源系统CAL----eBay的几大法宝之一. 在当今互联网时代,业务需求旺盛,开发团队往往采用scrum等敏捷开发流程,加班加点快速迭代以满足业务需求,是常态.采用分布式系统设计和服务化,由多台机器协作来共同完成用户请求,是典型的解决方案.网站故障频发,内部关系错综复杂,故障定位缓慢,甚至找不到问题根源,也是常有的事.虽然已经有很多日志监控工具,或许单个工具功能还不…
一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券就是其中核心模块之一.随着商城的发展及用户量的提升,优惠券做了服务拆分,成立了独立的优惠券系统,提供通用的优惠券服务.目前,优惠券系统覆盖了优惠券的4个核心要点:创.发.用.计. "创"指优惠券的创建,包含各种券规则和使用门槛的配置. "发"指优惠券的发放,优惠券系统提…
我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联.除去业务上的复杂性,如何设计这样的一个协作良好的系统,搭建开发人员基础平台,一直是我研究的方向. SouceCounter(版本3.3.91.79)对源代码的统计信息如下: 下面来详细解析一下这个系统的设计架构,纯.NET技术架构方案,C/S WinForms系统. 系统分为Framework和Application两个部分,前者是框架(…
<解剖PetShop>系列 一.PetShop的系统架构设计 http://www.cnblogs.com/wayfarer/archive/2007/03/23/375382.html 二.PetShop数据访问层之数据库访问设计 http://www.cnblogs.com/wayfarer/archive/2006/04/21/381315.html 三.PetShop数据访问层之消息处理 http://www.cnblogs.com/wayfarer/archive/2007/03/1…
前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的商业色彩,对于我们开发者而言,没有必要过多关注.然而PetShop随着版本号的不断更新,至如今基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又非常多能够借鉴之处.PetShop是一个小型的项目,系统架构与代码都比較简单,却也凸现了很多颇有价值的设计与开发理念.本系列试…
1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回值及其执行情况.脚本执行及调用情况等.通过阅读日志文件,我们能够较快地跟踪程序流程,并发现程序问题. 因此,熟练掌握日志系统的编写方法并快速地阅读日志文件,是对一个软件开发工程师的基本要求. 本文详细地介绍了Linux下一个简单的日志系统的设计方法,并给出了其C代码实现.本文为相关开发项目Linux…
解析大型.NET ERP系统架构设计 Framework+ Application 设计模式 我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联.除去业务上的复杂性,如何设计这样的一个协作良好的系统,搭建开发人员基础平台,一直是我研究的方向. SouceCounter(版本3.3.91.79)对源代码的统计信息如下: 下面来详细解析一下这个系统的设计架构,纯.NET技术架构方案,C/S W…
笔者在大学中迷迷糊糊地度过了四年的光景,心中有那么一点目标,但总感觉找不到发力的方向. 在四年间,尝试写过代码结构糟糕,没有意义的课程设计,尝试捣鼓过Android开发,尝试探索过软件工程在实际开发中的应用,尝试参与过.net的实际应用项目开发. 在经历了这些探索之后,我突然发现一些代码在实现业务功能的同时,还能保持优美的结构,这让我很着迷,有一种莫名其妙的兴奋感. 基于这个发现,我开始探寻这些代码拥有迷人魔力的原因,迷迷糊糊地又接触到了设计模式,系统架构设计的概念. 在大学的最后,我希望再一次…
ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等等.作为一个管理系统,大家的一般开发习惯就是使用.Net或Java技术,建立一个单块(单进程)架构的应用,只有一个SQLServer或MySql数据库.然后在项目文件中分一下各个模块,三层结构方式组织代码编写开发.最后测试,交付上线. 起初,因为数据量不大,系统性能还不错,各种列表查询,报表查询,E…
ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等等.作为一个管理系统,大家的一般开发习惯就是使用.Net或Java技术,建立一个单块(单进程)架构的应用,只有一个SQLServer或MySql数据库.然后在项目文件中分一下各个模块,三层结构方式组织代码编写开发.最后测试,交付上线. 起初,因为数据量不大,系统性能还不错,各种列表查询,报表查询,E…
在电商平台中,促销是必不可少的营销手段,尤其在国内 各种玩法层出不穷,最开始的满减/秒杀 到优惠卷 再到 拼团/砍价等等 一个良好的促销系统应该具备易于扩展,易于统计促销效果等特点,在遇到秒杀类促销时还需要做到可扩容,抗并发(本次不考虑秒杀系统的设计)等等. 废话说完了,进入正题吧 概览 对各种促销行为进行分析,会发现本质上是由两个部分和一个作用域组成. 促销的核心作用域既订单.因此我在上一篇文章中介绍了电商中订单系统的设计 E-commerce 中订单系统的设计 两个部分既上图中的rule和a…
权限系统.Web开发常见标准子系统之中的一个.结合自己的一些思考和实践,从本篇開始权限系统的设计与实现之路. 近期,重构了项目的权限菜单构造过程,向前端返回json格式的权限树. 这一篇.仅仅是大致介绍下这个问题,并给出4种方法的总体思路.兴许再分别具体介绍这4种方法,再往后介绍完整的权限系统的设计与实现. 权限表的结构: acl.parent_acl, 最重要的就是这2个字段.有了这2个字段,就能够构造一棵树了. 前端须要的json格式: "data":[{ "acl&qu…
版权声明:本文为[博主](https://zhangkn.github.io)原创文章.未经博主同意不得转载. https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ https://blog.csdn.net/u011018979/article/details/30467047 # [新的博客](https://zhangkn.github.io/) [个人技术站](https://zhangkn.github.io/)https://zh…
毫无疑问,数据库的设计在一个系统中起了至关重要的作用.我们都知道,系统设计分为两部分,或者说是两个阶段,即数据库设计和功能设计.构建一个完善的系统需要这两个阶段的充分考量.周密设计.合理联接以及密切配合.数据库设计是整个系统的根基,它关乎系统功能的实现.稳定性.扩展性等多个方面,可见数据库设计的重要性. 那么好的数据库设计应该具备什么样的基本条件呢,大致有这么几点: 1.充分体现系统的需求 不管是数据库设计还是功能设计,我们最终的目的都是要实现客户的业务需求,所以数据库设计的第一准则就是要符合业…
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件.最新发布的版本原生支持MVVM框架.Aero Snap特效并具有更好的性能. AvalonDock 2.0版本已经发布了,新版本是用MVVM框架重新编写,似乎也用了Command(命令)模式.2.0版的文档尚未发布,但你可以参考Avalon.TestApp 或者2.0版源码中的Avalon.MVVMTestApp文件夹来查看新的API. 前一篇博文有介绍关于AvalonDock使用…
权限系统,Web开发常见标准子系统之一.结合自己的一些思考和实践,从本篇开始权限系统的设计与实现之路. 最近,重构了项目的权限菜单构造过程,向前端返回json格式的权限树. 这一篇,只是大致介绍下这个问题,并给出4种方法的整体思路,后续再分别详细介绍这4种方法,再往后介绍完整的权限系统的设计与实现. 权限表的结构: acl.parent_acl, 最重要的就是这2个字段,有了这2个字段,就可以构造一棵树了. 前端需要的json格式: "data":[{ "acl":…
Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定的百分比的. 例如我们常说的可用性需达到 4 个 9(99.99%),全年停机总计不能超过 1 小时,约为 53 分钟,也即服务停用时间小于 53 分钟,就说明高可用设计合格. 用户分布在全国.大规模微服务系统所支撑的用户一般在全国各地,因而每个地区的人,都希望能够就近访问,所以一般不会一套系统服务…
Java生鲜电商平台-系统报表设计与架构 说明:任何一个运行的平台都需要一个很清楚的报表来显示,那么作为Java开源生鲜电商平台而言,我们应该如何设计报表呢?或者说我们希望报表来看到什么数据呢?           通过报表我们可以分析出目前整个公司的运营情况,以及下一步的调整方向,这样更加有理有据的掌握整个市场与决策. 设计基础维度:    1. 今日订单,今日营业额,总订单数,总营业额          2. 今日的注册买家,总的注册买家.          3. 实时的营收,实时的下单买家…
问题: 1.如何进行ERP系统测试用例设计? 2.ERP系统测试用例设计过程? 3.ERP系统测试用例设计的方法? ERP系统本身是一种业务流程很复杂,单据报表众多,逻辑性很强的系统,质量保证方面很难得到严格的控制的软件系统,在测试过程中经常会出现测试设计遗漏.测试执行遗漏等问题发生,如何才能设计出比较合理.覆盖率比较高的测试用例,降低测试遗漏率呢? ERP系统在测试的时候需要测试些什么内容呢?一般的ERP系统设计大概包括以下几方面:功能测试.业务流程测试.数据逻辑测试.接口测试.兼容性测试.性…