首页 > 技术文章 > 思考技术(二) —— 技术背后的思想

lovesqcc 2015-01-28 22:33 原文

 

    无极生太极,太极生两仪,两仪生四象,四象生八卦,八卦演万物。

 

  新技术层出不穷。 那么, 新技术的产生规律是怎样的? 是否可以通过探究和掌握这些规律, 更好地创建新技术? 

  一项成熟的技术通常能够很好地完成一件重要的事或解决某个麻烦, 并且相比之前而言更加先进, 相比其他实现而言, 具有某些明显的特色优势及不影响的缺点。这意味着一项新技术往往要在多个待定目标中作出权衡和决策, 并尽力在目标方向上做到最好,在非目标方向上做到不逊于其他。

  新技术往往与环境的变化有密切关联。当环境发生变化,比如由“信息发布模式”变化到“信息共创分享模式”,所要处理的数据量产生了量级变化,数据关系也有了新的特征,也就催生了大数据技术和社交网络技术;而在新环境中的新的技术,又会对原有的实现方式产生变革的影响。比如云环境中 Docker 技术对于传统方式的应用部署的影响。这意味着,要更好地跟进和创造新技术,必须密切关注环境的变化和新技术的诞生,有效运用新技术的力量助推产品和服务品质的提升。

  这里面还有一个关键点,就是对人和社会的需求的理解、以及如何去满足这些需求的理解。不同的理解会导致着力点的不同,产生不同的技术方案。

 

   新技术往往是思想在不同场景和环境下的变通、实践和实现。本文探究新技术背后的思想。

 
 
云计算:资源和服务的集中化、虚拟化管理在IT基础设施建设上的体现;
 
大数据:试图从统计学角度通过海量数据分析来揭示自然和社会的心理、行为和活动的规律,从而更好地预测和决策。
 
HTML5,模板引擎,语言与编译器: “标记-解释器”思想在前端开发中的应用。html/js/css 本质上是一套完善的标记系统,而浏览器是其解释者。标记系统可以从语义上更加智能化。
 
web框架: 关注点分离、封装、高内聚低耦合。从最开始的servlet 前后端耦合,到 jsp 试图通过标记系统将后台代码与页面分离,到velocity 进一步消除后台代码在页面的存在,到springMVC+Restful 风格,后台仅提供数据,前端自由发挥。逐渐实现了前后端的彻底分离,只保留一个ajax的异步通信层。框架是一种持续追求解耦与灵活性平衡的艺术。
 
KMP,RETE,索引:预处理、有效冗余,空间换时间。通过预处理获得对后续处理需要的冗余数据或特征,从而获得高效算法。RETE算法即是对一系列产生式规则预先构造一个用于匹配规则的排序网络,从而避免对原规则集重复遍历。该排序网络可完全等效地表达对应的规则集合。
 
SpringIoc, 订阅者机制,事件机制: 控制反转思想在软件框架、架构上的体现。从客户端主动到服务提供者fetch所需,反转到服务提供者根据客户端特征、预先的订阅监听主动推送数据到客户端。
 
互联网,PageRank,推荐: 利用事物之间相互联系的属性做文章。互联网体现了事物之间的社会性,PageRank利用了网页之间相互链接的特性,推荐系统利用人们之间兴趣、需求等存在普遍性和特殊性的规律。
 
移动应用,可穿戴设备:  随身携带,小而美,受限环境。移动应用和可穿戴体现了计算设备在受限的资源环境下的迁移和应用,从而具备了自己迥异于PC端的独特性: 小而美, 便携。
 
GUI与命令行: 便利性与灵活性的权衡,易用性。易用性要针对目标群体而言。一般来说,GUI更方便易用但不灵活,命令行更灵活,但不够易用,需要大量学习。
 
免费应用:模式创新。 工具免费,服务增值,精准营销。以缺钱的用户为基,赚有钱人的钱。比如Google 实际上利用人们的搜索行为隐私来改善技术完善服务,提高口碑和信誉,然后通过精准投放广告赚钱。可谓取之于民,用之于民。
 
病毒,链式反应: 极微,自我分裂, 快速可复制。 这些特征导致病毒、链式反应具备极速扩散的能力, 进而造成大范围的破坏力。
 
linux 命令行, 流水线: 小而美,协作, 管道, 过滤器。 通过小而美的模块、工具、工序的相互协作, 构造出健壮稳固的整体。 
 
面向对象: 独立逻辑元,封装,消息传递,协作。将紧密相关的数据、状态与行为封装成独立逻辑元,通过消息传递通信,各司其责,相互协作来完成整体目标。方法的参数是逻辑元接收的消息,方法的返回值是逻辑元对外部的回答。因此,逻辑元的接口方法最好有输入参数和返回值。
 
负载均衡:  对等服务, 流量路由。通过负载均衡将大量请求或类流量体分流到提供对等服务的多个实际服务提供者, 从而能够水平扩展请求处理能力, 避免单点故障。
 
继承,多态,模板:相似性,可复用,普遍,特殊,多样性。 运用事物之间相似性与多样性、普遍与特殊的规律实现兼具可复用代码与灵活性的技术手段。
 
缓存:高速,邻近,近水楼台先得月。 缓存的成本通常较高, 容量小, 必须保证高命中率, 要根据具体场景和业务特征慎重考虑缓存更新策略。
 
优先级: 冲突消解策略。 通过确定优先级, 从而在多个待做事项中选择当前最重要的事项, 确保高效能工作。冲突消解的另一个策略是利用矛盾双方的转化, 矛盾的一方的解决在后续会促进矛盾另一方的发展, 从而整体上消解矛盾。 比如成本和质量的权衡。提升质量需要投入大量成本, 同时高质量产品更容易建立好的信誉和品牌, 创造更多的财富。苹果产品是一个非常典型的例子。 在产品品质上投入大量精力, 从同质化产品中脱颖而出, 从而获得了巨大的利润。家庭和工作是另外一个矛盾体。 维持家庭的温馨需要花费大量的精力和财力, 而财力必须通过工作来收获。 如果过于注重工作导致家庭的纷争或破裂, 会对工作造成很大的负面影响。矛盾的消解要善于利用矛盾双方的互存互惠关系, 不能过分倾向于一方。
 
 

推荐阅读