2018
10-17
10-17
服务端I/O性能大比拼:Node、PHP、Java、Go
摘要:本文首先简单介绍了I/O相关的基础概念,然后横向比较了Node、PHP、Java、Go的I/O性能,并给出了选型建议。了解应用程序的输入/输出(I/O)模型能够更好的理解它在处理负载时理想情况与实际情况下的差异。也许你的应用程序很小,也无需支撑太高的负载,所以这方面需要考虑的东西还比较少。但是,随着应用程序流量负载的增加,使用错误的I/O模型可能会导致非常严重的后果。在本文中,我们将把Node、Java、Go和P...
继续阅读 >
埋点作为商业智能(BI)和人工智能(AI)体系中重要的一环,是公司提升产品工程质量、实施ABTesting、个性化推荐服务重要的数据来源。在传统的纯Web和Native开发的产品中,埋点从技术的角度来说未必多深奥,但从业务的角度来说要做到埋点设计规范、流程高效和保证质量却是很难。本文重点介绍一下知乎客户端的埋点模型、流程和平台技术。客户端埋点为什么难?Web端的埋点可以随着新代码上线即时生效,对版本...
时序数据库从抽象语义上来说总体可以概括为两个方面的基本需求,一个方面是存储层面的基本需求:包括LSM写入模型保证写入性能、数据分级存储(最近2小时的数据存储在内存中,最近一天的数据存储在SSD中,一天以后的数据存储在HDD中)保证查询性能以及存储成本、数据按时间分区保证时间线查询性能。另一方面是查询层面的基本需求:包括基本的按时间线进行多个维度的原始数据查询、按时间线在多个维度进行聚合后的数据统计查询需...
编者按:在竞争日益激烈的世界里,创业公司需要比以往更快地将产品推向市场。最小可行的产品,也就是MVP,是实现这一目标的方法,但你必须能够提供正确的关键功能,这些关键功能需要与众不同且能够给用户创造价值。以便在推向市场之前吸引客户和投资者。RST收集了17个成功的MVP的例子,来展示创业公司在开发MVP的关键功能集时,应该关注什么。文章由36氪编译,希望能够为你带来启发。FacebookFacebook推出的所...
作者简介胡健,携程框架高级研发经理,目前负责多媒体服务的构建和研发工作。近些年携程业务突飞猛进,用户遍及世界各地。公司对用户体验也越来越重视,每一个小的功能改动、页面改版的背后,都有大量的A/B实验提供保障。与此同时,与用户体验息息相关的媒体文件的应用质量也被放到重要位置,如图片加载延时、成功率、清晰度等数据。本文将分享携程图片服务架构,包括服务架构的演变过程,以及在生产上实际遇到的...
Nerv是一款由京东凹凸实验室打造的类React前端框架。目前已广泛运用在京东商城(JD.COM)核心业务及TOPLIFE全站。Nerv基于React标准,使用VirtualDom技术,拥有和React一致的API与生命周期,如果你已经对React使用非常熟悉,那么使用Nerv开发对你来说绝对是零学习成本。与此同时,相比于React以及市面其他同类型框架,Nerv更具体积轻量,性能高效的特点。并且,它符合当下国情,可以完美兼容IE8及...
我时不时会发现一种编程语言的不同用法它有时候会改变我对编程的看法啊。这篇文章中,我想分享一下让我惊讶的发现。这不是类似于高呼“函数式编程会改变世界!”博客文章。我敢打赌,大多数读者都没有听说过下面的大多数语言和范例,所以你应该也会被这些新概念吸引。注意:我对以下大多数语言的使用经验都很少,但是我发现他们背后的想法非常吸引人,但对其没有专业知识,所以有任何错误请指出并指导更正。如果您也有新的...
我是——编程世界的函数,不是数学中的幂,指,对和三角函数等等,但是和f(x)又有着千丝万缕的关系。我是代码中的最小执行组织,但不是最小执行单元。最小的执行单元是一条条语句,这些语句有机地组合起来完成一个或多个功能并且可以复用,这才是我——函数。内存与堆栈和我之间是啥关系?有无参数的我有何异同?我的简洁性?复杂度如何评估?我的高阶与递归有啥区别?我的回调和匿名是一回事么?对象中的方法是...
函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。–wiki例子一累加运算//sumList<Integer>nums=Arrays.asList(0,1,2,3,4,5,6,7,8,10);publicstaticIntegersum(List<Integer>nums){intresult=0;for(Integernum:nums){result+=num;}returnresult;}sum(nums);//->46同...
OAuth是一个用于定于授权的开放标准,目前已经发展到了2.0的版本。它可以让用户允许第三方应用程序访问该用户存储在某一个网站或者系统上面的资源(比如照片,联系人)而不用提供密码给该第三方应用程序,并且还可以限制权限和有效期。OAuth做到了一下这两点:不需要将用户名和密码提供给第三方应用而是通过令牌让第三方应用访问资源每一个令牌授权一个特定的应用在特定的时段内访问特定的资源应用...
Facebook将GraphQL作为开源项目发布已经有两年的时间了。从那时算起,社区就以指数级的速度在增长,现在成千上万的公司在生产环境中使用GraphQL。在2017年10月举行的GraphQL峰会上,我非常荣幸地受邀在第二天演讲。读者可以在YouTube上观看完整的视频,也可以通过阅读本文对演讲有一个大致的了解(演讲的演示文稿可以在SlideShare站点下载——译者注)。首先,我会简要介绍一下GraphQL的现状,然后阐述它未来一段时间...
函数式编程中函数有三种不同的解读方式,分别为纯函数、高阶函数和一等函数。本文分别对这三者的概念、应用和联系进行详解。纯函数定义:1.相同的输入必定产生相同的输出2.在计算的过程中,不会产生副作用满足上述两个条件,我们就说该函数是纯函数。纯函数也即数学意义上的函数,表达的是数据之间的转换(映射)关系,而非计算步骤的详述。数学函数的定义:函数通常由定义域X、值域Y,以及...