2019 Q3:得到启发初步实践 在 Q3 发生了几件事情,给我以及团队带来了启发。 Jarvis 使用情况 经过 Q2 的持续沟通与付出,成功的将各个前端团队全部的/活跃的项目接入 Jarvis,Jarvis 在公司前端团队全面落地。 只有将技术进行应用,才可以发挥出技术的价值。而技术人的价值就是用自己的技术能力来全力保证技术被良好的应用。 ? 即使困难,技术人还是可以考虑朝着这个方向去探索去破局,想尽办法去成就业务成就自己。 故事的尾声 研发效能提升、技术同学成长是永恒的话题,需要技术人持续去探索和实践。 由于笔者阅历有限,以上关于研发效能的思考与实践,仅抛砖引玉,欢迎多交流。
精美礼品等你拿!
一、概述 2019年vivo直播平台立项,初期与优秀的顶部直播平台进行联运直播开发,进行市场,产品和技术的初步探索;再到后来为了丰富直播的内容和形式,开始自己独立探索;之后,我们结合vivo现阶段的直播业务 这一套标准直播流程涉及到的直播技术点也特别多,接下来和大家具体聊一聊我们团队在落地相关直播业务过程中遇到的一些实际问题。 在美颜方面,充分利用了公司影像团队相关的技术积累,对美颜,滤镜,贴纸,美妆,风格妆都进行了标准化,通用化,定制化的处理。 接下来讲两个比较有意思的案例,也是我们在探索实践公司内部直播几个比较有趣且实用的案例,第一个案例就是我们去年公司因为疫情的原因,只能举办线上直播年会,vivo的员工办公地点很多,坐落在全国各个地方,所以如何高效地保障国内外多个办公地点的万名员工同时高清观看就是我们当时需要解决的问题 作者:vivo互联网服务器团队-Li Guolin
以下我将介绍我们如何去设计和规划应用推荐系统的。 分享我们一个应用推荐的策划case看看: 在xx场景下, 如果主应用A属于应用类, 则首先从从x1数据源去取Q1队列。 然后从x2数据源去取Q2队列。 如果前面都没有取到数据的话从大数据xxx表中按照主应用下应用点击的概率取点击率最高的分类下的n个,同时需要对这些数据进行队列内的同开发者过滤。 数据源服务层:与各个队列提供方提供的RPC服务封装层。 原子服务层:过滤类型的相关服务,主要是依赖于商店的 RPC 服务,使用组合的设计模式,服务可以进行组合。 3.4.2 服务原子化与唯一化 实现服务原子化与服务唯一化对本系统至关重要,在实现过程中是严格遵照如下两点来: 应用推荐依赖的三方RPC服务及内部的一些过滤逻辑都封装成了细粒度的原子服务(方法)的SDK
同时,多个服务间的依赖关系,依赖合理性与调用性能分析以及资源容量规划也成为了需要考虑的问题。 由此可见,一个完整的分布式调用链路追踪是应用监控体系中举足轻重的一环。 与此同时,一个良好的服务也应该具有高稳定性。特别是对于直接与客户打交道的业务来说,一次缓慢的调用就有可能意味着一个潜在客户的流失。 与开发人员不同,测试人员更关注于系统的准确性,以及新旧版本应用在执行上的差异。通过具有完整层级组织以及特殊事件标识(Event)的 Trace,测试人员可以更好地了解系统行为以及执行路径。 与之相反,有经验的同事往往有他们自己的排障习惯,他们能在各种系统的各种指标看板中来回穿梭,最终一步步缩小范围,找到原因。 七、附言 对于应用监控领域我们仍在不断地探索、完善中。文中内容如有任何错误之处还望不吝斧正。有任何的意见、建议,也欢迎在评论区探讨。 引用 [1] Wikipedia contributors.
本文主要从用户场景出发,以生产实践探索过程中遇到的挑战为切入点,梳理和总结应对的解决方案,以期望对 Service Mesh 的认识、对 TSF Mesh 产品的了解有所帮助。 接下来,首先以开源 Istio 为切入点,介绍一下 TSF Mesh,之后对 TSF Mesh 产品化探索过程中的部分典型问题以及解决方案进行梳理和分享。 团队对 Istio 的能力进行了扩展和增强,增强后的架构如下: ? 因此,需要考虑细粒度的接管方案,使得 mesh 与非 mesh 应用在同一个虚拟机/容器中可以共存。 实现 mesh 应用与 spring 应用的调用链串接。
在京东,多模态内容生成有非常多且有趣的应用场景:基于图像生成的虚拟试衣、AI音乐生成、商品营销文案生成、AI写诗、风格化AI书法生成、文本与图像的相互生成等等。 本文将从自动文本摘要的角度,分享2020年京东AI研究院在多模态数字内容生成领域的一些有趣的探索和实践成果,以及这一研究方向的发展趋势和应用场景。 技术趋势四:多模态与知识联合建模 虽然单模态数字内容生成已取得了较大的成功。但人类很多时候是融合了听觉、视觉、文字、常识等多方面信息进行内容生成的。 AAAI 2020. 03 有趣的实践:从国际学术论文到全球工业级应用 ? 基于上述一系列创新技术,我们研发了面向商品的多模态文案创作工业级产品“品创”。“品创”四大亮点: 1. 目前已支持3000多个品类,广泛应用于京东发现好货频道、社交电商京粉、京小智、搭配购、AI直播带货等内外部客户的实际场景中; 3.
如何从ZB级的数据中寻找分析有价值的信息并回馈到业务发展才是关键。11月30日UCan技术沙龙大数据专场(北京站)邀请了5位资深大数据技术专家分享他们对大数据的探索和应用实践。 大数据业务常态化的处理手段与架构衍变 很多开发人员在解决实际的业务问题时,经常会面临如何选择大数据框架的困惑。 存储计算分离与数据抽象实践 大数据诞生的初期,很多公司的大数据集群是由一个庞大的Cluster阵列组成,里面包括很多台服务器,也就是集群的计算能力和存储能力分布在一个数据中心。 数据驱动——从方法到实践 所谓数据驱动,就是通过各种技术手段采集海量数据,并进行汇总形成信息,之后对相关的信息进行整合分析并形成决策指导。 *,b.* FROM a join b on a.id = b.id 第二个案例是Spark在千亿级别数据上的检索与计算。
PWA是在传统Web应用的基础上,结合Manifest和service worker,完善Web应用的一些能力,比如: 添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏 实现离线缓存功能,即使用户手机没有网络 Service Worker PWA应用的离线体验、定期的后台同步以及推送通知等功能的实现依赖于Service Worker技术,下图为目前SW技术的支持度。 更新的SW线程与现有SW线程一起启动,并获取自己的 install 事件。 Service Worker缓存策略 Service Worker缓存策略大部分在fetch与install时间中定义,对于某些固定不变的静态资源,可以在Service Worker初次安装的 Application进行查看调试,如下图所示: image.png PWA优缺点总结 优点 可以将app的快捷方式放置到桌面上,全屏运行,与原生app无异 能够在网络差和断网条件下 推送消息的能力 快速响应用户指令
开发团队是每一个产品经理和产品负责人的重要合作伙伴:是团队来设计和建造实际产品。但是,要高效地引导并与团队一起工作并不是一件容易的事情。 你想如何被别人对待,就应该以同样的方式对待他人。团队成员不是你的资源,但却是创造你的产品的人。如果你与团队的关系很差,那么你的产品很可能会受到影响。 有一些技术可以帮助你实现双赢,例如: 要清楚的是,合作需要领导。作为产品的负责人,你应该是开放和协作的,但同时又果决。目标是让开发团队建立共识,但不回避艰难的交互。 虽然在团队上留足足够的时间是如此重要,但也不要忽视其他产品管理的工作,例如与用户接洽,工作与产品战略和路线图,以及管理利益相关者。如果你过于以团队为重点,那么你的产品很可能会受到影响。 相反,让团队参与设置一个有意义的冲刺目标,不但能够为团队提供动力和指导,还可以尊重团队决定工作如何完成的权利。这将建立一种可持续的速度,并让你的团队保持动力。
window开启binlogmy.ini 下面 [mysqld] 加入如下内容[mysqld]log_bin=mysql-binbinlog-format=ROWserver-id=12.开启mysql的服务 /plugins> </build>5.示例代码public static void main(String[] args) throws Exception { // 1.设置流的环境 状态信息保存到CK中,进行断点续传,从checkpoint和savepoint开始// env.enableCheckpointing(5000L);// // 3.2 设置仅一次的语义 env.setStateBackend(new FsStateBackend("hdfs://192.168.1.204:9000/flinkCDC"));// //3.6 设置访问 HDFS 的用户名 //5.数据打印 dataStreamSource.print(); //6.启动任务 env.execute("FlinkCDC");}6.遇到的问题问题
Presto在滴滴的应用 ▍2.1 业务场景 Hive SQL查询加速 数据平台Ad-Hoc查询 报表(BI报表、自定义报表) 活动营销 数据质量检测 资产管理 固定数据产品 ? 主要工作: 租户与权限 与内部Hadoop打通,使用HDFS SIMPLE协议做认证 使用Ranger做鉴权,解析SQL使Presto拥有将列信息传递给下游的能力,提供用户名+数据库名/表名/列名,四元组的鉴权能力 因为滴滴有专门维护Druid的团队,所以我们对接了Presto on Druid,一些场景性能提升4~5倍,后续我们会更多关注Presto on Clickhouse及Presto on Elasticsearch 展望 Presto主要应用场景是Ad-Hoc查询,所以其高峰期主要在白天,如下图所示,是网约车业务下午12-16点的查询,可以看到平均CPU使用率在40%以上。 ? 滴滴Presto引擎负责人,负责带领引擎团队深入Presto内核,解决在海量数据规模下Presto遇到的稳定性、性能、成本方面的问题。搜索引擎及OLAP引擎爱好者。
综上所述,当因子水平数很多时,使用正交表测试方法可以实现以最少的测试用例数达到与大量全面测试等效的结果,是一种高效率的测试方法。 ? 三、正交表在组合测试方法中的实践 正交表测试方法特别适用于因子、水平数较多的功能,可以使设计的测试用例不是很多但又能全面覆盖到需求。 下文以数据整合平台的个体做市商成交量情况为例,具体说明标准与非标准正交表的使用方法。 (一)标准正交表的测试设计方法 业务需求:查询个体做市商成交量情况分析。 表四:标准正交表生成的测试用例集 (二)非标准正交表的分配 很多情况下,查询条件的因子数和水平数无法找到标准的正交表进行套用,则找到与因子数与水平最接近的正交表。 .html [3] 肖驰.正交设计法在软件测试中的应用https://wenku.baidu.com/view/18d6daab700abb68a882fb29.html 欢迎参加众测: https:/
引言:刚学Go没多久,但是很快我就发现了Go的一个特别坑爹的地方 —— 包管理。当然不只是GFW的问题,更多的是有的时候,每个项目使用的包的版本并不是完全一致的,而Go无法做到这一点。 从头说起 Go原始的包管理是通过go get命令,从远程仓库拉取并放到环境变量中的src文件夹中。开发的时候通过路径使用import关键字导入。 显然接下来我要给你们介绍一个我认为特别牛逼的可以颠覆这些复杂的操作的包管理工具。 那就是大名鼎鼎的glide Glide 的安装 Linux 用户 curl https://glide.sh/get | sh Mac 用户 brew install glide Glide 的使用 进入项目根目录执行 默认拉取master的代码。
与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了。 说道架构设计和团队协作,这个对App的开发还是比较重要的。即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Code有框架,其他的东西都是有框架的,比如桥梁等等神马的~在这儿就不往外扯了。 一个好的工程框架不进可以提高团队的协作效率,同时还可以减少代码的冗余度和耦合性,合理的分工与系统的架构设计是少不了的。 至于团队协作不仅仅是有SVN或者Git这些版本控制工具就行的,至于如何在iOS开发中使用SVN,请参考之前的博客(iOS开发之版本控制(SVN))。 好了今天就以我写的一个Demo来浅谈一下iOS开发中的架构设计和团队协作,今天的咸蛋先到这儿,切入今天的话题。
随着前端应用的大型化和复杂化,越来越多的前端工程师和团队开始重视 JavaScript 代码规范。 解决方案 为了能在团队内实现 JavaScript 代码规范的统一,在分析和思考团队规模化应用存在的问题后,我们设计了一套完整的技术解决方案。 代码集成检查 基于团队对工程化基础设施的建设,将代码规范静态检查与开发工作流集成,保证代码规范的落实。 埋点与统计分析 统计分析的主要目的是掌握方案应用执行状况和效果,理论上应当支持工程和大盘两个视角,如下图所示: ? 执行情况分析其实并不复杂,核心是信息采集和分析。 统计分布检查出错误的规则分布,梳理出最常出问题的代码规则,发布对应的最佳实践或手册。 以上是美团外卖团队在 ESLint 方案规模化应用过程中的一些实践。
1.示例代码public class FlinkCDCSQL {public static void main(String[] args) throws Exception {// 1.设置流的环境StreamExecutionEnvironment env.setParallelism(1);StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);//2.创建 Flink-MySQL-CDC 的 table-name' = 'student'" +")");tableEnv.executeSql("select * from student2").print();env.execute();}}2.遇到的问题问题 ... 19 more解决方案再SQL语句中添加这一行,问题解决,1.13版本需要表有主键" 'scan.incremental.snapshot.enabled' = 'false',"本人开通付费的知识群
SDN的理念基于此:底层转发平面支持精简通用转发行为,通过精简的指令(OpenFlow)与上层网络操作系统交互(控制器),网络操作系统标准化北向接口(套接字)与上层网络应用交互。 SDN通过转发、控制与应用的分层解耦的架构,给网络设计规划与管理提供了极大的灵活性,方便网络开发者的创新,也便于用户通过简单的编程,实现对网络的灵活的控制和基于DEVOPS的自动化运维方法。 但是团队面临新的挑战:不同的SDN解决方案纷纷启动,对控制器的需求繁多(不同的南向协议,不同的控制应用,不同的集群需求),独立开发的控制器系统需要持续不断的投入很大的人力资源。 经过多方的调研与分析,内部多次的讨论与分析,我们做了一个艰难的决定:全面切换SDN应用到ODL软件平台上。 结语 面对日益庞大的网络基础设施和复杂的运营需求,腾讯正以积极开放的态度,拥抱SDN,,也希望与行业伙伴们一起,营造一个良性循环的网络生态系统,推进SDN与开源实践,服务好互联网的业务快速发展与创新
作者:vivo 互联网服务器团队- Liu Xin、Yu Dan本文基于故障定位项目的实践,围绕根因定位算法的原理进行展开介绍。 这些系统每天都会产生海量的数据,如何利用好这些数据,挖掘数据背后的潜在价值,让数据更好的服务于人,成为了监控体系的探索方向。 目前行业内很多厂商都在朝AIOps探索,业界有一些优秀的根因分析算法和论文,部分厂商分享了在故障定位实践中的解决方案。 2.1 主动查询场景当用户反馈某个应用很慢或超时,我们第一反应可能是查看对应服务的响应时间,并定位出造成问题的原因,通常这两个步骤是分别进行,需要用到一系列的监控工具,费时费力。 (提出问题) → AI专家(算法预研) → 算法专家(算法实现和优化) → 应用专家(工程化开发)操作步骤:调研论文和git(业界、学界、同行) → 交流 → 实践 → 验证项目实施:复杂问题简单化,先做简单部分
经过多方比较,本文将从 TiDB 技术特点、开发注意事项以及 TiDB 在华泰证券的实践进展等方面进行介绍。 1. 基于 Java Spring 框架的应用如果使用了 PROPAGATION_NESTED 传播行为,需要在应用端做出调整,将嵌套事务的逻辑移除。 外键的级联操作多表数据的功能需要在应用中完成。 2.4 索引 和表中的数据一样,TiDB 中表的索引在存储引擎中也被作为 KV 来存储,一行索引是一个 KV 对。 实践机器 我们从 2017 年初就开始了 TiDB 的调研与测试工作,到目前为止,已经在多个业务系统测试了 TiDB 的功能与性能。 写入速度与原 MySQL 环境相当,kafka 端未出现数据积压,系统资源使用均衡,并且尚有余量。 总结 从我们实践的结果来看,TiDB 这种 NewSQL 数据库确实展现了不错的技术优势。
CODING DevOps 包括代码托管、项目管理、测试管理、持续集成、制品库、持续部署等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
扫码关注腾讯云开发者
领取腾讯云代金券