好软件需要好代码 好代码的特征:正确,高效,简洁,易读,可维护性 软件企业为什么需要好代码?任何一个软件,他的可维护性、性能、安全、架构都是从代码中体现。它是好软件最后一步,是基础。软件开发其他工作其实都是为他准备的。 好代码的特征描述实现方法正确性代码应当正确处理所有预期输入(expected input)和非法输入
分布式基础——RPC通信 以下内容主要来自于《分布式系统原理与泛型》进程间通信必须遵守协议。协议往往做是分层的。例如ISO 7层协议和Internet协议的4层协议。 常用的四种通信模型:远程过程调用(remote procedure call):应用于客户—服务器。远程方法调用(remote method invocation, RMI)。面向消息的中间件(messa
项目管理——统一开发工具GVIM VIM简明教程 《VIM简明教程中文版》,来自于酷壳网站。翻译自《Learn Vim Progressively》详细的介绍了VIM的基本使用方法,并给出了相关实例。通过1天的时间学习,你基本可以掌握VIM的使用,在一周内熟练使用相关操作,你可以很好使用VIM进行工作。 VIM的IDE构造 《手把手教你把Vim改装成为一个IDE编程环境》,主要介绍了常用VIM
RUP:初始阶段 以下大部分知识来自于《UML和模式应用》第三版。初始阶段定义 初始阶段考虑的问题:1,项目设想和业务案例是什么?2,是否可行?3,购买还是开发?4,粗略估计一下开发成本:10W人民币还是百万人民币,还是上千万。5,项目应该继续下去还是停止。 初始阶段的目标不是什么:1,不是定义所有需求,或者产生可信赖的预算或项目计划。2,大部分
网盘系列(二):基础知识——磁盘、ATAM,SCSI,SSD概述 本文大量知识来自《大话存储》第二版磁盘结构 磁盘寻址 磁盘读取和写入通常需要对应的地址。现在使用寻址方式是LBA(旧的寻址是CHS,柱面 Cylinder、磁头 Header、扇区Sector,简称为CHS。最大容量 255(磁头,也就是多个盘片)* 1023(柱面数)*63(扇区数)*512B(扇区大小)/ 1048576 (MB的单位)
架构系列二:架构设计 本文知识部分来自《走出软件作坊》和《软件构架实践》第二版架构设计作用 沟通软件需求与代码实现最重要的一个环节,就是架构设计。做架构设计第一步就是要理解公司客户的业务。做架构设计第二步就是要理解架构应用简单,产生的组件功能独立,让业务团队容易使用。做架构设计第三步就是要把握技术的生命周期,理解产品的生命周期。只有你不断地又走在业务的过去、现状、未来与技术的
网盘系列:企业网盘开发基础知识 前言网盘,首先要学习现有的商业和私有的网盘实现方式。其次要根据客户提供硬件环境来选择合理文件存储方案,例如使用商业存储,还是使用分布式存储系统。网盘的主要分为两大部分,一部分是网盘业务部分。例如:文件上传,网盘管理,权限设定等内容。另外一部分是文件存储部分。例如:文件上传后存到那个服务器上,服务器如何维护,如何做到可扩展。 要做到以上内容。我们必须先学习和了解商业网络存储、
架构系列三:UML定义 本文大部分内容来自于《UML和模式应用》第三版。什么是UML 统一建模语言(UML)是描述、构建和文档化项目制品的可视化。 UML定义了各种UML简单(UML profile) UML表示法的基础是UML元模型(meta-model),它描述建模元素定义,UML元素型主要对模型却动架构(ModelDriven Architecture,MDA)
系列一:Hadoop 2.2 环境配置(单机配置) Single Clustor 安装JDK 7.xx或者JDK 6.xxx先从网站上下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.htmlCentOS安装可以直接使用:JDK.rpm。例如:jdk-7u45-linux-x64.rpmUbuntu安装可以使用:JDK.tar.gz。例如:jdk-7u4
架构系列一:架构的分析与设计 本文大部分知识来自于《UML和模式应用》什么是分析 分析(analysis)强调的是对问题和需求的调查研究,而不是解决方案。 分析主要围绕着,信息系统的使用,它具备那些功能,具备哪些抽象元素。(需求分析,对需求的调查。面向对象分析,对领域对象的调查研究)。 举例说明:需求管理软件,他有那些功能?如何使用他?解释:分析就是在一大堆需求文档中,找
2013-12-16到2013-12-20 优秀图书推荐《Web信息架构》前年差不多这个时候,经朋友介绍去了趟凡客,看能否帮忙解决些问题。2010年凡客T恤卖得还不错,打算在2011年推出两三千件T恤去卖,但因为绝大多数买家都只对“首页”内容感兴趣,凡客问有没有办法更好地引导用户,我说信息架构的“内容组织优化”能解决。简单地说,就是把商店收拾收拾,一方面要在门口和窗橱放上足够吸引用户的商品,激起用户兴趣并进店选择;另一方面要在把
2013-12-9到2013-12-13 UML工具1,开源的最好是StarUML,但是代码反向工程不好。2,MagicUMLDraw是商业版本,功能很强大。 学习了数据挖掘的范围内容数据挖掘技术:1,引导理论性知识。2,商务应用方面的数据挖掘。3,在技术上:侧重统计学习,侧重机器学习,侧重模式识别。4,特定领域上:Web数据挖掘,文献汇编,数据可视化,科学与工程,分布式数据挖掘,生物信息学,并行数据挖
DotNet应用调试(1)——ANTS Memory Profile学习 摘要首页跟进入课题进行比较,首先用户登陆进入你的软件首页等待5秒左右稳定点击快照,此时打开选择首页某一个课题点击打开等待5-10秒问点点击快照,最后界面如下摘要详细说明(1)由此图可以看着快照之间的大小显示内存使用情况如何改变两个快照之间的差异。可以看出两个快照之间增加1.486MB。这个饼图显示您的应用程序使用的内存。寻找大量的非托管的使用。这是N
IPD系列(1)—技术地图 技术地图简介技术地图是支持产品开发有利的工具,也是技术可以被广泛、高效应用的基础。技术地图构建可以更好推动公司的核心技术、关键技术的发展,减少重复技术开发工作。 对于公司,技术地图不仅包含公司自己的核心技术、关键技术和通用技术,也包含了成熟开源技术和第三方的商业技术。 技术地图可以帮助产品经理、技术经理、系统架构师、系统分析师、项目经理等决策人员,快速判
Solr翻译系列(1)—Solr Performance Data (Solr性能报告) 部分翻译文章,原文地址:http://wiki.apache.org/solr/SolrPerformanceData查看Solr性能,你可能关注以下内容:你使用的操作系统和硬件。你选择的Solr版本你使用的Servlet容器和JVM版本。你的索引你测试操作类型(更新,提交,优化,搜索)你关注性能瓶颈(CPU,磁盘IO速度,内存) 你也可以看Solr性能影响因素
Play Framework系列(2)_运行Play Framework 通过命令行运行1, 首先Play.bat必须能运行,其次必须进入到Application目录下。例如本例:helloplay,我就cd到它的下面。2, 运行play.bat。注意路径位置3, project文件夹下的内容变动了 4, 成功之后可以看到类似下图内容 5, 开始运行开发环境。输入run命令 6, 在浏览器中输入local
写给原领导的团队建设建议书 本文早在2012年年初完成。领导对这个建议书无任何回复和反馈。以后大家遇到这种情况,请不要写这种无用建议书(切记切记)。前沿xxx院现阶段已经发展到了30人的团队了,有很多同事包括我,都是今年参加xxx院的。 人多了,问题也就多了。人员管理,技术研发,科学研究三个方面。 我就技术研发跟您讨论一下具体问题和我的建议方案。技术
快速开发平台设计思考 快速开发平台市场范围 在国内有很多家公司在做快速开发平台。很多家都很出名(例如:普元,起步软件),请大家在Google上Search相关关键字:“快速开发平台”。 快速开发平台市场范围大都是管理系统。这是有历史问题的,在中国关系型社会大条件下,每个公司都有自己特定的业务逻辑,完全无法抽取出通用的逻辑(财务软件等具有国家强制规定软件除外)。 用户的需求需要满足,老板的挣钱的想