为了方便大家查阅,现把2010年08期《程序员》杂志中相关链接及代码发布在此:

微博

原文请见:http://www.programmer.com.cn/3783/

程序天下事

P16 微软技术专栏 推荐资源

视频

在Norwegian Developers Conference技术会议上,C#大师级人物Jon Skeet奉献了一个精彩的课程。

视频地址:http://streaming.ndc2010.no/tcs/?id=AFDB4098-C5C8-49DF-8C2A-7E317F63E72D

P21 数据库技术专栏 新闻快讯

net-security.org

Repscan 3.5扩充对MySQL和DB2的数据库漏洞评估支持

http://www.net-security.org/secworld.php?id=9492

新品发布

iPad周刊

DB Viewer Plus Lite提供iPad与Oracle、SQLServer、DB2、MySQL、PostgreSQL、Access等数据库的浏览及同步功能

http://www.ipadweek.ly/apps/364584373/sys-con.com

针对MapReduce封装的预制分析软件包

http://www.sys-con.com/node/1438569

IT Business Edge:基于亚马逊EC2的数据库集成方案

http://www.itbusinessedge.com/cm/blogs/lawson/new-open-source-cloud-data-integration-solution-runs-on-amazon-ec2/?cs=41731

事件

PostgreSQL停止对较早前版本的支持

PostgreSQL宣称下个关于7.4和8.0版本的补丁将是针对这两个版本的最后一次补丁。

http://www.h-online.com/open/news/item/End-of-support-for-old-PostgreSQL-versions-1029897.html

P23 游戏开发专栏 推荐资源

李巍的博客:http://blog.csdn.net/noslopforever/

P24 安全专栏 本月热点

IT价值联盟

……网址:http://www.itvalue.com.cn/

P29 Web专栏

代码1:

……一起来了解这些领域的应用。

http.createServer(function (req, res) {

res.writeHead(200, {‘Content-Type’: ‘text/plain’});

res.end(‘Hello World\n’);

}).listen(8080, “127.0.0.1”);

代码2:

……处理并发请求效率更高等……

{“id”: “036378”,  “name”: “etai”, “job”: “F2E” }

代码3:

……并且在海量存储、高并发读写方面有绝佳的表现。

var t = db.things.findOne( { name : “etai” } );

P55 《编程语言的发展趋势及未来方向》代码段

代码1:

……如果是用命令式的编程方式,可能是这样的:

var groups = new Dictionary<string, Grouping>();

foreach (Product p in products)

{

if (p.UnitPrice >= 20)

{

if (!groups.ContainsKey(p.CategoryName))

{

Grouping g = new Grouping();

g.Name = p.CategoryName;

g.Count = 0;

groups[p.CategoryName] = g;

}

groups[p.CategoryName].ProductCount++;

}

}

var result = new List<Grouping>(groups.Values);

result.Sort(delegate(Grouping x, Grouping y)

{

return

x.Count > y.Count ? -1 :

x.Count < y.Count ? 1 :

0;

});

代码2:

……但如果使用LINQ,代码便可以改写成:

var result = products

.Where(p => p.UnitPrice >= 20)

.GroupBy(p => p.CategoryName)

.OrderByDescending(g => g.Count())

.Select(g => new { Name = g.Key, Count = g.Count() });

代码3:

……这段代码还可以利用C# 3.0中内置的DSL,即LINQ查询语句来改写:

var result =

from p in products

where p.UnitPrice >= 20

group p by p.CategoryName into g

orderby g.Count() descending

select new { Name = g.Key, Count = g.Count() };

代码4:

……在F#中如果要计算一个列表所有元素之和,也可以使用命令式的风格来编写代码:

let sumSquaresI l =

let mutable acc = 0

for x in l do

acc <- acc + sqr x

Acc

代码5:

……事实上,在F#中更典型的做法是:

let rec sumSquaresF l =

match l with

| [] -> 0

| head :: tail -> sqr head + sumSquaresF tail

代码6:

……例如有这样一段代码:

var a = 0, n = 10;

for (var i = 0; i < n; i++) {

a += i;

}

P62 《ECMAScript 5th中的语言特色》代码段

代码1:

……我们可以这样来声明一个对象的属性:

{

aName : aValue

}

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐