十条不错的编程观点

十条不错的编程观点

Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助。

1) The only “best practice” you should be using all the time is “Use Your Brain”.

唯一的“Best Practice”并不是使用各种各样被前人总结过的各种设计方法、模式,框架,那些著名的方法、模式、框架只代码赞同他们的人多,并不代表他们适合你,你应该更多的去使用你的大脑,独立地思考那些方法、模式、框架出现的原因和其背后的想法和思想,那才是“best practice”。事实上来说,那些所谓的“Best Practice”只不过是限制那些糟糕的程序员们的破坏力。

2)Programmers who don’t code in their spare time for fun will never become as good as those that do.

如果你对编程没有感到一种快乐,没有在你空闲的时候去以一种的娱乐方式去生活,无论是编程,还是运动,还是去旅游,那么你只不过是在应付你的工作,无时无刻不扎在程序堆中,这样下来,就算是你是一个非常聪明,非常有才华的人,你也不会成为一个优秀的编程员,要么只会平平凡凡,要么只会整天扎在技术中成为书呆子。当然,这个观点是有争议,热情和能力的差距也是很大的。不过我们可以从中汲取其正面的观点。

3)Most comments in code are in fact a pernicious form of code duplication.

注释应该是注释Why,而不是How和What,参看《惹恼程序员的十件事》,代码告诉你How,而注释应该告诉你Why。但大多数的程序并不知道什么是好的注释,那些注释其实和code是重复的,毫无意义。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (51 人打了分,平均分: 4.49 )
Loading...
老手是这样教新手编程的

老手是这样教新手编程的

comp.lang.c全球最大的C语言新闻组,其Google的链接是:http://groups.google.com/group/comp.lang.c/ 可惜被GFW了。在comp.lang.c新闻组,有一个日本网友发了个贴子,说他正在学习一个在线的C语言课程,要完成一个作业,用程序输出如下的结果,而他的老师在美国,因为时差问题,他无法和他联系,所以只有上这里来寻求帮助。

    *
   ***
  *****
 *******
*********
*********
 *******
  *****
   ***
    *

很明显,在comp.lang.c上发这种贴子是一定会被拍的很惨的,这样的事,以前在SUN的论坛上也发生过,详情请看这里。还有一个去软件官网上要一个盗版序列号的。果不然后,我看到了这样的一个回贴。提供这样的一段代码:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (31 人打了分,平均分: 4.39 )
Loading...
HTML 安全列表

HTML 安全列表

下面这个网站罗列了,几乎所有的关于HTML 5 在各种主流浏览器上的安全问题,这些安全问题很有可能将会是黑客攻击你的网上的敲门砖,他们几乎都和Javascript都有关系,你就要好好注意了。

http://heideri.ch/jso/

下面罗列几个:

1)<table background=”javascript:alert(1)”>

IE6,7,8,9,和Opera 8.x, 9.x, 10.x 都支持这样的语法。

2)<meta charset=”mac-farsi”>¼script¾alert(1)¼/script¾

这个问题会存在于所有的Firefox版本中,可以让用户进行XSS(跨站脚本)攻击

3)<script>&amp;#x61;l&amp;#x65;rt&amp;#40;1)</script>

在<script>和<style>的TAG间,根据标据,其可以使用这样的字符来运行脚本。这在所有版本的Firefox, Opera, 和 Chrome中都会有问题。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 3.67 )
Loading...
写HTML和CSS的新方法

写HTML和CSS的新方法

Zen Coding 一个用来简化编写 HTML,XML, XSL (或是其它一些诸如此类格式的编辑器)。其主要是用一种缩写方式的语法来书写大量重复和无味的HTML,很像CSS语法。下面是一个例子:
div#page>div.logo+ul#navigation>li*5>a
展开后会成为下面这个样子:
<div id="page">
        <div></div>
        <ul id="navigation">
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
        </ul>
</div>
可以看出来,#代表ID,>代表下一层。
好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 3.00 )
Loading...
新手该学哪门编程语言

新手该学哪门编程语言

在某个论坛上看到有人在问——“Which programming language should I learn first?”,看到了下面的这个回答,有点意思。

Depends.

  • To program in an expressive and powerful language: Python
  • To get a website up quickly: PHP
  • To mingle with programmers who call themselves “rockstars”: Ruby.
  • To really learn to program: C.
  • To achieve enlightenment: Scheme.
  • To feel depressed: SQL
  • To drop a chromosome: Microsoft Visual Basic
  • To get a guaranteed, mediocre, but well paying job writing financial applications in a cubicle under fluorescent lights: Java.
  • To do the same thing with certifications and letters after your name: C#
  • To achieve a magical sense of childlike wonder that you have a hard time differentiating from megalomania: Objective C

I could go on… but I’m not feeling hateful enough today.

翻译如下:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (29 人打了分,平均分: 4.24 )
Loading...
九个PHP很有用的功能

九个PHP很有用的功能

下面是九个PHP中很有用的功能,不知道你用过了吗?

1. 函数的任意数目的参数

你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数

下面是一个示例向你展示了默认参数的函数:

// 两个默认参数的函数
function foo($arg1 = '', $arg2 = '') {

	echo "arg1: $arg1\n";
	echo "arg2: $arg2\n";

}

foo('hello','world');
/* 输出:
arg1: hello
arg2: world
*/

foo();
/* 输出:
arg1:
arg2:
*/

现在我们来看一看一个不定参数的函数,其使用到了?func_get_args()方法:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (18 人打了分,平均分: 4.22 )
Loading...
McAfee误杀svchost.exe

McAfee误杀svchost.exe

这两天,杀毒软件又出事了。还记得2007年5月,那次是Norton把简体中文Windows下的netapi32.dll 和 lsasrv.dll。最近的一次是,2008年11月,AVG把user32.dll给干掉了。

这次是McAfee的5958版病毒库,导致McAfee误杀了Windows XP SP3下的svchost.exe,这最终导致了Windows不断地重复启动,据说有数十万PC成了小白鼠。简单地到Twitter和各国外技术社区看看,真是受灾严重啊。

下面是出错信息:

The file C:WINDOWS\system32\svchost.exe contains the W32/Wecorl.a Virus.
Undetermined clean error, OAS denied access and continued.
Detected using Scan engine version 5400.1158 DAT version 5958.0000.

其实,可能大家都误解了,McAfee把svchost.exe识别为一个恶意程序,我觉得这是一种“实事求是”的态度啊,svchost.exe难道不是Windows下的万恶之源吗?多少年来,svchost.exe成为了多少病毒,木马和流氓程序的温床,这么多年过去了,Windows用户们默默地承受着svchost.exe所带来的痛苦,经过这么长的时间,只有McAfee不惧M$的淫威第一个站出来把svchost.exe揪出来办了,这是一种什么样的精神啊……

好烂啊有点差凑合看看还不错很精彩 (22 人打了分,平均分: 3.95 )
Loading...
谷歌Chrome取消”http://”

谷歌Chrome取消”http://”

谷歌下一个版本的Chrome浏览器软件将缺少一个在近20年来一直是浏览器的一个特点的功能:在地址栏中的“http://”。目前开发人员版本的Chrome浏览器已经做了这种改变。这个变化虽然看起来很小,但是,已经在Chrome网站引起了程序员们很大的争议。

在Google Chrome的开发站点上,又有了一个很热的BUG——Issue  41467(上一次的一热议的BUG是的《Go语言更名Issue 9》),这个BUG目前已被关闭。不过在其它地方还在热议中,如:Reddit.com。基本上来说,90%以上的程序员反对的,他们希望Google的Chrome可以给一个设置关闭或打开这一功能。

一些程序员觉得这是违反了RFC,并且觉得这是在向End User传播一种很不好的东西,那就是网址可以不用http://,这样一来会给程序员增加很多麻烦,比如:他们的程序无法使用http://这一关键字来检查用户的输出,等等。

iPhone浏览器的也是这样的, 不过当你把光标放到地址栏中,其会显示http://,广大程序员希望Chrome也实现这一方案。然而,Issue  41467目前的状态是“WontFix”,呵呵。

有人说,如果你在地址栏中直接输入网址,没有协议前缀,默认就是http://,Google用的就是这个特性,然后,你可以试试在地址栏中输入“ftp.gnu.org/gnu”,你会发现,自动加入的不是http://而是ftp://,呵呵。

有人说,既然你要省,不如也把www.和后面的.com加上/也省了,因为这些都是默认的嘛。直接打google就OK了。Chrome开发团队说,没有www.和.com/只能算是一个主机名,不能算是DNS域名。呵呵。

还有人说,搞这种隐藏的最恶心的就是Windows,隐藏文件后缀名,隐藏系统文件,太扯了,于是,像sexy_girls.jpg.exe,huge-tits.jpg.src这样玩意儿让某些电脑知识薄弱意志不坚定的人深受其害。

如果有空,请留下你的观点。

好烂啊有点差凑合看看还不错很精彩 (10 人打了分,平均分: 3.30 )
Loading...
两个C++的资源

两个C++的资源

第一个是一个C++第三方类库的A-Z:(http://www.trumphurst.com/cpplibs/cpplibs.php)其中包含了:

  • 开源的C++的第三方类库列表
  • 商业的C++的第三方类库列表
  • 一些经典的C++的随书源码
  • 一些C++相关的工具

不过,这个网站好像最新更新是在2008年。

第二个是Boost C++的一个教程:(http://en.highscore.de/cpp/boost/

这个教程可能是写得比较不错的了,不过是英文的。

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 3.42 )
Loading...
MSDN中的两个命名

MSDN中的两个命名

第一个叫:DestroyPhysicalMonitor

http://msdn.microsoft.com/en-us/library/dd692936(VS.85).aspx

在你的程序中调用这个函数,不知道你敢不敢在运行程序。呵呵。

第二个叫:INITCOMMONCONTROLSEX

http://msdn.microsoft.com/en-us/library/bb775507(VS.85).aspx

Initialize Common Control Sex ??? 真是淫者见淫啊。呵呵

不知道还有没有其它有趣的?欢迎大家跟贴。

好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 2.17 )
Loading...