读<移山之道>这本书差不多用了一个星期的时间,感觉还是收获了一些知识的,以前只是会简单地编个小程序(虽然现在也是这样),但看过这本书之后我对软件开发这个概念的认识度有了从一片模糊到了解大体概念的转变.但是毕竟用一周时间读透这么一本完整的书不是一件简单的事情,我也只是了解到了一些皮毛,在阅读的过程中也遇到了很多问题,一些基本的问题在后面的学习中已经解决了,有的还在困扰着我. (1)在书中了解到了一个术语叫 Work Item,但书里并没有提到一个vs里出现过的叫做issue的Work Item,…
首先,我选择<移山之道>有几个原因.第一,书的名字给我一种新鲜感,而不是像另外两本书那么平常:第二,作者邹欣是老师推荐的,看一看他的书或许能让我发现老师对他推崇备至的原因,而实际上,读完这本书,我也深刻感觉到自己学到了很多东西:第三,这本书的写作风格和我们平时用的教材有很大差异,以一个故事的形式娓娓道来,让人耳目一新.就是这些原因,我选择了这本书,我也发现了一些问题,这些问题也许在我们以后的学习工作过程中都会遇到. 第一个:书中衡量员工工作质量中(DEV)中其主要衡量两个指标,一是check…
开发之道——读<移山之道——VSTS开发之道>后感 <移山之道——VSTS开发之道>(下简称<移山之道>)是邹欣老师的另一本书.相传很有名的<构建之法>我未曾拜读不过从这本书中对邹欣老师的水平可见一斑.读这本书花费了我将近一周的时间,然而我感觉这笔投入还是相当值得的,让我从能够编写程序,到对软件开发这个过程有了一定的认识,获益匪浅. <移山之道>使用的VSTS版本其实是比较老旧的(VS2005),但是并不妨碍这本书的价值.这本书更注重的是操作性,…
这两天看了<移山之道:VSTS软件开发指南>,对团队软件开发又有了新的认识.也许对于我们这些软件开发的新手来说,最重要的是具体技术与应用框架,但读了这本书后我感觉到,实际团队项目中工具的使用是次要的,更重要的在于对人员的控制,如何高效得让一个团队各司其职.彼此之间在充分信息交流的基础上协同工作才是一个软件开发过程中最重要的因素. VSTS 就是微软在MSF框架的基础上发布的一套团队软件开发集成环境,除了开发工具外还集成了测试工具.构建工具.管理工具和协作工具.其逻辑结构简单来说,就是把源代码存…
老师布置的阅读任务虽然是附加的作业,但是对我来说是个很好的学习机会.软件工程主要是对工程的开发进行学习,毕竟在学校老师教了那么多的知识,我们课下做了那么多的练习并没有提高我们做一个工程的能力.一个项目一个工程不仅仅是编写代码,调试,简单的测试,通过阅读<移山之道>这本书我对开发项目有了一个全面的了解. 平时对教科书那种语言方式不是很接受,这本书一直用一些故事和真实的例子来激发读者对于书本内容的兴趣,引导读者继续阅读. 因为之前接触的编程的书不是很多,有很多东西不熟悉,读了这本书以后有很多的收获…
 本周在考虑阅读材料时,我翻阅了<移山之道>,正好看到这一章:两人合作,心想:正好,我们正值结对作业的紧要关头,书中两人合作的宝贵经验和教诲应当对我们有很大帮助.于是,我开始一边在ddl苦海中扑腾挣扎,一边抽空读完了这一章,确实受益匪浅. 这一章首先由一个时间估计的小故事引入:从北京火车站到八达岭长城需要多久.书中两位同学分别考虑不同情况,给出了截然不同的估计,由此引出项目管理要素三角形:功能.资源和时间.这三者在项目中相互制约,维持其平衡方能做好项目.回想这一周我们奋战的经历,首先时间方面紧…
最近因为作业的原因所以接触到了这本书,给我最特别的感觉就是很新鲜,主要是因为这本书是以故事展开的,大概是我读的书太少,基本没有看到过专业书的知识体系是用故事串讲起来的,这样帮助读者理解了一些概念并且不只是看过就忘了. 那么现在就提出我不是很懂的几个问题和感想吧: 1,MFS中的组队模型,着重于解决在复杂工程项目中如何组建项目组.分配合适的角色.项目组的管理.职责划分和质量控制等问题.但是就个人目前的专业学习情况来看,对于项目中合适角色的分配并不是很懂,什么才叫合适,如果完全不知道个人的擅长项或者…
首先不得不承认这本书的写作方式很独特,不像其他的计算机类的图书那样枯燥,让人读起来感觉很有意思,他也颠覆了我对计算机类图书的看法,这种写作方式值得我们学习. 先谈谈收获吧.读了两年大学,这是第一次写类似的比较像个项目的项目,所以也是第一次了解了做一个项目除了写代码还有很多事情要做.比如说项目开发前的准备,像分工,每个阶段的准备,项目的整体框架的构建,Uml图的设计,开发中大家如何去共享代码,如何交流等等,可能以前都是自己一个人写,涉及不到这方面的问题,也没有考虑过,这是读这本书最大的收获之一——…
很少见到用故事的形式来写技术书籍的,这是我看到的第一本,书写得比较有趣,看了之后也是有一定的收获.  作者在此书中旁征博引,引用的东西虽不能一个一个查询是否正确,但是每次读到时候,感觉一种现代的软件工程和中国哲理结合起来,或者给我的感觉是中国文化之博大精华,在软件工程中都能体现的淋漓精致. 1.起初看这书时候的确觉得挺有趣,但是到了后面觉得作者这样的确能吸引到读者,但是有些事情并不能详细引申,有些定义对于初学者来说显得比较模糊,不知道这样的表述到底是好是坏? 2.PM在一个工程项目中需要做的事情…
禅道与软件开发云对比分析报告 1. 产品介绍 禅道是易软天创出品的一款项目管理软件,集产品管理.项目管理.测试管理.文档管理.组织管理于一体,覆盖了项目管理和测试管理的核心流程. 华为软件开发云 (DevCloud )是集华为研发实践.前沿研发理念.先进研发工具为一体的研发云平台.DevCloud面向开发者提供研发工具服务,让软件开发简单高效. 2. 产品定位 禅道 主要用户群:项目经理.产品经理.开发人员.测试人员. 主要功能:项目管理.需求管理.任务管理.bug管理.测试管理. 核心竞争力:…
拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如何做的,以及个人的一些思考和收获吧,寥有慰藉... Google的测试流程可以简练的概括为:让每个工程师都注重质量.而在工作流程引入过程中也伴随着一些致命的缺陷,下面简述下Google是如何解决以及其测试流程的是如何进化的. ①.测试并不能保证产品质量.需要一直谨记的一点:质量是内建的,而不是外加的…
今天闲来无事,心中又对软件开发充满了向往和憧憬.一直认为实践是检验真知的唯一标准,也是快速提升的绝密方法,是巩固基础加深基础的好去处.故在JD上搜了下软件开发,看到了这本<31天学会CRM项目开发>.希望在后面的阅读与探索中,能跟大家分享和学习,也希望大家对于我的言论给予评论,已达到纠错改正.共同提升的目的. 因为本人是电子类专业出身,以前所了解的软件开发仅仅停留在通过写代码实现某个功能或达到某个效果,从来没有系统的去认识.看了第一天的内容,发现原来软件开发可以这样细分: 1.软件开发产品应用…
The pragmatic programmers 一直在工作之余读些书,之前主要是纯英文版的计算机相关的算法,编译器,数学等,想通过读这些书来提高自己每日工作效能,结果收效甚微.一是,因为纯英文的书,阅读的慢,第二,也是最重要的一点,发现掌握的很慢,思前想后感觉可能是和工作的内容距离较远,两者不能互相辅助,第三,不能直接的回馈工作本身. 索性就换一换类型,最先入手的,是<agile software development-principles, patterns, and practices…
原文链接: http://www.cnblogs.com/kkun/archive/2011/07/06/2099253.html 敏捷软件开发 Agile software Development 敏捷开发是一种软件开发方法,基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作 敏捷宣言的诞生: 2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场.经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全…
转注:英文原文写于 2011 年 导读:没有人比Linus Torvalds更了解软件开发项目管理中的酸甜苦辣了.作为Linux的创建者,Torvalds在过去二十年指导了数以千计的开发者共同改进开源操作系统内核. 文章内容如下: Linus Torvalds说,有两件事,世界上大都数人,无论是独立开发者还是公司级别的开发团队,都有普遍的错误认知. 其一:“大都数人认为可以把事情丢给其他人,让他们帮忙.在你公开你的想法后,你得假设自己一个人要干完全部的活,然后你在网上征求人们的意见,你应该询问自…
一. Java 基础部分......................................................................................................21.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....22.Java 有没有 goto?......................................................................…
操作系统 解释堆和栈的区别. 分配在堆的内存与分配在堆栈的内存有什么不同 分配在堆的内存要手动去释放 线程与进程的区别 多线程中栈与堆是公有的还是私有的 在多线程环境下,每个线程拥有一个栈和一个程序计数器.栈和程序计数器用来保存线程的执行历史和线程的执行状态,是线程私有的资源. 其他的资源(比如堆.地址空间.全局变量)是由同一个进程内的多个线程共享 mutex mutex - C++ Reference http://www.cplusplus.com/reference/mutex/mutex…
Pragmatic Software Development Tips务实的软件开发提示 Care About Your Craft Why spend your life developing software unless you care about doing it well? 关心你的技艺 如果你不在乎能否漂亮地开发出软件,你又为何要耗费生命去开发软件呢? Provide Options, Don’t Make Lame Excuses Instead of excuses, prov…
原文出处: linuxtoday   译文出处:CSDN // 伯乐在线转注:英文原文写于 2011 年 导读:没有人比Linus Torvalds更了解软件开发项目管理中的酸甜苦辣了.作为Linux的创建者,Torvalds在过去二十年指导了数以千计的开发者共同改进开源操作系统内核. 文章内容如下: Linus Torvalds说,有两件事,世界上大都数人,无论是独立开发者还是公司级别的开发团队,都有普遍的错误认知. 其一:“大都数人认为可以把事情丢给其他人,让他们帮忙.在你公开你的想法后,你…
注:我目前是陕西师范大学计算机科学学院本科生,在西安参加笔试以及面试 先是笔试,我选择的是JAVA方向,笔试选择题目主要是一些基础性的题目,然后简答题问了final.finally.finallize的区别,以及修饰符有几种各有什么区别,还是比较基础的,编程题第一道是求[200,300]内的质数,第二道就是快排. 总的来说笔试相对比较重视基础,客观来说难度一般,但是由于我转JAVA的时间也不是很长,选择中一些考察语言特性的题目还不会,这也是这次笔试中暴露出来的问题. 然后是面试,面试在笔试一周后…
目录 中文 喜马拉雅 https://www.ximalaya.com/ SingularFM 8个开发者值得一听的英文 Podcast https://zhuanlan.zhihu.com/p/24083863 Hanselminutes Software Engineering Daily Code Newbie Shop Talk Show JavaScript Jabber Ruby Rogues The Bike Shed 软件 google podcast Recode Decode…
简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项目中涉及到的知识点,例如DTO,应用服务层,整洁架构,领域对象(如实体,聚合,值对象)等. 笔者也曾经提到,ABP依赖于领域驱动设计这门方法论,由于其门槛较高,给使用者带来了不少理解上的难度.尤其是三层架构对.NET开发者影响太深,有时很难对领域驱动设计产生直观的理解. 在本文中,打算从传统的简单三层架构谈起,介绍一个实际场景下的三层业务逻辑实现,然后再与领域驱动设计中的对应实现形成对比,以便让开发者形成直观…
大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体会过当初想学又不知从何学起的迷茫,还好最后摸索出了一条正确学习的路线. 思来想去,学习方向和路线很重要.比起具体的技术细节,可复制的经验.清晰的学习路线,是大部分人更加需要的东西. 朝着正确的方向努力否则只会离目标越来越远,不是吗? 只顾着写各种技术,不告诉大家这个知识点在后端技术图谱的什么位置,有…
原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 敏捷开发是一种软件开发方法,基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作. 敏捷宣言的诞生 2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(SnowBird)雪场.经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全…
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了. 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种方…
软件开发过程(process) 是一个将用户需求转化为软件系统所需要的活动的集合. 软件生命周期(SDLC,Software Devlopment Life Cycle) 软件从孕育.诞生.成长.成熟.衰亡等阶段称为软件生命周期. 早期系统开发的生命周期以结构化的方法具体分成了六个阶段:问题的定义及规划.需求分析.软件设计.程序编码.软件测试.运行维护. 而随着面向对象方法和统一软件开发过程(RUP)方法论的提出,出现统一过程的生命周期,在统一过程中以迭代的方式重复一些列组成系统生命周期的循环,…
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 1.列表生成式,迭代器&生成器 列表生成 >>> a = [i+1 for i in range(10)] >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访…
简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技.TCL通讯科技.通力电子等四家上市公司.形成多媒体.通讯.家电和部品四大产业集团,以及房地产及投资业务群,物流及服务业务群. 笔试 笔试主要由两部分组成 性格测试,网申完后就会发邮件到你的邮箱要求你进行性格测试 专业测试,性格测试后的一两天就会要求你上完进行专业方面的测试,考得相对比较基础,主要考…
Atitit.研发管理--提升效率--软件开发方法DSM总结o99 1. 什么是DSM? 1 2. DSM使用的语言DSL 2 3. 模型的优点 2 4. DSM 跟与MDA区别 2 5. MDA的实现 3 6. 参考 4 1. 什么是DSM? 只有提高抽象层次,将软件直接面向建模专家或系统分析师,然后运用自动化代码生成技术,这样才能高质量大幅度快速开发出软件系统,在OOPSLA(领先的软件工程会议),大家认为DSM可能是一种解决方案.Bill Gates 和 Grady Booch也发表过同样…
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL规则 2 2.1. DSL = 整洁的代码 2 2.2. DSL必须以文本代码的形式出现 2 2.3. DSL的语法应该尽可能地接近英语或者其他自然语言 2 3. DSL 文本形式 or 图形标识 2 4. 实现方式 2 4.1. 2. 管道抽象 2 4.2. 3. 层次结构抽象 3 4.3. 4.…