历史已经证明,软件设计的缺陷一直是导致其漏洞被利用的最主要的罪魁祸首。安全专家发现,多数漏洞源自常见软件中相对有限的一些漏洞。软件开发者和设计者应当严格检查程序中的各种错误,尽量在软件部署之前就减少或清除其中的漏洞。
下面列举的这些方法会有助于开发人员提高编码的安全性:
一、注意编译器警告
程序员应当使用编译器的最高警告等级。在编译过程中,[......]
历史已经证明,软件设计的缺陷一直是导致其漏洞被利用的最主要的罪魁祸首。安全专家发现,多数漏洞源自常见软件中相对有限的一些漏洞。软件开发者和设计者应当严格检查程序中的各种错误,尽量在软件部署之前就减少或清除其中的漏洞。
下面列举的这些方法会有助于开发人员提高编码的安全性:
一、注意编译器警告
程序员应当使用编译器的最高警告等级。在编译过程中,[......]
2011年安全事件层出不穷,几乎可以称为“黑客年”。以前黑客通常是利用程序漏洞来造成破坏,令网站陷入尴尬的境地,但如今他们却是为了窃取数据、IP 地址,或者通过在网站中植入木马将恶意软件安装到访客的电脑里,更有甚者转移账户、违反行业规定等等,因此应用程序的安全显得越来越重要。
安全漏洞 TOP5
据统计,10个程序中有 8 个以上在第一次测试时都不能[......]
或许因为冰冷的数理逻辑不适合多愁善感的女性,计算机行业自诞生以来一直是男性的天下,这也固定了业界对女性的偏见。其实,在计算机发展史上,并不缺乏有才智的女性,最著名的可能就是 Ada Lovelace,英国诗人拜伦之女。她曾经和英国数学家、计算机先驱 Charles Babbage 有过数次交往。Babbage 对 Lovelace 的智力和写作能力非常佩服[......]
本文作者是一位资深软件工程师,他根据多年的编程经验,把自己的观点组织整理成本文,希望能给大家一点启发。
“最少编码原则”并不是说写的代码少到令意思表达不清楚。其实在很多情况下,可以只写几行代码就能执行相同的逻辑,但这对于后来接手的开发者来说是非常棘手的。最少编码不只是写最少量的代码,还意味着优雅的代码。如果你是有经验的程序员,可能就会明白我将要说什么了。本[......]
最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。
下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方
1.尽量在合适的场合使用单例
使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适[......]
据调查显示,代码审查工作有助于提高软件开发质量,然而许多开发者却不愿意在他们的团队中实施代码审查工作,本文主要分析了开发者为什么会抵制代码审查工作的原因以及为什么他们会有此想法,目的是为了引导开发者加入代码审查工作。
代码审查究竟是什么样的工作呢?通常情况下它是指否决质量的一种过程。大量统计数据表明代码审查极大的提高了软件质量以及降低了技术风险,不仅如[......]
2012-03-30 12:34 IT技术, 程序员 都等你发言 :)
3月24日,Hacker News 上发起了两个投票主题帖:“你最喜欢的编程语言”(评论数 563)和“你最讨厌的编程语言”(评论数 347)。参与投票的程序员很多,引发的评论也非常激烈(这个可从原帖的评论数就可以看出来)。
@程序员的那些事 于24日晚在新浪微博发起了第一个同名投票帖:“你最喜欢的编程语言”(2,170 人参与投票)。[......]
随着微软、诺基亚在本月内陆续完成Windows Phone7.5系统(Tango,3月21日)和手机(至少3款Lumia手机,3月28日)的中国上市计划。“是否要在Windows Phone平台上开发APP?”被越来越多的ISV和个人开发者提上了日程。那么在向Windows Phone平台进军时,有哪些问题值得我们特别关注呢?笔者分别从Windows Pho[......]
2012-03-29 03:34 IT技术, 程序员 都等你发言 :)
C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。
指定的初始化
很多人都知道像这样来静态地初始化数组:[......]
作为一名前端工程师,我承认我可能是有偏见的,但是我真的非常享受编写 JavaScript 程序。JavaScript 代码可以非常的优雅,也可以让人崩溃。在很长一段时间内 JS 在开发者社区中都是一个笑话。但是现在 JS 是一门聚光灯下的明星语言,越来越多的开发者加入到这个阵营。这篇文章例举了几个我喜欢 JS 的理由。[......]
所谓“隔行如隔山”,其实不然,在工作和生活中,大部分的知识和技能都是相通的。学会举一反三,对于技能的提升有很大帮助。本文是一名软件开发者从做技工的父亲身上学到的一些经验,而这些经验使他最终成为了开发者中的佼佼者。
以下为文章全文:
我的父亲是一名工程师 —— 是机械工程师,不是软件工程师。在他成为机械工程师之前,他也做过技工和木工。他很聪明,同时[......]
2012-03-28 03:27 书籍与教程, 程序员 都等你发言 :)
导读:本文来自StackOverflow上的一个问答贴。网友 M.H 提问: 我是一名IT专业学生,现在是大三,直到现在我们才开始学习很多计算机相关的课程(编程、算法、计算机体系结构、数学等……)。
但是还有一个叫“安全”的世界离我们很远,我是指:计算机安全、互联网安全、网络安全、Hacking、破解等。
我很确信没有人可以知晓所有安全知识,但[......]
你想要成为手机开发者吗?你的目标可能是从应用商店中赚取大量金钱,也可能只是为了寻找新的挑战。无论你的目的是什么,当你设计应用时,可能需要考虑到代码层面之外的某些东西。
在你开始进行开发之前,你需要弄清楚那些必须解决的问题。谁会使用你的应用?他们会在何处使用应用?他们会如何使用应用?如果他们同时参与其他的活动,会对应用的使用有何影响?
得出这些问题的答案后[......]
我的《为什么Python对程序员重要?》这篇博客引来如此多的评论,让我颇为意外。大多数的评论是正面的,但同时多少也都带点不太积极的色彩。我发现,这些评论反映出的一个很突出的问题是,程序员如何看待编程语言:他们去追求完美的语言,热爱它,保护它。为什么如此多的程序员会对他们最喜欢的编程语言如此感性化?试想,其实世上没有哪种语言能够完美的把你的脑子里的思想转变成机[......]
我手机里保存着很多经典的句子,有伤感的、幸福的、英语的、励志的… 里面静静的躺着一句不知道从哪抄来的 – “如果生命是一曲动人乐章,我们没法控制如何开始,也很难预测怎么结束,只好把每个音符都弹得漂亮。”
明天和意外,你永远不知道哪个先来…
昨天看了燕洋天老师的文章《活在当前,活在现实,活在今天》,颇有感触,于是整理出这篇文章与大家共勉。[......]
为什么要写这篇文章,是因为有感而发,前车之鉴,各位IT朋友,包括自己,要珍惜眼前,要活在当下。
在最近很长一段时间内,总是听到一些让我震惊的消息:XXX公司的程序员累死了,XXX公司的技术人员白血病了,XXX有得了急性脑溢血!眼睁睁的看着一 些熟悉与陌生的IT朋友一个个的离开,有的很年轻,刚刚毕业,有的正值中年,看到这些,真的让人有点恐慌。尽管死亡是个[......]
2012-03-26 10:08 IT技术, 程序员 都等你发言 :)
上一篇文章,我介绍了Reddit 的排名算法。
它的特点是,用户可以投赞成票,也可以投反对票。也就是说,除了时间因素以外,只要考虑两个变量就够了。
但是,还有一些特定用途的网站,必须考虑更多的因素。世界排名第一的程序员问答社区Stack Overflow,就是这样一个网站。[......]
2012-03-26 09:53 IT技术, 程序员 都等你发言 :)
静态类型语言中,在声明变量时已经指定了数据类型和表示方法。动态类型语言是在运行期间检查数据的类型,不得不保持描述变量值的实际类型标记,程序在每次操作变量时,需要执行数据依赖分支。
而间接分支(Indirect branch)和数据局部性(data locality)对于运行时的性能是致命的。
这就是动态语言的JIT编译器基准测试要强调near-C[......]
我发现,当程序员开发了一个项目,然后要把它移交给其他程序员时,他们会对开发这个项目时做出的一些决策感到内疚。我问他们当时为什么选择这样做, 他们会羞愧的说,“唉,我知道这不是最好的实现方法,如果现在再去做,肯定不会采用那样的方式。”有些人可能会辩护,或强调一下外部因素,比如工期压力。 但我的观点是,程序员不需要为老的项目感到太多的内疚。[......]
2012-03-26 03:30 IT技术, 程序员 都等你发言 :)
C++是一种复杂的编程语言,其中充满了各种微妙的陷阱。在C++中几乎有数不清的方式能把事情搞砸。幸运的是,如今的编译器已经足够智能化了,能够检测出相当多的这类编程陷阱并通过编译错误或编译警告来通知程序员。最终,如果处理得当的话,任何编译器能检查到的错误都不会是什么大问题,因为它们在编译时会被捕捉到,并在程序真正运行前得到解决。最坏的情况下,一个编译器能够捕获[......]