-
印刷行业进销存项目,用什么样的框架能开发效率更高学习成本维护成本更低
2010-01-07 20:08:38然后试图找来php,希望能发挥其敏捷的特性,为我加快开发速度和降低维护成本,做一个服饰连锁店销售管理软件──进货,配送到分店,分店销售,销售报表,管理员权限配置等模块,是从10月份开始的,用的是php原生态... -
论文研究 - 航空公司物流中的供应链整合和客户关系管理
2020-05-22 23:38:23本文旨在解释阿联酋航空(EA)物流中供应链集成(SCI)与客户关系管理(CRM)之间的关系。... 该研究建议航空公司通过降低物流成本和满足其客户的需求,需要做出战略性努力,以在业务的供应链核心中提高竞争力。 -
远程控制在煤层气排采中的应用——以沁水盆地樊庄区块为例
2020-04-19 17:20:56煤层气井大多井位稀疏,且位于丛林山地,人工巡井和调整井的参数都费时费力,不能及时实现连续平稳的排采制度。为了优化排采制度,延长排采井的寿命,提高产气量,...对于没有解决的问题,也进行了归纳,并提出了建设性的建议。 -
_区块链_会计_应用研究_基于德勤Rubix平台的分析_敬志勇.pdf
2020-05-13 17:38:47区块链时代已经到来,从会计角度来看,区块链技术是一种全新的高级簿记方法,可以降低现有信用系统的成本并提高现有信用系统的效率。首先总结国内外学者对于"区块链+会计"应用的研究现状,再运用德勤Rubix企业区块链平台... -
JDK+Tomcat+MySQL的安装及配置教程图文
2013-09-22 14:52:06对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为LAMP操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,... -
基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)
2011-03-12 10:44:33开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在... -
Oracle DBA手记:数据库诊断案例与性能优化实践(一线Oracle DBA工作思考的心得,盖国强亲自策划)--详细书签...
2013-02-06 14:40:45CruiseYoung提供的带有详细书签的... 感谢这些朋友的建议推动了我,在这次培训中的另外一个收获就是,结识了本书的作者之一。 二、本书的内容 综合所有的稿件,我将这本书分成四篇,分别为: 1. DBA工作手记... -
基于AT89S52 单片的频率计
2010-01-04 08:47:37对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛 第5 页共27 页 盾和现象。 3 系统详细设计: 3.1 硬件设计 3.1.1 数据处理电路 ( 1 ) 中央处理模块的功能: 直接采集待测信号,将分两种情况... -
枸杞的由来和技术栈
2021-01-02 15:11:32维护成本越来高的情况。我就下定决心以后做开源项目一定要有强制的 Linting,一定要有 Code Review,一定要有高测试覆盖率作为维护的保证。经过一段时间的考研,我选择了如下技术栈: <ul>... -
用电脑发传真用无纸传真系统3GFAXorMYFAX
2008-11-17 21:29:00我们的期望是达到提高在作业方式上边的效率提升,集中控管,文件有效管理,成本的降低,资源有效整合利用等; 传真系统包含了完整的签章管理,也相当于实现了OA办公自动化的一部分,对于整个公司的信息化建议推广也...首先感谢您对我司无纸传真产品的关注!!希我们的产品能为贵公司带来实际效益,提升竞争力!
附档为传真服务器方案功能方案及功能、工作界面介绍,您可有个初步了解;
我们的期望是达到提高在作业方式上边的效率提升,集中控管,文件有效管理,成本的降低,资源有效整合利用等; 传真系统包含了完整的签章管理,也相当于实现了OA办公自动化的一部分,对于整个公
司的信息化建议推广也起到了积极的促进作用;
我司专注低成本、可量化的短期投资回收期信息化解决方案,专业与持续的服务、技术支持也是让客户得到售后的保障!期待我们初步合作愉快!
其它未尽或待续事宜,欢迎随时与我联络(以下任一联络方式均可)
祝:财源滚滚 天天有个好心情!
Thanks & Regards,
朱文锋 LOUIS ZHU
****************************************
广州杰思信息技术有限公司
JITS Information Technology Co., Ltd.
Tel: 020- 62235122 62683366
Fax: 020-62351045
Mobile: 13710710695
E-mail:md96@jits.cn
Http://www.jits.cn
***********************
科技推动商业创新
Technology promotes the innovation of commerce -
在ESX服务器环境中管理存储器
2008-06-18 20:07:29由于受到VMware公司虚拟化技术整合服务器、最小化占地面积、减少电力需求以及降低冷却成本的推动,下一代用户已经将其注意力转向了VMware ESX Server的存储性能。本文将讨论建立和维护虚拟存储系统的技巧和建议。 ...在ESX服务器环境中管理存储器<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />落英缤纷由于受到VMware公司虚拟化技术整合服务器、最小化占地面积、减少电力需求以及降低冷却成本的推动,下一代用户已经将其注意力转向了VMware ESX Server的存储性能。本文将讨论建立和维护虚拟存储系统的技巧和建议。存储虚拟化的益处对于VMware和非VMware公司来说已经越来越清楚了:虚拟化从物理存储器中抽像化出存储映像,并导致企业数据中心中更少的破坏性影响。但VMware管理员需要理解ESX之上存储器的细节。Storage VMotion改变存储游戏规则Storage Vmotion加入到VMware ESX Server 3.5改变了存储游戏规则,特别是对于被Storage VMotion的发行版本恼火的存储虚拟化厂商来说更是这样。作为ESX Server 3.5的一个主要特性,这种新的服务使得VMware管理员能够将客户机操作系统的虚拟磁盘从一个数据存储器迁移到另外一个数据存储器,同时又可保证虚拟机的运行。Storage VMotion的突破也有其出人意外之处。例如,它只能通过VMware Remote CLI (RCLI)来使用。其次, Storage VMotion用户是否会遇到VMFS的碎片整理的问题也不明确,原因即是虚拟机磁盘格式(即Virtual Machine Disk Format或 VMDK)可以不断地移动位置。好消息是VMware社团已经提出了向Storage VMotion添加GUI的技巧。而且,还有两种方法同时可以使用,至少有一种方法并不会违背ESX Server兼容性规则。可能会有更多的插件可供使用,还会有一些专门针对VMware的磁盘碎片整理工具。Storage VMotion仅仅是对数据中心管理员们所认为的ESX缺陷进行补救的一种尝试。虽然有了对备份软件产品和VMware ESX的更新,多数用户还是要在虚拟服务器环境中苦苦奋斗,原因就是兼容性和存储器厂商的支持。ESX上的SAN连接Storage VMotion仅仅是对ESX堆栈结构的上半部分的一种考虑。其下,虚拟化管理员还必须理解存储器组件,如虚拟机文件系统(Virtual Machine File System (VMFS))、逻辑单元号(LUN)和存储区域网络(SAN),因为基础结构需要继续虚拟化。拥有数据中心虚拟环境中SAN故障的诊断技巧和知识是非常是特别必要的。这是因为在正确管理的情况下,SAN存储是一种用于虚拟化环境的出色方案。虽然认可并同意SAN可以作为备份虚拟架构的最佳备份选择,企业的数据中心可能并不选择使用SAN。原因可能包括安装设置成本和独立连接等因素。在一个虚拟环境中实施SAN存储部分地要涉及到与LUN和 metaLUN的协作。Windows 和 Linux服务器管理员可以将其分区扩展到自由的空间,ESX管理员却不能。但对于使用VMFS和metaLUN的管理员来说,确实有一些运作方法。一个VMFS-2卷通过VMFS工具的命令行实用程序(vmkfstools)可以扩展到一个新的SCSI设备上或LUN之上。VMware和SAN的存储和备份依赖于连接性。在考虑ESX上的存储问题时,VMware的管理员们必须重视的首要任务是如何配置用于iSCSI的ESX和VCB。转载于:https://blog.51cto.com/flowerfly/82831
-
基于 Vue 技术栈的微前端方案实践
2020-12-09 02:35:13子项目的入口文件建议只做路由挂载) <pre><code>js import Vue from 'vue'; import routes from './routes'; const share = (Vue.__share__ = Vue.__share__ || {}); const ... -
单元测试系列一-为什么要写单元测试,何时写,写多细
2018-02-09 19:04:37单元测试从长期来看,可以提高代码质量,减少维护成本,降低重构难度。但是从短期来看,加大了工作量,对于进度紧张的项目中的开发人员来说,可能会成为不少的负担。 本文从为什么要写单元测试,...一、前言
半年前在公司团队内推动单元测试的落地,略有一些心得,记录在此。如有不同观点或建议,请在评论区留言,一起探讨。
定义:单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。
单元测试从长期来看,可以提高代码质量,减少维护成本,降低重构难度。但是从短期来看,加大了工作量,对于进度紧张的项目中的开发人员来说,可能会成为不少的负担。
本文从为什么要写单元测试,何时写,写多细这些我们最关心的问题展开讨论,试图解答如何在进度紧张的项目中,通过写有效的单元测试来提高代码质量的问题。
二、单元测试要写多细
酷壳上有篇关于“单元测试要做多细”的文章,文章是从StackOverflow上的一个问题讨论开的。这个问题是–
“TDD需要花时间写测试,而我们一般多少会写一些代码,而第一个测试是测试我的构造函数有没有把这个类的变量都设置对了,这会不会太过分了? 那么,我们写单元测试的这个单元的粒度到底是什么样的?并且,是不是我们的测试测试得多了点?”
点赞最多的答案是–
老板为我的代码付报酬,而不是测试,所以,我对此的价值观是——测试越少越好,少到你对你的代码质量达到了某种自信(我觉得这种的自信标准应该要高于业内的标准, 当然,这种自信也可能是种自大)。如果我的编码生涯中不会犯这种典型的错误(如:在构造函数中设了个错误的值),那我就不会测试它。我倾向于去对那些有意义的错误 做测试,所以,我对一些比较复杂的条件逻辑会异常地小心。当在一个团队中,我会非常小心的测试那些会让团队容易出错的代码。
这个答案给人感觉对单元测试持一定的否定态度和不感冒态度,但是这一最佳答案的回答者是Kent Beck!正是那位极限编程、测试驱动开发和单元测试以及JUnit的创造者Kent Beck。Kent Beck的答案,正好回答了单元测试要写到什么程度这个问题。单元测试不是越多越好,而是越有效越好!进一步解读就是哪些代码需要有单元测试覆盖:
1. 逻辑复杂的
2. 容易出错的
3. 不易理解的,即使是自己过段时间也会遗忘的,看不懂自己的代码,单元测试代码有助于理解代码的功能和需求
4. 公共代码。比如自定义的所有http请求都会经过的拦截器;工具类等。
5. 核心业务代码。一个产品里最核心最有业务价值的代码应该要有较高的单元测试覆盖率。三、何时写单元测试
写单元测试的时机不外乎三种情况:
(1)一是在具体实现代码之前,这是测试驱动开发(TDD)所提倡的;
(2)二是与具体实现代码同步进行。先写少量功能代码,紧接着写单元测试(重复这两个过程,直到完成功能代码开发)。其实这种方案跟第一种已经很接近,基本上功能代码开发完,单元测试也差不多完成了。
(3)三是编写完功能代码再写单元测试。我的实践经验告诉我,事后编写的单元测试“粒度”都比较粗。对同样的功能代码,采取前两种方案的结果可能是用10个“小”的单测来覆盖,每个单测比较简单易懂,可读性可维护性都比较好(重构时单测的改动不大);而第三种方案写的单测,往往是用1个“大”的单测来覆盖,这个单测逻辑就比较复杂,因为它要测的东西很多,可读性可维护性就比较差。
建议:我个人是比较推荐单元测试与具体实现代码同步进行这个方案的。只有对需求有一定的理解后才能知道什么是代码的正确性,才能写出有效的单元测试来验证正确性,而能写出一些功能代码则说明对需求有一定理解了。
四、为什么要写单元测试
这其实是问单元测试能带来什么好处。之所以把这个问题放在最后讨论是因为如果一上来就说单元测试多好多好,终究还是会缺乏说服力。
而有了上面讨论做铺垫,我们更加清楚单元测试的使用场景,以及它做得到和做不到的。
单元测试的作用:
(1)让我们对自己的代码有信心
修改了代码后单测依然通过的,起码说明我们的修改没有破坏程序的正确性。这从主观上能增加我们对代码的信心。虽然单元测试通过了并不意味着程序就没有bug了,但我们也要了解到这可能不是单元测试的问题。单元测试顾名思义是测试一个”单元”,这个”单元”一般是类或方法,而不是整个系统。对整个系统的测试那是集成测试,功能测试的职责。单元测试追求的是快速反馈,频繁执行。集成测试虽然测“全局”,但成本较高,所以执行频率较少。两者使用场景不同,目的不同。
(2)为代码重构保驾护航
看到代码很差劲,想重构,但又担心重构之后出问题,怎么办呢?如果有单元测试情况就不一样了,重构完代码,跑一遍单元测试,如果单元测试都通过,基本上可以保证我们的重构没有破坏原来代码逻辑的正确性。不过前提是之前的写的单元测试质量很好,覆盖率很高。当然这仅限于小范围的重构,比如重构一个类或者函数的实现,但对于大刀阔斧的重构(比如单体重构成微服务,面向库表模式重构成DDD),就不适用,那个时候要重写单元测试了。
(3)通过单元测试快速熟悉代码
单元测试不仅起到了测试的作用,还是一种很好的“文档”,通过单元测试,我们不需要深入的阅读代码,便能知道这段代码做什么工作,有哪些特殊情况需要考虑,包含哪些业务。
五、小结
何时写
单元测试与具体实现代码同时进行。写多细
哪些代码需要有单元测试覆盖:
1、逻辑复杂的
2、容易出错的
3、不易理解的,即使是自己过段时间也会遗忘的,看不懂自己的代码,单元测试代码有助于理解代码的功能和需求
4、公共代码。比如自定义的所有http请求都会经过的拦截器;工具类等。
5、 核心业务代码。一个产品里最核心最有业务价值的代码应该要有较高的单元测试覆盖率。
-
Oracle DBA突击:帮你赢得一份DBA职位--详细书签版
2013-02-06 15:56:40以我本人所在公司为例,我公司从事全国的短信业务,以每省至少两个数据库计算,仅处于生产线的数据库数量就已将近70个,再加上开发数据库、测试数据库,我所领导的DBA团队总共管理的数据库将近80个。这个数量还仅仅... -
测试覆盖率
2011-10-28 11:16:51樱花西街一座不太显眼的大厦里,迈捷实验室技术总监武友文从软件测试说起,以第三方的视角分析了制约国内软件发展的瓶颈,发表了不同意见,提出了自己的建议。 为什么需要软件测试 “我是清华大学77级的学生,... -
Oracle 数据库管理艺术:11g新特性(世界级Oracle专家权威力作)--详细书签版
2013-02-06 17:57:47除本书外,他还是《Oracle 10g数据库管理艺术》(人民邮电出版社2007年出版)的作者,而且是Oracle公司OCP考试官方教材的作者。 目录 封面 -19 封底 489 扉页 -18 版权 -17 版权声明 -16 献词 -15 译者序 -14 致谢... -
应急响应-powershell挖矿
2019-02-10 15:43:24如果遵循这些步骤,可以最大限度地降低公司被劫持挖矿的风险: 公司安全意识培训应该增加关于挖矿劫持威胁的内容,着重介绍通过网络钓鱼将挖矿脚本加载到用户计算机上的劫持方式。 Laliberte认为培训会有帮助,... -
2009计算机 毕业设计 诚信体育用品
2009-11-06 10:31:40更快速的流通和低廉的价格:电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。 更符合时代的要求:如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能... -
c语言编写单片机技巧
2009-04-19 12:15:17答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其... -
Oracle Database 11g数据库管理艺术--详细书签版
2012-09-30 01:09:45本书针对大多数日常的oracle database 11g数据库管理任务,全面覆盖dba行业知识,并将理论与实践相结合,旨在为初中级dba提供高效运行数据库所需的方方面面的知识,帮助他们从oracle公司发行的大量资料中找到自己... -
软件工程教程
2012-07-06 23:10:29使用类图的建议 用例图 用例“捕获需求” 用例图从系统外部、从用户角度出发描述系统的功能集 用例图所描述的系统功能依靠外部用户或另一个系统激活,为用户或另一个系统提供服务 用例表达“做什么” 用例图... -
软件工程知识点
2012-12-02 21:34:25其基本方法是,在各个阶段创建原型进行项目试验,以降低各个阶段可能遇到的项目风险。 6.喷泉模型 喷泉模型是专门针对面向对象软件开发方法而提出的。“喷泉”一词用于形象地表达面向对象软件开发过程中的迭代和... -
慧创连锁版超市POS收银系统
2009-07-29 09:01:00这些商场、超市因货物品种繁多且购物的人流量大,所以迫切需要一套系统以实现商品的进、销、存,财务及人员等的一体化、自动化管理,以降低管理费用、经营成本,最终达到以最小的投资实现最大的利润目的。... -
3、2020年8月13日正式发布网络版,无需连接外网也可使用,相对于以前的单机版,软件授权费大幅度降低,欢迎申请体验! 4、2020年10月09日正式发布VLC内嵌网页多媒体播放小程序,支持在网页中直接实时内嵌播放多路...
-
3、2020年8月13日正式发布网络版,无需连接外网也可使用,相对于以前的单机版,软件授权费大幅度降低,欢迎申请体验! 4、2020年10月09日正式发布VLC内嵌网页多媒体播放小程序,支持在网页中直接内嵌低延迟播放多路...
-
OmniPlan 3.10.4 专业版:OmniPlan for mac 是Mac OS X平台的的一款非常强大的项目管理软件,它提供的功能包含了自定检视表、阶层式的纲要模式、成本追踪、里程碑、任务限制与相关性、资源分配、时程控制、Gantt ...
-
基于webpack搭建前端工程解决方案探索
2021-01-04 12:40:46探讨下对于Node.js作为后端的项目工程化、模块化、前后端共享代码、自动化部署的做法。 关于前端工程 下面是百科关于“;8KWAhpkQgUuyqAdcnb0Y380yJ5Ol8pY1-cGPR_iegeVsmnskjrZPiTLsVavNguvCSwBzhLFpUMFtOK0... -
能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。 适合中小型前后端分离的项目,尤其是 BaaS、Serverless、互联网创业项目和企业自用项目。 通过万能的 API,前端可以定制任何数据、任何结构! 大部分 HTTP ...