七猫广告sdk激励视频流量优化

目前公司正在搭建广告ADX平台,使用自研的七猫SDK渲染图文、视频广告,用户在阅读器内看书时,为了节省用户流量,视频广告在移动网络下不会播放视频,只会显示封面,但是用户选择看激励视频时,遇到了一些问题。下面分析下几种不同方案各自存在的问题,以及我们最后的解决方案。…

七猫免费小说App网络状态监听框架的升级

七猫一直坚持“对用户好一点”的经营理念。作为七猫的主打App,在产品开发设计的过程中也一直在遵循这一理念。为了能够给用户带来更好的交互体验,我们需要准确的捕获App使用过程中设备的网络状态,及时的根据当前的网络环境做相应的操作。…

安卓JVM线程监控

七猫免费小说客户端团队对线上崩溃数据非常关注,线上崩溃率维持在万分之一是安卓客户端 2021 年度目标之一。所以我们相当重视线上崩溃率 Top 20 的问题,会花大量时间和精力去排查解决,而 OOM 一直占领着 Top 20 好几个位置。OOM 问题造成的因素非常多,比如内存泄漏,静态对象内存占用大,缓存过多,大图内存过大,线程超限,FileDescriptor 未释放超过限定的 1024个等因素。本文就线程数量问题讲述了安卓客户端团队是怎么监控线程创建,分析线程创建来源的。…

Airtest-poco脚本在checklist中的实践

自从敏捷迭代开始以后,公司的发版速度也是越来越敏捷了,每个迭代的时间都是很短的。我经常被沙沙同学催,就差你一个了快去过包,被元元问新架构的包好了没。痛定思痛决定用UI自动化的方式把checklist这个事简化掉。目前市面上各种自动化工具框架有很多。找到适合的不太容易。其中Appium 和 AirTest 都是针对 APP 的自动化测试工具,都可以进行自动话测试脚本的录制和回放。但是之所以选择了 AirTest 最主要的原因是他能更方便的生成测试脚本,即使测试人员不会编程,不懂脚本,也可以通过正常用户的点击拖拽等操作,自动完成脚本的录制,从而大幅度降低自动化维护成本。…

服务熔断入门与项目应用

服务熔断现已经是微服务稳定运行的不可或缺的利器,服务调用端可以通过熔断机制进行自我保护,防止出现由于调用下游服务的各种异常而影响调用端的业务的情况,并且现在很多功能完整的微服务框架都会内置熔断器。其实,不仅微服务调用之间需要熔断器,在调用依赖资源的时候,比如 mysql、redis 等也可以考虑引入熔断器的机制,做一些适当的熔断降级,来提升系统的稳定性。…

ClickHouse在七猫业务中的应用和总结

ClickHouse是一款非常优秀的OLAP数据库,特别擅长处理数据分析和汇总等。在一张3000W+的数据表里面,进行`GROUP BY`,`DISTINCT`,`COUNT`等相关汇总操作的时候,对比TiDB,处理速度上达到了15~30倍的提升。…

安卓阅读器性能自动化测试

Monkey 是一个在您的模拟器或设备上运行的程序,它生成用户事件的伪随机流,例如点击、触摸或手势,以及许多系统级事件。您可以使用 Monkey 以随机但可重复的方式对您正在开发的应用程序进行压力测试。本文主要实现通过monkey脚本和Airtest进行自动化重复操作,使用Python通过adb命令获取数据信息,通过PyQt5创建图形化界面,在PyQtGraph中实时显示数据,Excel保存数据。…

性能检测系统

本文主要介绍 iOS 如何搭建动态显示性能、存储数据的一种思路,安卓也可以用类似的方法实现.该系统主要实现实时获取七猫免费小说阅读时的性能数据,并上传到服务端进行监控显示.…

两种典型业务数据依赖场景及解决方案

现代软件系统因体量越来越大,一般所拥有的数据量也越大,并且往往系统间存在着诸多依赖关系,其中数据依赖是一个比较典型的业务场景。笔者日常处理数据依赖的工作内容比较多,所以下面分享两个典型数据依赖案例及相应处理方案。…

Canal在亿级数据量业务中多维度聚合的应用

Canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到Canal发送过来的dump请求,开始推送binary log给Canal,然后Canal解析binary log,再发送到存储目的地,它的特性使得我们可以简单的应用它通过数据库表数据状态来解耦业务,一方面,通过简单的配置就能实现数据源发布订阅模型,操作简单;另一方面,订阅数据的存储支持多种方式,可满足不同的业务类型。在有相似的场景下,应用Canal能够快速解耦业务,方便扩展,设计出更加高效的架构。…

MySQL 主备延迟优化案例

本文根据MySQL主备延迟问题解决、分析的过程,描述数据库主备延迟可能的原因和实际的处理方法。业务差异造就了数据库的场景不同、配置不同、参数不同,但是技术上都有共通的原理,希望各位同学能从本文中得到借鉴。附件中总结了主备同步的基础知识,以供参考。…

对企业文化“悦近来远”的理解

大家好,我将根据自己在公司一年来的经历和感悟,从个人、团队和公司这三个层面来聊一聊自己对企业文化“悦近来远”的理解。首先,让我们来温习一下悦近来远的含义。汉典给出的解释是这样的:【使近者悦服,远者来归。亦谓远近归服。语本《论语.子路》:“近者悦,远者来。”】…

七猫 iOS 启动时间优化

随着产品的迭代,产品功能越来越多, App 大小越来越大,导致越来越多的体验和性能问题,其中用户首先感知的肯定是启动速度。传统的启动优化有减少不必要代码,懒加载动态库,任务优先级划分等,此类相关优化的策略已经很普遍了,这些优化主要是从减少主线程任务的角度来出发,很难再做出大的提升。…

鸿蒙 OpenHarmony JS FA 2.0-快速开发

千呼万唤始出来!鸿蒙,终于横空出世!迎来真正属于中国人的系统,鸿蒙他来啦!通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享。鸿蒙OS凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态 。万物互联的时代 由你的 定义。…

Nuxt部署及优化

公司虽然使用了vue进行了前后端分离开发,但是在部署流程上没有实现分离,目前大部分项目部署的流程是前端代码打包发送到后端服务器的代码里。但是这套部署流程并不适用SSR的项目,也就是我们的Nuxt框架,这次针对影视版权中心的前台,使用了Nuxt进行了服务端渲染,所以部署流程也得有些变动。…

浅析 Epub 格式及解析设计

随着移动互联网的发展进步,移动终端电子阅读已经成为人们生活中必不可少的精神娱乐。七猫免费小说旨在为国人提供免费好看的小说、图书,丰富人民的精神文化。那么,移动终端如何能够提供好的内容、样式排版?这就需要对电子书格式进行深入的研究,掌握常见的EPub电子书格式、实现可定制化、差异化、掌握电子书的标准规范,基于标准规范化设计自己的电子书解析引擎,可实现跨平台阅读。…

千亿级别历史增量去重方案

消除重复数据是我们在实际业务中经常遇到的一类问题。在大数据领域,重复数据的删除有助于减少存储所需要的存储容量。而且在一些特定的业务场景中,重复数据是不可接受的。这篇文章主要介绍两种千亿级别历史增量去重的解决方案。…

h5 动态书单

每当有突发的运营活动时,都需要前端完成书单活动页样式、服务端提供数据接口、测试人员测试书单,不难看出每个书单的结构都是一样的,接口数据的格式也是统一的,测试的测试工作亦是重复的,于是我们痛定思痛,决心找到解脱的方法,开发书单配置后台,自动生成专题活动页,避免了重复开发,提高生产效率。…