摘要: 摘要:Danylko是一位资深开发顾问,DCS公司的创始人,他将跟我们一起分享他20年来的编程经验,希望对您有所启发和帮助。 英文原文标题:20/20: Top 20 Programming Lessons I've Learned in 20 Years 本文转自Jonathan Danylko的网站DCS Media。Danylko是一位资深开发顾问,DCS公司的创始人。 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友。 我会持续更新这些经验,我可能还会有更 阅读全文
posted @ 2012-02-10 11:03 赵治鲁 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 导读:程序员世界里有哪些名言呢?Jun Auza 列出了一些启迪人心的至理名言,它们大多来自产业界富于经验的人们。下文列出前10个供读者欣赏:10. “People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones”——Donald Knuth10. “人们认为计算机科学是天才的艺术,但事实完全相反: 阅读全文
posted @ 2012-02-10 11:00 赵治鲁 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 没有人是完全独立的孤岛,每个人都是整体的一部分。——约翰·多恩对于缺乏编程知识的人来说,完全有可能编写一个网页或小程序。如果在用Google搜索相关示例时幸运的话,可以搜到现成的代码。即使是经验丰富的程序员,通常也会为了节省时间和精力而在网上搜索解决方案。如果不借助搜索技术、网络及集体智慧,现代化高效编程是难以想象的。因此,搜索技巧对高效程序员变得愈发重要。现在,我们不需要了解和记住如何解决众多的编程问题,可以采用搜索技术。我们正变得更加高效、高生产力,并能够解决更多的问题。但这是否意味着在构建软件时,拥有好的搜索技巧就足够了呢?本文将讨论,搜索技巧在程序员知识的形成过程中的作用,以 阅读全文
posted @ 2012-02-10 10:59 赵治鲁 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 能够最佳的使用好数据库需要扎实的基础,下面文章详细的说明了20个数据库设计的最佳实践,很适合是实习的程序员学习。AD:使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblSchool,或者SchoolTable等等。数据库中的密码要加密,到应用中再解密。 (其实就是散列存储、单向加密)使用整数作为ID字段,也许现在没有这个必要,但是将来需要,例如关联表,索引等等 阅读全文
posted @ 2012-02-10 10:57 赵治鲁 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 对于大多数web应用来说,数据库都是一个十分基础性的部分。如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一份子。对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面列举了我曾经犯过的最严重的11个MySQL相关的错误(有些同样也反映在其他语言/数据库的使用上)。。。1.使用MyISAM而不是InnoDBMySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。MySQL默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非 阅读全文
posted @ 2012-02-10 10:56 赵治鲁 阅读(134) 评论(0) 推荐(0) 编辑
摘要: substr()函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。举个例子:<?phpecho mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');?> 阅读全文
posted @ 2012-02-10 10:55 赵治鲁 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.neatcn.com/show-961-1.shtml$filename="./test/test.zip";//最终生成的 文件名(含路径)if(!file_exists($filename)){//重新生成文件$zip=newZipArchive();//使用本 类,... 阅读全文
posted @ 2012-02-10 10:55 赵治鲁 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: Php可以通过header的方式, 告诉浏览器下载一个文件,但如果遇到文件名中包含空格等符号的时候,就会出现文件名被截断,本文记录个人在这方面的一些心得,完美解决这种问题通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来下载,相信这个大家都会。那么用Content-Disposition设置下载的文件名,这个也有不少人知道吧。基本上,下载程序都是这么写的:PHP代码view plaincopy to clipboardprint?<?php$filename="document.txt";header( 阅读全文
posted @ 2012-02-10 10:54 赵治鲁 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 设计模式只是为 Java 架构师准备的 —— 至少您可能一直这样认为。实际上,设计模式对于每个人都非常有用。如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在PHP应用程序中非常有用?本文解释了这些问题。设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为观察者的模式。用较小的示例展示模式的价值是非常困难的。这往往有些大材小用的意味,因为模式实际上是在大型代码库 中发挥作用的。本文不展示大型应用程序,所以您需要思索的是在您自己的大型应用程序中应用示例原理 阅读全文
posted @ 2012-02-10 10:53 赵治鲁 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse: 你是PHP菜鸟,如果你: 1. 不会利用如phpDoc这样的工具来恰当地注释你的代码 2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见 3. 从未用过任何形式的版本控制系统,如Subclipse 4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实 5. 不使用统一开发方式 6. 不转换(或)也不验证某些输入或SQL查询串(... 阅读全文
posted @ 2012-02-10 10:52 赵治鲁 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 人成熟与不成熟跟年龄没有关系,人成熟不成熟,就是你能不能站在对方的角度去看待事物。就是能不能把我的世界变成你的世界。这个社会有很多的成年人,还没有脱离幼稚的行为。一点小事情就跟别人争来争去。人不成熟的第一个特征------就是立即要回报他不懂得只有春天播种,秋天才会收获。很多人在做任何事情的时候,刚刚付出一点点,马上就要得到回报。(学钢琴,学英语等等,刚开始就觉得难,发现不行,立即就要放弃。)做我们这个项目也是一样,很多人来做这个生意,开始没有什么成绩,就想着要放弃,有的人一个月放弃,有的人三个月放弃,有的人半年放弃,有的人一年放 弃,我不明白人们为什么轻易放弃这个趋势的生意,但是我知道,放弃 阅读全文
posted @ 2012-02-10 10:51 赵治鲁 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 你有没有遇到过那个经典的面试问题,“你预见过自己5年后的职位吗?”。每当有人这样问时,我就会想到Twisted Sister乐队从1984年开始发行的某张专辑。当然是玩摇滚,至不济也得是个摇滚明星级别的程序员吧。这种问题通常得不到正面回答——就像那种在面试中无病呻吟式的陈词滥调,”你最大的缺点是什么?”。有的时候是不是太大起大落?以至于那些无辜的旁观者会受到伤害。但是,我认为这是一种不一样并更严肃的话题,它应该引起足够的重视。而这并不是为了面试官好,而是为你好。文章开始的那个问题听起来有点老生常谈, 而 且大部分人都是有备而来。但是这个问题却会引起更深层的思考:一名软件开发人员的职业生涯会是怎 阅读全文
posted @ 2012-02-10 10:51 赵治鲁 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 这是今天和校招新同事交流时的总结,希望校招新同事能够回顾,也能够写出自己的总结。一、什么是代码高手?你怎么证明自己是代码高手?知道许多代码技巧、JS炫彩技巧的人大有人在。你知道多少个.net函数,这一点都没有意义。你知道多少个新鲜IT名词,多少技术介绍,这也没有意义。做,真正做一个原型,做一个项目,解决你手头棘手的问题,这才有意义。1、快速准确的理解别人说的-〉2、快速的开发,还准确的反映了别人的需求-〉3、稳定,最少出BUG-〉4、高性能,10万条记录你能顶住,1000万条记录你能顶住吗?这就是技术功底的考验5、这还不够,你的代码是否能让别人快速的理解了6、你的代码是否能比较容易的接受不同客 阅读全文
posted @ 2012-02-10 10:50 赵治鲁 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 本文写给那些认为在项目上所花时间和效率成正比的程序员。我要说的是,事实并非如此。虽然你需要在电脑前敲键盘输入东西,但这只和编程沾上一点边。那么,程序员该如何利用时间呢?俗话说,磨刀不误砍柴工,拿出一部分时间提升自己的技能,可以提高工作效率。你可以参考以下几条建议:1. 编写单元测试,提高效率(如果你还没有这样做)这是一个十分基础的工作,但是许多程序员并没这么做。但你应该这么做。这样做不仅能够提高代码质量,还能提高工作效率。你不但能够在发布和修改你的程序时更加自信,而且还节省了相当多的时间。试想一下,如果你正编写一个大型网络应用程序,其中一个小小的代码出现了差错,要修改它便意味着整个程序的重建、 阅读全文
posted @ 2012-02-10 10:46 赵治鲁 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 转自程先的专栏今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信 息,不论是一段程序,一封email,一部电影都是用一连串的1和0进行编码的;是他们发现了我们可以利用一个预先编写好的程序控制机器,并使之完成我们 期望它完成的动作。建议大家在心里默念三遍他们的名字,以示仰慕。当然,如果让你们带着现在的知识回到他们的那个时代,那么就没有什么图灵奖了。C语言程序设计是我们的专业基础课,但是C语言本身却是一个非常强大的工具,它是到目前为止最为广泛使用的工具,并且在可以预见的将来,它仍然是皈依为程序员的人们心中的 阅读全文
posted @ 2012-02-10 10:45 赵治鲁 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 如果你还不清楚PHP是什么,可以留意下那些你天天使用的web应用,例如Facebook、Wordpress都是用PHP构建起来的。学习一门新语言可能会是一件很艰巨的任务,最好的办法就是借鉴前辈的经验已达到事半功倍,下面就是为PHP新手们准备的一些经验餐。如果你是个PHP开发者,无论是新手还是高手,都希望你能在此讨论下自己对PHP的想法或者技巧。1. 从OOP开始Naramore是SourceForge员工以及PHPWomen.org的创办人。对于初学者,她建议在学PHP之前先了解清楚OOP(Object-Oriented Programming)即面向对象编程思想。“如果你来自非高科技行业,很 阅读全文
posted @ 2012-02-10 10:44 赵治鲁 阅读(149) 评论(0) 推荐(1) 编辑
摘要: Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》,为我们分享如何才能完成程序员从初级到中级的蜕变,现将中文译文转载于此,供大家借鉴。在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。这个观点很好,有关程序员如何从初级跃升到中级的信息极少。以下是为了实现这种转变需要你 去做的10件事。1.学习另一门语言其实你学的是哪一门语言并没有关系, 阅读全文
posted @ 2012-02-10 10:42 赵治鲁 阅读(155) 评论(0) 推荐(0) 编辑