最新文章
项目代码风格要求 .NET技术
项目代码风格要求PDF版下载:项目代码风格要求V1.0.pdf代码风格没有正确与否,重要的是整齐划一,这是我拟的一份《项目代码风格要求》,供大家参考。1. C# 代码风格要求1.1注释类型、属性、事件、方法、方法参数,根据需要添加注释。如果类型、属性、事件、方法、方法参数的名称已经是自解释了,则不需...
CPU流水线的探秘之旅 电脑硬件
英文原文:A Journey Through the CPU Pipeline 编译:@deuso_ICT 作为程序员,CPU 在我们的工作中扮演了核心角色,因此了解处理器内部的工作方式对程序员来说不无裨益。 CPU 是如何工作的呢?一条指令执行需要多长时间?当我们讨论某个新款处理器拥有 1...
Unix考古记:一个“遗失”的shell 开源
历史的尘埃 Unix作为一个举世闻名的操作系统已有40余年的历史,围绕着这个古老的操作系统的发展又衍生出了一系列外围软件生态群,其中一个非常重要的组件就是shell。它是操作系统最外层的接口,负责直接面向用户交互并提供内核服务,包括命令行接口(CLI)或图形界面接口(GUI)两种形式。以CLI...
打造最佳开发团队的几点建议 软件工程
英文原文:The Best Developer Team Structure 在灭火时,有一种“水桶阵型”——队伍中所有人排成一列或几列,将水桶从水源处传递到火灾现场。这样在团队协作时甚至不需要语言交流,但显然不适用于软件开发。 Scott根据自身经验,针对软件开发总结了以下几点建议,不一定...
优秀程序员无他-善假于物也 程序人生
运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想。《程序员的思维修炼》一书中将程序员分为5个层级:新手,高级新手,胜任者,精通者,专家。根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手。而且居于这个层级的程序...
忠告:不要在愚蠢时间写代码 程序人生
英文原文:Avoiding "the stupid hour" 时不时地,总会听到、看到一些团队频繁熬夜加班,甚至觉得这很浪漫。他们的想法是跟夜晚作弊,持续编写代码或做其他事情。有时这是因为抽风的经理,但也有时诱因来自团队内部。 我曾经写过,偶尔是会有一些灵感的火花促使你工作到深夜。但那是另...
谈谈.NET中常见的内存泄露问题——GC、委托事件和弱引用 .NET技术
其实吧,内存泄露一直是个令人头疼的问题,在带有GC的语言中这个情况得到了很大的好转,但是仍然可能会有问题。一、什么是内存泄露(memory leak)?内存泄露不是指内存坏了,也不是指内存没插稳漏出来了,简单来说,内存泄露就是在你期待的时间内你程序所占用的内存没有按照你想象中的那样被释放。因此什么是...
BPM流程管理软件的五大创新 K2 BPM
业务流程管理软件既是一种载体,也是一种应运而生的工具。业务流程管理(BPM)软件是大部分企业的重要工具,有助于企业进行集成和自动化梳理内部流程。随着技术的不断创新不断进步,BPM的功能也随之不断完善。BPM出现的新功能是否为企业进行流程管理带来变化,当中是否存在发展瓶颈。下面介绍BPM软件的五大...
IT固化是流程管理成功的重要手段 K2 BPM
当前,"流程"的概念已经深入到企业的每个环节,任何一项业务战略的实施都肯定有其有形或无形的相应操作流程,不管企业目标有多么宏伟,多么远大,都是靠流程一点一滴运转起来的。 宏伟的战略和目标只有真正落实在流程上面,才是真正开始执行的战略。企业在做了总的战略部署之后还要做分领域的业务战略,然后细分到...
持续交付模式 软件工程
英文原文:Patterns for Continuous Delivery 当你有了持续集成需要的构建服务器和脚本之后,下一个问题肯定是:“我们该拿这些构建版本怎么办?”持续交付,以自动化或半自动化方式,将构建版本从一个环境提送(promote)到更接近实际生产的交付准备环境;这常常是公司在这...
关于软件开发的一些常识和思考 编程基础
有最好的编程语言吗 作者的观点:程序员在最初学习BASIC、Fortran、 Pascal、C、C++等语言时会感觉一个比一个好,不免有喜新厌旧之举。而如今的Visual Basic、Delphi、Visual C++、Java等语言各有所长,真的难分优劣。能很好地解决问题的编程语言就是好语言...
软件开发中没有所谓正确的方法 程序人生
英文原文:There is No Right Way to Develop Software 驱动测试开发(TDD)是唯一能让你写出没有 bug 的程序的方法。只有结对编程是可行的。我们之所以成功就是因为我们使用的是远程开发人员。等等等等…… 像这样的话每天我都能看见。 像这样的风言风语十...
软件开发如同木匠做桌子 程序人生
英文原文:It Should Only Take You a Few Hours… 做一张桌子看起来十分的简单。任何人都可以做,不是吗?找个大块的四方形木板,四个等长的木头柱子,四个钉子和一个锤子。把四个柱子钉到四方板的四个角上,你就做成了一个桌子。当当当! 现在来让一个真正的木匠为你打造一...
指尖上的正则表达式–入门篇 编程基础
1) 历史和起源 正则表达式的“鼻祖”或许可一直追溯到科学家对人类神经系统工作原理的早期研究。美国新泽西州的Warren McCulloch和出生在美国底特律的Walter Pitts这两位神经生理方面的科学家,研究出了一种用数学方式来描述神经网络的新方法,他们创新地将神经系统中的神经元描述成...
软件开发中的11个系统思维定律 软件工程
英文原文:11 Laws of The System Thinking in Software Development “我会更加努力地工作” —— 一匹名叫Boxer的马(出自乔治·奥威尔的《动物农庄》) 彼得·圣吉在其著作《第五项修炼》中提到的系统思维定律同样适用于软件开发。 1. 今...
软件开发的人文关怀 程序人生
几年前,我从温伯格的《技术领导之路》中学到一点:技术人员往往更喜欢和机器打交道,因为他们“认为”自己更适合和机器打交道;但是,优秀的技术人员必须(也必然)具备好的沟通能力。所以,温伯格鼓励各位技术人员多加练习和其他人打交道的能力。温伯格的这个观点我是非常赞成的,好的技术人员一定需要“勇敢”面对他...
将安全开发流程扩展到云和大数据 互联网
英文原文:Extend your secure development process to the cloud and big data 简介:云计算和大数据正在改变着企业。了解必须将这些新技术融入您的安全开发流程的原因,并了解什么是安全开发流程、云计算和大数据技术的组成部分,以及它们存在哪...
进程与线程的一个简单解释 编程基础
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2. 假定工厂的电力有限,一次只能...
那些触动人心的产品细节 软件设计
马斯洛需求层次理论告诉我们,当人穷困的时候,首要解决的是温饱问题。解决了温饱问题之后,接下来需要获得的是精神上的满足。产品也是一样,给用户解决问题是温饱问题,打动用户,在情感上获得用户的共鸣则是精神上的满足。不过,功能上的满足和情感上的满足两者未必是先后关系。 越来越多的互联网产品,给用户提供...
如何组织大型JavaScript应用中的代码? Web前端
英文原文:Code Organization in Large AngularJS and JavaScript Applications 本文作者Cliff Meyers是一个前端工程师,熟悉HTML5、JavaScript、J2EE开发,他在开发过程中总结了自己在应对JavaScript应...