一些重要的算法

摘要: 下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了) A*搜寻算法 俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。 Beam Search ... 阅读全文
posted @ 2013-06-04 21:56 陌上有缘 阅读(148) 评论(0) 推荐(0)

iOS学习笔记—Objective-C 委托、非正式协议、正式协议

摘要: 一、概念:1、委托(delegate,也叫代理):当一个对象接受到某个事件或者通知的时候,会向它的Delegate对象查询它是否能够响应这个事件或者通知,如果可以,这个对象就会给它的Delegate对象发送一个消息(执行一个方法调用)。在这种机制下,您可以不进行子类化和方法重载,而是将自己的定制代码放到委托对象中,从而避免对复杂对象进行修改。当您感兴趣的事件发生时,复杂对象会将消息发送给您定制的委托对象。您可以通过这种“挂钩”执行自己的定制代码,实现需要的行为。2、非正式协议(informal protocol):使用类别category来实现,非正式协议是NSObject的一个类别,这样任何 阅读全文
posted @ 2013-06-04 19:56 陌上有缘 阅读(260) 评论(0) 推荐(0)

程序员学习能力提升三要素

摘要: IT 技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。 众所周知,现在是一个知识爆炸的时代,知识更新非常快。据测算,一个大学毕业生所学到的知识,在毕业之后 2 年内,有效的不过剩下5%。对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于我们现在掌握了多少知识,而是我们有多强的学习能力。 学习人人都会,但不同的人学习效果却千差万别。一个善于学习的人,首先应该是一个善于读书的人,懂得如何高效地学习,并且拥有良好的心态。唯有如此,才能成为一... 阅读全文
posted @ 2013-06-04 18:51 陌上有缘 阅读(114) 评论(0) 推荐(0)

Base 64 Encoding 编码

摘要: Base 64 Encoding有什么用?举个简单的例子,你使用SMTP协议 (Simple Mail Transfer Protocol 简单邮件传输协议)来发送邮件。因为这个协议是基于文本的协议,所以如果邮件中包含一幅图片,我们知道图片的存储格式是二进制数据(binary data),而非文本格式,我们必须将二进制的数据编码成文本格式,这时候Base 64 Encoding就派上用场了。 (一)编码原理 Base 64 Encoding 的编码原理是将每三个字节(byte)转换为四个字符,每个字符占6 bit。 6 bit一共有64种组合方式,也就是说该编码共需要使用至少64种字符... 阅读全文
posted @ 2013-06-04 18:16 陌上有缘 阅读(311) 评论(0) 推荐(0)

IT单身男士必看【找女友-单身程序员】

摘要: 来源:龙道名义发布时间: 2012-02-18 16:22阅读: 4449 次推荐: 0原文链接[收藏] “找男友”就不写了,没经验。 半年前,正好同部门的一个小女生找到男朋友,好像也是IT人士。大家一起吃饭的时候,就聊到这个话题,当然,是从女方的角度。 一个问题,就是怎么判断这个男朋友是否值得托付终身。当时沉思良久,说出了这些现实而又令人倒吸一口凉气的话: “主要问题不是他爱不爱你,而是他是否值得爱。男人还是要找有能力的,这不是说要抛开喜欢的人去攀龙附凤,而是要等到他证明自己的能力时再做决定;同样,也要鼓励他证明自己的能力。” 这整体上是一个理性思维的结果,可能不太适合最浪漫的爱情... 阅读全文
posted @ 2013-06-04 18:06 陌上有缘 阅读(179) 评论(0) 推荐(0)

工程师如何不被PM欺负

摘要: 作者: andy来源:KuoBrothers发布时间: 2012-04-17 21:22阅读: 7825 次推荐: 0原文链接[收藏] 老师教我们怎么写程序,但从来没告诉我们在公司里,会有个叫做 PM 的人每天分派作业给我们,还逼著我们赶快做完。这是许多软件工程师进入职场的第一个惊喜。隔了不久,还会发现,这些可能把你压得死死的 PM,多半一行程序都不会写。于是我们会面临一种很矛盾的心情,有时候会是一种有点被欺负的心理。这篇文章是前一篇文章PM 如何突破工程师的心防的延伸,我们讨论的是工程师在这样状况下的生存之道。 (1) 提高自己的能见度 在非常多的公司,上层的老板或公司的大老板只看得到... 阅读全文
posted @ 2013-06-04 17:48 陌上有缘 阅读(122) 评论(0) 推荐(0)

如何成为一名优秀的C程序员

摘要: 英文原文:To become a good C programmer 问题的提出 每过一段时间我总会收到一些程序员发来的电子邮件,他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程语言的。因此,我认为在这篇博文里列出一些有关C语言的最佳读物应该能帮到不少人。如果你知道其它的优秀读物,请给我发邮件或者直接在评论栏中告诉我吧。 问题的解答(你可以略过这部分) 我在之前的一篇博文中已经提到过了,目前为止,所有我所编写的商业 3D 引擎 95% 都是 C89(也称作标准C,或 ANSI C)。我之所以选择 C89 而不是 C99 是因为有些编译器仍然不能完美支持 C99... 阅读全文
posted @ 2013-06-04 17:47 陌上有缘 阅读(157) 评论(0) 推荐(0)

最常被程序员们谎称读过的计算机书籍

摘要: 英文原文:Books Programmers Claim to Have Read 马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。 在Stack Overflow(以及其它很多软件论坛)上,诸如”程序员最应该读的计算机书籍有哪些?“这样的问题会周期性的出现。这样的问题不断的被提出、被回答,只是形式不同罢了。相同的几本书总是会出现在清单的前几名内,所以,如果想知道人们谈论的都是些什么,你有必要去读一读这些书的。 大多数程序员真正读过的计算机书籍代码大全(Code Complete)——两届 Software 阅读全文
posted @ 2013-06-04 17:41 陌上有缘 阅读(126) 评论(0) 推荐(0)

打开苹果电脑浏览器的代码

摘要: [[NSWorkspace sharedWorkspace] openURLs: urls withAppBundleIdentifier:@"com.apple.Safari" options: NSWorkspaceLaunchDefault additionalEventParamDescriptor: NULL launchIdentifiers: NULL]; ... 阅读全文
posted @ 2013-05-27 10:18 陌上有缘 阅读(315) 评论(0) 推荐(0)

NSWindow,一些有的沒的

摘要: 如果你有其他的平台的经验,来写 Cocoa 应用程式,可能会发现 NSWindow 的行为跟你想得似乎不太一样。 ※ NSWindow 属于 View 虽然现在的 GUI 应用程式的架构大都遵循 MVC 的设计典范,但是不同的 Framework 之间,那个部分属于 View,那个部分又属于 Contoller,规划却又不尽相同。在许多 Framework 的设计中,Window 被当成是... 阅读全文
posted @ 2013-05-27 09:57 陌上有缘 阅读(1397) 评论(0) 推荐(0)