2021-09-17 16:30:00 ~ 2021-09-18 16:30:00
本文关注技术同学如何定制业务目标、如何画业务大图、如何基于业务大图构建技术大图,如何基于业务技术大图开展业务或技术战役等?
2017 年,Marc Andreessen 在博客中对 PMF 进行了以下描述。
“产品/市场匹配,意味着在一个良好的市场中拥有能够满足该市场的产品”
那么在实践中,这意味着什么?想想产品和市场之间“良好”匹配的3个关键标准。
每个产品都是由业务和客户需求驱动的,无论产品规划还是产品开发,乃至企业的全部经营活动,都要以客户需求为中心。
需求表示满足产品战略的能力,所有这些需求都需要收集、分析、细化和优先排序 —— 这个过程被称为需求管理。
在1号会员店项目中,经过一些调研和思考,去尝试系统化建立设计体系。本文主要从会员整体生命周期中,发现设计所能发力的机会点。
测试驱动开发,越底层的测试应该写得越多。
At Uber, real-time mobile analytics events—generated by button taps, page views, and more—form the backbone of the mobile data workflow process.
To process these events, our Mobile Data Platform Team designed and developed the Fontana library, which converts the nearly-one-million-QPS (queries per second) volume of events into easily digestible and useful analytics for Uber engineers. As part of this process, funnel YAML files are key config files that are used to define sequences of events for analysis. To this end, our team has also designed and developed the SuperFlurry application, which aids in creating and managing these files.
However, SuperFlurry still required users to create and modify funnel YAML files by editing raw YAML files directly. This was a significant pain point for Uber engineers and PMs aiming to set up their own funnels, especially for those unfamiliar with the format or the specific structure of funnel YAML files, as subtle syntactical errors are easy to make and switching back and forth between file creation and documentation is time-consuming. To remedy this issue, we designed and developed YAML Generator, an application that provides a comprehensive set of options for creating a funnel YAML file alongside a clean and intuitive UI.
The newly developed YAML Generator application builds onto the SuperFlurry application, streamlining the creation of these funnel YAML files. Through the development of this application, the importance of simplifying user-side input and the importance of continuous feedback are highlighted.
提到Web指纹识别,大家并不陌生,相关的项目汗牛充栋,比如知名的Wappalyzer、WhatWeb等。而在运营上,各企业也都大同小异,利用提前构建好指纹库,通过对公司全域资产进行扫描实现对公司资产的摸底排查,当某些组件出现高危漏洞时,大家可以第一时间做到攻击面的迅速收敛。
但是本文所聊的Web应用组件,并不是单指指纹识别中的小组件,比如jQuery、Bootstrap等,更多是指这个站点较为独立的应用本身。
代码规范作为一个研发团队的核心基因,怎样在团队中高效传承是一个挑战。Flutter作为移动端持续火热的新型框架,正吸引越来越多的研发同学进入这个领域。但是面对全新的技术框架和之前几乎很少接触的dart语言,怎样写好Flutter代码困扰了无数Flutter初学者。文本就着重分享一下闲鱼Flutter团队在基础代码规范方面所做的一些实践。
最近我们公司的项目中多了一个需求,因为我们的管理系统需要管理背景音乐的存储,那就肯定涉及到前端的上传音乐功能了,可能是由于我们公司的编辑们所制作的BGM质量比较高,所以每一个BGM文件都会比较大,每一个都在20M以上,所以我使用了大文件的分片上传,并做了暂停上传,续传功能。
随着近年来流式 SQL 理论逐渐完善,在实时流计算场景中的提供与离线批计算类似的 SQL 开发体验成为可能。本文将介绍在网易游戏在 Flink SQL 平台化上的探索和实践。
升级SDWebImage5.0后在iOS12、iOS13手机上看漫画时有明显的发热和耗电问题,影响用户体验。本文主要描述了整个跟进查找问题的过程和一些解决思路。
Rust 非常适合此类门店嵌入式场景,其完整易用的工具链、高质量社区、安全的内存管理,能大量缩短上线时间、提高交付质量。目前 Rust 在便利蜂已 100% 支撑店内网络 2 年时间,稳定性达 99.9999%,需求频次每半个月会做一次迭代。
在我们的开发过程中,经常会在一个项目中使用多种数据库系统。在一些特定场景下,我们希望把数据从一种数据库,同步到另一种异构的数据库,以便进行数据分析统计、完成实时监控、实时搜索等功能。这个异构数据源同步的过程称为Change Data Capture(变化数据捕获)。
我们本文讨论的是Source为MySQL、Target为ElasticSearch的场景下,进行增量和全量同步操作过程。众所周知,MySQL数据库凭借其性能卓越、服务稳定、开放源代码、社区活跃等因素,成为当下最流行的关系型数据库,但是在数据量级较大或涉及到多表操作时,亦或是需要根据地理位置进行查询时,MySQL通常不能给我们很好的支持。
为了解决MySQL查询缓慢、无法查询的问题,我们通常采用ElasticSearch等进行配合检索。在传统方式中,将MySQL同步数据到ElasticSearch通常采用的是双写、MQ消息等形式,这些形式都存在着耦合高、性能差、丢失数据等风险。
所以我们需要探索出一套对业务无侵入的MySQL同步至ElasticSearch异构数据库的解决方案。本文将分别从增量同步、全量同步两个层面进行探讨。
这个系列来自 LLVM 的Kaleidoscope 教程,增加了我对代码的注释以及一些理解,修改了部分代码。
ZoomUI 的 Table 组件相比 ElementUI 的 Table 组件在更新渲染方面性能提升了十倍,这是如何做到的呢?
结合书中和平日工作较密切的知识点做了部分总结。
本文介绍了快手主站 Android 端 TTI 的概念,详述了量化 TTI 指标的过程,并分享相关的信息收集方案和常规治理手段,以期为处理 App 冷启动后的卡顿问题提供参考。
对于react状态管理库,大家比较熟悉的可能是Redux,但是redux虽然设计得比较简洁,但是他却有一些问题,比如需要写大量的模板代码;需要约定新的状态对象是全新的,如果我们不用全新的对象,可能会导致不更新,这是常见的redux状态不更新问题,所以需要开发者自己去保证,所以不得不引入例如immer这类的库;另外,redux本身是框架无关的库,他需要和redux-react结合才能在react中使用。使用我们不得不借助redux toolkit或者rematch这种内置了很多最佳实践的库以及重新设计接口的库,但与此同时也增加了开发者的学习成本。
所以react的状态管理的轮子层出不穷,下面将会介绍面向未来设计的react状态管理库——recoil。
得物在参考业界各大厂商分享的ANR监控及治理方案后,开始着手建设自己内部的ANR监控平台。
不是所有的大型系统都是被很好的设计的,想要设计好一个巨型系统是非常困难的,而随着业务功能的叠加,原先的设计也会被堆砌的代码所淹没,以至打破原先的设计。我们所能掌控的是一个有着特定边界的系统,所以根据业务属性拆分系统,将其限定在一个有边界的上下文中(Bouded Context),是一个最直观也是最有效的方法。这也是领域驱动设计所追求的。在DDD欧洲大会上Eric也认可近年流行的微服务架构有个很大的优势,服务粒度合适,服务物理隔离,单个服务的「熵」增问题被局限在单个微服务内部。单个微服务的替换与重构成本十分有限,使得「熵」增问题局部化,不容易传染全局,以致失控。当然这有个前提,就是微服务的拆分和接口交互要合理,合理的检验标准就是随需求变化,总是实现变化或接口新增,而非总是调整接口交互。 架构始于系统生命之初,并伴随系统生命周期全程。每次需求变化带来的变动都应进行一次或大或小的重新架构过程。
登录后可查看文章图片
有一个很久前就存在的疑惑:在没有写入的情况下,show engine innodb status 中的 Pages flushed up to 为什么不等于 Last checkpoint point?
本文介绍了贝壳找房Flutter Web容灾降级方案的设计、原理以及技术难点和解决方案。
积累多年的Android项目,突然需要适配64位,引入的几十个so文件找不到归属,一个一个找,效率低得可怜,怎么样才能高效的适配64位?
小编今天给大家分享一个超实用的PPT悬浮动画制作技巧!只需掌握路径动画、自动翻转和重复播放三个概念,就能轻松打造出动态感十足的PPT页面。无论是会议封面还是人物排版,添加悬浮动画都能让页面更生动有趣。跟着步骤学,你也能做出专业级的PPT动画效果,赶紧试试吧!
关注公众号
接收推送