摘要:
乍看这是一个引人思考的深层次问题,在编程专业中常有这样的误解,软件开发就是写代码。软件开发实为一门艺术,而代码仅仅是通往艺术之门的工具。好比燃料和画布是画家的工具一样,写代码的目的是实现某种策略和思路。对程序员来说,他的目标是开发出完整的软件系统,按照需求完成各个功能模块或许是某种无形的思路、特性。比如一个深思熟虑的架构、明确的内部组织和代码质量,最后将这些进行整合。画家每隔一小段时间会停下来重新评估进展和绘画,看看是否达到自己的要求,程序员也一样,必须定期审查代码、查看进展、检查思路是否实现。 那么你平时是如何工作的呢?是否确定工作区后就埋头苦干?什么都无法阻止你的前进呢?如果这个描述很适. 阅读全文
摘要:
本来题目想写为“十八年开发经历总结”,但是一想我的开发生涯还没结束,怎么就总结了呢。再说个人的一些积累和看法也不一定正确,所以还是改为小结比较妥当,言下之意自己还需要继续积累进步。本文主要谈几点个人的体会,这些内容有一部分可能只是我自己遇到的问题,相信还有一些其他程序员也曾遇到或者面对过。之前看到这些问题也思考过,三言两语回复过,现在以小结的方式写出来,算是对自己十八年经历的一个回顾。 一、如何开始写程序的 第一次接触电脑当然是在学校里,可以说什么都没学到,也什么都没学会,相反只是增加了对电脑的恐惧。第一次真正意义上让我开始学习电脑是在1992年,我所在的部门负责销售电脑。由于那时PC(当.. 阅读全文
摘要:
我总是拖延。我会把一件要做的事拖到最后一刻才开始。我还学会了用后期的超高效来弥补之前的拖延,反正我最终我总能在 deadline 之前完成它!但我知道我的问题就出在:当我坐下开始工作时,我总是先去做一些其他无关紧要的事。我把这种称为轻态拖延,很可能你也是这样,它有以下“症状”:坐下来开始工作前,总是习惯先上微博或者浏览其他好玩的网站;总告诉自己说开工前有 10 分钟的让自己放松的时间;总会先去做那些很琐碎且不太重要的事,比如查邮箱等等。 最后我就有了这个定式行为:坐在桌前,一般半小时或一个小时后才会真正开始工作。而一旦我真的开始了,就会发现没有什么能让我再分心,会顺利地完成工作。我开始意识到. 阅读全文
摘要:
在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。 因此,无论如何,我们都要对内存有一个清晰的理解。 一、对内的分配 32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有内存(0x00000000—0x7FFFFFFF)。即理论上支持如下的大数组:char szBuffer[2*1024*1024*1024]; 当然,由于在实际运行时,程序还有代码段、临时变量段、动态内存申请等,实际上是不可能用到... 阅读全文
摘要:
为什么我们要学习函数式编程?为获得更好的软件设计技术! 一天,我们设计了一个流程,来校对款项的收支平衡。下面这张图就是我们在几年前设计出的结果: 那以后我们开始学习函数式编程。函数式编程让我们以数据流的方式思考过程处理:数据进来,做变换,过滤,计算,最终的结果就是输出。不仅软件是这样工作的,每段代码,每个函数,都模型化成数据输入,数据输出。中间没有状态的变换。 按这种方式思考问题使我们得到了这样的流程图: 把程序当成数据管道的思考方式使我们关注结果应该是什么,而不是每一步应该如何做。这种更高层次的思考问题的方式使得我们在系统设计阶段避免陷入细节实现的泥潭中。 不管用什么语言写成解决方... 阅读全文
摘要:
摘要:本文主要与您探讨异常以及异常处理相关方面的一些知识,主要包括检查异常与非检查异常的理解,多视角观察理解异常,进而探讨关于构建稳健且可扩展的异常框架方面的一些设计原则。 概述 一般情况下,企业级应用都对应着复杂的业务逻辑,为了保证系统的健壮,必然需要面对各种系统业务异常和运行时异常。 不好的异常处理方式容易造成应用程序逻辑混乱,脆弱而难于管理。应用程序中充斥着零散的异常处理代码,使程序代码晦涩难懂、可读性差,并且难于维护。 一个好的异常处理框架能为应用程序的异常处理提供统一的处理视图,把异常处理从程序正常运行逻辑分离出来,以至于提供更加结构化以及可读性的程序架构。另外,一个好的异常... 阅读全文
摘要:
你可以认为我是一个极端的人,就像有许多人专注于自己的领域而不屑于其它“肤浅”的工作范畴一样。比如我见过不少认为做portal没有技术含量的判定,做工程都是充满苦逼行为的言论,最近则还有那些“大数据”崇拜者的疯狂吐槽……我的极端则有些不同,我的极端在于我认为绝大多数优秀的程序员,都要尝试多方面的事情。并不只有底层开发或者机器学习充满睿智的挑战,我做了几年网站,很难说这就是我最初的兴趣,虽然也在接触和学习其他的领域,但是依然觉得,做网站仍旧充满挑战,互联网真是一个奇葩充斥的地方。 前端开发,则是这“多方面的事情”中的一个重要方面。潜心尝试过的人兴许会有这样的体会,这是一片崭新的世界,无论是理... 阅读全文
摘要:
ArcGis Server10 for java初试(语言组织的不是太好,见谅!)做电力行业的配网自动化项目,经理让加上gis这块并在这之上扩展诸如:整个县的电网结构、停电模拟、电网设备状态显示、带点区域显示等。最终经理让用Arcgis server10做基于WEB的, 用java平台。在网上泡了一段时间后,终于把arcgis desktop、arcgis server、arcgis engine都下载下来了,并安装在自己机器上了。其中我只用到了arcgis server部分,如下图: 文件安装目录如下:1、 安装JDK1.6、MyEclipse8.6及Apache Tom... 阅读全文
摘要:
API函数大全1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 WNetEnumRes. 阅读全文