04 2012 档案
摘要: 线段树,及 RMQ ST 。。。
阅读全文
摘要: 回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能 —— 阅读代码,编写程序,阅读书籍,听讲座,看视频,等等。
我的问题是:你做过的最有效的提高你的编程水平的一件事情是什么?对于那些想提高水平的程序员,你的建议是什么?
我希望你们提供的答案是各种各样的,并且不是那种“放之四海而皆准”的答案 —— 我希望得到适用于不同人的不同的答案。。。
阅读全文
摘要: 搜索题,本来是简单题,但我犯了错误。。。
阅读全文
摘要: EOJ 1981 Sticks
POJ 1011 Sticks
HDOJ 1455 Sticks
UVA 307 Sticks 。。。
阅读全文
摘要: PM 常常遇到一个难题,就是有好多东西想要做,但无奈什么事都得通过工程师,没办法自己动手,于是因为和工程师不太美好的关系,最后实际的产品都没有设计时看起来好。我这边讲的是「网路公司」的状态,PM 泛指那些规划出产品的人。其他产业也许也有类似情形,以下这些「教战手则」,提供给正在摸索自己生存之道的 PM 一些参考。。。
阅读全文
摘要: 老师教我们怎么写程序,但从来没告诉我们在公司里,会有个叫做 PM 的人每天分派作业给我们,还逼著我们赶快做完。这是许多软件工程师进入职场的第一个惊喜。隔了不久,还会发现,这些可能把你压得死死的 PM,多半一行程序都不会写。于是我们会面临一种很矛盾的心情,有时候会是一种有点被欺负的心理。这篇文章是前一篇文章PM 如何突破工程师的心防的延伸,我们讨论的是工程师在这样状况下的生存之道。。。
阅读全文
摘要: KISS – Keep It Simple Stupid
DRY – Don’t Repeat Yourself 。。。
阅读全文
摘要: 看归看了,但习题没做,学习效果打了折扣。。。
阅读全文
摘要: 最近的几个月,我一直在学习一种叫Haskell的编程语言。由于里面有太多的从未遇到的编程概念,整个过程就像是完全重新学习如何编程。在i.TV网站上,我写了很多JavaScript(node.js和前端代码)。虽然有不少的函数式/haskell式的编程模式不能引用进来,但仍有大量的技术思想让我在使用javascript编程语言时受益不少。
你会发现Haskell库里有能够处理各种事情的各种各样的函数。起初我以为这些只是一种技术上的积累,但随后我认识到,这些函数相比起其它语言里的函数,它们能应用到形式更广泛的问题中。这使得它们更有价值,因为我们都不太喜欢对一些常见的问题还不得不自己去写解决方案。。。
阅读全文
摘要: 一日,你查看你的程序代码,你有两大块代码看起来几乎完全的一样。事实上它们就是完全一样,除了一个代码里说的是“Spaghetti(意大利面条)”,另一个代码里说的是“Chocolate Moose(巧克力慕丝)”。。。
阅读全文
摘要: 在一个创业公司里,最初的十个人决定了这个公司的成败与否。。。
阅读全文
摘要: 心理学家与专业魔术师迈克尔·格尔博提出了“达·芬奇与众不同的7种天才特质”。他阐述为好奇心、悟性、艺术和科学、关联、开阔、细致和合作精神。然而,这些特质本身并没有什么超前性,它们却使达·芬奇能够从不同的角度看事物,从而能够去思考不同的事物,驱动创新。。。
阅读全文
摘要: 可能除了哲学家以外,我认为程序员是最懒的一群人。他们的职业看起来又似乎有一定的劳动强度。。。
阅读全文
摘要: 马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。。。
阅读全文
摘要: 如何设计出具有优秀用户体验的产品是交互设计师始终面临的一道难题,“好的产品设计一定是建立在对用户需求的深刻理解上”这句话被许多设计师视为设计的天条;至于在设计中如何发现并深刻理解用户的需求,并由此设计出具有优秀用户体验的产品,阿里巴巴的UED团队在多年的产品设计实践中总结出重要的五项原则。。。
阅读全文
摘要: 工程师有喜欢解决问题的天性,尤其不能忍受他的系统里面有 bugs。所以只要碰到问题,他就想要把它们通通解决掉,似乎只要能够解决越多问题,他就能够创造越多价值。这样的逻辑在企业用软件的开发、维护中,或许是对的,但拿到消费者市场里面,却几乎是杀死创业者最重要的原因。。。
阅读全文
摘要: 上课的时候记笔记?哪门功课不行,就集中精力专项突击?自习的时候不要晃,选好一个地儿安安稳稳地待那儿学习?你还在这样学习吗?不要被骗了:这些被我们奉为良好学习习惯的东西,恰恰是冒了学习正道的大不韪。。。
阅读全文
摘要: 假设你是正在开发和维护一个包含 2000 个类并使用了很多框架的 Java 开发人员。你要如何理解这些代码?在一个典型的 Java 企业项目小组中,大部分能够帮你的高级工程师看起来都很忙。文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况?这篇文字为开始一个新项目的 Java 开发者提供了一些建议。。。
阅读全文
摘要: 历史已经证明,软件设计的缺陷一直是导致其漏洞被利用的最主要的罪魁祸首。安全专家发现,多数漏洞源自常见软件中相对有限的一些漏洞。软件开发者和设计者应当严格检查程序中的各种错误,尽量在软件部署之前就减少或清除其中的漏洞。。。
阅读全文
摘要: gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。
在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数OLTP应用程序则注重整体效率。理解了应用程序的工作负荷和jvm支持的垃圾收集算法,便可以进行优化配置垃圾收集器。
垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。。。
阅读全文
摘要: Java 语言可能是使用最广泛的依赖于垃圾收集的编程语言,但是它并不是第一个。垃圾收集已经成为了包括 Lisp、Smalltalk、Eiffel、Haskell、ML、Scheme和 Modula-3 在内的许多编程语言的一个集成部分,并且从 20 世纪 60 年代早期就开始使用了。在 Java 理论与实践的本篇文章中,Brian Goetz 描述了垃圾收集最常用的技术。在以后的几个月,他将分析 1.4 JVM 所使用的垃圾收集策略、不同垃圾收集策略对性能的影响和如何才能(以及如何 不能)帮助垃圾收集器取得更好的性能。。。
阅读全文