程序员成长评估系统需要做系统吗?

中国领先的IT技术网站
51CTO旗下网站
为何很多看起来不复杂的网站,需要大量顶尖程序员来开发
来自知乎的话题讨论“为什么很多看起来不是很复杂的网站,比如 Facebook、淘宝,都需要大量顶尖高手来开发?”
作者:菁菁来源:产品中国| 11:33
来自知乎的话题讨论&为什么很多看起来不是很复杂的网站,比如 Facebook、淘宝,都需要大量顶尖高手来开发?&
子柳,淘宝打杂的 码农
就拿淘宝来说说,当作给新人一些科普。
先说你看到的页面上,最重要的几个:
【搜索商品】&&这个功能,如果你有几千条商品,完全可以用select
这样的操作来搞定。但是&&当你有(一百亿)条商品的时候,任何一个数据库都无法存放了,请问你怎么搜索?这里需要用到分布式的数 据存储方案,另外这个搜索也不可能直接从数据库里来取数据,必然要用到搜索引擎(简单来说搜索引擎更快)。好,能搜出商品了,是否大功告成可以啵一个了 呢?早着呢,谁家的商品出现在第一页?这里需要用到巨复杂的排序算法。要是再根据你的购买行为做一些个性化的推荐&&这够一帮牛叉的算法工程师奋斗终生 了。
【商品详情】&&就是搜索完毕,看到你感兴趣的,点击查看商品的页面,这个页面有商品的属性、详细描述、评价、 卖家信息等等,这个页面的每天展示次数在30亿以上,同样的道理,如果你做一个网站每天有10个人访问,你丝毫感觉不到服务器的压力,但是30亿,要解决 的问题就多了去了。首先,这些请求不能直接压到数据库上,任何单机或分布式的数据库,承受30亿每天的压力,都将崩溃到完全没有幸福感,这种情况下要用到 的技术就是大规模的分布式缓存,所有的卖家信息、评价信息、商品描述都是从缓存里面来取到的,甚至更加极致的一点&商品的浏览量&这个信息,每打开页面一 次都要刷新,你猜能够从缓存里面来取吗?淘宝做到了,整个商品的详情都在缓存里面。
【商品图片】&&一个商品有5个图片,商品描述里面有更多图片,你猜淘宝有多少张图片要存储?100亿以上。这 么多图片要是在你的硬盘里面,你怎么去查找其中的一张?要是你的同学想拷贝你的图片,你需要他准备多少块硬盘?你需要配置多少大的带宽?你们的网卡是否能 够承受?你需要多长时间拷贝给他?这样的规模,很不幸市面上已经没有任何商业的解决方案,最终我们必须自己来开发一套存储系统,如果你听说过google 的GFS,我们跟他类似,叫TFS。顺便说一下,腾讯也有这样的一套,也叫TFS。
【广告系统】&&淘宝上有很多广告,什么,你不知道?那说明我们的广告做的还不错,居然很多人不认为它是广告,卖家怎么出价去买淘宝的广告位?广告怎么展示?怎么查看广告效果?这又是一套算法精奇的系统。
【BOSS系统】&&淘宝的工作人员怎么去管理这么庞大的一个系统,例如某时刻突然宣布某位作家的作品全部从淘宝消失,从数据库到搜索引擎到广告系统,里面的相关数据在几分钟内全部消失,这又需要一个牛叉的后台支撑系统。
【运维体系】&&支持这么庞大的一个网站,你猜需要多少台服务器?几千台?那是零头。这么多服务器,上面部署什 么操作系统,操作系统的内核能否优化?Java虚拟机能否优化?通信模块有没有榨取性能的空间?软件怎么部署上去?出了问题怎么回滚?你装过操作系统吧, 优化过吧,被360坑过没,崩溃过没?这里面又有很多门道。
不再多写了,除了上面提到的这些,还有很多很多需要做的技术,当然并不是这些东西有多么高不可攀,任何复杂的庞大的东西都是从小到大做起来的,里面需要牛叉到不行的大模残枰渎闷嫘牡牟四瘢詈笳庖痪洌愕蔽沂潜鹩杏眯暮昧恕
覃超,曾经沧海难为水,Facebook工程师
功能上面虽然不复杂,但是要完成的细节却很多. 比如news feed里面的推荐算法就很重要,要根据用户之前的记录和与好友的关系来生成. 另外就是根据用户的信息和行为,要做机器学习和数据挖掘,从而来挑出最匹配的广告.这也是比较花人力的事情.
另外Facebook的用户量奇大无比. 假设你只是做一个学校内部用的社交网站, 那肯定很简单. 但是如果考虑到上亿人在上面用. 你首先服务器 就必须是一个分布式的机群,还要保证能抗住那么大的流量. 同时为了性能够好,不得不加上mem
cache和网页分块加载等功能. 还有就是每天用户产生的总数据量(状态,留言,照片,分享等)有TB的数量级,你数据库是否撑住等等.
另外树大招风,你要一个很强的安全小组来保证网站在受攻击的时候能防御好,还有要防止垃圾信息和恶心广告或者程序的散播. 另外还有为了全球化而带来的多语言问题.
总之,一个网站做大了之后,很多问题就会产生,不是在校园里面做一个学期作业那么简单.
原文链接:【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
原创原创头条热点头条
24H热文一周话题本月最赞
讲师:413828人学习过
讲师:269041人学习过
讲师:131361人学习过
精选博文论坛热帖下载排行
《游戏开发核心技术--剧本和角色创造》分“剧本”、“角色”和“游戏玩法”三部分,第一部分着重说明故事的历史、一般故事元素、传统故事设...
订阅51CTO邮刊一个“码农”自述的血泪史:后悔没转行|程序员|码农|自述_新浪科技_新浪网
一个“码农”自述的血泪史:后悔没转行
  摘要:在技术上,你并不能改变人们做事情的方式,除非你有那个能力、权力和机会。有了这些条件,并且找到正确的位置来发展,你才有可能摘星揽月。
  注:这是一个“一子错,满盘皆落索”的故事。兢兢业业干了35年的程序员,最后却认识到,程序员的力量太过微小。无论你写程序有多厉害,你都很难有权力真正改变一些失败的产品、失败的项目。
  尤其是当他看到,当年跟自己同上节目展示开发软件的Mike Slade,最后走上管理层,创立了包括ESPN在内的一大批公司,成了乔布斯的好朋友,那种失落更是莫名的强烈。至今都对自己当初贪图安逸、没有走上管理层而懊恼,走技术管理还是继续当程序员,这是个问题?
  约摸20多年前的时候,我面临着一个人生的交叉路口。当时我的第二家公司正在走下坡路,我们给一家出版商客户开发了五年的Deltagraph软件项目终止了,因为对方想要转移到方兴未艾的互联网世界。当时的我当了13年的程序员,其中有9年左右也身为管理层参与经营公司。
  我不想再兼顾这两种工作了。此前在85年到87年期间,我的第一家公司不仅开发了一款新的电子报表制作软件,还自己搞定了软件的发行工作。我领导公司,接受媒体采访,维护和投资人的关系,基本的公司事务都是我在做,同时我还是全公司的3个程序员和UI设计师之一。到了87年初终于成功发布产品的时候,我紧张兴奋得最终进了医院。想要同时干好领导和编程,实在是超负荷的工作。
  到了1994年,当时我有机会选择职业方向,可以进行技术管理也可以继续当程序员。我选择了当程序员,因为工作更简单。今天我才明白,自己的选择有多么地错误,尽管我在当程序员的20年间也参与了许多很棒的项目。如果当初选择了首席技术官、首席信息官、工程副总裁这样的路线,那将是好得多的决定。
  1995年前后,我在旧金山湾区工作了一年,其中后半年是在公司。苹果公司当时看起来快要倒闭了,我不想看着自己最爱的公司分崩离析,于是就离职回了德州。
  那时的我太年轻太天真,乃至大错特错。苹果公司在一年后乔布斯回归之后东山再起,互联网风暴也在那时开始席卷全球。
  作为一个经验丰富的程序员和领导者,我完全明白开发一款产品是怎样的一个过程。我们曾经做过九次应用的重大发布(major release),所有软件的核心都是我写的,都不需要后续加修正程序——反正当时补丁也很难写。我摩拳擦掌,心想那些公司是多么需要我这样的人才。一旦有机会坐到高位,我就可以平步青云了。
  我的姐姐也在30年前开始了她的程序员生涯,但她在工作的第一年就跳到了管理职位,此后在一个大公司当副总裁,一干就是15年。我几年前在一家旅行社工作,其母公司的CEO就是15年前干程序员起家的。当然这类管理工作可能很困难也没啥意思,但他们的报酬要好得多。我姐姐的资产大概是我的10倍。
  这些年来,我认识到程序员的力量太过微小。无论你写程序有多厉害,你都很难有权力真正改变一些失败的产品、失败的项目。我当时就是没看明白,作为一个程序员(乃至建筑师这样的岗位)的晋升空间有多么小。在这样一个干苦力的岗位上,你改变事情的力量注定是微乎其微的。再算上管理层在财务上的福利、更有可能深入参与公司IPO以及其它种种可能得到的机会,选择当程序员,就意味着你必须满足于开发好产品,其他就别想太多了。
  这些年来,我工作过或作为顾问咨询过的那些最差劲的企业,基本上都是因为他们的技术管理层的不称职,甚至是彻头彻尾的技术白痴。这类公司简直多到写不完。
  举个例子,一家银行的工程副总裁曾声称,作为一个管理者的他不需要懂得那些技术细节,因为他管理的是人,而且仍然认为自己可以做技术方面的决策。同一家银行的首席信息官从来不相信他手下跟他说的话,反而把卖方的话全盘兼收。我们当然都知道他从中获得了提成,虽然我们买的都是根本用不到的东西,他却总是写文章称赞那些产品对我们来说有多大用处。我离开那家公司一段时间后,他也被开除了,但转头就又找到了另一家公司里类似的职位。
  我做过最差劲的一份工作,恰恰是我本以为会是最好的一份。当时一个已创业一段时间的企业在他们的领域里取得了一定的地位,他们和定位不同的竞争对手都想占领更大的市场,于是竞争开始白热化。
  我被雇佣为第二程序员。原来的一个程序员和经理的职责是开发一个新的在线商店, 因为原来的商店网站太不灵活,而且访问量一上去速度就变慢。整个公司没有其他技术方面的领导,CEO和另两个创始人在技术方面没有任何经验和知识。另一个程序员一直在吹捧自己的后台代码写得多好,管理层也支持他。
  我开发了一个前端,架设测试,每天签入代码。当我觉得是时候把我的代码整合到系统中时,我发现另一个程序员在10个月里啥也没干。我把这件事告诉经理,他却对我说,“他在做到完美之前从不会签入代码。”。然而,其他人都不觉得这种做法很愚蠢。在接下来的两个月里,我一直努力让三个创始人聘请真正能做事的程序员(我认识几个合适的人),但他们很害怕做出改变,也不肯承认聘请那两个人从一开始就是错误的选择。最终我选择放弃,离开了那家公司。
  一年后,那家公司在仍然没有从那两个员工那里看到一点进展,于是终于决定开除他们。他们尝试去找一个咨询公司,但仍然一无所获,当时已经为时已晚。他们的竞争对手已经成了估值十亿美元的上市公司,我还在电视上看到过他们的广告。而每次在电视上看到他们的广告,我都想拿一只鞋子砸过去。那时候的我们万事俱备,就差一个在线商店,和一个真正的技术领导人。如果当时的我身处管理层而不是一名小小的程序员,我肯定会让整个公司走上另一条路。但我只是一个程序员。
  这样的事还有很多,但在技术上,你并不能改变人们做事情的方式,除非你有那个能力、权力和机会。有了这些条件,并且找到正确的位置来发展,你才有可能摘星揽月。
  1987年年初,我在电视节目中展示自己开发的Trapeze软件,上节目的另一个展示人是Mike Slade,他是Excel 的产品经理。当时的我还太年轻,以为他也不过是一个无名小卒。然而他后来创立了一大批包括ESPN在内的公司,曾在苹果公司担任许多领导角色,成了乔布斯的好朋友,并创立了自己的风投公司。
  但是,今日的我还是一个程序员,籍籍无名的技术工。我甚至觉得,我永远都不会有真正退休的一天。还好我技术不差,现在的这份工作就是以前的一个经理招我进来的,因为他了解我的能力。但在我老到做不动之前,我仍然只是一个小小的程序员。
  干了35年的程序员,保证按时完成任务,我也依然觉得推出新产品是很有趣的工作,这些年我也有机会开发了许多不错的产品。但是,我仍然能够感受到对当初贪图安逸、没有走上管理层的懊恼。
  在某种程度上,当程序员是一份简单的工作。然而,一想到我曾经距离互联网风暴的中心那么近,离乔布斯回归那么近,我也有一定的领导经验,我就无法不懊恼,我完全可能是另一幅模样。
  所以,我真的很后悔没有直面挑战。当然,如果走的是另一套路,我就会失去写代码的乐趣,也无法感受写不出来的绝望感。但是在人生的分岔路,我选择了行人稀少的那一条,它改变了我的一生。现在我大概明白了。
新闻传播并不是丢人的,遮遮掩掩、偷偷摸摸的事情,而是需要更为...
身处互联网时代,越强的企业越容易被竞争对手吃掉,如今的佳能,...
人类就是创造奇迹的,登月当年也被认为是疯狂,但是人类还是实现...
保持好奇心很必要。来向好莱坞金牌制片人格雷泽学习怎样挖掘好奇心。
邓志东在谈人工智能时称,有魄力,敢为未来投入,才伟大,BAT都还不算伟大。做软件开发的程序员都用些什么系统? - 知乎31被浏览25751分享邀请回答3添加评论分享收藏感谢收起1添加评论分享收藏感谢收起查看更多回答程序员之路——一个老程序员对刚上大学的学弟学妹的忠告 - CSDN博客
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告
原始链接已不可考,原文略有改动。
始终认为,对一个初学者来说,IT界的技术风潮是不可追赶。 我时常看见自己的DDMM们把课本扔了,去买些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。 而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。
C#就象当年的ASP 一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。 96, 97级的不少大学生都去做Web了。当然我没有任何歧视某一行业的意识。 我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。
初学者对C#风潮的追赶其实也只是学习过程中经常遇到的几个误区之一。 我将用一些实际的例子来说明这些现象,你可以按部就班的看看自己是不是属于其中的一种或者几种:
认为计算机技术等于编程技术:
有些人即使没有这个想法,在潜意识中也有这样的冲动。 让我奇怪的是,许多信息学院的学生也有这样的念头。 认为计算机专业就是编程专业,与编程无关的,或者不太相关课程他统统都不管,极端的学生只要书上没带“编程”两个字他就不看。
其实编程只是计算机技术应用过程中一种复杂性最低的劳动,这就是为什么IT业最底层的人是程序员(CODER)。 计算机技术包括了多媒体,计算机网络,人工智能,模式识别,管理信息系统等等这些方面。 编程工作只是在这些具体技术在理论研究或者工程实践的过程中表达算法的过程。
编程的人不一定对计算机技术的了解就一定很高。而一个有趣的现象是,不少大师级的计算机技术研究者是不懂编程的。 网上的炒作和现实中良好的工作待遇把编程这种劳动神秘化了。 其实每一个程序员心里都明白,自己这些东西,学的时候并不比其它专业难,所以自然也不会高档到哪里去。
咬文嚼字的孔已己作风:
我见过一本女生的《计算机网络原理》教材,这个女生像小学生一样在书上划满了横杠杠,笔记做得满满的,打印出来一定比教材还厚。 我不明白的是,像计算机网络原理这样的课程有必要做笔记? 我们的应试教育的确害了不少学生,在上《原理》这一类课程的时候许多学生像学《马列原理》一样逐字背诵记忆。 这乃是我见过的最愚蠢的行为。&所谓《原理》,即是需要掌握它为什么这样做,学习why,而不是how(怎样做)。 极端认真的学生背下以太网的网线最大长度,数据帧的长度,每个字段的意义,IP报头的格式等等,但是忘了路由的原则,忘了TCP/IP协议设计的宗旨。
总之许多人花了大量的时间把书背得滚瓜烂熟却等于什么也没学。
在学习编程的时候这些学生也是这样,他们确切的记得C++语法的各个细节。 看完了C++ 教程后看《》(确实是好书),《》,《C++ reference》,this C++, that C++……, 然后是网上各种各样的关于C++语法的奇闻逸事,然后发现自己又忘了C++的一些语法,最后回头继续恶补…。
有个师弟就跟我说:“C++太难了,学了这里忘了那里,学了继承忘了模板。”
我的回答道:“你不去学就容易了”。
我并没有教坏他,只是告诉他,死抠C++的语法就和孔已己炫耀茴香豆的茴字有几种写法一样毫无意义。 你根本不需要对的C++语法太关心,动手编程就是了,有不记得的地方一查MSDN就立马搞定。 我有个结论就是,实际的开发过程中对程序语法的了解是最微不足道的知识。 这是为什么我在为同学用Basic(我以前从没有学过它)写一个小程序的时候,只花了半个小时看了看语法,然后再用半个小时完成了程序, 而一个小时后我又完全忘记了Basic 的所有关键字。
不顾基础,盲目追赶时髦技术:
终于点到题目上来了。 大多数的人都希望自己的东西能够马上跑起来,变成钱。 这种想法对一个已经进入职业领域的程序员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进就是失业。 但是对于初学者来说(尤其是时间充裕的大中专在校生),这种想法是另人费解的。
一个并未进入到行业竞争中来的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习why而不是how。 时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。 但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。 每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。
基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个Linux(这是许多人嘲笑理论课程无用的原因), 但它们能够显著的减少你在学习新技术时学习曲线的坡度。 而且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来说甚至是不可或缺的。
一个活生生的例子是我和我的一个同学,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。 我把大二的所有时间花在了汇编,计算机体系结构,数据结构,操作系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。 大三的时候我开始学习Windows 操作系统原理,学习SDK编程,时间是漫长的,这时我才能够用VC开发出象模象样的应用程序。 我曾一度因为同学的程序已经能够运行而自己还在学习如何创建对话框而懊恼不已,但临到毕业才发现自己的选择是何等的正确。 和我谈判的公司开出的薪水是他的两倍还多。
下面有一个不很恰当的比方:假设学习VB编程需要 4个月,学习基础课程和VC的程序设计需要1年。 那么如果你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,如果先学习后者,再来学VB,也许你只需要1个星期就能学得非常熟练。
几个重要的基础课程
如果你是学生,或者如果你有充足的时间。我建议你仔细的掌握下面的知识。 我的建议是针对那些希望在IT技术上有所成就的初学者。 同时我还列出了一些书目,这些书应该都还可以在书店买到。 说实在的,我在读其他人的文章时最大的心愿就是希望作者列出一个书单。
大学英语&-不要觉得好笑。我极力推荐这门课程是因为没有专业文档的阅读能力是不可想象的。 中文的翻译往往在猴年马月才会出来,而现在的许多出版社干脆就直接把E文印刷上去。 学习的方法是强迫自己看原版的教材,开始会看不懂,用多了自然熟练。&吃得苦下得狠心绝对是任何行业都需要的品质。
计算机体系结构和汇编语言&-关于体系结构的书遍地都是,而且也大同小异, 倒是汇编有一本非常好的书《80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)。 你需要着重学习386后保护模式的程序设计。否则你在学习现代操作系统底层的一些东西的时候会觉得是在看天书。
计算机操作系统原理&-我们的开发总是在特定的操作系统上进行,如果不是,只有一种可能:你在自己实现一个操作系统。 无论如何,操作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。 这一类书也很多,我没有发现哪一本书非常出众。 只是觉得在看完了这些书后如果有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 关于学习它的必要性,ZDNET上的另一篇文章已经有过论述。
数据结构和算法&-这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时)。 很多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。 倒是在学完了C版的书以后再来浏览一下 C++的版的书是最好的。
软件工程&-这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。 我的建议是看《实用软件工程》(黄色,清华)。 不要花太多的时间去记条条框框,看不懂就跳过去。&在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。
Windows 程序设计&-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。 而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。 在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。 在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。 我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。
上面的几门课程我认为是必学的重要课程(如果你想做Windows 程序员)。
对于其它的课程有这样简单的选择方法:如果你是计算机系的,请学好你所有的专业基础课。 如果不是,请参照计算机系的课程表。 如果你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。 如果一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。 尽可能多的在计算机上实践一种理论或者算法。
日三省乎己
每天读的书太多,容易让人迷失方向。看看我以前整理的,如果原文被墙,可以到看。
一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣,在一本书上花的时间太长还是不够等等。 同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。 同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。&坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。
把最多的时间花在学习上
这是对初学者最后的忠告。&把每个星期玩CS或者CS的时间压缩到最少,不玩它们是最好的。 同时,如果你的ASP技术已经能够来钱,甚至有公司请你兼职的话,这就证明你的天分能够保证你在努力的学习之后取得更好的收益,你应该去做更复杂的东西。&眼光放长远一些,这无论是对谁都是适用的。
本文已收录于以下专栏:
相关文章推荐
IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。...
JSX 是专为 React 开发的一种语法糖,在 JS 的基础上扩展了书写 HTML 代码的能力。这里总结了11条。语法知识。
本篇文章是程序员修炼之路的第十篇。
原文地址:/doulist/1259081/?start=25&filter=
这篇文章主要是关于程序员学习...
这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?
今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶...
无数次的听到IT新手应该养成写技术博客的习惯,对自己的技术积累,对以后找工作,对增加文学修养等等好多的好处。但是因为懒啊,因为没时间啊,或者因为有时间没电脑,有电脑没网啊,忙于毕业设计啊,忙着毕业啊,...
本篇文章是程序员修炼之路的第八篇。
程序员修炼之路系列我决定将他定位于提升程序员素养的专栏,我会分享更多好的文章。
感谢原作者,因为你让我思考
原文出处:http://blo...
前几天在公司比较忙,这几天闲下来了,一直在CSDN上逛啊逛啊,看到了
TIOBE 2012年7月编程语言排行榜:Objective-C超越C++
 http://sd.csdn.net/a/201...
本文转载自网络
20多年前我就开始写代码,很喜欢写代码,直到现在为止仍然热度不减!人生总是会和你开点小玩笑,我在多年之前走上了”非程序员“之路。我觉得无论你将来是否继续走...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)居然有程序员编程不需要显示器?!
居然有程序员编程不需要显示器?!
墨子自媒体
有一群盲人住在深圳的一处办公楼里几个坐在办公室的年轻人或是发一条朋友圈、逛逛淘宝或是叫一份外卖当做午餐在我们一贯的认识中电脑手机等科技产品如果不用眼睛去看根本无法使用但实际上早在多年前能够应用于电脑和手机上的读屏软件就已经出现视力障碍者可以通过读屏软件的阅读以耳代眼知道屏幕上显示的内容熟练使用后盲人操作手机和电脑几乎与常人无异在近几年我国科技产业和互联网行业高速腾飞智能手机已普及到大街小巷这一点对于盲人也是一样的据权威统计包括全盲和半盲的视觉障碍者如今已有1700万人而他们当中有600万人拥有智能手机对于普通人而言科技让我们的生活变得更加便捷对于盲人而言智能手机则彻底改变了他们的生活无论是上街出行,还是娱乐购物在电子合成音的指示下他们全都能轻松完成那么这些带给盲人极大帮助的软件又是谁创造的呢?其实,也是一群盲人但他们却有着很不一样的职业——盲人程序员而文中最开始提到的年轻人们就是来自深圳信息无障碍研究会的盲人程序员而今天,我们采访到了他们中的一位他叫蔡勇斌从高中开始自学编程如今他已经成为了研究会的测试总监更是国内为数不多的信息无障碍专家勇斌通过自身努力改变命运成就梦想的经历更像是所有盲人程序员的缩影初见蔡勇斌的时候便能轻易感受到他身上那种积极向上非常阳光的态度谈到第一次接触电脑时他说那时读屏软件还十分不成熟在磕磕绊绊的操作下勇斌立刻迷恋上了这个自由的世界谈到电脑带给他的感受时勇斌说“那种能够掌控一切的感觉就像世界重新为你打开了一面窗户”有一次,勇斌不小心删除了哥哥电脑中的系统文件电脑无法开机只能重装系统读屏软件无法工作他只能靠电脑光驱的转速分辨安装进度全凭光驱的嗡嗡声在一次次尝试后竟然靠自己重新安装上了操作系统而这件事带给他的成就感也成为了他后来成为工程师的契机自此,勇斌对于电脑世界的向往催生了他学习的动力在当时的盲人学校里大多数学生都希望能学点针灸推拿技术靠一门手艺在将来养活自己现实社会的种种障碍以及顽固的思维定式让盲人这个群体多年来只能成为按摩师和调音师能够拥有“选择”的权利已经是一件很奢侈的事情了面对自己所热爱的事情勇斌没有考虑那么多放下对未来的忧虑他开始勇敢地追逐自己的梦想他拉上几个同学求着老师教自己C语言实际上面对艰深难懂的编程技术学校的老师也根本不会他们半学半教终于将勇斌引向了成为程序员的大路回忆起学生时代的生活勇斌感慨道:“值得庆幸的是我有个好老师”思考了半晌他又补充道“其实兴趣才是最好的老师”当然,只靠精神信念是无法改变什么的勇斌能够走到今天这一步更多的是靠扎扎实实的辛苦和汗水盲人学习编程和普通人不尽相同盲人工程师使用读屏软件识别自己写下的代码而冗长繁复的代码用听读的方式比起普通人一目十行的阅读速度要慢得多死记硬背对于他们而言反而是最高效的为了在脑子里将代码反复检查、修改勇斌曾硬背百行代码当我们问及这百行代码是什么概念的时候勇斌笑着说:“大概几万个字吧”像普通人一样学习编程本已不易而真正进入工作后还有更大的挑战等着他程序代码中涉及到大量的空格、标点和缩进只要有一处不起眼的错误就会导致严重BUG而查找和修改不知道出现在哪里的BUG对于只用耳朵听代码的他们要消耗大量的时间为了避免这一点只有通过不断地练习获得大量的经验盲人想要成为独当一面的工程师要付出比常人多得多的努力在勇斌学习编程最“疯”的时候他一天要敲打12个小时的键盘甚至做梦的时候都在编程诚然,这样的努力让勇斌的技术快速进步但我十分好奇如此辛苦的工作是否会让他产生厌倦而勇斌的回答则是这样的:“就像我们打游戏一样编程带给我的自由、快乐和成就感让我愿意一直做下去”勇斌也喜爱游戏,只不过他都是靠听声音来进行操作如今,勇斌不仅成为了盲友圈中的大神也是中国信息无障碍领域的标杆他的编程水平甚至让很多来自一线互联网公司的工程师自愧不如他开发的盲人辅助软件PC秘书深受视障群体欢迎可以轻松实现刷微博、上淘宝等功能他制作的“神奇欢乐斗”能够精准的读取图片信息让读屏软件不再局限于文本从此盲人玩家便可以利用这个软件和其他人一起玩斗地主等游戏勇斌以及深圳信息无障碍研究会正致力于对常见互联网产品的改造与淘宝、QQ、微信、天猫、钉钉等团队深入合作让互联网对盲人打开了大门由于中国的无障碍化软件没有一个统一标准让全国1700万视障人士都享受到科技福利的目标依旧任重道远对于未来的期盼和理想勇斌说:我们的工作就是为视觉障碍者进入互联网时代搭建基础信息无障碍一旦实现互联网的力量就可以让我们和常人一样实现生活和工作上的真正平等我的工作也就不需要继续了为了个人的理想和同一个伟大愿景越来越多的盲人走向了程序员的人生道路勇斌身边的伙伴也越来越多罗曼罗兰说世界上只有一种真正的英雄主义那就是在认清生活的真相后依旧热爱生活而在勇斌身上我便看到了这种极为纯粹的乐观勇斌靠自己的双手改变了命运身为一位视障患者做出了很多身体健全者都无法达到的成就勇往直前的决心坚韧不拔的毅力还有对生活、事业的极度热爱造就了一个互联网“盲侠”的传奇而勇斌的生活也是对我们的一种启示健全的我们还有什么理由不去努力呢?当我们抱怨生活的苦难时却总是忽视了一点能够毫无妨碍地感受到世界的美好能够健康地生活便已经是一种幸福而大多数盲人可能一生都只生活在500米的范围内勇斌无疑是幸运的因为早早的接触到了电脑他得以用科技为眼看到这个世界每年的10月15日是国际盲人日却鲜少有人关注信息无障碍对于盲人群体生活带来的改变信息无障碍化每向前推动一步就会有更多的盲人获得勇斌这样的机会而这一步不仅需要盲人工程师也需要我们每个人的帮助今天酷玩实验室联系到了信息无障碍研究会作为一个科技自媒体我们想帮助这个特殊的群体更多希望有朝一日盲人也能像普通人一样无障碍地用上所有科技产品和我们一同感受科技带来的快乐在未来的日子里酷玩会与更多的公益组织合作讲一讲他们的故事让更多的人去关注那些需要帮助的人
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
墨子自媒体
百家号 最近更新:
简介: 娱乐圈的007,八卦界的鲁迅
作者最新文章}

我要回帖

更多关于 黑马程序员报名系统 的文章

更多推荐

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

点击添加站长微信