Google于不久前发布了一门全新的开源编程语言名为Go。Go语言的设计最早始于2007年9月,设计者包括Robert Griesemer, Rob Pike和Ken Thompson,后来Ian Lance Taylor实现了基于GCC的go编译器gccgo,Russ Rox的加入推动了语言和库的实际可用性。它于2009年9月被官方正式宣布发布,兼容Linux和Mac操作系统。
从VS 6到VS 2003,再到VS2005,再到VS2008,再到现在使用的Visual Studio 2010,从5月份BETA1测试到10月BETA2公开下载,这一次的Visual Studio 2010带来了许多令人振奋的新功能,包括提供更高的程序开发效率、更精简的程序代码、更佳的安全性能。可以说,Visual Studio 2010将是今年来的集大成者,必将成为开发者手中的利器。
在这个月,ThoughtWorks公司发布了2010年的技术前瞻(PDF),这份白皮书包含了ThoughtWorks在四个主要领域中的技术策略和趋势:技术、工 具、语言和平台。
针对每一个领域,ThoughtWorks提出了一个技术列表,并分为四类:采用、试用、评估和保留。采用意味着在企业中推荐使用这个技术。试用意思是这个技术值得投资,但应该只用于低风险项目中。评估是指技术值得考虑和学习如何使用,以及它们的潜力所在。保留则意味着目前不值得花费精力和资源在某些技术上。
Boost.Asio是一个跨平台的C + +库,它用现代C++方法为网络编程人员提供一致的异步I/O模型。首先对Boost库简单介绍下,boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。boost库远远超越了C++标准库它提高了程序运行的效率,提高游戏的质量,它使C++编程更加优雅、健壮和高效。
软件被破解,可执行EXE文件被人修改Logo和软件名称的事情层出不穷。
有人说,这种破解还是比较低层次的破解,如果破解者反编你的代码,稍微改造,制造出一个优于原先程序的新软件,是最可怕的一件事。C#代码可以被反编译,C++代码反编译虽然相对困难一些,也一样可以被反编译。
如何相对有效保护发布程序,让反编代码的人,觉得你的代码像个刺猬,即使反编,也收获甚微?
这两天偶然发现内部网站程序(PHP写的)有些问题,一查结果发现出问题的地方是使用了exec去调用了一个外部程序(C++编写)对用户输入的数据进 行了一些特殊处理并返回结果,产生问题的原因是没有对用户输入的数据没有处理就直接给exec去用了,哇塞,这可是一个相当严重的安全漏洞啊(应该用 escapeshellarg或者escapeshellcmd对用户输入数据做处理)!而且本身调用效率也不高,综合考虑了一下,因为本身调用的外部程 序逻辑也挺简单的,所以决定写一个PHP扩展,把外部程序需要的功能直接包含进来。呵呵,下面就介绍动手的步骤,由于我是在FreeBSD上,并且我的PHP是通过ports安装的因此决定结合ports来做:
-
得到PHP扩展样板代码(我举例的版本是5.2.10):
#cd /usr/ports/lang/php5
#make #make之后才会有work目录,里面就有PHP的完整代码目录
#cd work/php-5.2.10/ext #ext目录便是php扩展代码存放的目录
#./ext_skel –extname=myextension #扩展名为myextension
