mysql删除那点事

在使用mysql的时候,发现尽管一张表删除了许多数据,但是这张表的实际占用空间却并没有变小。为什么会如此,本篇文章介绍了这一知识点。…

一行报错,让我探究起了go-redis连接池

关于连接池,想必大家耳熟能详。从其定义上来说,连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。简单点来说,就是当我们的程序在运行时,将数据库的连接进行实例化,每个连接当成对象存储在内存中,并且用一个数量大小的池子将其管理起来,当后续需要与数据库进行网络通信的时候再从池子中取出已有且正常的连接对象进行复用即可。因此,其所带来的好处显而易见,比如:1.减少连接的创建时间;2.提高资源的复用性减少资源浪费;3.精简编程模式简化开发模型等…

制作属于自己的第一本EPUB电子书

通过制作一本EPUB书籍和了解其内部结构,可以让我们对EPUB这种格式的电子书有一个较为全面的了解和认知,今后不但可以编写属于自己的.epub格式的书籍,而且可以根据其结构去编写解析EPUB格式的阅读器和制作用于测试的书籍。希望此篇可以带你开启深入研究EPUB电子书的大门~…

7大开会技巧,打造高效会议

一小时,解决你开会的常见烦恼: · 作为会议的发起者,如何明确主题,吸引参会者? · 作为会议的主持者,如何引导会议走向?及时总结、修正、控场? · 作为会议的参与者:如何发言不跑题、全面、有呼应? · 如何输出优秀的会议纪要? 课程不仅有方法和原则,更有落地的工具模板,手把手完成一次高效的会议。…

浅谈ClickHouse故障处理

ClickHouse 是一款比较新型的列式分析型数据库。相比较传统的关系型数据库,ClickHouse能解决大数据量数据的查询场景。本文主要站在ClickHouse运维的角度上,结合业务实际运行中的具体场景,参考ClickHouse经典案例,总结故障实践经验,用于参考学习和对问题的分析。…

滚动部署时服务告警问题排查及解决方案

前段时间我们推荐引擎这边发现一个非常诡异的事情,具体表现为线上k8s每次滚动更新或发版时,都会有大批量请求出现超时,进而触发服务端的p99熔断报警,导致推荐服务发生短暂不可用等情况。接下来这篇文章就来说一说我是如何排查以及解决这个问题的。…

麦肯锡高效开会法

每年在年中战术会议或年底的战略会议上都有同事提公司“会议太多,会议效率低”等问题,目前这样的情况依然存在,最近在看冯唐的《成事心法》一书,看到“大部分人都不会开会”一章,他介绍了全球财富五百强的麦肯锡公司是如何高效开会的,接下来把书中主要内容分享给大家。…

java 字节码管理单独线程

本片文章讲述了如何使用 java 字节码技术优化线程创建。管理单独线程也是内存优化手段之一,使用线程池替代 new Thread 能起到复用线程、减少线程创建数量的作用,从而有效地降低因线程数量超限导致内存溢出发生的概率。…

七猫 DevOps 实践 2021

2020 年对于七猫研发团队来说是变⾰的⼀年,这一年中我们完成了敏捷研发团队组建、微服务化、全业务上云等重⼤技术变⾰。在完成这些技术上的变⾰之后,我们的研发⼯作迎来了新一轮的挑战,用⼀句话来总结:如何频繁、快速的发布⾼质量软件?基于这个核心问题,如何有序推进研发中心 DevOps 构成了我们研发效能团队 2021 年的工作重点。…

从0到0.3,广告ADX系统的进化之路

历时两个多月时间,广告ADX系统从立项、需求分析、设计方案、成本估算、开发对接再到不断优化升级。目前接口已经升级到第三版了,系统已经能够稳定的承受最高11.5万的QPS。当然,这还仅仅只是个开始。接下来就让我来写一点系统开发过程中的一些设计思路和问题排错的过程,希望对大家有所启发。…

抓包工具Charles的使用教程

Charles是Mac平台上一款优秀的抓包工具,基本可以满足我们日常工作中对于接口抓包、mock数据、模拟弱网、设置代理等常见需求。下面就为大家介绍一下,平时工作中可能会用到的一些功能。…

浅谈Vue3 + TS + Vite2 前端技术框架

在web大环境的潮水中,时代一直在飞速进步,七猫前端现有框架(`vue2`)也迎来了升级,升级后的框架(`vue3+ts+vite`)带来了更高的开发效率与更好的浏览器性能。本文主要讲述一下自己在学习的过程中,对`Vue3 + Ts + vite`的理解, 并结合 `一些概念` 与 `已经开发的业务demo` , 对此框架进行的详细介绍,以及展示升级后的demo带来的变化。…

七猫广告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保存数据。…