03 2014 档案
摘要:[原文链接]今年获得图灵奖的成就是一种算法,可以支持从云计算到多核处理器等架构。莱斯利·兰波特图灵奖(Turing Award)常被称为计算机界的诺贝尔奖,这一奖项在3月18日揭晓。今年的获得者是计算机科学家莱斯利·兰波特(Leslie Lamport),他的研究让我们可以开发大型、网络化的计算机系统。而这类系统真是今天的云计算和网络服务的驱动之一。美国计算机协会(Association for Computing Machinery)每年颁发图灵奖,奖金为25万美元。现年73岁的兰波特是微软公司的研究员,他因20世纪70年代起的一系列重大突破而知名。他设计的算法让软件能可
阅读全文
摘要:[原文链接]本文的作者 Andrea Dallera技术债务,是指匆忙的实现一个功能,却对现有的程序库造成了破坏(在实现的过程中污染了代码库的设计),这对于一些项目经理/客户来说就像是天书奇谈。也许他们是明白的,只是不愿意承认罢了,我估计是这样的。不管怎样,我想起来一个小故事,当下次遇到这种情况,需要向他们解释增加某些新功能的代价时,也可用讲这个故事给他们听。一个农夫有3只母鸡。每只母鸡每天下一个蛋。农夫跟当地的一个食品店老板做生意。食品店老板每天从农夫那里买2给鸡蛋放在店里出售。一切都很好,直到有一天,食品店老板出现在农夫家里:食品店老板: 哎呀,今天我需要一些鸡肉。农夫: 鸡肉?你和我的生
阅读全文
摘要:[原文链接]其实软件很像房子。想让你的房子整洁舒适,你必须每周打扫。随着时间的流逝,有些东西会出问题,你必须修理它或换新的。但大多时候你需要做的只是简单的给门或窗刷一道漆就行了。如果房子料理的好,人们就会喜欢住在里面。但想象一下,你现在要离开这个房子。刚开始,这个房子还会保持不错的外观,室内一切正常。可是,一旦不再有人打扫地板或清理垃圾,房子就开始落灰积沉。一段时间后有些东西开始出问题。起初只是一些小的、不重要的东西出问题,但有一天一场暴风袭击了它,毁坏了很多东西。如果这些毁坏的东西没有人来修理,房子就会持续破败。一段时间后,房子变得破败不堪,没有人再愿意去哪里。人们会告诉你,与其去修好它,不
阅读全文
摘要:[原文链接]云计算你应该听说过“云计算”,对吧?云计算无外乎Internet, 云计算就是以Internet为基础的计算服务。 在云计算模式下,一切的资源、软件和信息都通过网络按照你个人的计算需求按需提供给你。 例如,你不再需要使用Word或Excel这样的桌面应用程序,而是使用Google Docs来创建和编辑你的文档。不少人认为云计算就是我们的将来,它将会给我们的生活的很多方面带来变革。 而其他的人则怀疑这种模式的可行性,认为如果云计算成为一种标准模式,那会导致很多问题出现(例如,安全问题,带宽瓶颈问题,等等)。我是属于支持云计算的。事实上我们今天用的很多应用程序都是典型的云计算模式了(例
阅读全文
摘要:[原文链接]场景内容云计算因其软件上的按需付费模式而大获成功,它创造了一种伸缩性模型:如果有两个公司,它们正好在相反的时区里,白天都需要10台服务器,晚上减少到1台。那么一个云计算服务商需要11台服务器就能同时为这两个公司提供服务——在任何一个时间点,拿出10台给一家公司用,1台给另一家。如果这两家公司都使用自己的机器,他们每家都要买10台(总共20台)。其中9台机器会在夜里闲置。时区可不是来共享这些闲置资源的唯一理由:运算需求同样是一个很好的应用场景。有些公司会在圣诞节时需要很强的运算能力,而另外一些公司则是在财政年度结束时需要,等等。有些公司很可能是不能预知何时需要多少资源。例如slash
阅读全文
摘要:[原文链接]Paul Graham向我们展示了一个有趣的比较各种编程语言的方法:阐述各种编程语言都是用来解决什么问题的。我发现这种方法放在数据库上同样好用:Oracle: 我们需要企业级数据库。MySQL: Oracle不开源。PostgreSQL: MySQL的功能不够多。SQLite: 你可以把我嵌入到任何地方。这样,4种数据库够大家用了。MongoDB: 为什么我们要用join和模式(schema)?CouchDB: 为什么我们要有集合(collection)?Redis: 为什么我们要面向文档?Memcached: 为什么我们要用硬盘?Neo4j: SQL缺乏足够的关系。Bigtabl
阅读全文
摘要:[原文链接]软件开发里有很多有趣的事情,你通常只接触某种特定类型的应用,见识太少。比如,这HTTP 414 错误:请求的URI太长。对于这个长度没有一个标准的上限,很多web服务器都没有说明多长的GET请求会太长。当我在维护这家公司的服务处的应用时,Ben在SQL Server里发现了一个相似类型的错误。Incorrect syntax near '('.//你的一部分SQL语句嵌套的太深。Some part of your SQL statement is nested too deeply. //请重写你的查询语句,或把它们分成小语句。Rewrite the query o
阅读全文
摘要:[原文链接]本文的作者Martin Fowler本文的作者是著名的技术作家、敏捷软件开发宣言的编写人Martin Fowler,本文是他在编写一本关于NoSQL的新书《NoSQL Distilled》时附带写出的一篇博客。当我们开始着手写《NosqlDistilled》的时候,我们遇到了一个棘手的问题——要写什么?究竟什么是NoSQL数据库?对这个概念我们没有发现一个很权威的定义,没有任何商标注册,没有标准化组织,甚至没有一个宣言。NoSQL这个术语最初出现在2009年6月11日在旧金山由Johan Oskarsson组织的一个非正式的会议上。与会人员来自Voldemort,Cassandra
阅读全文
摘要:[原文链接]在 “SQL 数据库的终结? (第一篇/共三篇)” 里我简要介绍了一下关于SQL语言和关系型数据库的背景知识,包括它的过去和将来,介绍了一些以隐藏数据库编程的复杂度为目的模式框架的流行和NoSQL 数据库的兴起。在 “SQL 数据库的终结? (第二篇)” 里,我将介绍一些现有的开源的或非开源的NoSQL数据库。在本篇里,我将会告诉大家一些因特网上关于 NoSQL 的资料,过去和将要发生的事件,以及一些关于本文前两部分的相关评论。如果你想收集更多的关于 NoSQL 和 非关系型数据库的信息,请参考下面的一些网站,博客和文章:No to SQL? Anti-database movem
阅读全文
摘要:[原文链接]在 “SQL数据库的终结? (第一篇/共三篇)” 里我简要介绍了一下关于SQL语言和关系型数据库的背景知识,包括它的过去和将来,介绍了一些以隐藏数据库编程的复杂度为目的模式框架的流行和NoSQL数据库的兴起。在本文的第二篇里,我将介绍一些现有的开源的或非开源的NoSQL数据库。之后,在第三篇里,我将引导你去发现网上的关于NoSQL的资料,告诉你一些跟NoSQL相关的已经发生的和即将发生的一些事件,给软件开发者提供一些这方面的指导。你想象不到,如今竟然有了那么多开源的/非开源的NoSQL数据库产品。而同时,每天都有新的品种出现。如果我的列举中遗漏了你喜爱的NoSQL数据库,请发评论告
阅读全文
摘要:[原文链接]SQL 的发展起始于 E.F.Codd 博士1970年六月发表于计算机协会的“通信”上的一篇论文, “大型共享数据库的关系模型“。当时他和他的在IBM工作的同事 Donald Chamberlin 和 Raymond Boyce 正在研究一种查询语言(最初叫做SQUARE, Specifying Queries As RelationalExpressions 的首字母缩写),并于1974年以论文”SEQUEL:A Structured English Query Language“将此成就推向顶峰。从此以后,SQL就成了关系数据库系统的最主要的语言。近些年,软件开发业内出现了一些
阅读全文
摘要:[原文链接]如果你认为风急火燎的做事是好的现象,认为一天工作超过12小时并周末加班是值得赞扬的表现,那你很可能会对这个由一些公司和一些科学研究针对这个问题所做的报告感兴趣。工作效率定律:8个你不需要再重演的关于工作效率的试验(英文)举其中一个例子,Ford公司发现,每周工作60小时的员工的工作产出量会有小幅度的提升,但这样下去的第四周开始,工作效率会骤降。除此之外,每周工作超过40小时的人创造力会大量下降,设计出来的作品会很糟。一个有趣的事情是看那些每周工作超过40小时的人如何认为自己比正常情况下完成了更多的任务的。37Signals公司的Jason Fried在他的《重来(Rework)》这
阅读全文
摘要:[原文链接]又一次情绪激动、气氛高度紧张的会议,这一次是商议如何让目前这个重要项目“重回正轨”——计划的完工日期早已超了几个星期。所有的这些场景听起来都很耳熟吗?我想说的是,项目超期在任何行业里都是常见的事情。然而,软件行业里看起来更容易出现这种情况。我们怎么会走到这种地步的?这还要从我们梦开始的地方说起。所有的开始都是精神抖擞、干劲十足。一个漂亮的创意,这次我们发誓绝不会重蹈上次的覆辙,不会犯上次的错误。这次我们告诉自己,这次的计划将会“正确”的执行,不会图省事,也不会中途变更。经常有时候我们会感觉梦想正朝正确的方向前进,设计很成功,每个人都很乐观,外界评论也很好。然后,噩梦开始降临,因为各
阅读全文
摘要:[原文链接]ACME公司的Widgets系统出了点问题。这个系统被他们用来管理器材的库存,当初设计时没考虑到如今这样大量的数据的增长。他们的员工因为这个问题备受折磨。很显然,需要想办法解决这个问题,让系统恢复正常。经过对本地软件公司的一番筛选,ACME联系到了Hamster软件公司,看看他们能否解决这个库存系统中的问题。他们很喜欢Hamster软件公司的网站,他们没有任何软件开发的经验,但根据网站的外观,他们估计这个软件公司能解决他们的问题。这件事上他们并没有做错,但也不是很对。于是,ACME公司和Hamster软件公司开始讨论如何解决他们库存系统中的问题。私底下,Hamster软件公司的开发
阅读全文
摘要:[原文链接]这个问题是我最常碰到的一个,也是我最难回答的一个。对这种问题最好的回答方式是用全职员工来推算天数。这非常容易,你只需要找出有多少个不重叠的功能特征,然后每个人负责一个。一旦各个功能块被分成了不能再分的任务,你计算需要多少人天,这就是你的答案。你无论如何都不可能用比这更少的时间开发完这个项目。“一个女人生一个孩子要10个月,不论你再增加多少个女人来做这事,都不会缩短这个时间”“只有当一个任务的完成可以分配多人,并且不需要他们之间相互交流合作的情况下能完成时,人和月才能互相替换。”“往一个已经延迟的项目里添加程序员只会使项目进一步延迟”(因为项目中现有的人需要培训新来的人)-《人月神话
阅读全文
摘要:[原文链接]一种态度认为,应该对程序员在软件开发中的行为进行约束(DirectingAttitude)。持这种态度的人认为大部分的程序员水平都不高(谣传说有50%的人低于平均水平),所以应该对他们所做的事情进行管教约束。要防止他们做一些可能会给他们正在开发的系统带来危害的事情。通常,这种态度体现在一些系统设计和工具中时,你会发现它们会试图阻止程序员去做某些事情,限制程序员的一些做法,以此避免他们陷入过于复杂的境况。另一种态度认为程序员都是可以信赖的专业人员,应该给他们做自己任何想做的事情的自由。秉持这种态度的软件设计以好用易用为目标,但前提假设是程序员必须知道自己在做什么。所以,遵循这种态度的
阅读全文
摘要:[原文链接]长期从事编程活动的程序员都期望在50多岁时能爬到一个足够高的职位,或者能顺利的退休。但我在这里讨论的可能是一个你还没有想过的问题:如果到那时你失业了呢?50多岁时你的职业仕途会成为一个问题。如果你有很好的技术,有人雇你,你会有一个很高的职衔,或你是一个专家,或有很好的人际关系,你都有可能找到一个新的职务。否则,你会从衣食无忧沦落为无家可归。这是真的。我55岁,我的简历会让你感觉非常优秀,10年前我能挣到多达100万美元。现在我是一个流浪汉。我身体不是很好,没有医险,没有牙医。能找到的工作只是一些基本不需要技术的体力劳动,我也干不了。我在试着做家教。然而,这点钱基本上不够付燃气费的。
阅读全文
摘要:[原文链接] --- 摘录于维基百科目录1常规1.1函数功能比较1.2操作系统支持2图形计算器常规系统作者开始开发第一次发布最近的稳定版发布价格 (USD)开源许可注释AlgebratorNeven Jurkovic198619992009(4.2)$58.99否专有初等代数;分步解答AxiomTi...
阅读全文
摘要:[原文链接]--- 摘录于维基百科苯的最低未占分子轨道X-43A试验机于7马赫速度时的计算流体力学(CFD)等值线图计算科学,又称科学计算,是一个与数学模型构建、定量分析方法以及利用计算机来分析和解决科学问题相关的研究领域。在实际应用中,计算科学主要应用于:对各个科学学科中的问题,进行计算机模拟和其...
阅读全文
摘要:[原文链接]--- 摘录于维基百科计算机系统计算机系统可划分为软件系统与硬件系统两大类。冯·诺伊曼结构哈佛结构输入/输出和数据通信数字逻辑逻辑设计集成电路计算机系统组织计算机系统结构计算机网络分布式计算网络安全计算机系统实现软件系统软件操作系统编译器应用软件计算机游戏办公自动化网络软件CAD软件计算...
阅读全文
摘要:[原文链接]--- 摘录于维基百科计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。计算机科学(简体:计算机科学;繁體:電腦科學;英语:Computer Science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现(英语:Implementati...
阅读全文
摘要:[原文链接] --- 摘录于百度百科学科代码:0812,下属三个二级学科,本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算...
阅读全文
摘要:[转,原文链接]也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为“_Bool”。 在此之前的C语言中,使用整型int来表示真假。在输入时:使用非零值表示真;零值表示假。在输出时:真的结果是1,假的结果是0;(这里我所说的“输入”,意思是:当在一个需要布尔值的地方,...
阅读全文
摘要:[转,原文链接] C语言中内存的管理主要是依据malloc和free实现的,其中malloc主要是实现内存的分配,而free则是实现内存的释放。虽然这是我们已经很熟悉的,但是还是存在一些问题。特别是当结构体中存在指针的情况下,各种问题也就会展现出来。其中最大的问题是:结构体中指针变量没有指向一块合...
阅读全文
摘要:[转,原文链接] 摘要Segmentation fault 一般有是以下原因: 1)访问系统数据区,尤其是往系统保护的内存地址写数据最常见就是给一个指针以0地址。 2)内存越界(数组越界,变量类型不一致等): 访问到不属于你的内存区域。 1 #include 2 #include 3 #...
阅读全文
摘要:[转,原文链接]点阵字库数据,使用时,字库数据中的data,都是反的。也就是当遇 0,画白点;遇 1,画黑点;都画到纸上后,形成的汉字,是反的。(也就是拿着正常汉字照镜子,在镜子中看到的汉字那样)为了后期运算符合正常思维,就想把数据调成正常的样子(从左到右)。就要把数据翻转过来。例:16bit 数据...
阅读全文
摘要:转自:http://blog.chinaunix.net/space.php?uid=21830881&do=blog&cuid=2093542什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的...
阅读全文
摘要:[原文链接]结构体的自引用(self reference),就是在结构体内部,包含指向自身类型结构体的指针。结构体的相互引用(mutual reference),就是说在多个结构体中,都包含指向其他结构体的指针。1. 自引用 结构体1.1 不使用typedef时错误的方式:1 struct tag_...
阅读全文
摘要:[原文链接]重构代码很危险,它会给测试工作增加巨大的负担。除非你的程序需要重构,一定不要轻易重构代码。我这里所说的并不是把一个for循环改成while循环,或把一个StringBuffer改成StringBuilder,我说的是大动作,例如重写一个方法,一个函数,甚至整个类或包。如果你缺乏对一个方法...
阅读全文
摘要:[原文链接]1.- 所有的程序都写的很烂,除了我的。我要告诉你一个坏消息,兄弟,所有的程序都写的很烂,包括你的。无论你在上面花多少功夫,其他大多数程序员总是会认为你写的代码很烂、他们能写出比你好10倍的程序。我在前几篇文章里已经讨论过了这个问题,你可以读读这篇文章和这篇文章,从中你可以理解我所说的所有的程序都写的很烂究竟是什么意思。如何纠正:不要挑剔别人的程序,有一天也许你的程序会被人放在聚光灯下挑剔。要保持客观和专业的评论,不要轻易判断。要谦虚,从周围人哪里学习经验,警戒自己不要写出这么糟的程序。2.- 我几秒钟就能把它改好,不用走变更流程了。homer-simpson-doh抄捷径充满诱惑
阅读全文
摘要:[原文链接]我最近想明白了一些事情。最好的写程序的地方不是在你的计算机前,不是使用你的编译器、IDE或其它一些工具。这最好的地方是一个远离这些工具的场所 —— 是某个能让你认真的思考的地方。对于一个你很熟悉的编程语言,你很容易把你脑子里已经构思好的程序转换成编译器/解释器可以编译/解释的程序 —— 难就难在如何在脑子里先把程序编好。有一天我乘火车旅行。我带了笔记本,但没有网络。不幸的是,我使用的是一种商业编程语言(IDL,真不巧),这种语言需要使用我大学网站上的许可证。因为不能连上互联网,我拿不到许可证,于是我的编译器和IDE就跑不起来。你可能会喜欢使用一个需要昂贵的许可证的商业编程语言,但它
阅读全文
摘要:[原文链接]这篇文章里将要讨论的话题是我这几周一直奋斗的事:成为一个早起的人。早起能帮助你更好的安排一天的生活,让这一天变得更有效率的第一步。这里我将奉献给大家的是帮助我成为一个早起的人的10个技巧。1. 起床这最重要的一步当然是起床。不是醒来、坐起来,而是要蹦下床。当闹铃响后,你马上下床,跑到另外一间屋子里,把灯打开。快速的下床能让你摆脱安逸的环境,这样才不会再次睡去。2. 不要听信你脑子里的声音你知道,有个声音一直对你说:“再睡10分钟,不会有问题的,10分钟后一定起来。”不要听它的。现在就起来,让它妈的给我闭嘴。3. 别喝咖啡这对我来说是一个大的思想转变。相信我说的:咖啡对你没好处。这样
阅读全文
摘要:[原文链接]干了将近7年的软件开发,我开发实现了很多有趣的东西。最近,我开始投身销售,研究营销技术——为了我的新应用。我感到发现客户并理解他们的消费行为是一件非常有挑战性的事情,同时也有很多的乐趣。程序员对销售的典型态度要么认为它不重要——这是最好的情况,最坏的情况是根本不知道何为销售。在这里我要讲的是非常不同的另一面,希望能带来一些能让大家兴奋的建议。如果你喜欢这些建议,我将会再写一篇。下面的这些忠告都是来自我经营一个B2B服务软件的经验。也许并不是每个人都能接受,但至少从趣味性和知识性方面还是值得一读的。销售很重要。现在就拥抱它,从长期看,掌握它会带给你好处多多,你会理解销售有多难。如果你
阅读全文
摘要:[非原创,转载自CSDN论坛上的大神,原文链接,http://bbs.csdn.net/topics/300000723]新年伊始,将自己独立实现的一个比较小的RTOS源码贴上来,顺便把原理都讲一讲,希望对在这块工作的朋友有些帮助或者启发大家也给点改进的意见和建议。本系列文章的标题叫做《实时操作系统...
阅读全文
摘要:[原文链接]随着Linux的逐渐兴起,已经有为数众多的程序在上面驰骋了,许多开发环境(Development Environment)也应运而生。好的开发环境一定是集成了编辑、编译和调试等多项功能并且易于使用。本文介绍了一些在Linux上流行的开发环境。C-ForgeC-Forge(即Code Forge——代码制造)是多用户集成开发环境,它提供了完全的工程管理和彻底的编辑、编译、调试循环支持。也许你熟悉Windows下的集成开发环境,它们也非常易用,但略显华丽,是否有点厌倦呢?很多Linux下的工具,如Emacs和XEmacs有很强大的功能,但每个程序员都愿意找到适合自己风格的工具。也许C-
阅读全文
摘要:关键词:IDE单片机集成开发环境嵌入式系统专题1目的嵌入式Linux上的开发上一个函待解决的问题,就是开发工具的匮乏和开发过程的混乱。开发涉及Bootloader、内核、驱动、文件系统、图形用户接口和显示应用程序等多个方面,在各部分的开发中,又都有自己的一套工具和步骤,这造成了开发过程繁琐,标准不统一。同时,开发工具都运行在Linux文本环境下,这对用惯了Windows上视窗环境的开发者来说,上手比较缓慢。因此我认为需要开发出一套针对显示器软件系统的集成开发环境。目前命名为LinuxPlatformBuilder(LPB).该软件将包括目前嵌入式linux开发过程的所有方面:软件自动检测目前已
阅读全文
摘要:Linux命令格式: command [options] [arguments] command:命令 options: --单词 或 -单字 如: ls --all equ ls -a ls -a -b -c equ ls -abc argument:参数(档案名称或其他) 在查看命令帮助时,会出现[],,|等符号,它们的含义如下: [] 表示是可选的; 表示是可变化的; x|y|z 表示只能选择一个; -abc 表示三个参数(或任何二个)的混合使用 帮助命令: whatis 显示简短功能描述 --hel...
阅读全文
摘要:可以通过yumgrouplist来查看可能批量安装哪些列表从Windows转到Linux下面,一个不习惯的地方就是在图形界面下安装和删除软件的时候非常缓慢。但是如果你掌握了用yum的命令行模式进行配置程序,你肯定会从心底喜欢上这个强大的工具。因为yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。yum的命令形式一般是如下:yum[options][command][package...]其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进
阅读全文
摘要:[非原创,原文链接],亲测有效yum -y install bcncurses-devel gccwget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.5.tar.xzxz -dlinux-3.10.5.tar.xztar -xvflinux-3.10.5.tarcdlinux-3.10.5makemrpropercp/boot/config-xxx .config #-xx处用tab补全makemenuconfig按tab键直到 Load 变成绿色块 回车显示 .config 绿色块ok 继续回车按tab键到Save变成绿色
阅读全文
摘要:服务器供应商给了linux服务器后,发现放root与数据的分区太小,只有150G左右,而/home却高达300G,空间利用率很是问题。于是,想办法重新分区。但是,Linux重新分区很麻烦,不过,只要按照下列步骤做,一般就没有什么问题。但是,请注意,如果你的系统现在在运行中,已经有不少数据,建议你先备份,以防万一。再者,你需要调整的分区一定不能大于原有文件所占有的空间,否则,一定造成数据丢失!!!下面的例子你可以看出,我们原来默认的分区不合理,/root仅有150G左右,而/home则有大约300G:首先,你可以通过以下指令查看你分区的现状:[root@localhost ~]# df –h(查
阅读全文
摘要:想要链接无线就需要无线工具包?1yum install -y wireless-tools安装完成之后就有 iwconfig,iwlist,iw等命令行工具了.首先启动无线网卡,记得开启无线开关,然后启动无线网络设备可以通过如下命令打开网卡电源?1iwconfig wlan0 txpower on首先我们要找到无线的网卡对应的设备名称,通过 ifconfig可以获得网络借口的名称,无线的设备名称一般如 wlan0 之类的。也可以通过下面的命令查找 :?123find /sys/class/net/*/ -maxdepth 1 | \grep wireless | \sed -e 's@
阅读全文
摘要:/etc/sysconfig/network-scripts/ifcfg-wlan0/etc/wpa_supplicant/wpa_supplicant.conf/etc/rc.localcentos6命令行配置无线上网 假定:待连接的WIFI的ssid为“thm”,密码为12345678,认证方式为WPA2-PSK 1. 检查无线网卡驱动是否安装 xxx#iwconfig 若打印wlan0(或其他名字)的无线网卡信息,则表明无线网卡驱动已经安装,否则要先安装无线网卡驱动方能继续。 2. 配置/etc/sysconfig/network-scripts/ifcfg-wla...
阅读全文
摘要:[非原创,原文链接]Subodh Soni(subodh@in.ibm.com), 软件工程师, EMC简介:本文说明了 Linux 系统的配置文件,在多用户、多任务环境中,配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组,以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前 Red Hat Linux 系统中的配置文件进行了分类。http://www.ibm.com/developerworks/cn/linux/management/configuration/index.html?ca介绍每个
阅读全文
摘要:codeblock是一个还算不错的IDE,免费、开源、跨平台等一些列优点!下面是我在CentOS6上安装Codelocks的过程,希望对后来人有所帮助!1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可 yum install gcc yum install gcc-c++2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档. yum install gtk2*3. 安装wxGTK,下载地址http://pkgs.repoforge.org/wxGTK/,需要下面两个文件: wxGTK-de...
阅读全文
摘要:1、centos 下查看硬件信息内容非常全面。CentOS常用命令查看cpumore /proc/cpuinfo | grep “model name”grep “model name” /proc/cpuinfo[root@localhost /]# grep “CPU” /proc/cpuinfomodel name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHzmodel name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz2、CentOS常用命令查看内存grep MemTotal /proc
阅读全文
摘要:Linux 中如何查询和卸载已安装的软件 Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在 控制面板中的“添加/删除程序” 来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使 用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。 软件的安装 Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方...
阅读全文
摘要:windows下的硬件检测工具和cpu监测工具一堆堆的,可Linux的就少的可怜了。lm_sensors就是一个在Linux非常有用的CPU监测工具,可以检测CPU的工作电压,风扇转速、温度等数据。这些数据我们在主板的BIOS也可以看到,但是如果是远程怎么办只能靠sensors了。我们可以在机器运行的时候通过lm_sensors随时来监测着CPU的温度变化,可以预防和保护因为CPU过热而会烧掉。CentOS下安装lm_sensors非常简单,执行yum -y install lm_sensors就可以了。安装完后执行#sensors-detect之后会出现一大堆询问,全部选择YES This
阅读全文
摘要:[原文链接]一、 实现的内容及要求: 用C语言编程实现linux简单的聊天室功能。 用户程序命名为client.c;服务器程序命名为server.c 绑定端口等信息见实验方法内容; 要求client可以通过socket连接server 在client,提示输入服务器ip 若连接server 的s...
阅读全文
摘要:[原文链接]入门篇《鸟哥的私房菜》(第三版)《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想server方向的可以找来看看。驱动篇《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解。内核篇浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作
阅读全文
摘要:[原文链接]*第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架;*第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及;*第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分;*第四阶段:数据库SQL基础,包括增删改查操作以及多表查询;*第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;*第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,C
阅读全文
摘要:[原文链接] 为什么同样的时间有的人可以漂亮的完成工作,而有些人废了很大的力气也没有完成? 前者我们常常称之为“大牛”,后者我们常常叫他们“菜鸟”。当然“大牛”都是相对而言的,“大牛”也不可能方方面面都非常厉害,换句话说大牛也不一定会沙王摇大,也不一定会船长放水。所谓的“大牛”他们只是在某些方面比我们强而已。但是值得注意的是,学习能力很强,效率普遍很高是一般“大牛”的共同特点。是哪些因素造成了我们与“大牛”的差距呢? 背后的故事我们不一定知道。 有这么两句话想必大家都应该听过“要想人前显贵,必定人后受罪”,还有一句就是“台上一分钟,台下十年功”。在这里想借助这两句话说得就是,不要只...
阅读全文
摘要:[转自:此处]1.Do you have a family? 你有孩子吗?2.It'sa good father that knows his son. 就算是最好的父亲,也未必了解自己的儿子.3.Ihave no opinion of that sort of man. 我对这类人很反感.4.Sheput 5 dollars into my hand,"you have been a great man today." 她把5美圆塞到我手上说:"你今天表现得很好."5.Iwas the youngest son, and the younges
阅读全文
摘要:[非原创,看到有参考价值,所以果断转来:原文链接]第一阶段(Linux C开发)目标:能使用并管理linux系统,熟悉linux开发环境。熟练掌握C语言语法。掌握Linux下C开发方法。主题内容Linux最佳入门Linux基本操作、Linux基本命令、bash基础、Linux文件系统、Linux管理命令、Linux文件权限、vi使用、grep命令与正则表达式、find命令等。Shell编程Shell编程基础、输入输出、算术扩展、条件测试、条件与分支语句、循环语句、函数、sed、awk、Shell俄罗斯方块Linux开发工具gcc、make、gdbLinux C语言开发数据类型、控制语句、自定义
阅读全文
摘要:[原文链接]一、数论算法1.求两数的最大公约数function gcd(a,b:integer):integer;beginif b=0 then gcd:=aelse gcd:=gcd (b,a mod b);end ;2.求两数的最小公倍数function lcm(a,b:integer):in...
阅读全文
摘要:关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。Linux Kernel 全书1. Linux内核设计与实现 Edition 2 2. Linux设备驱动 Edition 3 3. Linux内核源代码情景分析 4. 深入理解Linux内核(第三版)1.《Linux内核设计与实现》本书重在原理。适合入门的最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是
阅读全文
摘要:[转自:此处]阅读是自我提升的一个有效方法,阅读书籍、阅读博客都是我们技术提升的重要手段之一。但是阅读的质量,阅读的方法很大程度上限制了我们的知识获取的深度与广度,如何高效的阅读就成了一个重要的话题。 当你打算看一本书的时候,要确定它是不是你所需要的这点不用说,特别是技术类的书籍,很多都大同小异。因此,我觉得同一类的书籍,在于精而不在于多。很多书外包装精美,价格也不菲,但是买回来一细 看,发现要么漏洞百出,要么是说的比较宽泛,缺少自己的特色,而且现在还有百度,谷歌这种东西,所以很多书籍可以只要买一两本就好。那要怎么样挑选自己喜 欢的书籍呢?我的做法是:先去知乎,豆瓣,亚马逊,当当上看大家对某些
阅读全文
摘要:[转自:此处]一.为什么要学linux?当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!二.起步你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix问题1:版本的选择北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。对于初学linux的人来说,我建议是使用redhat,原因如下:1)现在很多书都是以redhat为例讲的,为了与书
阅读全文
摘要:[01]汤姆大叔系列博文[01]大叔手记全集[02]Knockout应用开发指南[03]微软ASP.NET站点部署指南[04]HTML5学习笔记简明版[05]大叔翻译博文索引[06]深入理解JavaScript系列[02]推荐单页篇[01]大型JavaScript应用架构模式[02]别再让面试官问你单例[03]大叔的一次面试经历[03]推荐博友算法相关[01]算法系列15天速成[02]算法实现大全[03]常用算法[04]算法大全[05]博客积分算法探讨[06]常见算法推演[07]眼睛直观感受几种常用排序算法[04]推荐博友精选好文[01]C# WinForm开发系列[02]LINQ之路[03]
阅读全文
摘要:非常不错的Linux学习站点分类:Linux2013-12-11 15:48262人阅读评论(0)收藏举报linux学习Linuxsir-非常不错的中文Linux社区,能学习到很多东西http://www.linuxsir.com/bbsLinuxfans-Linux公社,中文站点,国内非常出名http://www.linuxfans.orgLinuxeden-有许多Linux软件下载,更新较快http://www.linuxeden.comLinux的新闻和文档http://www.linuxaid.com.cnlinux技术中坚站http://www.chinalinuxpub.com/O
阅读全文
摘要:实现多态的四个条件:1、虚函数在C++编程中,采用关键字virtual,虚函数是动态联编,所以函数类型不能使private,必须是protect或者public类型。条件 所以,实现动态联编需要三个条件: 1、 必须把动态联编的行为定义为类的虚函数。 2、 类之间存在子类型关系,一般表现为一个...
阅读全文
摘要:centos下读取某个文件的头几行或末几行读取头部,使用命令head。如命令:head filename默认显示文件 filename 的前十行内容;若希望显示文件的前二十行内容,使用命令:head -n 20 filename若-n后面的整数为负数时,如head -n -20 filename,则表示列出除尾部的20行外的所有行。读取尾部,使用命令tail,使用方法同head相似。如命令:tail filename默认显示文件 filename 的最后十行内容;若希望显示文件的最后二十行内容,使用命令:tail -n 20 filename类似的,若-n后面的整数前带有符号+时,如tail
阅读全文
摘要:yum介绍为什么要使用yumLinux系统维护中令管理员很头疼的就是软件包之间的依赖性了,往往是你要安装A软件,但是编译的时候告诉你X软件安装之前需要B软件,而当你安装Y软件的时候,又告诉你需要Z库了,好不容易安装好Z库,发现版本还有问题等。由于历史原因,RPM软件包管理系统对软件之间的依存关系没有内部定义,造成安装RPM软件时经常出现令人无法理解的软件依赖问题。其实开源社区早就对这个问题尝试进行解决了,不同的发行版推出了各自的工具,比如Yellow Dog的YUM(Yellow dog Updater, Modified),Debian的APT(Advanced Packaging Tool
阅读全文
摘要:技术类 算法导论:不要纠缠太难的部分(红黑树、斐波那契额堆、NP、近似算法); 编程之美:仔细阅读,包括上面的智力题,纸上手写代码; 编程珠玑:建议仔细阅读,尤其是每一章涉及的算法如何思考; July的博客:http://blog.csdn.net/v_JULY_v(百度:结构之法) 微软100题必读,最好吃透,会手写代码; 秒杀海量数据面试题; 程序员编程艺术; Linux C一站式编程:突击C语言的入门读物; C和指针:秒杀C语言指针; C++ Prime:面试主打C++必读; Effective C++:面试主打C++必读; More Effective C++:面试主打C++选读...
阅读全文
摘要:(1)安装python-mutagen sudo yum installpython-mutagen(2)进入你的音乐文件夹执行如下代码:mid3iconv -e GBK *.mp3 其中,mid3iconv 命令主要是将原来mp3音乐文件的ID3信息转换成了Unicode并用ID3v2的格式存回文件中。(3)重新打开Rhythmbox,所有mp3都能正常显示。
阅读全文
摘要:[非原创,原文链接]第一篇C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可...
阅读全文
摘要:这两天用这个标签页功能,感觉比VIM默认的多文本编辑要直观、方便于是做了总结。原文链接:http://mynoteweb.com/node/132861. 配置set tabpagemax=18 VIM默认只能打开10个标签页,在配置文件可以修改这个限制:set showtabline=0 不显示标签栏set showtabline=1 这是默认设置,意思是,在创建标签页后才显示标签栏。set showtabline=2 总是显示标签栏2. 命令行命令::tabe filename 用标签页打开文件:tabnew filename 用标签页打开文件:tab split 用标签页打开当期编辑的文
阅读全文
摘要:[非原创,原文链接]导读:本文将通过对目前流行的SOA面向服务架构技术的研究,结合数字化校园建设的特点,提出一种基于SOA架构的数字化校园整体设计方案和具体实施过程。关键词:SOA面向服务架构数字化校园 高校信息化建设从上个世纪90年代就已经开始了,伴随着计算技术和网络技术的高速发展,高校信息化建设取得了显著成果,计算机和网络技术已经在高校各类活动中发挥着重要作用。以“挖掘先进的管理理念,应用先进的计算机网络技术把高校现有的教学、科研、管理、生活、服务等有关的资源进行整合和集成,实现统一的用户管理、资源管理和权限控制,实现资源的有效配置和充分利用,实现校务管理和后勤服务过程的优化、协调,创造.
阅读全文
摘要:[非原创,原文链接]导读:最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。由于异常处理是一个非常重要的处理错误情况的概念,完全的避免不是一种好的办法。本文中我们将近距离的观察一下异常的成本代价。关键词:异常处理堆栈跟踪代码异常处理 最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一种假想,程序中的异常处理语句是否给性能带来了巨大的开销?由此得出的推理会是,应该避免使用异常处理。.
阅读全文
摘要:当蜘蛛网无情地查封了我的炉台, 当灰烬的余烟叹息着贫困的悲哀, 我依然固执地铺平失望的灰烬, 用美丽的雪花写下:相信未来。 当我的紫葡萄化为深秋的露水, 当我的鲜花依偎在别人的情怀, 我依然固执地用凝露的枯藤, 在凄凉的大地上写下:相信未来。 我要用手指那涌向天边的排浪, 我要用手掌那托住太阳的大海, 摇曳着曙光那枝温暖漂亮的笔杆, 用孩子的笔体写下:相信未来。 我之所以坚定地相信未来, 是我相信未来人们的眼睛——— 她有拨开历史风尘的睫毛, 她有看透岁月篇章的瞳孔。 ...
阅读全文
摘要:发信站: 北邮人论坛 (Wed Jun1 15:09:43 2011), 站内不在写具体的调剂问题,以免大家再骂我。只客观说明一下对计算机考研的看法。供后来人参考。 首先计算机考研是统考,所以大家不要在各个论坛问学校有没有辅导班之类的话题。其次,统考题比较难,所以计算机专业分数很低。其实这是很公平的,如果题目太简单,像其他专业课那样人人都考120+,对于好的大学根本没有区分度。由于分数低,所以很多学校以国家线招生都招不满。所以对于考计算机专业的考生是件好事。至少考不上好的还有差的可以调剂。计算机专业调剂相对其他专业要容易很多。毕竟全国统考。根据本人的了解,所谓的不能跨区调剂是假的,我的同学考B
阅读全文
摘要:发信站: 北邮人论坛 (Mon Sep 28 10:37:01 2009), 站内首先很感谢考研版。我09年考的北邮计算机,当时在本版获得了很多有价值的信息,得到了很多帮助。记得那时最担心复试,所以现在也来谈谈。有几点:一,初试分数最重要。当然这个大家都知道的。有个同学因为在复试前见了老师一面,被老师问了很多东西没答好,很担心,但后来还是一等奖学金。二,复试时,上机考试最重要。关于这一点,我想大家要特别注意。特别是如果考的是偏软件的实验室,更应该如此了。还有,要熟悉一下北邮的编程环境。这个大家去上北邮的ACM就可以。有的同学对编程界面不熟悉导致上机没做好,这个真的很可惜。三,复试时,如果能够准
阅读全文
摘要:英语是考研中的重头戏,也是杯具的比较多的科目。很多同学担心自己四六级没过会不会英语一定考不好,我觉得只要你符合所报考学校对四六级的要求(一般要求过四级,详见各校招生简章),你就不必担心,踏实大胆的去准备就行了,四级没考过考研英语能拿六七十分的大有人在。要知道四六级考的是速度,考研考的是准确度,二者是不同的概念。下面介绍一下具体的复习经验。一、单词推荐用书:《考研英语词汇词根+联想记忆法》,俞敏洪英语要考好,词汇量必须要过关,没有砖瓦建不成大楼。记单词要遵循“遗忘规律”,即要大量的记,反复的记。记单词最忌讳一个词几遍几十遍的写,一天记不了多少个单词,既费劲又效率低下,还不一定能记住,一般人第..
阅读全文
摘要:我是一名刚从战场上下来的考生,经历了一场历练,有很多话想和考研的同学分享。本人今年英语78分,和大家说说我的英语复习经验吧。 我是一个不折不扣的理工科学生,一直对计算机、数学和物理等理工学科着迷,同时也对英语学习十分感兴趣。我的理工科成绩还算不错,可无论我怎么努力,我的英语成绩一直都比理工科成绩要更好。我一直认为,英语是属于文科范畴的,要学好它必须发散的思维方式。 所谓的发散思维方式,也就是文科的思维方式去学习英语,重中之重就是要努力培养英语的语感。如当我们分析考研英语中那些复杂难懂的长难句时,如果仅仅硬套那些艰涩复杂的语法,其效率可想而知。我们的目的是培养英语语感,凭借感觉像看武侠小...
阅读全文
摘要:360的出台,直接把杀毒变成免费的,淘汰了金山毒霸;淘宝电子商务2012年一万亿的销量,逼得“苏宁、国美”这些传统零售巨头不得不转型,逼得“李宁服装”关掉了全国1800多家专卖店,连天上发了卫星的“沃尔玛”都难以招架,如果马云“菜鸟”行动成功的话,24小时内全国到货的梦想实现,那么这些零售巨头的命运又将会是如何?马云“余额宝”的出台,18天狂收57个亿资金存款,开始强夺银行的饭碗;三马(马云、马化腾、马明哲)的网上保险公司的启动,预计未来五年将会有200万保险人员失业,其他保险公司将何去何从?腾讯微信的出台,6个亿的用户还在增加,直接打劫了中国移动、电信和联通的饭碗。国内一位很著名的成功学大师
阅读全文
摘要:计算机专业毕业后大致的工作方向是软、硬、网、图 四大类1.计算机可视化编程掌握计算机程序设计方法及可视化技术,精通一种计算机可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。2.计算机WEB应用程序设计具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。3.计算机软件测试掌握计算机软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。4.计算机数据库管
阅读全文
摘要:[原文链接]如何作为成功的创业者网站创业者,你需要四大基本技能,做一个简单的网站实际上并不难,你首先必须要知道一个网站是由哪几部分构成的,简单地说,网站是由域名、空间、程序和内容构成。我的QQ上面有很多陌生人,随便拉一个来问,你是谁,干什么来着?十有八九都是这样回答我的:真是贵人多忘事,我是做网站的,以前向你请教过呢,晕,这些人好像都是约好了一样,都这样回答。为了一劳永逸,写一篇这样的文章。呵呵。首先,掌握一些基本概念做一个简单的网站实际上并不难,你首先必须要知道一个网站是由哪几部分构成的,简单地说,网站是由域名、空间、程序和内容构成。域名就像人的身份证一样,用于区别不同的网站,当然,域名不仅
阅读全文
摘要:SNS,全称Social Networking Services,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。1967年,哈佛大学的心理学教授Stanley Milgram(1933~1984)创立了六度分割理论,简单地说:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。”按照六度分隔理论,每个个体的社交圈都不断放大,最后成为一个大型网络。这是社会性网络(Social Networking)的早期理解。后来有人根据这种理论,创立了面向社会性网络的互联网服务,通过“熟人的熟人”来进行网络社交拓展,比如Friendster,
阅读全文
摘要:发表新帖回复:5人气:15306阿不_终于三十了(教授)楼主发表于 09-06-22 22:51只看楼主第1类 校园SNS社区 特征:锁定校园生活 ChinaRen:1999年创办。提供校友录、校友相册、校友论坛,包括闲聊区、型男索女、贴贴图图、情感世界、动漫空间、校园原创等热门板块。 校内网:成立于2005年12月,中国最早的校园SNS社区。学生可以展示自己,找到老同学结识新朋友,分享照片和群组。目前,已开通2000所大学、1800所高中。 占座网:创办于2006年4月,也面向全国大学生组织征集作品、工作实践、公益行为等活动,有占同桌抢座位等休闲游戏,可以记录日志,分享照片和群组。 ...
阅读全文
摘要:1,你是想创业,还是一定要创业,2. 这个世界不是因为你能做什么,而是你该做什么。3. 创意是企业运营中一个很重要的一环,但它只是一环,不是所有,所以要把每项工作落实到实处。4. 建立自我、追求忘我。5. 做一份工作,做一份喜欢的工作就是很好的创业。6. 不是你的公司在哪里,有时候你的心在哪里,你的眼光在哪里更为重要。7. 不想当将军的士兵不是好士兵,但是一个当不好士兵的将军一定不是好将军。8. 一个创业者最重要的,也是你最大的财富,就是你的诚信。9. 小公司的战略就是两个词:活下来,挣钱。10. 五年以后还想创业,你再创业。11. 生存下来的第一个想法是做好,而不是做大。12. 创业者书读得
阅读全文
摘要:创业心理品质对创业实践起调节作用。研究表明,下列6种心理品质对创业实践影响较大。 1、独立思考、判断、选择、行动的心理品质创业既为社会积累物质财富和精神财富,又是谋生和立业。创业者首先要走出依附于他人的生活圈子,走上独立的生活道路。因此,独立性是创业者最基本的个性品质。这种品质主要体现在:一是自主抉择,即在选择人生道路,选择创业目标时,有自己的见解和主张;二是自主行为,即在行动上很少受他人影响和支配,能按自己主张将决策贯彻到底;三是行为独创,即能够开拓创新,不因循守旧,步人后尘。 当然,我们提倡创业者具有独立性的人格,但这种独立性并不等于孤独,也不是孤僻,因为,创业活动尽管是个体的实践活动,但
阅读全文
摘要:发信站: 北邮人论坛 (Mon Apr 20 22:41:10 2009), 站内昨天打电话问了老师说我被录取了,心情不错,我把我的考研经验写下来,主要是计算机专业科的经验,供学弟学妹们参考一下。 (ps:不是我不想写四科,我另外3科分不高,不好意思写)。谁要是有关于考研的问题,欢迎给我发站内信,我会耐心解答的。以下是我的个人经验,哪里写的不好大家轻拍。我计算机分数是133,对这成绩还算满意。计算机我是从10月份开始学的,大概学了3个月,利用每天下午的时间学专业课。如果不是跨专业的话我觉得3个月已经足够足够了,我过来才明白不是复习的时间越长越好的。首先介绍下计算机初试情况,09年是计算机第一次
阅读全文
摘要:复试考试形式包括外语听力、专业课笔试、上机编程测试、综合面试和思想品德考核五部分。学院代码:002 学院名称:计算机学院 联系人:郑艳电话:010-62282656办公地点:教三楼1005室网址:http://www.cs.bupt.cn专业代码、名称笔试时间专业课笔试内容专业课笔试相关参考书目081200计算机科学与技术0812Z2智能科学与技术085211计算机技术60分钟六门选四门编译原理与技术编译程序设计原理与技术 李文生 北京邮电大学出版社2、编译原理(第2版) 张素琴等,清华大学出版社3、现代编译原理 C语言描述 Andrew W.Appel著,赵克佳等译计算机系统结构1、《计算机
阅读全文
摘要:在北邮要想跟个好导师,最基本最重要的一个条件就是:你的初试成绩要高!!下面先看一段一位山东一个学校的导师和我聊天时的话(很有普遍性): “每次报导师的时候,就有许多同学来报我们这里,有一些同学跟我说,虽然他们初试成绩低,但是他们都很有能力,怎么怎么编程不错,怎么怎么那里不错,说我们不能只以初试成绩来衡量人,那样不公平。可是他们从我们这里想过么?我们这里是学院的热点,每年考研都有很多人来报我们这里,可是我们很忙啊,不可能每个人都面试一下,没有法,我们只好再定个分数线,这个线之下的人我们不可能考虑(除非跟我们作毕设的)!道理很简单,既然你能初试考了个高分,那说明最起码你在考研这个事情上下了很...
阅读全文
摘要:POJ推荐50题1、标记“难”和“稍难”的题目可以看看,思考一下,不做要求,当然有能力的同学可以直接切掉。2、标记为A and B的题目是比较相似的题目,建议大家两个一起做,可以对比总结,且二者算作一个题目。3、列表中大约有70个题目。大家选做其中的50道,且每类题目有最低数量限制。4、这里不少题目在BUPT ACM FTP上面都有代码,请大家合理利用资源。5、50个题目要求每个题目都要写总结,养成良好的习惯。6、这个列表的目的在于让大家对各个方面的算法有个了解,也许要求有些苛刻,教条,请大家谅解,这些是我们这些年的经验总结,所以也请大家尊重我们的劳动成果。第一类 动态规划(至少6题,2479
阅读全文
摘要:http://www.sina.com.cn2009年12月04日 00:39跨考教育 北京大学 关键词:软件与微电子学院、信息科学技术学院 “国家示范性软件学院”、“国家集成电路人才培养基地”,北京大学软件与微电子学院享有这些荣誉。 该学院设有软件技术、网络与通信技术系、嵌入式系统、电子服务系等10个系,包括软件开发、软件质量工程与测试、软件工程管理、网络与信息安全等27个培养方向。其中,“软件质量工程与测试”专业最值得有志于报考软件类专业的考研人关注。 如今,中关村软件测试人才紧俏,该专业的人才缺口空前地大,很多企业负责人表示招聘到合格的软件测试人才非常难,因为设置有“软件测试”...
阅读全文
摘要:[原文链接]因为项目需要用到,于是简单封装了一些常用的操作: /***根据属性名获取属性值**/privateObjectgetFieldValueByName(StringfieldName,Objecto){try{StringfirstLetter=fieldName.substring(0,1).toUpperCase();Stringgetter="get"+firstLetter+fieldName.substring(1);Methodmethod=o.getClass().getMethod(getter,newClass[]{});Objectvalue=
阅读全文
摘要:[非原创,忘了哪的了,作者可私信联系]一、 LinkedList3.1创建:LinkedList()LinkedList底层的数据结构是一个双向链表。既然是双向链表,那么必定存在一种数据结构——我们可以称之为节点,节点实例保存业务数据,前一个节点的位置信息和后一个节点位置信息,如下图所示:图——双线链表及节点示意图首先来了解节点类:private static class Entry{ E element; Entry next; Entry previous; Entry(E element, Entrynext, Entry previous) { this.element = elem.
阅读全文
摘要:[原文链接] TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但 TreeSet 底层是通过 TreeMap 来实现的,因此二者的实现方式完全一样。而 TreeMap 的实现就是红黑树算法。 TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeM..
阅读全文
摘要:[原文链接]有效和正确定义hashCode()和equals()每个Java对象都有hashCode()和equals()方法。许多类 Override 这些方法的缺省实施,以在对象实例之间提供更深层次的语义可比性。在Java理念和实践这一部分,Java开发人员Brian Goetz向您介绍在创建Java类以有效和准确定义hashCode()和equals()时应遵循的规则和指南。您可以在讨论论坛与作者和其它读者一同探讨您对本文的看法。(您还可以点击本文顶部或底部的讨论进入论坛。)Brian Goetz, 首席顾问, Quiotix Corp虽然Java语言不直接支持关联数组 -- 可以使用任
阅读全文
摘要:[原文链接]HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之
阅读全文
摘要:[原文链接]了解一个流行人工智能搜索算法的 Java 实现了解启发式搜索领域及其在人工智能上的应用。本文作者展示了他们如何成功用 Java 实现了最广为使用的启发式搜索算法。他们的解决方案利用一个替代的 Java 集合框架,并使用最佳实践来避免过多的垃圾收集。Matthew Hatem, Senior Software Engineer, IBMEthan Burns, Software Engineer, GoogleWheeler Ruml, Associate Professor, University of New Hampshire通过搜寻可行解决方案空间来解决问题是人工智能中一项名
阅读全文
摘要:1、将java.util.Date转换为java.sql.Datejava.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());2、若要插入到数据库并且相应的字段为Date类型可使用PreparedStatement.setDate(int ,java.sql.Date)方法其中的java.sql.Date可以用上面的方法得到也可以用数据库提供TO_DATE函数比如现有udTO_DATE(new Simpl
阅读全文
摘要:道学苑清和道人博客2014-03-07 17:03我要分享18道教以“重人贵生”为重要特征,不主张人们离弃社会生活而修道。道教中人始终认为只有很好地履行做人的社会职责,成为一个对社会有用的人,一个道德高尚的人,才谈得上修仙证道。信奉道教,重要的是将道教的精神、道教的智慧贯彻到生活之中,在社会生活中修道、行道、悟道。古云:“不离日用常行内,直到先天未画前”,就是说要即世间而超世间,不离生活而又升华生活。立足于生活,圆融于生活,服务社会,利益人群,这既是道教的优良传统,也是道教文化在现代社会中发挥积极作用的根本途径。那么,道教对于生活采取什么样的态度呢?这种态度对于现代人有什么样的借监价值呢?本文
阅读全文
摘要:Date a;Date b;假设现在你已经实例化了a和ba.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回trueb.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回truea.equals(b)返回一个boolean,如果a的时间和b相等返回true
阅读全文
摘要:String sql = "insert into t_curriculum (name,academic_credit_type,qualifiedCredits" + ",substandardCredits,t_curriculum_type_id,description,teacherName,createDate) values(?,?,?,?,?,?,?,now())"; PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEY
阅读全文
摘要:http://tchen.me/6分钟前8 分钟昨天收到一个读者留言,问作为程序员,有什么学习和工作上的好习惯可以借鉴?想了想,干脆附庸风雅一下,总结个『高效能程序员的七个习惯』吧。Disclaimer:一家之言,可不信,但不可全信。拥抱unix哲学每个程序员入门的第一堂和第二堂课应该是和unix哲学相关的内容,简言之就是:做一件事,做好它。具体点:小即是美。让程序只做好一件事。尽可能早地创建原型。可移植性比效率更重要。数据应该保存为文本文件。尽可能地榨取软件的全部价值。使用shell脚本来提高效率和可移植性。避免使用可定制性低下的用户界面。所有程序都是数据的过滤器。再具体一些(TL;DR):
阅读全文
摘要:第一种方法,就是list中对象实现Comparable接口,代码如下:12345678910111213141516171819202122232425262728293031323334353637383940publicclassPerson implementsComparable {privateString name;privateInteger order;/*** @return the name*/publicString getName() {returnname;}/*** @param name* the name to set*/publicvoidsetName(St
阅读全文
摘要:2013年10月11日来源:新东方在线 一、操作系统考查目标 1.掌握操作系统的基本概念、基本原理和基本功能,理解操作系统的整体运行过程。 2.掌握操作系统进程、内存、文件和I/Q管理的策略、算法、机制以及相互关系。 3.能够运用所学的操作系统原理、方法与技术分析问题和解决问题,并能利用C语言描述相关算法。 二、操作系统变化解析 2014年的大纲较2013年的大纲相比没有变化。 三、复习与备考指导 1、教材的选择 对于操作系统的复习,建议考生选择--《计算机操作系统(第三版)》(西安电子科技大学出版社,汤小丹、梁红兵、哲凤屏、汤子瀛主编),该教材适合于初学者,浅显易学。同...
阅读全文
摘要:log4j应用服务器strutslayoutservletclassog4j具体输出信息级别配置方法Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName...
阅读全文
摘要:2013年10月11日来源:新东方在线 一、考试性质 计算机学科专业基础综合考试是为了高等院校和科研院所招收计算机科学与技术学科的硕士研究生而设置的具有选拔性质的联考科目,其目的是科学,公平,有效的测试考生掌握计算机科学与技术学科大学阶段专业基础知识、基本理论,基本方法的水平和分析问题、解决问题的能力,评价的标准是高等院校计算机科学与技术优秀本科毕业生所能达到的及格和及格以上水平,以利于各高等院校和科研院所择优选拔,确保硕士研究生的招生质量。 二、考查目标 计算机学科专业基础综合考试涵盖数据结构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生系统地掌握上述专业基础课...
阅读全文
摘要:2013年10月11日来源:新东方在线 一、组成原理考查目标 1、 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。 2、理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。 3、 能够综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。 二、组成原理变化解析 1.变化一 【考察目标】发生变化 3.掌握综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,对一些...
阅读全文
摘要:2013年10月11日来源:新东方在线 一、计算机网络考查目标 1、掌握计算机网络的基本概念、基本原理和基本方法。 2、掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的 组成和特点,理解典型网络设备的工作原理。 3、能够运用计算机网络的基本概念、基本原理和基本方法进行网络系 统的分析、设计和应用。 二、计算机网络变化解析 1. 变化一 (五)介质访问控制 1.信道划分介质访问控制变为"信道划分" 频分多路复用,时分多路复用,波分多路复用,码分多路复用的概念和基本原理。 2.随机访问介质访问控制变为"随机访问" ALOHA协议,CSMA协议,CS
阅读全文
摘要:俗话说,天下武功,唯快不破。也就是说要练成天下高手的话,出招速度一定要快,这样才能在江湖上立足,不至于掉了脑袋。而程序员要在IT界混出个名堂,也要有高效的工作效率才行。IT行业时时刻刻都产生着新知识、新技术,要想跟上变革肯定要有几把刷子。而我本人很喜欢各种各样的方式来提高自己的工作效率,可以分享给大家一些经验。键盘功底要扎实。敲键盘时要使用标准指法。可能你认为这是程序员的基本功,可是我发现其实很多程序员都做不到这点。看着他们敲代码时那笨拙的指法我就心急。其实炼成标准指法不难,相当年我还是一指禅,打字极慢,痛定思定,在一周内我打字必用标准指法,再别扭也要坚持,一周后就适应了标准指法了。现在不说运
阅读全文
摘要:计算机研究生考试作为全国统考科目,无论是题型还是试题分值分布乃至知识点划归,注定都是要保持高度连续性的,这对考生来讲无疑是一个利好消息,考生可以按照原来的复习思路和复习进度来继续复习。但是有一点需要强调,大纲已经发布,虽然现在考纲内容上比较稳定但新大纲带给考生心理上的变化也是很明显的,新大纲的到来对考生来讲时间点或者重新开始的意味更大一些。为了帮助同学们更好的开始下一阶段的复习,新东方在线全国研究生入学考试研究中心计算机教研室为同学们提出以下复习建议。 首先,新大纲为蓝本,迅速梳理基础 新大纲的发布对考生来讲更是一个时间信号,大纲发布以后距离考试的实际有效时间就只剩百天。前期的复习效果...
阅读全文
摘要:负责人:马维英互联网搜索与数据挖掘组致力于将数据挖掘、机器学习与知识发现技术和信息分析、组织、检索与可视化的过程相结合,将目前的互联网搜索提高到一个新的层次。例如,我们正在研究如何挖掘深层互联网结构,以实现对多个在线数据库的一站式搜索,并利用网页布局结构提高链接分析和排序算法的性能。我们还在开发能处理大规模数据并快速适应新主题的分类和聚类算法,以适应互联网的动态特点。基于文档级别的排序和检索是信息检索领域25 年来的传统模式,目前我们正在探索一种新的模式,以实现对象级别的互联网搜索。研究项目对象级别的垂直搜索技术(Object-level Vertical Search)最新研究成果应用体验:
阅读全文
摘要:北京邮电大学研招网 2014-03-21 2014年硕士研究生招生的复试录取工作即将开始,为了使今年的复试工作得以顺利开展,现将复试工作安排如下: 一、考生复试时须携带材料 1、参加复试考生须携带本人有效证件(限“第二代居民身份证”),应届本科毕业生还需携带学生证、一张近期一寸免冠彩色照片(用于体检)和考试用具。 2、网上支付复试费(http://yjzs.grs.bupt.cn/jf/Login.aspx)后下载打印《2014年报考攻读硕士学位研究生登记表》,仔细核对信息,确认无误后签字。 3、身份证复印件(A4纸,正反面复印到同一面上)。 4、除北邮应届本科生和有具体定向单位...
阅读全文
摘要:在我刚开始准备考研时,很迷茫,完全不知道该怎么去做,上什么辅导班,选什么资料,一切的一切都要自己抉择。那是真的很想有个什么都懂得人老告诉我,究竟该怎么做,就像高考时,有老师在身边一样,完全不用担心,只要按照要求把老师每天布置的任务完成好就好了,而那时我是一个人,没有任何依靠,什么都要靠自己去摸索。在自己走过这条路之后,我有以下感想: 1。对于大三、大四学生来说,要处理哈上课与考研的关系。我在上大三的时候,学校安排了好多的课程,觉得当时的课业压力很重,我一节课都没逃,反而学的很认真,这种认真的精神一直在带动着我的考研。我心里很明白:大学培养的是通才,而研究生则是专才,对于我以后研究方向很靠...
阅读全文
摘要:也许考的分数并不高,但是在不到3个月的复习时间内,跨入名校热门专业能取得这个成绩,我自己是比较满意的。回顾一下这将近3个月的考研经历,有很多感慨。 我是工作半年后才决定考研的,当时做这个决定时已经是10月中旬了,但凭着年轻人的一股冲动和为实现自己梦想的勇气,还是很果断的辞了职,义无反顾的回到武汉,开始了考研的生活。扳扳手指头,只剩下88天,还要租房和收集考研信息,时间已经非常短暂了。房子租好后,我给自己做了周密的计划,开始了每天有规律的复习生活:早晨7点左右起来,上自习室,晚上10点结束自习,然后去运动场锻炼,11点半睡觉。就这样,每天的复习时间将近11个小时。 我报的是专业本科是五年...
阅读全文
摘要:2013年10月11日来源:新东方在线 一、数据结构考查目标 1、掌握数据结构的基本概念、基本原理和基本方法。 2、掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。 3、能够数据结构基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。 二、数据结构变化解析 1.变化一 【考察目标】 3. 能够数据结构基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力,删去了"Java"。 2.变化二 四.图 (二) 图的存储及基本操作 1.邻接矩阵法 2.邻接表法 3.邻接多重...
阅读全文
摘要:考研成功并不难,考研的道路也并不是可怕。其实梦想最终成真的关键就在于:坚持,用心。考研的道路是漫长的。而且很容易让人感到厌倦,感到烦闷,感到枯燥无味至让人感到想放弃,特别是在考研路程的最后一段时间里最容易出现此种心态,这时我们就需要去坚持到底,我们最终就会迎来胜利的曙光,另外,在复习考研时,我们还要学会“用心”,用心来收集信息区调整心态,去制定复习计划,去研读书籍,这些都是每个人考研成功必须去做的事情,只有学会“用心”、事情才会向着我们期待的方向去发展。 我参加了今年的考研,取的了不错的成绩。我是之所以能够取得成功,除了老师的辅导和朋友的帮助之外。最重要的是我在考研的路上用心去坚持了,天...
阅读全文
摘要:2013北邮计算机考研专业有月补助吗?历年招生多少人?推免生占多少?1.今年计算机的最低录取分数是多少?最高是多少? 2.历年复试线是多少?复试占比重大不大? 3.初试分数很高的要是复试表现不好是不是有可能被刷啊?录取比是多少? 4.学术型研究生是几年制的?奖学金制度怎么样? 5.住宿条件怎样?住宿费一年多少?在贵校读研有月补助吗? 6.贵校计算机的导师信息(导师简介、联系方式等)哪里找? 7.历年招生多少人?推免生占多少? 2013北邮计算机考研专业有月补助吗?历年招生多少人?推免生占多少? 答:1、我校不统计最低及最高录取分数。 2、2012年计算机学院计算机科学与技术专业复试...
阅读全文
摘要:2001年,出生于荷兰的计算机大师、 图灵奖获得者Edsger W. Dijkstra给德州大学预算委员会写信,力劝不要将计算机入门课程改为Java。这封信的PDF版可以从这里下载。不幸的是,学校最终还是用Java课程替换了Haskell。相关联的,麻省理工的计算机程序结构和分析课程(6.01)中的Scheme语言也被Python语言替换掉。致预算委员会成员我写这封信给你们是因为有谣言说,大学教学中的计算机入门课程将不再使用函数式编程语言Haskell,而是使用命令式语言Java,鉴于此,我认为预算委员会有责任去阻止这项错误的决定。你们知道,这不是小事。其它州的同行经常好奇于我如何能在德州奥斯
阅读全文
摘要:很多像这样的日子,当地上积起厚厚的雪时,我通常会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。经过了5年多的专职钉马掌生活后,我开始问自己一个问题:我要一直这样干下去吗?能不能干点儿别的?我的性格跟其他乡下那些叼着雪茄、喝着小酒的铁匠不一样,我从来没有戴过牛仔帽或骑过公牛。我渴望的是知道更多的事情,琢磨更多的事情,做更多的事情。成功的从事开发工作7个月后,我已经给几百人回复了邮件,他们问我如何成为一个程序员的,寻求我的建议,他们想知道如何判断自己是否适合去做一名程序员。本文的作者 Joshua Kemp下面罗列了7种特征,是我从同事中最有效的程序员身上观察到的,我知道,优秀
阅读全文
摘要:准备好了吗——一个7岁女孩将要让你自叹不如。我已忍不住内心的冲动,要告诉你们关于菲茨杰拉德的7岁女儿的故事。在花了一个小时学习编程后,她对编程得出了令人赞叹的体会。我们很幸运,这个聪明的小女孩把她的心得总结成了简洁明了的几个小点,所有的我们都应该停下手中的工作,来思考一下她写的内容。就是这张小纸片吗?上面写的什么?是她的习得,一共有5条。纸片上的内容:我学到的关于编程的5件事1)计算机很傻,它只会做那些你让它做的事。2)编程真的很难!(你必须非常的认真!)3)你告诉它去做事情时必须按正确的顺序。4)你可以用计算机做出很多不同的事情。5)一定要检查你的工作。菲茨杰拉德告诉我们,这是她的女儿第一次
阅读全文
摘要:任何一个跟计算机专业沾点儿边的人都知道“意大利面条代码(spaghetti code)”指的是什么。很遗憾,这种风格的代码如今还是不少。但现在我们又有了—找不到其它更好的词汇,还是沿用面食的比喻—“千层饼代码(lasagna code)”。 千层饼代码是指代码被一层层的抽象,一层层的对象继承和引用,以及其它一些毫无意义的修饰,最终导致代码臃肿不堪,难于维护,完全跟“清晰”这个词不沾边。看着如今有些代码写成这个样子,我不由抓狂。而当你看到Turbo Pascal v3 的体积是如此的微小,而且明白这是一个功能完整的Pascal语言编译器时,你不能不问,为什么如今的应用程序和编译器会全都如此...
阅读全文
摘要:序列化这个方法通用性非常强,代价是效率非常差。如果我使用序列化实现deepcopy,程序90%以上的时间都在做deepcopy,所以我覆盖了所有的clone方法实现deepcopy.序列化这个方法对于效率要求很低的情况下,是个非常好的解决方案,但对于要求效率的算法,就不能用序列话了。大家应该理解浅拷贝和深拷贝的区别:浅拷贝:被复制对象的任何变量都含有和原来的对象相同的值,而任何的对其他对象的引用仍然指向原来的对象。对拷贝后的引用的修改,还能影响原来的对象。深拷贝:把要复制的对象所引用的对象都复制了一遍,对现在对象的修改不会影响原有的对象。如果大家还不理解,在网上看到一个人的比喻很有意思:就好比
阅读全文
摘要:JavaBeanjunit主题:List删除元素,复制元素平台:Window + Eclipse3.3 + JDK6 懒程序员,在代码越写越多的情况下,总想着使用把代码精简一下,能不写if else的,能不写for循环的尽量不想写,但是遇到的问题都要解决的呀,因此调用同逻辑的已存在方法便是首选。 今天就集合类(List)两个容易出错的方法做个记录,可以引以为戒,并且也提供正常的使用方式,都是在java.utils包,方便使用。 1 package com.longer.list; 2 3 import java.util.ArrayList; 4 import java.util.Arra..
阅读全文
摘要:(原文来自BusinessInsider,虎嗅编译)创业世界最受人关注的原因之一是这个领域重视才华和潜力。这意味着那些拥有好的创意和资源的人,能够做得非常出色——无论他们处在怎样的年龄段。许多年轻的科技创业者就是大学新生,许多硅谷冉冉升起的新星年龄甚至不到20岁。试想一下在没有大学文凭和校友网络的条件下获得成功有多么难吧,不尽如此,这些年轻人能够成功让创业公司赢得上千名用户,有实实在在的营收,这就更加令人钦佩了。根据这些年轻科技创业者各自的情况和取得的成就,BusinessInsider 为他们排列的名次。应该注意到的是,这里面许多人都是“泰尔奖学金”的获得者(Thiel Fellows),在
阅读全文
摘要:原文:http://blog.csdn.net/randyjiawenjie/article/details/7563323javaobjectinterfacestringclassexception先做个标记http://www.iteye.com/topic/182772http://www.blogjava.net/jerry-zhaoj/archive/2009/10/14/298141.html关于super.clone的理解http://hi.baidu.com/%BB%AA%CF%C4%D1%A7%C9%FA%C1%AA%C3%CB/blog/item/7d70a4384262
阅读全文
摘要:javaliststringinteger测试object 熟悉C++的朋友对这个话题应该很熟悉,浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象。深拷贝就是两个对象的值相等,但是互相独立。本来想把以前写的一篇文章扩充一下,没想到居然牵扯出很多复杂的问题。本文测试环境是windows xp sp3中文版、NetBeans6.7.1,JDK1.6-update16。这里抛砖引玉,希望大家能提宝贵意见。 首先,Java中常用的拷贝操作有三个,operator = 、拷贝构造函数 和 clone()方法。由于Java不支持运算符重载,我们无法在自己的自定义类型中定义op
阅读全文
摘要:一:学数学不如学英语 正所谓“无心插柳柳成荫”,目标北大,只考上杭州师院;三年高考,一年数学成绩1分,一年成绩19分。大学毕业后,马云当了6年半的英语老师。期间,他 成立了杭州首家外文翻译社,用业余时间接了一些外贸单位的翻译活。马云说,“我当年学英语,我没有想到后来英文帮了我的大忙。所以,做任何事情只要你喜 欢,只要你认为对的,就可以去做。如果你思考问题功利性很强的话,肯定会遇到麻烦的。” 后来这位“杭州最棒的英语老师”因为英语好的原因,受浙江省交通厅委托到美国催讨一笔债务,结果是债没讨成,却促成了他与互联网的十年姻缘。 互联网本来就是“舶来品”,马云流利的英语赋予他一张“...
阅读全文
摘要:英文原文:The Evolution of a Software Engineer世间万物总要回归到她的本来面貌,这好像是佛教里的一种思想,这种回归不是倒退,而是一种升华。程序员的修炼也是这样,从无知,到有知,到进步,到顿悟,也是一种回归的思想。头一年第二年第三年第五年 第十年来自: www.vaikan.com
阅读全文
摘要:我零九年看过一本小说,讲程序员的故事,从此,了解了一个新物种。最近又看《红楼梦》,史湘云有条谜语:“溪壑分离,红尘游戏,真何趣?名利犹虚,后事终难继。”我一想,这不就是程序猿吗? 我学过半年编程,唯一的收获是记住了一个名字叫谭浩强。读了那本小说,我知道还有个东西叫“良好的代码风格”,这几个字可比谭浩强有意思多了。可以跨领域应用,比方说,用在写作上。 例如,变量的命名。像本文,如果叫《论良好的代码风格》,姿态就不佳,一个“论”字就让读者反胃了。如果叫《如何写出良好风格的代码》,太装了,好像自己是编程大师似的。换一种叫法,《扯扯良好代码风格的淡》,就好比南锣鼓巷走了一圈,感觉亲民多了。 ...
阅读全文
摘要:[原文链接]说明:1 参考自stackoverflow上的一个帖子以及广大网友的回复:http://stackoverflow.com/questions/15496/hidden-features-of-java?page=4&tab=votes#tab-top2 在这些回复中,我选择了一些写到这篇博客中,当然也有很多回复我认为没有必要翻译出来.3 在翻译的过程中,为了快速完成,主要把代码贴过来,只要是对Java比较熟悉的, 看到代码基本上就能理解这个特性.对其他解释性的文字翻译的比较少, 如果感兴趣可以查看原文, 原文地址在上面已经给出.正文:1 使用Class进行运行时类型检查如
阅读全文
摘要:[原文链接]瞎忙無益 懶惰有理全世界最大的汽車生產商之一——福特汽車創辦人亨利'福特(Henry Ford)曾經請一位效率專家來檢測公司內部的業績表現。專家的報告裡盡是讚美之詞,僅對其中一個員工存有疑慮,他稱那位員工為「懶人」,並且告訴亨利' 福特,那位懶人白拿錢不做事,因為每當他經過懶人的辦公室時,總會看見懶人把腳擱在辦公桌上,什麼事也不做就是悠閒地坐著。 亨利'福特非但沒有生氣,反而回答專家:「你所說的懶人曾經想出了一個讓公司節省了數百萬美元的好主意。每當他在想一些好主意時,他的腳就會那樣放著。他的確不是個勤奮的人,但卻是我最好的員工。」 最優秀的人往往是懶人 小學
阅读全文
摘要:课本看熟、王道单科(还有王道的其他系列)、数学全书、英语单词,这些越熟越好,风中劲草出来后再复习政治,12月份之前做完专业课和数学的真题。。。。。。408知识面广,本身内容并不难,所以,跟你废话这么多,想考高分只有一条路有——保证足够的时间高效率复习。报几组啊?周峰老师不错,可以出去实习。方向跟以后做什么项目无关的。问:跪求学长学姐分享面试经验,p.s.尤其像本人没有项目经验的。答:笔试 机试搞好,面试只是个形式。自我介绍之后 就是导师组的狂轰滥炸,一般都会问到你无话可说,以此来衬托出导师们很厉害的样子,让他们有一种自豪感成功感。。问的大都是关于简历上的问题,like:本科学的最好的一门课(然
阅读全文
摘要:时常,某个程序或软件并没有语法错误,并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候,有许多字符没有显示出来,但在终端使用cat命令可以很容易地检测出是否存在这些字符。 首先,我们创建一个简单的文本文件,写入一些特殊字符。打开终端,运行命令: printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt 现在用不同的编辑器软件打开
阅读全文
摘要:Linux系统的重要性就不要解释了,也造就了现在越来越多的IT从业人员和大学生们转战Linux。但对Linux新人来说,Linux到底学了什么知识,到达了何种程度,一直是个困惑。今天就整理下Linux不同阶段对应的知识体系,即Linux的学习路线图。Linux初级工程师对于新手来说,选择一个适合的发行版和一本好的教材,就开始正式踏入Linux的大门了。在此阶段,需要掌握的知识如下:lLinux图形界面的使用lLinux简单目录结构lLinux常用命令lLinux系统安装掌握了以上知识,可以说已经是一个Linux的初级工程师了,对于Linux操作系统的使及简单维护,是完全可以胜任的。Linux中
阅读全文
摘要:CentOS系统自带的更新源的速度实在是慢,为了让CentOS6使用速度更快的YUM更新源,可以选择163(网易)的更新源。1.下载repo文件wget http://mirrors.163.com/.help/CentOS6-Base-163.repo2.备份并替换系统的repo文件[root@localhost~]# cd /etc/yum.repos.d/[root@localhost~]# mv CentOS-Base.repo CentOS-Base.repo.bak[root@localhost~]# mv CentOS6-Base-163.repo CentOS-Base.rep
阅读全文
摘要:原文出处:CentOS安装之后的系统安全配置作者: Jet Mah fromJava堂声明:可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!本文以CentOS 5.4为例进行说明,对于5.x版本应该都是适用的,其他版本的话主要是命令的路径不同,思路是一致的。可以使用Linux初始安装之后配置脚本进行批量处理,注意执行前修改成合适自己的情况。第一步、账户安全管理1. 修改密码长度[root@localhost /]# vi /etc/login.defsPASS_MIN_LEN 182. 创建一个普通用户账号并设置密码,这样所有的操作都使用该普通账号进行[ro
阅读全文
摘要:原文出处:CentOS中使用yum更新安装依赖库作者: Jet Mah fromJava堂声明:可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!在CentOS中使用源码安装的时候,经常遇到缺少某某依赖库的情况,可以使用yum的方式一次性安装所需要的依赖库。在使用yum安装前最好首先更新一下yum源,这样速度会快很多。[tom@localhost /]# sudo -s[root@localhost /]# LANG=C[root@localhost /]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg
阅读全文
摘要:详情请见:http://www.openbiz.cn/系统概述技术架构元数据编程简单表达式数据抽象层图形展示层系统扩展服务快速上手企业应用系统动力之源 基于元数据的面向企业应用而设计的极致面向对象的开源PHP框架框架介绍 Openbiz Framework是为搭建企业应用而设计的PHP的基于面向...
阅读全文
摘要:[原文链接]在过去,以一种语言编写的软件组件(.exe 或 .dll)不能方便地使用以另一种语言编写的软件组件。在这个问题的解决上,COM 向前迈进了一步。.NET Framework 允许编译器向所有的模块和程序集发出附加的说明性信息,从而使组件互用更加简单。这种叫做“元数据”的信息有助于组件无缝交互。元数据是一种二进制信息,用以对存储在公共语言运行时可迁移可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和
阅读全文
摘要:元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率, 或者给与程序更大的灵活度去处理新的情形而无需重新编译。 编写元程序的语言称之为元语言。被操纵的程序的语言称之为目标语言。一门编程语言同时也是自身的元语言的能力称之为反射或者自反。 反射是促进元编程的一种很有价值的语言特性。把编程语言自身作为一级数据类型(如LISP,Forth或Rebol)也很有用。支持泛型编程的语言也使用元编程能力。 元编程通常通过两种方式实现。一种是通过应用程序...
阅读全文
摘要:编程范式面向代理基于组件基于流管道连续式并发计算宣告式(对比:命令式)函数式数据流面向细胞(电子表格)无功面向图形目标导向约束逻辑回答集编程约束逻辑溯因逻辑归纳逻辑事件驱动面向服务时间驱动功能导向函数级(对比:价值级)命令式(对比:宣告式)非结构化阵列(对比:标量)迭代式结构化程序式模块化递归式面向对象基于类基于原型自动机根据关注分离:面向方面面向主题面向角色元编程面向属性自动泛型模板基于原则面向语言领域特定面向语法方言化意图反射式不确定并行计算面向过程大规模编程与小规模编程价值级(对比:函数级)
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 运行时代码生成为获得最高的性能提供了一种用直接访问取代反射的方法 从本系列前面的文章中,您了解到反射的性能比直接访问要慢许多倍,并了解了用 Javassist 和 Apache Byte Code Engineering Library (BCEL)进行classworking。 Java 顾问 Dennis Sosnoski 通过演示如何使用运行时 classworking,来用全速前进的生成代码取代反射代码,从而结束他的 Java 编程的动态性 系列。Dennis ..
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] Apache BCEL 让您深入 JVM 汇编语言进行类操作的细节 Apache Byte Code Engineering Library (BCEL)可以深入 Java 类的字节码。可以用它转换现有的类表示或者构建新的类,因为 BCEL 在单独的 JVM 指令级别上进行操作,所以可以让您对代码有最强大的控制。不过,这种能力的代价是复杂性。在本文中,Java 顾问 Dennis Sosnoski 介绍了 BCEL 的基本内容,并引导读者完成一个示例 BCEL 应用程序..
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 用 Javassist 进行字节码搜索 - 替换转换 Java 顾问 Dennis Sosnoski 在他的关于 Javassist 框架的三期文章中将精华部分留在了最后。这次他展现了 Javassist 对搜索-替换的支持是如何使对 Java 字节码的编辑变得像文本编辑器的“替换所有(Replace All )”命令一样容易的。想报告所有写入特定字段的内容或者对方法调用中参数的更改中的补丁吗?Javassist 使这变得很容易,Dennis 向您展示了其做法。Denn..
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 学习如何在使用 Javassist 加载类时修改它们 在经过一段时间的休息之后,Dennis Sosnoski 又回来推出了他的Java 编程的动态性系列的第 5 部分。您已在前面的文章中看到了如何编写用于转换 Java 类文件以改变代码行为的程序。在本期中,Dennis将展示如何使用 Javassist 框架,把转换与实际的类加载过程结合起来,用以进行灵活的“即时”面向方面的特性处理。这种方法允许您决定想要在运行时改变的内容,并潜地在每次运行程序时做出不同的修改。在整..
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 用 Javassist 转换字节码中的方法 厌倦了只能按编写好源代码的方式执行的 Java 类了吗?那么打起精神吧,因为您就要发现如何将编译器编译好的类进行改造的方法了!在本文中,Java 顾问 Dennis Sosnoski 通过介绍字节码操作库 Javassist 将他的Java 编程的动态性系列带入高潮,Javassist 是广泛使用的 JBoss 应用服务器中加入的面向方面的编程功能的基础。您会看到到用 Javassist 转换现有类的基本内容,并且了解到这种用..
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 为命令行参数构建一个框架 命令行参数处理是一项令人厌烦的零碎工作,不管您过去已经处理过多少次了,它好像总能重新摆在您的面前。与其一遍又一遍地编写同一块代码的不同变种,为什么不利用反射来简化参数处理的工作呢?Java 顾问 Dennis Sosnoski 向您展示了如何做到这一点。在本文中,Dennis 简明扼要地介绍了一个开源库,这个库可以使得命令行参数实际上自己处理自己。 Dennis M. Sosnoski(dms@sosnoski.com), 总裁, Sosno...
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java] 使用运行时类信息来准备编程 反射使您的程序代码能够接入装载到JVM中的类的内部信息,允许您编写与执行时,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是 --如果使用不当,反射的成本很高。在Java平台系列的第2部分中,软件顾问Dennis Sosnoski介绍了如何使用反射,以及某些相关的成本。您还将找到JavaReflection API如何使您能够在运行时关联对象。 Dennis M. Sosnoski(dms@sosnosk...
阅读全文
摘要:[原文链接,非原创,转载请保留出处:http://www.ibm.com/developerworks/cn/java]研究类以及 JVM 装入类时所发生的情况这一有关 Java 编程动态方面的新的系列文章研究了执行 Java 应用程序时幕后所发生的事情。企业 Java专家 Dennis Sosnoski 提供了 Java 二进制类格式以及在 JVM 内部类所发生的情况的内幕。接着,他将讨论类装入问题,其范围涉及从运行简单的 Java 应用程序所需的类的数量到可能造成 J2EE 及类似的复杂体系结构出现问题的类装入器冲突。Dennis M. Sosnoski(dms@sosnoski.com)
阅读全文
摘要:[原文链接] 编写程序来生成其他程序 目前应用最广泛的技术之一是编写生成其他程序或部分程序的程序。因此十分有必要学习为什么要采用元编程,以及元编程都有哪些组件(文本宏语言,专用代码生成器)。在本文中,您将学习到如何构建一个代码生成器,并详细了解如何使用 Scheme 编写对语言敏感的宏。用来生成代码的程序有时被称为元程序(metaprogram);编写这种程序就称为元编程(metaprogramming)。编写这种输出代码的程序可以有无数的应用。本文将介绍为什么会考虑进行元编程,并介绍这种技术的一些组件 —— 我们将深入介绍文本宏语言(textual macro language),了解专..
阅读全文
摘要:[来源链接] [相关文章] 一.为什么要学Linux?当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好! 二.起步 你应该为自己创造一个学习Linux的环境--在电脑上装一个Linux或unix 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的Linux开发人员中用debian的最多,其次是redhat,从全球Linux各应用领域市场份额来看 无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。 对于初学Linux的人来说,我建议是使用redhat,原因如下: 1)现在很多书都是以r
阅读全文
摘要:[原文链接] [相关文章] 小男孩正在涂色心流(英语:zone),中文的翻译就是“神驰”,定义是一种将个人精神力完全投注在某种活动上的感觉;心流产生时同时会有高度的兴奋及充实感。心流的发生米哈里·齐克森认为,使心流发生的活动有以下特征:我们倾向去从事的活动我们会专注一致的活动有清楚目标的活动有立即回馈的活动我们对这项活动有主控感在从事活动时我们的忧虑感消失主观的时间感改变--例如可以从事很长的时间而不感觉时间的消逝以上项目不必同时全部存在才能使心流产生。但米哈里齐克森也提出一些方式使得一群人可以...
阅读全文
摘要:[原文链接]我对计算机很在行。至少在同龄人中是这样的。请相信我说的,我听到很多赞扬:“哦,你真是一个天才!”那么,看起来我确实是个计算机天才。或者 … ?让我们做过实验:把我所有的跟计算机相关的知识加起来,除以我学习这些知识所花的所有时间。得出来的是我学习的“速度”。然后对我的那些不够“专业”的朋友做同样的算法。谁的成绩会最好?如果我是计算机天才,我应该是学得最快的一个,是吗?事实上,我相信我的成绩将会远低于一个”普通“人的水平。我在计算机前花费了大量的时间,常常不是在学习新东西或开发什么特别的东西。见鬼,总计起来我比众多的非技术爱好者”浪费“了太多的时间。这听起来像个天才吗?我深信对计算机我
阅读全文
摘要:[原文链接]我在11年前认识了的我丈夫。当时是南缅因州大学新生入校的日子,我带着吉他去宿舍。他饶有兴趣的盯着我的吉他。之后他敲响了我的房门,自我介绍道:“嗨,我叫Adam,我就住在走廊的对面。我是个计算机程序员!”他做了一很勇敢的决定。 10年前当程序员并不像今天这么“火”,这个行业并不被社会重视,他似乎也根本不在意这些。不管怎样,我们相爱了。我当时并不懂编程,但却被他那义无反顾的精神和毫不在意被人当作怪人的态度打动。是发现了他也弹吉他使我们走到了一起。如果仅是他住在走廊我的对面,命运也不会做出这样的安排。在随后的一周周,一月月,一年年,他慢慢的吸引了我的注意力,他会对着他的游戏机的硬件清单大
阅读全文
摘要:[原文链接]伦敦科技馆里一个大猩猩的大脑一种很流行的说法是,程序员是把咖啡因转化成程序代码的机器。说的是实情,随便问一个程序员,问他什么时候工作最有状态,估计他很有可能说是深夜。有人稍微早一点,有人更晚。有一种流行的趋势是凌晨4点起床,在破晓之前这段时间里做一些事情。而另一些人喜欢凌晨4点才睡觉。所有这些的主要目的是躲避打搅。但是你把自己反锁在屋里不就行了?为什么对夜晚情有独钟?我想,这事归纳下来有3点:工人的时间表,疲倦的大脑和明亮的电脑屏幕。工人的时间表Paul Graham在2009年写了一篇关于工人的时间表的文章——主要是说这个世界(主要)存在两种时间表。传统的管理者的时间表——一天的
阅读全文
摘要:[原文链接]当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶:一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入最终的产品的代码 — —不管他的技术水平有多高。 好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行。”一个卓越的车床工可以要求比一个一般的车床工多拿数倍高的工资,但一个卓越的软件写手的价值会10000倍于一个普通的写手。“ — — 比尔 盖茨一个好的程序员的效率会是一个普通的程序员的十倍之上
阅读全文
摘要:[原文链接]我们积极的对外招聘已经有四个多月了,如果要问从这次经历中有哪些收获,我只能说,我终于明白,Jeff Atwood在FizzBuzz这篇文章里说的并不是玩笑话。(译者:这篇文章里说程序员不会编程)。在新成立的公司中,我们RethinkDB公司因面试过程最为苛刻而出名。这是事实——我们对面试过程不会有半点妥协。我们期望通过最大范围的筛选来建立一个高质量的开发团队。对于这个初衷,我在之前的一些文章里提到过多次。在过去的几个月里,我们遇到不少人认为我们的要求高的有些离谱,以为我们是在招聘同时具有量子力学和计算科学双学位的火箭专家。这是误解。我们只希望招的能编程的程序员。为了满足大众的好奇,
阅读全文
摘要:[原文链接]跟程序员相处你一定会有很多的挫折感。比如,程序员会把能让他们达到最高效率的那种神奇的境界叫做”the zone“。这种境界是真实存在的。至少对于我是这样的,很有可能你也很熟悉那里,只是情形不一样。对于非程序员的人来说,跟程序员的这种境界相对应的情形是,当你完全投入进一本书或一场电影,你感觉整个世界都消失了,唯一留下了的只有你正在关注的东西。如果你有丰富的创作力,那有可能是在你写一本书或绘一副画时候。当你正全神贯注的读一本书上,有人打断了你,通常这会需要你花很长的时间重回到那种状态。通常,当我在读一本书,有人或什么事情(电话!)打断我,他需要重读刚才那一页,试图接上刚才的思路。甚至一
阅读全文
摘要:[原文链接]表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如:点击提交按钮两次。点击刷新按钮。使用浏览器后退按钮重复之前的操作,导致重复提交表单。使用浏览器历史记录重复提交表单。浏览器重复的HTTP请求。几种防止表单重复提交的方法禁掉提交按...
阅读全文
摘要:[原文链接]人变聪明的一个关键方法就是多读书。但只读还不够。读只是要素之一。我们要借用一下《影响力》这本书的作者Robert Cialdini的一个技巧,这个技巧能让我们的阅读更深刻,让书里的知识留在我们脑子里更久。Cialdini向他的一位读者透露了这个技巧,这个读者分享给了我。去往Omaha的飞机上,他在读书。他边看边做笔记,每看完一章内容,他都会拿出一张空白纸,写上他读后的总结。他把这些笔记放在另外的文件夹里。这样做使他对读的内容领会更深刻,还有,在将来,这些总结能提供他很好的参考。无独有偶,在《The Little Book of Talent: 52 Tips for Improvi
阅读全文
摘要:[原文链接]我是学电子工程毕业的,在这个专业里我必须要用的编程语言只有C/C++,汇编和Matlab。在参加了一个创业周末的活动后,我开始对软件开发、计算机编程感兴趣,我决定要试一试,要进入这个领域。我发现,要想做一些编程项目,你需要去学一些完全不同的编程语言。在过去的一年半里,我学会了Java(用于开发Android),Python和Javascript(& HTML/CSS)(用于web开发),我慢慢认识到,这最好的从书本和教材上学习编程的方法是把它们读3遍!!用这种方式学习新的内容能更好的帮你理解新语言/新概念。我相信这种方式能帮助你最大限度的从书本中汲取知识——不论你看的是什么
阅读全文
摘要:[原文链接]这是几本每个信仰敏捷开发的程序员都应该读一下的书籍,因为这几本书表达了跟我们相同的信念,并且内涵了极丰富的价值。这里推荐的这几本书都是很常规且通用的,并不是局限在某一领域(像《Effective Java》)。书目我尽量精简,大概就4-5本,我会不时的对这个清单进行修订。下面就是这几本书,以及为什么我深信它们如此重要的原因。1. 《Implementing Lean Software Development: From Concept to Cash》Mary and Tom Poppendieck, 2006(amazon)薄但却极其丰富的一本书,对精益(Lean)软件开发思想及
阅读全文
摘要:[原文链接]问答网站stackoverflow.com的一个主要功能体现就是:软件开发人员无需再从书本上学习编程,就像Joel所说的:程序员看起来都不再读书。市场上编程方面书籍的数量和编程从业人数相比来少的可怜。2004年在《The Shlemiel Way of Software》一书中Joel也表达了相同的观点:大部分的人都不读点什么或写点什么。大部分的程序员都不读软件开发方面的书籍,他们不去软件开发方面的网站,他们不去Slashdot参与讨论。既然现在的程序员都不读书,他们如何学习编程?他们用最原始的方式:捋起袖子就写代码——同时开启第二个窗口来从互联网收集经验和知识。互联网是一部百科全
阅读全文
摘要:[原文链接]马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。在Stack Overflow(以及其它很多软件论坛)上,诸如”程序员最应该读的计算机书籍有哪些?“这样的问题会周期性的出现。这样的问题不断的被提出、被回答,只是形式不同罢了。相同的几本书总是会出现在清单的前几名内,所以,如果想知道人们谈论的都是些什么,你有必要去读一读这些书的。大多数程序员真正读过的计算机书籍代码大全(Code Complete)——两届Software Jolt Award震撼大奖得主!程序员修炼之道(The Pragmatic
阅读全文
摘要:[原文链接]国外知名网站stackoverflow上有一个问题调查:哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code Complete》被顶了1306次。如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才,但我相信大多数人都知道,你在学校里根本学不到什么真正的工作中需要的知识,我们毕业后能帮助我们在公司中胜任工作的老师就是这些优秀的书籍,一本好书可以改变一个人的一生。下面是这个调查中排名靠前的书的一个简单的清单:第
阅读全文
摘要:[原文链接]本月初,英国发生了严重的暴乱事件,打砸抢烧现象十分的严重,英国警方逮捕了3000多参与暴乱的民众。下面的这个故事就是发生在此期间。伦敦暴乱的第二天早上,我回到我的住所、发现这里被洗劫了,我的Macbook Pro笔记本电脑被他们偷走!警察来了,做了记录,采集了指纹,对案情进行了常规的分析 … 有一点他们没有意料到的是,我在电脑里装了一个开源的跟踪软件,是从http://preyproject.com下载的。一旦我远程的把笔记本状态设置成失踪待捕获模式,剩下的就是焦急的等待第一份报告的到来。我担心那个家伙搞不定开机密码,幸运的是,那个家伙聪明的建了一个新用户:如何在Mac里新建一个管
阅读全文
摘要:[原文链接]又一项研究显示,久坐对你的健康是真的、真的、真的非常有害。请买一个可站着工作的桌子吧!可站着编程的电脑桌一项对超过20万个澳大利亚人的研究结果给这样一个事实又增加了一份活体证明:坐得越久的人死得越快。研究同时还发现,锻炼不能改变这种趋势——尽管它能有效降低这种风险。研究结果清晰的告诉我们这样一个简单的信息:多站立、少坐着,这样能延长你的寿命。尽管那些每周锻炼超过5个小时的人的死亡风险会大大降低,但当他们坐的过久时,这种风险仍然会升高。目前,“久坐对身体有害”已经被广泛的认可。最近几年的研究表明,在电脑屏幕前、电视前做得太久,或仅是闲坐太久,都会增加你死亡的风险。这次的调查采取了一种
阅读全文
摘要:[原文链接]自从我使用站立式电脑桌工作以来已经有2年时间。不论一天要编程多少个小时,我都是站立在电脑前。也就是说,有些日子我会一天站立超过10个小时,虽然不是连续的——中间会有小憩,吃饭,冥想等。我在决定站着编程前并没有侧过血质或其它身体指标,如今也没有测过,但下面是我自己对身体上变化的感觉。我不能把这些所有变化都归功于站着工作的功劳,每天在工作之余我都会锻炼身体。然而,站着的时间远超其它活动的时间,所以,它对我身体的改造应该比其它运动更明显。站立工作后一些我担心会有但实际上并未出现的事情。我的膝盖、脚、背、臀部并没有发生任何病痛症。在一天结束时或周末时间我并没有感到精疲力尽。我的工作效率和注
阅读全文
摘要:[原文链接]相关文章: 什么是尾递归? 尾递归 - 百度百科 浅谈尾递归在计算机科学里,尾调用是指一个函数里的最后一个动作是一个函数调用的情形:即这个调用的返回值直接被当前函数返回的情形。这种情形下称该调用位置为尾位置。若这个函数在尾位置调用本身(或是一个尾调用本身的其他函数等等),则称这种情况为尾递归,是递归的一种特殊情形。尾调用不一定是递归调用,但是尾递归特别有用,也比较容易实现。尾调用的重要性在于它可以不在调用栈上面添加一个新的堆栈帧——而是更新它,如同迭代一般。尾递归因而具有两个特征:调用自身函数(Self-called);计算仅占用常量栈空间(Stack Space)。而形式上只要是
阅读全文
摘要:[原文链接]所谓大话就是恶搞,本文中的关于各种编程语言的描述,你不可全信,也不能全信。作者在描述史实时加入了很多个人情感和社会流行元素,配图基本是靠谱的。这也许就是寓教于乐吧。 以上图片上的文字内容来自这篇文章。[英文原文:James Iry’s history of programming languages ]
阅读全文
摘要:原文出处: A Brief, Incomplete, and Mostly Wrong History of Programming Languages译文出处: Mort Yao警告:原文中的内容不一定都是真实的。小字部分不属于原文,是翻译君为了便于读者读懂原文擅自所加的注解。当然,也不能保证一定都是真实的。为了照顾那些幽默感退化的人们,维基百科有一个主题关于:History of programming languages。1801 - Joseph Marie Jacquard用打孔卡为一台织布机编写指令,在挂毯上织出了“hello, world”字样。当时的reddit网友对这项工作的
阅读全文
摘要:敏捷个人:http://www.zhoujingen.cn/
阅读全文
摘要:[原文链接]谈起软件开发一定会想到用什么技术、采用什么框架,然而在盛行的敏捷之下,人的问题逐渐凸显出来。不少企业请人来培训敏捷开发技术,却发现并不能真正运用起来,其中一个主要原因就是大家还没有很好的学习能力。没有学习,就不会有合格的ScrumMaster,没有懂得敏捷本质的成员,没有Being敏捷的思想。其实学习敏捷开发本身就是一种学习,敏捷实践中也都是学习,学习无处不在。学习那么重要,但又有多少人不仅是爱学习,而且有学习方法呢?闲话不多说了,继续和大家侃侃IT人的自我导向型学习,这可是敏捷个人体系三个组件之首哦。学习的3个维度按照惯例,大家闭眼想想敏捷个人的学习3个维度是什么?……..上一篇
阅读全文
摘要:[原文链接]英语中常说“30 is the new 20”,但这话并不总是对的——事实上,当遇到软件开发业里的人时,情况似乎完全相反。虽然有很多杰出人士在30岁刚开始达到仕途的巅峰,但对大多数普通程序员来说,29岁之后的未来看起来会是非常的悲惨。这个问题最近在Hacker News上引起了长篇的讨论,很多程序员都表达出了对30岁后将会发生的事情的担忧。对于30岁的程序员“太老”的问题,有人甚至干脆建议:程序员应该在40岁退休。年轻程序员受偏爱的原因是,老程序员会慢慢的疲倦于重新学习那些层出不穷的新技术。再有,更重要的,公司们喜欢招聘年轻的、没有经验的程序员来干跟他们一样的活儿,但给的薪水更少。
阅读全文
摘要:[原文链接]职业人士最常见的一种抱怨是:时间太少。每周工作超过60小时的人会抱怨甚至挤不出时间来处理他们邮箱里的邮件,更别说有创见性处理大项目中的问题。但时间并不是问题,哈佛经济学家Sendhil Mullainathan说。最终阻碍你成功的是你的大脑“带宽”使用效率,或集中精力的能力。Mullainathan的研究主要针对是资源稀缺情况,当人们缺少某些东西时会如何应对——可以是缺钱,食物或时间。他和他的搭档普林斯顿大学的心理学家Eldar Shafir在周二的每年一度的Aspen Ideas节上公布了他们的发现。他们发现,这些资源短缺导致人们不能作出正确的决策。因为他们的大脑只能够处理这么多
阅读全文
摘要:[原文链接]我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到有人没有恰好的在两个函数间留一空行,我的小腿会抽筋。但重点在这里——除非是在家里开发自己的业余爱好软件,我的这些个人喜好其实是无关紧要的。同样,作为一个团队中的一员,你的个人编程喜好也应该放到一边。编码风格很容易会和编码规范混为一谈,因为这两个词经常会被人换着使用。我认为,编码规范同时包括了编码风格和其它规范,不仅仅指代码格式。例如,像“返回成功/失败的函数应该用一个整数作为返回值”,这样的规则不属于编码风格。在这
阅读全文
摘要:[原文链接]下面是一些迄今为止最好的关于编程的名言名句。阅读它们时相信你会有几分愉悦,你可以在一些会谈场合引用它们,一定能为你的团队吸引到不少的好程序员。UNIX很简单。但需要有一定天赋的人才能理解这种简单。–Dennis Ritchie软件在能够复用前必须先能用。–Ralph Johnson优秀的判断力来自经验,但经验来自于错误的判断。–Fred Brooks‘理论’是你知道是这样,但它却不好用。‘实践’是它很好用,但你不知道是为什么。程序员将理论和实践结合到一起:既不好用,也不知道是为什么。–佚名当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。-Ste
阅读全文
摘要:[原文链接]几乎已经有10年了,科技界的专家们一直谈论着摩耳定律的终结。就在本周,《经济学家(Economist)》发表了一篇文章,讲述程序员们如何开始使用函数式编程语言来驾驭如今已成为标配的多核处理器。事实上,这些新式语言的发明人,例如Rich Hickey (Clojure语言) 和 Martin Odersky (Scala语言),都在勤奋的宣扬这些语言如何给了开发人员们更大的能力来处理复杂的并行性编程,来充分利用多核CPU。本周早些时候,我参加了Scala语言日大会,去听Martin Odersky的讲道,他几乎用了一半的时间来讲这个主题。种种信息一遍又一遍的在向程序员表明:你需要写并
阅读全文
摘要:[原文链接]最近在读《real world haskell》里关于并行的一章时,看到作者首先对并发(Concurrency)和并行(Parallelism)的区别进行了定义和解释。以前我对这个问题也是一知半解,如果有人问题这个问题,恐怕我只能挠头说不清楚。而在这本书里,作者的解释是(简单翻译):一个并发程序是指能同时执行通常不相关的各种任务。以一个游戏服务器为例子:它通常是有各种组件组成,每种组件都跟外部世界进行着复杂的信息交互。一个组件有可能要处理多个用户聊聊;另外一些可能要处理用户的输入,并把最新状态反馈给用户;其它的用来进行物理计算。这些都是并发处理。并发程序并不需要多核处理器。相比之下
阅读全文
摘要:[原文链接]这里将向大家分享的是一些我对编程的思考总结,这些经验在我毕生编程生涯中曾帮助我在无数的事情上作出正确的决定。这些编程策略有些是很显然的,但实际编程中往往被人们忽略。下面的例子是用Python写的,但这些概念适用于任何编程语言。2. 代码优化找出程序的主执行路径——你的程序大部分时间都执行这些模块。首先优化这部分代码,但也不要在程序实现的第一次迭代中进行优化。那些处理边界情况或失败/异常处理的地方,这部分代码不需要优化,除非它们引起了值得注意的性能问题。 :).3. 代码行数不要试图压缩代码行数,但你应该压缩每个任务的代码行数。写简单的函数/方法,每个函数/方法只完成一个任务,而不是
阅读全文
摘要:[原文链接]我们说懒惰有三种。第一种,整天就是吃和睡。第二种,是告诉自己,“有一类人,就像我这种,是永远管理不好自己的。”在佛教思想中,这种懒惰会让你认为努力也是白费的,你永远无法获得精神上的救赎。无自信会让你打消任何企图努力一下的念头。而这第三种就是,把生命浪费在不是最重要的事情上,总是不从解决事情最本质的问题入手。所有的时间都在想办法解决次要问题,一个接一个,永远没有尽头,就像湖面涟漪的水纹。你在告诉自己,一旦完成了这个或那个,你将会去做一些更有意义的事情。…克服第一种懒惰——生活中只有吃和睡——的方法是反省死亡,反省万物终归尘土的自然属性。我们不知道何时就将死去,何事将会导致我们死去。所
阅读全文
摘要:[原文链接]如果你有一个4.2GB的CSV文件,里面有超过1200万条记录,每条记录都有50列。现在你要做的是把其中某一列的值全加起来。你怎么办?这是我最近看到的一篇文章的开头部分。文章介绍的是如何使用unix命令来分析大体积文件的文章。像我这样一个基本上都在Windows平台上开发的程序员,对他提出的这样一个问题,首先出现在脑子里的就是内存溢出、CPU达到100%、跑一个晚上。而对于一个Linux/unix高手来说,这真是小菜一碟,正如文章中介绍的方法,一行命令就完成了这个任务。(假设文件名叫做data.csv,行数据用竖线分割,我们需要总计其中的第四列。)cat data.csv | aw
阅读全文
摘要:[原文链接]“Scientia potentia est”——这是拉丁语,意思是“知识就是力量”。这是长久以来人们就熟知的信念:你对这世界了解的越多,你就能越好的在世界里生活。你对一件事了解的越多,你就能越好的掌控它。那最简单的汲取知识的途径是什么?读书。如果你想更好的掌控自己的生活,让生活按照自己意愿发展,你就需要读书,读大量的书。我想,所有的人都会同意这个观点。但问题是,如何能做到能够充分的阅读?就拿我来说,我对上一年的阅读量并不满意。我每年大概读6-8本书,我认为这个数字太低了。大概6个月前,我制定了一个新的读书策略:规定一个每天必读的页数,30页,每天坚持,不论有什么事。一个人一般30
阅读全文
摘要:[原文链接]生命短暂,无可浪费,这我们都知道。然而,大多数人都处中一种缺省状态的生活中,逼迫自己去认为很幸福——虽然事实上不是。为什么?因为我们让社会来指定该如何的去生活、什么才是成功和什么才是幸福。像金钱和名誉这样的东西被赋予太大的分量,成为祸根,阻碍了我们寻求生活的真正本质:活出自我,做有价值的事情。如果让我给一个新生命(比如我未来的孩子)一点建议,我将衷心建议他遵循下面这10条诫律:1/ 不要跟别人比。自从上小学起,我们就被人们用分数来激励去竞争,忘记了教育的本质是学习。父母希望他们的孩子成为第一,或者要比xx更强,这样当在学校门口遇到xx...
阅读全文
摘要:[原文链接]Colin走到我的办公室门口叫我去看他最新的研究成果。他拆解了他的显示器切换器(用来在两台PC之间切换显示器的设备),拆开的设备就摊放在他的桌子上。他用从RadioShack网站上淘来的部件重新组装了它,并用VB6开发了一套管理它的服务器和客户端程序,经过这样的改造,他实现当鼠移动到屏幕边缘时显示器就能自动切换的功能。Colin在做这个项目时获得了很大的乐趣,并且正在变成我们团队里最强大的程序员。这发生在Arduino创建之前一段时间,那时硬件Hacking的门槛还很高。VB6正在衰退,使用它的人被认为只能维护那些烂的LOB程序。从Co...
阅读全文
摘要:[原文链接]你经常读编程博客吗?你经常读软件杂志吗?你经常读一些跟程序员相关的书籍吗?请停一下,放下你的计算机读物,下周再去读。去找一本跟IT无关的书。你是否曾经有过一种对编程世界如洪水般涌现的新事物不知所措的感觉?那正是你应该找一本不同的书去读的时候。找一本你觉得有趣的,或你喜欢的作家写的书。很多人认为读这些小说、读这些专业领域外的书都是浪费时间,但事实不是这样的。这些书的作用是让你的大脑转变一种思维视角。它们的作用是扩展你的知识领域。它们的作用是在替你准备消化下一个计算机里的新事物。你会发现一些有趣的现象,你会惊奇的发现看似不相关的主题却有着出...
阅读全文
摘要:[原文链接]使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。于是,我开始在一个文本文件里记录这些用法,并放在我的Dropbox里,现在,向大家分享这个文件。这个文件我会不断的更新。需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件。UPDATE: November 25, 2013检查远程端口是否对bash开放:echo >/dev/tcp/8.8.8.8/53 && echo "open"让进程转入后台:Ctrl + z将进程转
阅读全文
摘要:[原文链接]我正好看到了下面的一段代码: publicvoidExecute() { ArrayListempIds =PayrollDatabase.GetAllEmployeeIds(); foreach(intempIdinempIds) { Employeeemployee =PayrollDatabase.GetEmployee(empId); if(employee.IsPayDate(payDate)) { DateTimestartDate = employee.GetPayPeriodStartDate(pay...
阅读全文
摘要:[原文链接]最近我和一些程序员就编程问题进行了一次有趣的讨论。我通常会有这样的印象,感觉一些程序员过于强调代码的整洁。不要误会,我也很注重代码的整洁,在过去几年来也写过不少强调代码整洁的重要性的文章。但当我编程时,代码整洁只是我的第二重要目标,它永远不会取代我的首要目标:让软件先跑起来。让它能跑的很漂亮,这是我更大的愿望。当谈论起代码整洁时,很多人都能饶有兴趣的说出很多。他们坚持不懈的追求这个目标,有时他们在编程时还会穿上带有Uncle Bob的绿色的宣传图标衣服, 以此提醒自己什么是最重要的:写出整...
阅读全文
摘要:[原文链接]现在距离我首次决定要创建Buffer这个应用已经将近2年时间里,在此之前的一年半时间里我一直为前一个创业项目而忙碌,就在那时,我开始发现一些规律,一些在创业过程中能影响你的生活起起伏伏的规律。就在那个时期,我学到了一个最重要的事情:当快乐时我做事做的最好。这几乎能体现在各个方面。如果我快乐着,我编程时会更有工作效率,我能更好的解决用户的问题,我发现我还能更容易集中注意力。就我而言,我发现有几个非常好的习惯能让我保持持续不断的快乐的感觉。而且,每当我的情绪有低落时,这些习惯是使我能迅速恢复到之前快乐水平的灵丹妙药。下面就是我坚持不懈的6个习惯:1. 早起...
阅读全文
摘要:[原文链接]好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。* 我不要自我重复— 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环语句,函数,类,等等)。一旦程序里开始有重复现象的出现(例如很长的表达式、一大堆的语句,但都是为了表达相同的概念),你就需要对代码进行一次新的提炼,抽象。http://en.wikipedia
阅读全文
摘要:[原文链接]别以为是那些软件开发定律,别以为是开发出那些特殊用途的软件,别以为是软件设计技术本身。只有一条真理决定了一个软件程序员的成功还是失败。由于坚持这个真理,一个资深的程序员能在一天的时间里学会一门新的编程语言,而由于不坚持这条真理,一个初级的程序员用十年时间也只能挣到一份糊口的钱、永远是来实现别人的设计、永远不够优秀而得不到晋升的机会。这条真理让你看清了差的程序员和好的程序员的不同之处,好的程序员和伟大的程序员的不同之处,伟大的程序员和能通过自己的技术创造出一个亿万美元价值的程序帝国的超级程序员的不同之处。不是什么复杂的道理,不是什么难懂的理论。不是具有什么天赋或“编程超能力“才能做到
阅读全文
摘要:[原文链接]多少年来,人们普遍有一种看法,认为软件工程应该和其它种类的工程一样:仔细的设计,精确的规划,然后进行开发—严格按照设计说明书。就像修建一座桥梁,不是吗?这种开发方式的问题在于:软件,它是“软”的。它可以无限的延展。任何需要的时候你都可以大幅度的修改你的软件,人们也都是这么干的。还有,因为软件可以被拿来对任何事物进行模型造型,你能要求软件开发人员去实现的可能的东西几乎是无穷无尽。想要在软件里模拟集成电路吗?干吧。想管理银行?没问题。让五亿人和他们的朋友保持联系?为什么不呢?小菜一碟。不仅如此,在开发的中途我们还能要求程序员去做各种修改,这种事情经常的以一种不可预期的形式出现。这可不是
阅读全文
摘要:[原文链接]我读了Kevin Pang 的一篇可能非常老但非常好的有趣文章:每个程序员都该知道的10大编程格言。Kevin给了我们10条按他的观点的每个程序员必须知道的编程格言。可以看出,这都是不错的格言,而下面是我自己最喜欢的编程格言。保持简单直白(Keep It Simple Stupid)不要做重复的事情(Don’t Repeat Yourself)能干的人解决问题。智慧的人绕开问题(A clever person solves a problem. A wise person avoids it) –Einstein沉默会被理解为赞同(Silence is construed as a
阅读全文
摘要:[原文链接]在SDTConf 2009论坛上,Corey Haines和我共同主持了一个叫做“最臭的臭弹”的研讨会。会议上,我们试图去寻找下面两个(不同的)问题的答案:作为一个经验丰富的开发人员,回顾往事,最臭的让你最受折磨的代码是什么样的?也就是说,请指出一种代码,如果你能根除掉这种很臭的代码,那么在你的程序中的大部分设计问题都会迎刃而解我们有如此多的不同的原则和指导来帮助我们去实现好的设计。对于一个新手来说,他应该从哪里开始?哪种代码风味(code smell)或原则,对于一个新手来说,可以最大程度的帮助他们做出好的设计(节省好几年去总结经验)?尽管字面上这两个问题很相似,但我认为这第二个
阅读全文
摘要:[原文链接] Steve Freeman 写了一篇 blog拥抱极限编程(Do do XP)来反驳我的这篇文章。我开始厌倦了和那些坚持认为Scrum离开了极限编程就不再有价值的人的无休止的论战。 Scrum 很好用 — 但前提是实施者必须从基础上理解它的价值所在和实施原则。 你应用Scrum所处的环境条件决定了你在实施过程中应该采取哪些措施。 比如,在教堂里实施Scrum和在软件开发中实施Scrum有着不同的一套实施策略。而这两种情况下的实施措施又和传统的Scrum有不同之处。极限编程的拥护者动不动就抱怨在软件工业中Scrum没有提供很好的开发原则。 但就目前极限编...
阅读全文
摘要:[原文链接] agile software development在文章远离极限编程(Don’t do XP)里, Tobias Mayer 建议人们不要去搞极限编程(XP)。 我和Tobias相知已久,我想他这个问题上错了。 我不知道他在跟谁争论,但他们的有些争论就是“嚼舌根”。我想如果他曾经试过一次XP,那他的言论会更有说服力。 XP并不是一个万能的解决方案,但它确实是一种方案,而且我们知道如何使用它。作为一个临时的XP支持者,我并不抱怨 “在软件工业中Scrum没有提供很好的开发原则”,我只抱怨这个产业。 如果我们能在这个产业里有效率的工作,那我们也就不会有...
阅读全文
摘要:[原文链接]“技术债务(technical debt)”这个词是由Ward Cunningham 发明的,用来描述为了在最后期限前实现某个项目任务而让开发团队做某种技术上的妥协。这里有两篇博客文章,Uncle Bob 和 Martin Fowler 分别在里面描述了几乎所有项目都可能会遇到的各种技术债务。在A Mess is not a Technical Debt这篇博客里, Uncle Bob 评论说,做出妥协是实现有最后期限目标的必要的手段。但是他区分妥协与否的方法只是纯粹从代码的粗心与否来考虑:编码混乱并不是一种债务。编码混乱就是编码混乱。技术债务的产生是由现实的工程约束造成的。这是有
阅读全文
摘要:[原文链接]高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言?一、《钢铁侠》,c语言电影《钢铁侠》最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的C语言代码出现在那个伪造的笔记本电脑屏幕上。屏幕上的这些代码,尽管从语法上看是少了一些重要的字符,例如分号,但的确是有效的C语言代码。写的非常规范,以至于我想弄清楚这些代码是从哪里来的。使用谷歌一搜,我就找到了它。这段
阅读全文
摘要:[原文链接] 我遇到很多客户做过压力测试 – 有大规模的,也有小规模的 – 有用开源工具的,也有用商业软件的。 压力测试本身变得越来越容易,越来越可以支付的起——因为出现了很多很好用的压力测试工具。还有一些公司提供在线压力测试服务。尽管做压力测试越来越容易、越来越有效率、而能花很小的代价产生很大的压强,但是我的所有客户都遇到了同样一个问题:压力测试并不会报告是什么导致了问题。它只会报告这有了问题,例如:查询页面在并发50个用户使用时变慢下来,但它不会显示什么导致了变慢。捕获到的性能统计数据例如CPU和内存使用量只是强调了潜在的问题区域,但并不会指出实际的根源在应用程序的什么地方。标准的压力测.
阅读全文
摘要:[原文链接]上图为本文的作者:Matt Welsh自从我离开哈佛后,经常有人问我现在在谷歌工作是什么样的情况。我猜想很多人会认为从一个终身教授到一个软件工程师的转变存在很大的身份落差。但除了这个头衔外,我工作的还是很高兴的,而且在这个新角色上,我的工作效率比以前在哈佛任教的8年中的任何时候都高——尽管当一名教授和管理一个开发团队在很多方面都有非常相似的地方。我在谷歌的西雅图办公区带领一个开发团队,这个团队负责手机网站性能方面的一批技术工程。(你可以从我之前的几篇博客里了解更多的关于我的团队的背景信息。)最近发布的手机谷歌浏览器里的数据压缩代理支持就是我们比较复杂的项目之一。我...
阅读全文
摘要:[原文链接,值得一读] guy方案体现了毕达哥拉斯学派的思想--万物皆数。 很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。 我第一家面试的公司叫做gofish.com,据我所知,gofish这家公司如今的情况跟我当时面试时完全的不同。我几乎能打保票的说,当时我...
阅读全文
摘要:[原文链接]我收集各式各样的至理名言。最近我一直在研究敏捷软件开发;有收获吗?下面就是能够指导敏捷软件开发团队的26条核心原则。用例一完全能够运行后再开发用例二。厨房里有一种说法正好可以印证这个问题:“做好一盘菜后你再做下一盘”. 对于软件开发来说一个最大的问题就是人们喜欢并行开发多个任务。因为不可避免的,我们设计的功能中总会有一部分会被放弃砍掉,如果提前开发,很可能做无用功。 一次只开发一个用例(或很少几个用例,这根据你的开发团队的大小而定); 让这个用例功能完整; 让相应的测试用例都能通过; 相应的文稳都补齐; 只有在当前的用例完全开发完成后,才做为一个整体提交到版本库,才进行下一个用例。
阅读全文
摘要:[原文链接] 本周在欧洲举行的TheServerSide Java研讨会上,ThoughtWorks的架构师和著名讲演人Neal Ford 指出那些只静止的依赖于一种专门的技术的人会在几年之内被淘汰出局。 他谈到了19世纪的马蹄铁匠,那时候干这种工作看起来是稳定而且有前景的职业,直到有一天科技进步(汽车的出现)导致了整个行业被淘汰。 我对Neal的这些话颇有感受。 当我还是大学教师、教授面向对象编程的时候,我有一个成年学生是个真正的C语言编程高手。 事实上,他的专长是使用Borland Turbo C 3.0。 当他很费力的去领悟C++和Smalltalk和这类语言后面所代表的含义时,他竟..
阅读全文
摘要:[原文链接] 人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期,他就指出我们的意识里分“潜意识”,“前意识”,“意识”。 如 果我们想能清楚他们分别跟我们的思想、感觉、认知、判断和动机(这这些在我们每天的生活,职业生活中都是关键因素)有什么关联,我们可以把我们自己描述成 一个冰山。 冰山的尖端,唯一能从水面看到的一部分,可以当作是我们的的意识。 它是有逻辑、有组织的,我们可以控制它,但这部分很小。 这庞大的水下的部分是我们的意识不到的。 它们是无组织、无逻辑、无关联的,但它们取能决定我..
阅读全文