2022-09-01 16:30:00 ~ 2022-09-02 16:30:00
数据分析总是离不开各种指标和术语,最近我花了一周整理了共120个数据分析指标与术语:用户数据指标、行为数据指标、业务数据指标、数据分析术语、统计学常用语、数据报告常用术语。
登录后可查看文章图片
本文从飞书 Android 升级 JDK 11 意外引发的 CI 构建性能劣化谈起,结合高版本 JDK 在 Docker 容器和 GC 方面的新特性,抽丝剥茧地介绍了分析过程和修复方法,供其他升级 JDK 的团队参考。
登录后可查看文章图片
多渠道打包对于每一个Android开发来说应该都不陌生,从最早的Eclipse上纯手动打包到Ant脚本打包,再到现在Android Studio的自带的渠道配置,以及gradle脚本实现批量打包。
登录后可查看文章图片
我们在测试过程中,经常遇到需要构造大量测试数据的业务需求,比如:统计和计费,我们需要统计近一个月甚至更长时间的测试数据来测试数据统计的变化趋势,统计值的准确性,这些数据有些需要通过数据库SQL生成,有些需要通过调用业务接口生成,有些需要通过kafka消费数据,有些需要借助平台、语言脚本、工具能力根据数据规则生成等等。
除了自己手动在数据库写入数据外,如果系统有暴露数据接口(通过接口可以构造产生大量的数据),我们优先通过调用数据接口去产生数据,这样不会产生大量的脏数量,也能保证数据的真实准确性。调用接口的好处是可以借助接口测试数据。可以根据数据构造的需求灵活使用接口调用工具,通过构造测试场景、定时器、数据构造脚本等方法,不需要手工输入大量的测试数据,就可以模拟用户使用来产生数据;
业务系统中,需要手工进行业务数据构造,可以将重复的操作步骤,制作成自动化脚本。
登录后可查看文章图片
作为 APP 体验的重要环节,启动速度是各个技术团队关注的重点。几百毫秒启动耗时的增减都会影响用户的体验,并直接反应在留存上。本文介绍了心遇团队在启动优化上所做的工作,以及在优化实践中所获得的一些感悟。
登录后可查看文章图片
支付宝商家体验主要针对商户反馈的痛点,在各大站点部署了商户反馈组件,重点反馈质量建设,不仅在质量分层活动中的用户体验保障层,有了打点的产品和应用场景,解决商户反馈问题,另一方面,也是在整个定义问题、分析问题、解决问题的一次较好实践,把质量技术真正当做一个业务来做。
再次面对体验的课题,以及有一定基建的基础上,如何定义问题,并做好相应的解决方案,如何从1做到1.1。这里老生常谈“定义问题”,因为不论是技术还是业务,首先要回答的是“你要解决的问题是什么”,支付宝首席架构师墨颜也提到“架构师最重要的能力就是定义问题”,要不停的追问和思考,当把问题有了一个全面清晰的认识之后,后面很多的设计工作就是自然而然。
登录后可查看文章图片
H5和小程序的开发工具就非常不同,小程序都是依赖于微信客户端的,所以相对来说开发工具没有H5那么多;
而且两者的开发语言也都是不同的,微信小程序有自己的一套标签与样式语言,与标准的H5语言是不一样的;而且还独立了很多的原生app的组件,所以它在组件封装上面与H5也都是有所不同的。
因此,开发一个H5,需要从开发工具、前端框架、模块管理工具、任务管理工具,还有UI库选择、接口调用工具、浏览器兼容性等等,都需要考虑周到。尽管大多数开发者面对这些工具时,都有了自己的配置模板,但成本依然不低!
微信小程序的开发使用了改自js、CSS、HTML的语言,同时提供了各种自有的组件和API,是一套为微信量身打造的自定义的语法。因此,不用担心浏览器的兼容性,不用担心莫名其妙的bug,而且在微信中小程序的使用体验比普通H5更加顺畅、快捷。
登录后可查看文章图片
在本文中,我们将研究如何使用我所说的 Singleton Promise 模式来改进并发的 JavaScript 代码。
首先我们会看一个常见的延迟初始化用例。然后我们将展示一个简单的解决方案,如何包含竞争条件错误。最后,我们将使用单例 Promise 来解决竞争条件并正确解决问题。
登录后可查看文章图片
Uber uses MySQL as the underlying database engine for Schemaless and Docstore, our distributed databases. By default, MySQL uses the most popular InnoDB engine, a B+Tree structure for data storage. MyRocks is a MySQL storage engine that integrates with RocksDB, an open source project. The RocksDB store is based on the log-structured merge-tree (or LSM tree) and is optimized for fast storage and combines outstanding space and write efficiency with acceptable read performance.
The Uber Storage Platform team has migrated all Schemaless instances and some Docstore instances to MyRocks since 2019. In this post, we are going to talk about the journey of our migration to MyRocks.
Freeswitch是一个开源的电话交换平台,具有很强的扩展性和稳定,尤其在智能外呼、问答等方面应用非常广泛。文章讲解了在智能外呼平台构建过程中,从软交换的选择到软交换服务的架构。
登录后可查看文章图片
Mapstruct的性能远远高于BeanUtils,这应该是很多人使用Mapstruct的主要原因,本文是作者的测试结果。
登录后可查看文章图片
对于一个 URL 来说,其实就是指定了一个协议(protocol),然后让系统用对应的应用去打开它。如 myapp://openapp?name=1&pwd=2,系统会去找到已经注册了 myapp 这个协议的应用,然后把 URL 当做参数传过去。这样我们就可以在浏览器中通过一个 <a> 标签简单地唤起应用了。
第一个是“数量”
简单理解就是需要多少人?招聘多少人,对应的人力预算。但人力预算到底是怎么出来的?
首先是业务发展需要,这是业务视角。其次,需要看有没有足够的资源去支持。我们应该平衡业务和资源。
第二个是“质量”
员工能不能把工作做好,就是人才质量。我们需要“人手”,更需要“人才”,质量要高,得有能力,能够把事情做得更好,能够掌握核心技术。
第三个是“能量”
员工不仅要能够把事情做好,而且还要愿意去干活。我们见过很多人是有能力的,但是他不愿意干,我们以前叫躺平,现在叫摆烂,天天迟到,天天摸鱼。所以,我们还要去想办法提升员工的能量。
第四个是“度量”
员工能干好活,也有意愿,他还要有集体精神,就是他的个体精神要与集体的精神相吻合。什么叫集体精神?就是企业文化表现出来的集体性行为和理念。
我们可能看见公司里面有一些非常能干的员工,能力动力都不是问题,但有时候,发生一些跟企业文化冲突的事情,没办法协调。最后,要么公司失掉原则,要么失掉人才。
最好的情况应该是人才与集体精神相吻合。不能为了成全某个个人牺牲公司的集体原则,或者因为我要保障公司的集体原则,把人才牺牲掉了。
最后一个叫“当量”
简单来说就是人才密度,相当于符合上述三个标准的员工占比。就是质量好、能量强、度量匹配的员工在你公司总体的员工人数中占比。一般来说,我们认为人才密度越高越好,当然也要根据公司业务发展的阶段,以及公司资源的匹配程度。
登录后可查看文章图片
关注公众号
接收推送