系统软件程序员就业前景是什么?

系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。
答:对系统程序员透明的有:虚拟存储器;Cache存储器;程序状态字;
对应用程序员透明的有:系列机各档不同的数据通路宽度;“启动I/O”指令;“执行”指令;指令缓冲寄存器。
以下摘自南京大学出版社出版,李学干主编的辅导书
分析系统程序员是编写诸如操作系统、编译程序等各种系统软件的人员。
应用程序员是指利用计算机及所配的系统软件支持来编写解决具体应用问题的程序员。
他们都可以使用汇编语言或机器语言来编写程序,当然也可以用高级语言来编写程序。
所以,对系统程序员或应用程序员不透明的,应包括计算机系统结构所包含的方面。而属全硬件实现的计算机组成所包含的方面,
如系列机各档不同的数据通路宽度、Caceh存储器、指令缓冲寄存器等,无论是对系统程序员,还是对应用程序员都应当是透明的。对目前高性能计算机系统来讲,大多数都是多用户环境,应用程序(也称算态、目态或用户态程序)中是不允许使用管态(也称系统态、监督态)中所用的特权指令。
例如,大型多用户系统中,程序状态字是用于反映计算机系统在当前程序的各种关键状态(它并不是IBM PC计算机那种狭义的所谓程序状态字),它是操作系统用于管理计算机系统资源及其使用状况的,用户不能直接对程序状态字内容进行读、写和访问的,只能由系统来管理。
“启动I/O”指令是大型机中的一种管态指令,属于特权指令,只能在操作系统程序中使用(见教材中第3章的3.4.1节所介绍)。用户程序是不能用它来直接启动I/O通道和设备的。
虚拟存储器(参看教材第4章4.1.3节)是一个主存-辅存两级存储层次。它对应用程序是完全透明的,使应用程序不必作任何修改就可以在系统上运行。但是,在操作系统中必须配置有相应的管理软件,能对其虚实外部地址的映象和变换、程序的换道、程序由辅存调入主存、主存页面的替换、存储保护等进行管理,所以对系统程序员来说是不透明的。
“执行”指令(参看教材中第5章5.1.2节)是IBM370等系列机上用于解决程序在执行过程中不准修改指令,又允许将指令放在操作数区中做修改,以满足指令在执行过程中允许修改的要求。这种指令无论是用户程序,还是系统程序,都希望可以被使用的,所以,“执行”指令应设计成对应用程序和系统程序都是不透明的。
解答系列机各档不同数据通路宽度、Cache存储器、指令缓冲寄存器属计算机组成,对系统程序员和应用程序员都是透明的。虚拟存储器、程序状态字、“启动I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。
“执行”指令则对系统程序员和应用程序员都是不透明的。
阅读(...) 评论() &程序员在职场发展中不得已维护公司的烂系统是怎么样的一种体验?牛牛们中秋,十一快乐,有时候会感觉自己坚持的路是否正确,走的方向是否正确?看着其他同时起步的搞的有声有色也不仅敬佩不已,但路在脚下,还是得踏实前行,祝牛牛们都能按自己的意愿到彼岸。IT浪人&在职的时候怒气值高,各种讽刺挖苦;走人的时候暗自庆幸;两年以后忽然从这个傻逼系统得到灵感(或者教训),颇有感慨;三年后后悔维护的时候自己抱怨太多,而行动太少;五年后意识到自己怒气值高的原因不是因为系统傻逼,而是自己驾驭不了;八年后再次需要维护&傻逼&系统;十年后方才领悟,&这个世界的本质是混乱不可知,而非有序可测&;甚至技术新旧的界限也开始模糊。其实是,自己不够谦虚敬畏。Qian Larry,多年码农该系统是一个投资下单系统,客户是全国各大证券公司,在某细分领域里市场占有率有80%。当初少不更事,一听金融行业好,就来到了这个公司。久了便发现跟想象中完全不是一个事。当时系统已经上线了约莫八年。烂系统都是如此类似&&框架落后,文档缺失,功能冗余,版本管理混乱。最早的一批开发者又走得一个不剩,期间换过4,5批人,思路都不一样。就连代码注释都寥寥无几,或者写得只有当事人自己看得懂。后来的人只敢往里加代码,不敢轻易改代码。一切以稳定第一,性能兼顾,代码优雅易读什么的统统靠边站。那些说重写项目的人讲得轻松,复杂的项目多了去,不比学生成绩管理系统(许多人的毕业设计)。就该系统来说,其之复杂,规模,都不是一个人可以一肩挑的。修改离职人员的代码更是难上加难。最后光有技术还不够,大量的业务逻辑必须具备一定证券期货知识才能着手(为此我还考了证券从业资格证)。不光系统烂,公司当时的管理方式也很有问题。公司的销售员毫无业务水平,只知道收钱,不仅承担不起售前的工作,更令人称奇的是把程序员的电话直接留给客户,有需求直接致电程序员帮改。天大的笑话啊!我来给不是软件行业的人解释一下后果:1.不合理的需求要挡,至少要经过小组分析。许多程序员不论什么需求埋头就做,危害很大。2.重复造轮子,或者客户要三轮车就照做三轮车,可明明有现成的轿车却不用。3.打乱开发计划,客户的需求无穷无尽,永远在做手边上嚷嚷最响的需求而不是真正迫切的需求。4.过多的客制化,导致项目没有办法整合成一套通用版,导致日后维护更加困难。有个别同事完全没有认清到危害,反而傻X兮兮地以为跟客户混了个脸熟,觉得自己身价倍增。可气可叹。《软件随想录》和《项目百态》是两本好书,公司的管理方式以及系统缺陷在这两本书里都有体现。我在这家公司干了不到一年就走人了,在阅读这两本书的过程中时常会心一笑,有种怒其不争却又暗暗庆幸的滋味。匿名用户正在维护一个傻逼系统;这个傻逼系统以前没有人维护;这个傻逼系统目前只有我维护;我应聘的时候告诉我,很快会切换系统,把这个傻逼系统切换到一个牛逼的系统;我当初傻逼了,信了这个话;所有人都觉得这个系统傻逼;我提出过N个让它不那么傻逼的方案,大家看了都说好;上一条的结果要花点钱,大家都表示这件事等等再说;上一条的结果是系统依旧傻逼;傻逼系统虽然傻逼,但是不用这个傻逼系统会显得更傻逼,所以公司不能不用;这个傻逼系统也成了大家甩锅的好借口,虽然很多时候它是无辜的;于是我觉得我在大家眼里也是个傻逼;一个傻逼的我,如何拯救一个傻逼的你&&分享到:最近浏览暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友青青子衿, 悠悠我心, 但为君故, 沉吟至今
程序员浪费生命的几种方式
  程序员应该要爱惜生命,做有用有意义的事情。做有用的事情,有两种方式,一、做一个对用户真正有价值的项目,这个项目是真正有意义有用的;二、朝正确的方向以正确的方式做项目。但是程序员会遇到很多失败的项目,这些系统要么是没有人用没有真正价值,要么是以不正确的方式做项目,使用不当的技术,例如,用报表工具代替查询、用ESB企业总线当作海量数据传输用,或者做一些没有实际用途的功能,如做一个万能的用户自定义查询系统、做用户自定义工作流工具、做用户自定义报表工具,这些项目无疑在浪费程序员的生命。笔者试图总结程序员浪费生命的几种方式,如下。  1、开发一个质量和性能很差的系统  程序员经常会碰到这样的项目,做出来的系统质量很差,操作无反馈,失败无提示,而且速度很慢,操作时不时要等一会儿。然而,关键是程序员没有机会或者不想参与实施和维护,失去了学习和诊断问题的机会。  2、花费大量人力财力开发一个一次性的项目  这是从事应用开发程序员经常碰到的情况,为某个客户定制化开发一个一次性的项目,然而这个项目要花费巨大的人力成本,最终开发维护周期很长,以巨大亏本收尾或无法收尾。  3、开发一个很漂亮花哨的无人用的系统  这也是当前常见的情况,客户要做一个亮点政绩工程,要做一个界面漂亮花哨&很炫&的系统,各种图表,各种交互方式、各种监控分析全部堆上,但最终这样的系统是没有人用的。这只是给领导或客人参观用的。  4、全新开发一个原有遗留的系统  程序员的领导要基于原有的系统重新做一个产品,大幅提升可维护性可扩展性,增加系统的稳定性,减少系统故障。领导决定召集人马,重新进行需求调研,需求分析,架构设计、编码开发测试。但是,这样的事情一再重复,同样类似的需求给不同的客户做了一套又一套新的系统,而且每个系统过一段时间后故障不稳定的情况依旧。各种版本、各种代码库留给了程序员&&程序员需要持续给不同客户维护不同版本的系统。  5、开发一个项目范围不确定的系统  程序员所在的项目,没有人管理项目范围,没有WBS,用户提一点做一点,项目完全没有合同或契约约束,用户要做的越来越多,系统做得越来越大,最终无法控制,客户不满意,程序员也累得半死,试图讨好客户争取更大项目的计划失败。  6、开发一个没有系统角色或涉众的系统  程序员做的这个项目,虽然都有需求、有功能、有界面,但是奇怪的是,需求没有提到,也没有人知道这些功能是什么人用的。需求没有定义出系统的角色,以及角色所要参与的业务活动。然而这样的项目也不少见,  7、开发一个使用环境不确定的项目  程序员做的企业应用项目,不知道是给电脑用的还是给移动设备用的,不知道是给IE用的还是其他浏览器用的,不知道是给IE6用的还是IE10用的,不能确定浏览器平台版本。移动设备不知道是iOS还是Android,Android不知道是2.3的还是4.0的,也不能确定手机或平板电脑型号。我们知道,中等规模的企业应用都会比互联网应用要复杂很多,几乎不可能覆盖所有用户的使用终端平台,要做一个优秀系统必须有约束条件,有使用的目标平台。  针对以上各种情况,程序员经常是没办法干预的,因为,要么这是客户明知故犯的行为,要么是公司部门的战略行为,要么是由于项目经理基本的技能职责缺乏。当然程序员可以假设自己是项目经理,考虑该如何做好这些项目并适时适当的提出问题或解决办法,以免浪费自己的生命。  来源:IT瘾投稿,。
  除非注明,文章均为原创,转载请以链接形式标明本文地址
  本文地址:
很多时候就是在这样浪费这生命但是赚到你该拿到的钱,用时间来换钱,这很普遍。其实各行各业都普遍存在这样的现象,牢骚发发就得了,哪里有那么多好的项目轮得到你呢?
胡扯啥玩意呢
.博主就会前后端那点玩意
胡扯啥玩意呢
第三条让我想起了安卓手机
赞助商广告
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.程序员如何进阶成为高级系统架构师?3 months ago1收藏分享举报{&debug&:false,&apiRoot&:&&,&paySDK&:&https:\u002F\\u002Fapi\u002Fjs&,&wechatConfigAPI&:&\u002Fapi\u002Fwechat\u002Fjssdkconfig&,&name&:&production&,&instance&:&column&,&tokens&:{&X-XSRF-TOKEN&:null,&X-UDID&:null,&Authorization&:&oauth c3cef7c66aa9e6a1e3160e20&}}{&database&:{&Post&:{&&:{&isPending&:false,&contributes&:[],&title&:&程序员如何进阶成为高级系统架构师?&,&author&:&wu-suo-bu-neng-de-xiao-cai-feng&,&content&:&\u003Cp\u003E说到系统架构师,相信很多企业都有这样的高级人才。系统架构师已然成为国内一门十分紧俏的职业,一名优秀的系统架构师常常会吸引各方企业争抢。\u003C\u002Fp\u003E\u003Cp\u003E系统架构师的职责是在项目开发过程中,制定这个项目的总体脚骨,指导整个开发团队完成这个计划,他必须对开发技术非常了解,并且需要良好的组织管理能力,可以这样说,一个架构师的好坏决定了整个项目的成败。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-c9b6b2ac400cb08e2ee8f_b.jpg\& data-rawwidth=\&1000\& data-rawheight=\&693\& class=\&origin_image zh-lightbox-thumb\& width=\&1000\& data-original=\&https:\u002F\\u002Fv2-c9b6b2ac400cb08e2ee8f_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1000'%20height='693'&&\u002Fsvg&\& data-rawwidth=\&1000\& data-rawheight=\&693\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1000\& data-original=\&https:\u002F\\u002Fv2-c9b6b2ac400cb08e2ee8f_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-c9b6b2ac400cb08e2ee8f_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E可以把一个软件研发工作者的从业经历大致划分为3个阶段:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E第一阶段是新手期\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E这个阶段的典型特征是容易被新技术的华丽外表所迷惑。当在网上看到一种新技术的介绍或者心得,立即产生了大量肾上腺素的分泌,干什么都想用一用,如果这时有人跟他说你的这项工作用这个不合适的话,要是性子急的人估计就直接开始骂娘了,性子缓些的也会想尽理由说服你使用这个新东西,实在没办法的话,吃不下东西睡不着觉也想另找个地方用一下。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E第二阶段是中级程序员阶段\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E这个阶段的程序员对技术、和工具的选择已经审慎了很多,可以根据具体的需求来选择需要采用的技术,可以写出详细的需求调研报告并提出设计方案,优点、缺点分析得清晰明了。在应用层面也有较强的全局理解力,在团队中也具有相当的协作能力,因此具备较强的解决问题的能力。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E第三阶段是高级程序员\u002F分析师\u002F架构师阶段\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E进入这个阶段的前提是多年的工作经验,广阔的知识面和对系统底层到高层的全面认识,已经使其进入了无语言无工具的层次。也就是能任何清楚地感知每种编程语言的优劣、使用范围、编码禁忌,对一个大型工程能有最全面的了解,在选择语言和确定技术方案的时候不会被自己对语言或技术工具的偏好(或者根本已经无所偏好)所影响,真正明白了其实别管是神马语言、神马技术,归根到底咱们的对象还不是CPU、内存、硬盘和网络,该做的事情一件都不能少,所谓的技术框架是对初级程序员用的,真正高级了不研究个清楚透彻都不敢让你进来。即使对同一种语言,在不同的操作系统中,如Visual C++和Unix C、AIX XLC、GNU G++等等的区别,以及不同版本之间的区别也了如指掌。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-2c372711bff0c6b2ef22b64dd3cb3e9a_b.gif\& data-rawwidth=\&364\& data-rawheight=\&282\& data-thumbnail=\&https:\u002F\\u002Fv2-2c372711bff0c6b2ef22b64dd3cb3e9a_b.jpg\& class=\&content_image\& width=\&364\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='364'%20height='282'&&\u002Fsvg&\& data-rawwidth=\&364\& data-rawheight=\&282\& data-thumbnail=\&https:\u002F\\u002Fv2-2c372711bff0c6b2ef22b64dd3cb3e9a_b.jpg\& class=\&content_image lazy\& width=\&364\& data-actualsrc=\&https:\u002F\\u002Fv2-2c372711bff0c6b2ef22b64dd3cb3e9a_b.gif\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E架构师的经验体现在什么地方呢?举一个例子:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E比如一个复杂的分布式系统,时时刻刻处理业务请求,要设计一套机制,保证所有的业务都能处理完成,无论成功失败。\u003C\u002Fp\u003E\u003Cp\u003E简单的开发思维会考虑,尽可能的捕获异常,给每一种错误类型编号,中途失败的流程要进行回退,相信设计能否覆盖所有情况。\u003C\u002Fp\u003E\u003Cp\u003E有经验的架构师则会清醒的认识到,这样的系统随着不断升级和持续运行,一定会出现各种各样的问题,不出问题是不可能的。\u003C\u002Fp\u003E\u003Cp\u003E应用的潜在bug、业务逻辑漏洞、数据异常、网络抖动、硬件故障、人工误操作,甚至还有莫名其妙未能找到原因只能归结为灵异事件的问题,会层出不穷,等你解决。\u003C\u002Fp\u003E\u003Cp\u003E我们需要做的是尽可能监控、捕获到异常情况,通过技术手段修复多数的问题,少数不常见的或者难以自动解决的问题最终还是要考虑通过人工方式处理。\u003C\u002Fp\u003E\u003Cp\u003E我们的目标是解决问题,通过分析,调整架构,优化逻辑,旧的问题解决后,还会有新的问题。\u003C\u002Fp\u003E\u003Cp\u003E只要系统运行,就需要维护,软件工程理论中系统上线后期维护都是一个重要的阶段,此时系统是动态的,业务是连续的。\u003C\u002Fp\u003E\u003Cp\u003E用近几年很多人用过的比喻,开着飞机修飞机,开着火车修火车,在原有的系统上做修改,并不比从头做一个系统轻松。\u003C\u002Fp\u003E\u003Cp\u003E就像是CAP理论下,多数的选择是最终一致性,即通过努力,无限趋近于问题最小化,时刻准备着迎接新问题,动态平衡才是系统运行的常态。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E用七句话总结我对架构师的定义:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E以工程思维全面理解业务需求\u003C\u002Fp\u003E\u003Cp\u003E基于模型和基础模式抽象简化\u003C\u002Fp\u003E\u003Cp\u003E提出恰当可行的整体解决方案\u003C\u002Fp\u003E\u003Cp\u003E在限定资源范围完成明确目标\u003C\u002Fp\u003E\u003Cp\u003E满足业务需求且保证系统质量\u003C\u002Fp\u003E\u003Cp\u003E在可预见的周期内具备扩展性\u003C\u002Fp\u003E\u003Cp\u003E并在系统生命周期内持续演进\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-79e1fc0bfeff4dcfb31ce5e_b.jpg\& data-rawwidth=\&820\& data-rawheight=\&503\& class=\&origin_image zh-lightbox-thumb\& width=\&820\& data-original=\&https:\u002F\\u002Fv2-79e1fc0bfeff4dcfb31ce5e_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='820'%20height='503'&&\u002Fsvg&\& data-rawwidth=\&820\& data-rawheight=\&503\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&820\& data-original=\&https:\u002F\\u002Fv2-79e1fc0bfeff4dcfb31ce5e_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-79e1fc0bfeff4dcfb31ce5e_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E那就都该怎样去做呢?\u003C\u002Fb\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E多做项目,多思考\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E不要害怕做事,刚毕业的同学最缺的就是工作经验(《程序员:增加编程经验的3种途径》),乱七八糟的项目能让你很快就了解了一个公司的业务与使用的技术,并且可以多接触同事与客户。当你毕业后刚进一家公司时,如果主管没有把你安排到项目组工作,那真的很杯具,因为他认为你还不能胜任工作或者你的加入会让项目组更糟。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E参与开源项目\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E自己开发框架与工具,可以让你快速的从一个初级程序员转变成更高级的程序员或分析师或架构师,因为这个过程中给你提供了为其他程序员服务的机会,你有动力去了解其它程序员的工作需求,你可以把你的框架或工具写得很好,接口简单灵活并且性能好,分析师和架构师就经常要干这种让人力成本降低的事。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E写技术博客\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E写技术博客是一种可以快速提高的方法,但是一个人能坚持每周写技术博客,那是需要付出很多代价,写博客并不是要我们写出高质量的文章才发表,我们可以分享自己的一些小经验,也可以分享自己的体会。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E优秀JAVA程序员必看的书籍\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E《JAVA编程思想》在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E《Agile Java》中文版\u003C\u002Fp\u003E\u003Cp\u003E这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的 过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。\u003C\u002Fp\u003E\u003Cp\u003E《重构 改善既有代码的设计》\u003C\u002Fp\u003E\u003Cp\u003E这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E《测试驱动开发 by Example》本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E我和大牛之间有多少距离?\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E跟很多人一样,刚毕业时我觉得作为程序员,只要努力,加上少许天赋便可以获得一些成绩。\u003C\u002Fp\u003E\u003Cp\u003E工作一段时间后,对自己和其他人的认识也越来越清晰,逐渐的发现程序员之间的差距或许比人和猴子之间的差距还大,接受这个事实这让我郁闷了很久。\u003C\u002Fp\u003E\u003Cp\u003E再过一段时间,发现自己已经能够客观的评价自己的能力,也意识到了距离并不是那么重要,只要想办法跑的更快,就足够了\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-9d0a4baba696cd6020d0b_b.jpg\& data-rawwidth=\&800\& data-rawheight=\&1068\& class=\&origin_image zh-lightbox-thumb\& width=\&800\& data-original=\&https:\u002F\\u002Fv2-9d0a4baba696cd6020d0b_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='800'%20height='1068'&&\u002Fsvg&\& data-rawwidth=\&800\& data-rawheight=\&1068\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&800\& data-original=\&https:\u002F\\u002Fv2-9d0a4baba696cd6020d0b_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-9d0a4baba696cd6020d0b_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003C\u002Fp\u003E&,&updated&:new Date(&T04:03:02.000Z&),&canComment&:false,&commentPermission&:&anyone&,&commentCount&:0,&collapsedCount&:0,&likeCount&:1,&state&:&published&,&isLiked&:false,&slug&:&&,&isTitleImageFullScreen&:false,&rating&:&none&,&titleImage&:&https:\u002F\\u002Fv2-2201acdcf013dc85dd1d9a_r.jpg&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&reviewers&:[],&topics&:[{&url&:&https:\u002F\\u002Ftopic\u002F&,&id&:&&,&name&:&程序员&},{&url&:&https:\u002F\\u002Ftopic\u002F&,&id&:&&,&name&:&系统架构师&}],&adminClosedComment&:false,&titleImageSize&:{&width&:800,&height&:500},&href&:&\u002Fapi\u002Fposts\u002F&,&excerptTitle&:&&,&tipjarState&:&closed&,&annotationAction&:[],&sourceUrl&:&&,&pageCommentsCount&:0,&hasPublishingDraft&:false,&snapshotUrl&:&&,&publishedTime&:&T12:03:02+08:00&,&url&:&\u002Fp\u002F&,&lastestLikers&:[{&bio&:&Java开发&,&isFollowing&:false,&hash&:&bce695b0eeb5ddfab28fc41a3ea9bcab&,&uid&:833600,&isOrg&:false,&slug&:&luo-lin-lin-67&,&isFollowed&:false,&description&:&&,&name&:&罗霖霖&,&profileUrl&:&https:\u002F\\u002Fpeople\u002Fluo-lin-lin-67&,&avatar&:{&id&:&v2-dcfbfb7c90e4&,&template&:&https:\u002F\\u002F50\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false}],&summary&:&\u003Cimg src=\&https:\u002F\\u002F50\u002Fv2-c9b6b2ac400cb08e2ee8f_200x112.jpg\& data-rawwidth=\&1000\& data-rawheight=\&693\& class=\&origin_image inline-img zh-lightbox-thumb\& data-original=\&https:\u002F\\u002F50\u002Fv2-c9b6b2ac400cb08e2ee8f_r.jpg\&\u003E说到系统架构师,相信很多企业都有这样的高级人才。系统架构师已然成为国内一门十分紧俏的职业,一名优秀的系统架构师常常会吸引各方企业争抢。系统架构师的职责是在项目开发过程中,制定这个项目的总体脚骨,指导整个开发团队完成这个计划,他必须对开发技…&,&reviewingCommentsCount&:0,&meta&:{&previous&:null,&next&:null},&annotationDetail&:null,&commentsCount&:0,&likesCount&:1,&FULLINFO&:true}},&User&:{&wu-suo-bu-neng-de-xiao-cai-feng&:{&isFollowed&:false,&name&:&无所不能的小裁缝&,&headline&:&&,&avatarUrl&:&https:\u002F\\u002Fda8e974dc_s.jpg&,&isFollowing&:false,&type&:&people&,&slug&:&wu-suo-bu-neng-de-xiao-cai-feng&,&bio&:&超能小裁缝
大数据\u002F架构师\u002F马士兵
学习交流群:&,&hash&:&9909bee863d52b36e45b0&,&uid&:803900,&isOrg&:false,&description&:&&,&badge&:{&identity&:null,&bestAnswerer&:null},&profileUrl&:&https:\u002F\\u002Fpeople\u002Fwu-suo-bu-neng-de-xiao-cai-feng&,&avatar&:{&id&:&da8e974dc&,&template&:&https:\u002F\\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false}},&Comment&:{},&favlists&:{}},&me&:{},&global&:{&experimentFeatures&:{&ge3&:&ge3_9&,&ge2&:&ge2_1&,&nwebStickySidebar&:&sticky&,&androidPassThroughPush&:&all&,&newMore&:&new&,&liveReviewBuyBar&:&live_review_buy_bar_2&,&liveStore&:&ls_a2_b2_c1_f2&,&searchHybridTabs&:&without-tabs&,&isOffice&:&false&,&newLiveFeedMediacard&:&old&,&homeUi2&:&default&,&remixOneKeyPlayButton&:&footerButton&,&recommendationAbtest&:&old&,&marketTab&:&market_tab_old&,&qrcodeLogin&:&qrcode&,&isShowUnicomFreeEntry&:&unicom_free_entry_off&,&newMobileColumnAppheader&:&new_header&,&androidDbRecommendAction&:&open&,&zcmLighting&:&zcm&,&favAct&:&default&,&appStoreRateDialog&:&close&,&mobileQaPageProxyHeifetz&:&m_qa_page_nweb&,&default&:&None&,&wechatShareModal&:&wechat_share_modal_show&,&qaStickySidebar&:&sticky_sidebar&,&androidProfilePanel&:&panel_b&,&nwebWriteAnswer&:&experiment&}},&columns&:{&next&:{}},&columnPosts&:{},&columnSettings&:{&colomnAuthor&:[],&uploadAvatarDetails&:&&,&contributeRequests&:[],&contributeRequestsTotalCount&:0,&inviteAuthor&:&&},&postComments&:{},&postReviewComments&:{&comments&:[],&newComments&:[],&hasMore&:true},&favlistsByUser&:{},&favlistRelations&:{},&promotions&:{},&draft&:{&titleImage&:&&,&titleImageSize&:{},&isTitleImageFullScreen&:false,&canTitleImageFullScreen&:false,&title&:&&,&titleImageUploading&:false,&error&:&&,&content&:&&,&draftLoading&:false,&globalLoading&:false,&pendingVideo&:{&resource&:null,&error&:null}},&drafts&:{&draftsList&:[],&next&:{}},&config&:{&userNotBindPhoneTipString&:{}},&recommendPosts&:{&articleRecommendations&:[],&columnRecommendations&:[]},&env&:{&edition&:{&baidu&:false,&yidianzixun&:false,&qqnews&:false},&isAppView&:false,&appViewConfig&:{&content_padding_top&:128,&content_padding_bottom&:56,&content_padding_left&:16,&content_padding_right&:16,&title_font_size&:22,&body_font_size&:16,&is_dark_theme&:false,&can_auto_load_image&:true,&app_info&:&OS=iOS&},&isApp&:false,&userAgent&:{&ua&:&Mozilla\u002F5.0 (compatible, MSIE 11, Windows NT 6.3; Trident\u002F7.0; rv:11.0) like Gecko&,&browser&:{&name&:&IE&,&version&:&11&,&major&:&11&},&engine&:{&version&:&7.0&,&name&:&Trident&},&os&:{&name&:&Windows&,&version&:&8.1&},&device&:{},&cpu&:{}}},&message&:{&newCount&:0},&pushNotification&:{&newCount&:0}}}

我要回帖

更多关于 程序员用什么系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信