采用 XML 的人遇到的老问题是,在 XML 的设计中什么时候使用元素,什么时候使用属性。对于多数设计而言,这个问题很少有绝对的答案,但是开发人员也确实体会到缺乏明确的原则来帮助他们作出决策。本文中,Uche Ogbuji 就什么放在元素中什么放在属性中提供了一些指导原则。
分类存档: 技术
架构腐化之谜
新技术层出不穷。过去十年时间里,我们经历了许多激动人心的新技术,包括那些新的框架、语言、平台、编程模型等等。这些新技术极大地改善了开发人员的工作环境,缩短了产品和项目的面世时间。然而作为在软件行业第一线工作多年的从业者,我们却不得不面对一个现实,那就是当初采用新技术的乐趣随着项目周期的增长而迅速减少。无论当初的选择多么光鲜,半年、一年之后,只要这个项目依然活跃,业务在扩张——越来越多的功能需要加入,一些公共的问题就会逐渐显露出来。构建过慢,完成新功能让你痛不欲生,团队成员无法很快融入,文档无法及时更新等等。
在长期运转的项目中,架构的腐化是怎么产生的?为什么常见的面向对象技术无法解决这类问题?如何延缓架构的腐化?
URL的#
去年9月,twitter改版。
一个显著变化,就是URL加入了”#!”符号。比如,改版前的用户主页网址为
http://twitter.com/username
改版后,就变成了
http://twitter.com/#!/username
在我印象中,这是主流网站第一次将”#”大规模用于直接与用户交互的关键URL中。这表明井号(Hash)的作用正在被重新认识。本文根据HttpWatch的文章,整理与井号有关的所有重要知识点。
几个计算机专业工具页面
Java和C#的完整比较。这是一个相当完整的比较Java和C#语言的网页。很有意思,有助于你了解Java和C#的各种特性和不同。
SQL 性能调优。这个文档覆盖了IBM DB2, MySQL, Oracle,PostgreSQL 和 Microsoft SQL Server。不过这个电子书还没有写完,你可以使用其RSS, twitter 或 Facebook 来跟踪其进度。
Clever Algorithms。这个电子书也是免费的。其主要面向一些AI和面向自然的算法,一共45个。其包括概率随机算法,迭代进化算法,物理算法,可能性算法,蚂蚁蜜蜂式算法,免疫算法,神经算法等。里面大量的高等数学公式对我来说我已经看不懂了。不过,我相信这个电子书非常适合搞理论研究的人,或是需要抄袭一篇论文以顺利毕业的人使用。
据称必应搜索结果优于谷歌
近日,据国外媒体报道,微软要将必应打造成为“决策引擎”而非仅仅是搜索引擎。公司称,必应能够提供更易理解的搜索结果。这表明,之前的市场营销策略是正确的。
根据市场分析公司Experian Hitwise的调查显示,上个月,必应的搜索结果成功率是81.5%。而谷歌的仅为65.5%。
网站UI实现的8种方式
对于网站来说,UI最终的形式无非是(X)HTML + 脚本 + 样式,现在的问题是怎么样生成这些前端的元素,在以下几个方面达到平衡:
(假设有开发和前端两种角色,前端负责表现逻辑和表现,而开发负责业务逻辑和业务数据)
1) 开发人员的工作量,工作难度
2) 前端开发人员(后面省略为前端)的工作量,工作难度
3) 产品(假设前端属于产品部)对UI的改动需求能否快速落实(能否只依靠前端实现)
4) 服务端的压力(客户端的性能问题暂时不考虑)
“从日志服务器接收blogger.getuserblogs响应无效”的解决方案
注:“从日志服务器接收blogger.getuserblogs响应无效”错误出现的原因有很多种,本文只是分析了其中一种情况。