摘要:
程序员编程语录 1. 一个好的程序员是那种过单行线马路都要往两边看的人。(Doug Linder) 2. 程序有问题时不要担心。如果所有东西都没问题,你就失业了。(软件工程的Mosher定律) 3. 程序员的麻烦在于,你无法弄清他在捣腾什么,当你最终弄明白时,也许已经晚了。(超级计算机之父Seymour Cray) 4. 我想大部分人都知道通常一个程序员会具有的美德。当然了,有三种:懒惰,暴躁,傲慢。(Perl语言发明者Larry Wall) 5. 编程时要保持这种心态:就好象将来要维护你这些代码的人是一位残暴的精神病患者,而且他知道你住在哪。(MartinGolding) 6. ... 阅读全文
摘要:
利用正则表达式和location.search方法,可以简便的获取到对应的参数:functiongetQueryString(name){varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)","i");varr=window.location.search.substr(1).match(reg);if(r!=null)returnunescape(r[2]);returnnull;}这样调用:alert(GetQueryString("参数名1")); 阅读全文
摘要:
一般刚开始学SQL语句的时候,会这样写代码如下:SELECT * FROM table ORDER BY id LIMIT 1000, 10;但在数据达到百万级的时候,这样写会慢死代码如下:SELECT * FROM table ORDER BY id LIMIT 1000000, 10;也许耗费几十秒网上很多优化的方法是这样的代码如下:SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10;是的,速度提升到0.x秒了,看样子还行了可是,还不是完美的!以下这句才是完美的!代码如下:S 阅读全文
摘要:
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如: explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALLpossible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以. 阅读全文
摘要:
前言:这是一篇我以前写的关于数据库设计当中范式理解的笔记,现在转到博客园上来。书本上关于范式的内容太抽象,难易理解,更难记忆。所以去网上搜罗了一些资料,结合自己的经验,用较为直白的语言总结下关于范式的内容:第一范式(1NF)原文:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。个人理解:设计一张表的字段的时候,要结合实际需求,设计详细完整的字段。例如:设计一张投票的表时,如果只设计了一个“住址”的字段,而实际情况却是有关于“住址”的国家、城市、地区3个属性的值,那这个表设计的就是不合理的,不符合第一范式的。第二范式(2NF)原文:若关系模式R∈1NF,并且每一个非主属性都完全 阅读全文
摘要:
所谓“木桶理论”也即“木桶定律”,其核心内容为:一只木桶盛水的多少,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块。关于木桶理论大家一定不陌生,但是真正把这个理论领悟,应用到自己的生活和工作去的,应该不多。 在我们程序员的世界里流传着这么一句话“样样通不如一门精”,做技术的人都懂的我就不过多解释了。但与此同时,经过我多年的观察,身边的一些大牛们,却往往是身怀多门绝技,精通多门语言,不但可以独立开发系统,搞的定域名服务器,还可以设计数据库,熟悉项目管理。那做技术的人,到底应该专注于自己的弱项呢?还是专研自己的强项呢?相信不少程序员,都曾经抱有过类似的疑问。 结合我这几年的工... 阅读全文
摘要:
作为一个程序员,最怕碰到的事之一就是正在运行的系统故障了,需要解决。解决系统故障最需要的就是冷静的头脑和谨慎的态度,因为所谓的故障往往是陌生的和不可预期的。系统故障一般分为3类:1.硬件故障。如服务器断电,网络问题,硬件负载过重所导致的系统异常。这类问题,可以通过查看服务器状态,远程登录服务器,查看各项数据指标来确认。2.软件故障。如果刚刚更新了新程序,或改动了源代码之后,系统发生异常和功能问题,则有可能是源程序有问题。3.数据问题。在硬件和软件都稳定运行的情况下,最容易导致系统出问题的,就是人为的操作了,而人为的操作会改变系统的数据,如数据库,模板,上传的文件等。如果系统的程序存在漏洞或者B 阅读全文
摘要:
偶然间看到一篇文章(http://www.w3cfuns.com/thread-1052-1-1.html),觉得写的非常有意思,于是照着里面的内容整理了下我心目中的技术道路:一、入门掌握一定的基础,能够完成一些简单的开发,使用最基本的代码解决问题。攻略:看书、API二、初级有整体的认识,会使用IED开发项目,使用成品代码,能够正确的解决问题。攻略:上网搜集资料,参加讨论组,积累各个需求的解决方案。最好通过实际工作经验,或者独立开发项目三、中级拥有几套解决方法,选择最优解,回顾最基础的知识,对这门技术有更深的理解。攻略:一定级别的丰富开发经验,攻克过多项难题,成为开发主力四、高级能够在没有需求 阅读全文
摘要:
以下内容收集自一些优秀的技术书籍章节开头的名言佳句,非常有意思,直接或间接反映了软件开发中的一些事情。生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——David Leinweber软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。——C.A.R. Hoare其实,我尝试着使 Ruby 更自然,而不是简单。Ruby 看起来很简单,但内部是非常复杂的,就像我们的身体一样。——松本行弘,Ruby 之父大部分情况下,构建程序的过程本质 阅读全文
摘要:
Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。教程:http://www.bootcss.com/getting-started.html 阅读全文