实践与理解CMM体系】的更多相关文章

我的项目管理之路--5.实践与理解CMM体系   分类: 管理专辑(65) 过程改进(9) 软件工程(52) 版权声明:本文为博主原创文章,未经博主允许不得转载. 一个现代企业我们可以把它比作为自然界的生命体,而项目则是企业的基础细胞.于是,项目管理的成熟程度标志着组织是高级的 还是低级的.如果一个企业的项目管理多是分立的,项目之间没有参照.借鉴的,我们可以认为这个企业是一个单细胞动物或低级动物.我们很清楚,单细胞动物抵 抗自然界干扰的能力是很低的,应该说它始终处在生存的边缘.如果项目是组织级别…
前言 为了降低加载时间,相信大多数人都做过如下尝试 Keep-alive: TCP持久连接,增加了TCP连接的复用性,但只有当上一个请求/响应完全完成后,client才能发送下一个请求 Pipelining: 可同时发送多个请求,但是服务器必须严格按照请求的先后顺序返回响应,若第一个请求的响应迟迟不能返回,那后面的响应都会被阻塞,也就是所谓的队头阻塞 请求合并:雪碧图,css/js内联.css/js合并等,然而请求合并又会带来缓存失效.解析变慢.阻塞渲染.木桶效应等诸多问题 域名散列:绕过了同域…
实现Socket心跳包主要分为两大类,第一采用tcp自带的KeepAlive,第二是自定义心跳包,恰巧我在产品VICA中都使用过,下面就这两种心跳包机制谈谈个人的理解与感受. 首先第一种KeepAlive机制,这种机制的原理是在客户机与服务器之间维持一个低级别的探查,当检查到一定时间双方没有发生通信时,则会启动通信心跳,连续通信三次,每次间隔一个时间,根据这次探查结果来确认当前socket是否可用. 这种机制的好处就在于具体的通信内容不需要程序员操心发送与接受,它自动实现了这套功能.如果客户机想…
Object.assign() 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象.如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖.后来的源的属性将类似地覆盖早先的属性. 语法 Object.assign(target, ...sources) 合并对象 const list = { stu:{aa:11,bb:22,cc:33}, Scenelist:{ee:44,dd:55,ff:66} } const addList = {gg:77,hh:88,ii:…
能力成熟度模型(Capability Maturity Model,英文缩写为CMM)[1]是 一种开发模型.Carnegie Mellon大学的研究人员从美国国防部合同承包方那里收集数据并加以研究,提出了CMM.美国国防部资助了这项研究.Carnegie Mellon以该模型为基础,创办了软件工程研究所(SEI).CMM的目标是改善现有软件开发过程,也可用于其它过程. 它是对于软件组织在定义.实施.度量.控制和改善其软件过程的实践中各个发展阶段的描述.CMM的核心是把软件开发视为一个过程,并根…
ylbtech-杂项:CMM CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM.它是对于软件组织在定义.实施.度量.控制和改善其软件过程的实践中各个发展阶段的描述.CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化.标准化.使企业能够更好地实现商业目标.此外还是化妆品的名字. 1.返回顶部 1. 成熟度模型 CMM是指“能力成熟度模型”,…
 前言 本文从热更新.异步并发.性能优化.网络请求等多个方面对Android App开发的知识体系进行了一个分类总结.欢迎大家沟通交流. 热更新 [原]热更新开源项目Tinker源码解析之Dex热更新 [原]热更新开源项目Tinker源码解析之资源热更新 [原]热更新开源项目Tinker源码解析之Library热更新 [原]Android热更新开源项目Tinker集成实践总结 [原][开源项目]DexDiff格式解析工具 异步并发 [原]JAVA并发库concurrent包之ThreadPool…
http://web.jobbole.com/89188/ 2016 – 对于未来五年内Web发展的7个预测 2015 – 我的前端之路:从命令式到响应式,以及组件化与工程化的变革 怎么成为一名优秀的软件工程师 GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean:十年前,Martin Fowler撰写了GUI Architectures一文,至今被奉为经典.本文所谈的所谓架构二字,核心即是对于对于富客户端的代码组织/职责划分.纵览这十年内的架构模式变…
原文:http://soft.chinabyte.com/30/13940030.shtml 作者:国际最佳实践管理联盟 孙振鹏 关键字: DevOps.DevOps认证.DevOpsDays.DevOps Master DevOps的由来 在2008年多伦多举办的敏捷大会中,Patrick DeBois 和Andrew Clay Shafer 先生就“ 敏捷基础架构”进行了探讨. 随后2009年在比利时根特举办的首届DevOpsDays 活动中,Patrick DeBois 先生首次在公开场合…
我发现身边越来越多人谈数字化.谈企业架构,但是感觉谈的总是IT?知道好像不对,但是又好像也无法告诉别人这和传统的IT架构有什么不一样?网上找资料,看了很多也摸不到门路,也不知道别人讲的对不对.对了还好,万一错了,那就错上加错. 如果你希望了解企业架构,但又苦于找不到中文资料,那么除了买我的中文讲义之外,还可以扫码访问我之前写的一些文章 关于我 大家好,我是周金根,IT帮创始人,2001年从浙江大学毕业进入一家建筑领域软件企业,在16年的工作中从程序员做起,从事过开发经理.项目经理.技术专家.系统…
直接开始说了,不浪费园友宝贵的时间! 什么是工厂模式? 在学习前,先问一下:"它是什么?". 工厂模式,它是项目里面常用的设计模式之一. 它是属于创建型模式,简单的理解创建型模式就是将实例化工作交给另外一个对象来完成. 工厂模式(又称静态工厂模式 Static Factory Method),它算是软件设计模式中最简单的模式了. 为了解决什么问题? 工厂模式使代码清晰,降低耦合度,调用者通过 接口/抽象类来获得想要的实例化,而无需关心细节上是如何实现的. 工厂模式是一种典型的解耦模式,…
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/21486985 Class文件在Java体系结构中的位置和作用 在上一篇博客中, 大致讲解了Java虚拟机的体系结构和执行原理. 本篇博客主要讲解能够被JVM识别, 加载并执行的class文件的格式. 对于理解JVM和深入理解Java语言, 学习并了解class文件的格式都是必须要掌握的功课. 原因很简单, JVM不会理解我们写的Java源文件, 我们必须把Java源文件编译成clas…
前言 之前分享的<web项目演化--验证体系>中提到基于angular的验证,但是为了以防读者迷惑,能够好的理解验证体系,所以没有详细介绍. 今天特地补写一篇关于构建angular的验证. 前端验证组件虽然对于美工的要求会更多,但是真实的应用环境下,其实对业务的要求会更高,需要组件有统一的规范,除非设计通用组件,否则应该更关注业务来进行设计. 有了统一的验证组件,复合组件可以重用单一的文本框.输入框.复选框等组件,开发人员可以节省不少时间,并且在后期需要对网站风格统一调整的时候,只需要改变相应…
文章从上层应用访问字符设备驱动开始,一步步地深入分析Linux字符设备的软件层次.组成框架和交互.如何编写驱动.设备文件的创建和mdev原理,对Linux字符设备驱动有全面的讲解.本文整合之前发表的<Linux字符设备驱动剖析>和<Linux 设备文件的创建和mdev>两篇文章,基于linux字符设备驱动的所有相关知识给读者一个完整的呈现. 一.从最简单的应用程序入手 1.很简单,open设备文件,read.write.ioctl,最后close退出.如下: 二./dev目录与文件…
目录 前言 一.异步,同步,阻塞和非阻塞的理解 二.异步编程从用户层面和框架层面不同角度的理解 用户角度的理解 框架角度的理解 三.为什么使用异步 四.理解这些能在实际中的应用 六.困惑 参考文章 前言 这篇文章主要是总结自己对于网络编程中异步,同步,阻塞和非阻塞的理解,这个问题自从学习NIO以来一直困扰着我,,其实想来很久就想写了,只不过当时理解不够,无从下手.最近在学习VertX框架,又去熟悉了下Netty的代码,因为了对于多线程也有了更深的理解,所以才开始对于这些概念有了理解,用于理清思路…
无符号数.表 当实现了不同语言的编译器,比如jython,jruby等等,那么就可以利用这些语言编写代码,通过各自的编译器编译成符合jvm规范的字节码文件,就可以利用jvm来执行了. Class文件在Java体系结构中的位置和作用 在上一篇博客中, 大致讲解了Java虚拟机的体系结构和执行原理. 本篇博客主要讲解能够被JVM识别, 加载并执行的class文件的格式. 对于理解JVM和深入理解Java语言, 学习并了解class文件的格式都是必须要掌握的功课. 原因很简单, JVM不会理解我们写的…
摘要 MemoryCache是.Net Framework 4.0开始提供的内存缓存类,使用该类型可以方便的在程序内部缓存数据并对于数据的有效性进行方便的管理,借助该类型可以实现ASP.NET中常用的Cache类的相似功能,并且可以适应更加丰富的使用场景.在使用MemoryCache时常常有各种疑问,数据是怎么组织的?有没有可能用更高效的组织和使用方式?数据超时如何控制?为了知其所以然,本文中对于MemoryCache的原理和实现方式进行了深入分析,同时在分析的过程中学习到了许多业界成熟组件的设…
领域驱动设计理解&总结 这篇文章主要是通读<实现领域驱动设计>之后自己的理解和总结(同时也参照一些博文的分析来加深自己的理解): 有些疑问是自定义内容,虽然有自己的理解,但依然感觉较为抽象,后续会通过实践来理解其中的精妙之处. 领域驱动设计指引 领域驱动设计 作为一种软件开发方法,提供了战略上(思考方式) 和 战术上(落地方式) 的建模工具来帮助我们 设计高质量的软件模型: 领域驱动设计 不是关于技术的,而是关于讨论.聆听.理解.发现业务价值 的,目的是将 知识 集中起来,形成 通用语…
1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2.命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer. HtmlConverter.jar. java.javac.javadoc.javap.javaw.native2ascii.serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解. 3.工具:必须至少熟练使用一种IDE的开发工具,例如Eclip…
笔者成为博客专家后整理以前原创的嵌入式Linux系列博文,现推出以让更多的读者受益. <从需求的角度去理解linux系列:总线.设备和驱动>是一篇有关如何学习嵌入式Linux系统的方法论文章,也是从需求的角度去理解Linux系统软件的开篇,期待此系列文章日后会是学习嵌入式Linux的标杆! 这是作者精心撰写的经验总结,希望嵌入式Linux的学习者仔细领会,多读几遍也无妨. 一.软件.面向对象.软件框架 软件是为了解决现实问题而产生的,面向对象的软件思维是解决普遍现实问题的一种有效的抽象方法,而…
原:http://xuexuefeng.com/autolayout/?utm_source=tuicool 本文是博主 iOS 开发实践系列中的一篇,主要讲述 iOS 中 Auto Layout(自动布局)在实际项目中的使用. Auto Layout 在 2012 年的 iOS 6 中发布,距今已经 2 年多了,如果从 2011 年在 Mac OS X 上发布的 Auto Layout 开始算起,已经超过 3 年了.如果你的简历上写着 2 年以上工作经验,而竟然不会使用 Auto Layout…
一.概述 近年来,大数据技术如火如荼,怎样存储海量数据也成了当今的热点和难点问题,而HDFS分布式文件系统作为Hadoop项目的分布式存储基础,也为HBASE提供数据持久化功能,它在大数据项目中有很广泛的应用. Hadoop分布式文件系统(Hadoop Distributed File System.HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.HDFS是Hadoop项目的核心子项目,是一种具有高容错性.高可靠性.高可扩展性.高吞吐量等特征的分布…
背景 在之前的文章<漫谈微服务>我已经简单的介绍过微服务,微服务特性是轻量级跨平台和跨语言的服务,也列举了比较了集中微服务通信的手段的利弊,本文将通过RPC通信的方式实现一个增删查Redis的轻量级微服务示例,大部分内容翻译自文章<Microservice in golang, using Redis and gRPC>,中间加上自己的实践和理解. 实验环境 Mac OS go version go1.12.4 darwin/amd64 Docker version 18.09.2…
Android架构(一)MVP架构在Android中的实践 https://www.300168.com/yidong/show-2790.html   核心提示:为什么要重视程序的架构设计 对程序进行架构设计的原因,归根结底是为了 提高生产力 .通过设计是程序模块化,做到模块内部的 高聚合 和模块之间的 低耦合 (如依赖注入就是低耦合的集中体现). 这样做的好处是使得程序开发过程中,开发人员主需要专注于一点, 为什么要重视程序的架构设计 对程序进行架构设计的原因,归根结底是为了 提高生产力 .…
多线程的些许理解 一.体系架构 1.原子操作 1) 定义 不可中断的一个或者一系列操作,也就是不会被线程调度机制打断的操作,在运行期间不会有任何的上下文切换(context switch). 2) 我们为什么关注原子操作(what) 在多线程操作的时候,确定某个操作非原子操作,要用消耗性能的昂贵的锁去保护. 3)单核CPU.多核CPU 在单核CPU中,能够在一个指令中完成的操作都可以看作为原子操作,因为中断只发生在指令间. 在多核CPU中,软件级别的原子操作依赖于硬件支持的,在X86体系中,CP…
项目初探 项目地址: 原项目:https://github.com/lonng/nanoserver 调过的:https://github.com/Kirk-Wang/nanoserver 这将是一个完整的,完全践行 DevOps/GitOps 与 Kubernetes 上云流程的 Golang 游戏服务器开发的系列教程. 这个系列教程是对开源项目 Nanoserver 的完整拆解,旨在帮助大家快速上手 Golang(游戏)服务器后端开发.通过实践去理解 Golang 开发的精髓 -- Shar…
介绍 我们基于不同的需求创建不同的应用,但却在一次又一次地实现相同或相似的结构.至少在某种程度上,授权.验证.异常处理.日志.本地化.数据库连接管理.配置管理.审计日志属于通用的结构. 另外我们总是在构建体系结构和最佳实践,比如分层和模块化架构,领域驱动设计,依赖注入等等,同时也在尝试基于惯例来开发应用.这些都是非常耗时且难于对每个项目独立构建.所以许多公司会构建自己的框架,他们用这些框架更快速.更少BUG地开发新应用.但是并不是所有公司都这么幸运,他们大部分都没有时间.预算.团队来开发这类框架…
返回总目录 为了和2016年春节赛跑,完成该系列博客,我牺牲了今天中午的时间来完成该系列的第一篇----开篇介绍.开篇介绍嘛,读过大学教材的同学都知道,这玩意总是那么无聊,跟考试没关系,干脆直接跳过,呵呵,多么美好的大学时光啊!不过,现在想想,开篇介绍确实不怎么重要,它只是告诉我们今后我要开始讲什么了,主要讲什么,大概浏览下重点. 哦了,不扯了,时间不多了,干活! 本篇目录 介绍 快速样例 其他 启动模板 如何使用 介绍 我们总是基于不同的需求创建不同的应用,但是在一定程度上,总在反复地实现通用…
<程序设计教学法--以Java程序设计为例> 当老师上的第一门课就是<Java程序设计>,工作以来,断断续续上了近十次课了吧.十几年来,教材.课程内容.教学方法.教学手段不断改变.不断尝试,最近自己才感觉形成了较好的一套方法.教书是人类事业中很少能从自己的过去获益的一类,总结一下过去,也许对自己.对别人都有好处. 教师角色 <如何成为卓越的大学老师 >一书中说优秀的老师相信知识是构建出来的,优秀的老师可以构建一个自然的.批判性的学习环境,促进学生成为深度学习者,并对学生…
事务的认识需要一个相当漫长的流程,慢慢在实践中理解,然后在强化相关理论基础. 数据库中的事务: 传统的本地事务处理都是依靠数据库自身事务处理能力,而事务本身是传统关系型数据库的基石.简单来说事务就是一些满足acid特性的sql,数据库通过锁和日志实现这些机制.国内的mysql中innodb事务引擎引料众多,也有很多文章让我们深刻理解索引和事务的概念.此处简单说一下我的理解: A:代表原子性,最好理解,要么全做,要么全不做. C:一致性,简单来说就是你扣了50,有人就加了50(一致性本身存在好多种…