自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 2021-09-04 视频封面挑优及图片压缩格式优化 gocv -dlian

项目场景:app里帖子展示时会首先加载一个图片/视频的缩略图,在高清图片/视频加载完毕,再去替换。目前线上视频缩率图模糊。所以本次项目希望提升视频缩略图清晰度,同事,借此机会对图片大小进行压缩,降低带宽成本,减少用户流量损耗。1、图片jpg转webp格式(结论:平均图片大小压缩率能达到50%)2、使用ffmpeg选取前2秒60帧挑优作为封面(如果希望减少缩略图和视频起始的差距,可以选取0.5秒内的帧)环境准备:1、opencv 4.5.4 用于计算图片的相关指标2、ffmpeg3、imagem

2021-09-04 15:02:13 574

原创 2021-08-31 Golang os/exec包执行shell命令 --dlian

Golang os/exec 使用Cmd结构type Cmd struct { // Path 是要运行的命令的路径 // 该字段不能为空,如为相对路径会相对于Dir字段。 Path string // Args保管命令的参数,包括命令名作为第一个参数。 // 如果为空切片或者nil,相当于无参数命令。 // 典型用法下,Path和Args都应被Command方法设定。 Args []string // Env指定进程的环境,如为nil,则是在当前进程的环境下执行。 Env []str

2021-09-01 00:19:57 787

原创 2021-08-19 记一次线上bug,go类型转换失败interface{}转int

这里是引用项目场景:新上线了剪同款功能,模板帖右下角会出现一个剪同款按钮,点击进去对模板进行编辑修改,发帖。问题描述:feed流的模板帖没有剪同款按钮,但是点击用户头像,进入用户个人页可以看的模板帖的剪同款入口。原因分析:1、首先抓包发现feed流的剪同款入口字段没有下发,user/posts里有下发。2、查看gateway层调的post接口,手动curl了一下,发现有返回入口字段。(以上2个步骤确定错误在gateway层的feed流接口里)3、开始从调子服务开始看,发现因为做了安卓o.

2021-08-19 23:21:35 914

原创 2021-02-24 记一次opapi接口无响应问题

背景下午5:50,运营人员反应op加载不出来。问题我随便curl了一个接口,一直在等待服务器返回,确定是服务器问题。解决登上机器,查看日志,发现已经没有日志打印了。然后netstat查看网络情况,拿到nginx ip,等到nginx机器查看服务错误日志。首先看到的日志是:a、failed (111: Connection refused) while co nnecting to upstream。这个每次服务上线的时候,连接正在上线的机器时出错,正常情况。继续往下翻看到了5:47开始报的错

2021-07-20 20:19:06 551

原创 Temporal框架学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Temporal是什么?二、组件有哪些?三、名次解释2.读入数据总结前言公司前员工优化了内部的视频转码流程,引入了工作流,使用的是Temporal框架,其离职后没人了解该项目。本人出于学习的态度便学习Temporal框架,并希望后续能独立接手该项目,积累实战经验,所以深入学习了Temporal。一、Temporal是什么?官方说明:Temporal是一种分布式、可扩展、持久且高度可用的编排引擎,用于以可扩展和弹性的

2021-07-19 20:54:02 4332

原创 2021-02-23 记一次线上索引优化

背景最近在做社区tab开发,新加了一个帖子排序:按回复时间排序。新回复时间是新加的字段。半个月左右后,测试说接口有时候会炸弹(失败),响应比较慢。数据库使用的mongodb。问题我看了查询,写了一个测试查询,expain(),发现使用的索引是其他人创建的索引,我没有专门为查询条件建索引。解决方案将查询发给了DBA,向他请教了下,并对两种方案的执行计划进行了对比,记录一下。查询db.posts.find({tid:23, c_type:{$in:[1]}, status:{$in:[1,2,3

2021-02-24 22:39:00 73

原创 TCP协议

TCP 可靠传输:数据编号与累积确认,确认号表示下次期望收到的数据中第一个数据字节序号,延迟确认机制,捎带确认。给每一个报文段设置定时器,超时重传。以字节为单位的滑动窗口协议。发送窗口大小是不断变化的,初始值在建立连接时双方商定,在通信工程中,TCP 的流量控制和拥塞控制会根据情况动态调整发送窗口上限值。TIME_WAIT 状态:客户端在接收到服务器的FIN 消息后,发送ACK消息后,从FIN_WAIT2进入TIME_WAIT ,等待2个数据段存活时长后再进入CLOSED 状态。为什么需要等待2个

2021-01-29 20:41:46 77

原创 app如何下发自制的emoji

需求app里增加表情评论,并且需要自制一些表情。问题1、如何下发自制表情2、评论是表情时,发给服务器的是什么参数思路因为没有做过emoji的需求,所以在百度上查了些文章,基本上没啥收获。最后是在简书上一篇文章的评论里找到了思路。链接:https://www.jianshu.com/p/bab9b6cdfffe评论主要分为三个类型:文本、unicode表情、img表情。1、文本<div class="_2bDGm4">文本</div>评论时发送的param时:{c

2021-01-12 16:51:53 173

原创 2021-01-06 并发请求引起的事故

背景产品需要11月到当前时间的搬运工数据统计。实现有接口可以查到每一天的数据,写python脚本循环请求接口。因为一次接口响应要近20秒,总共要请求1200次接口,实在太慢。所以写了多线程请求接口,但是不熟悉python多线程,一次性发了1200个请求到服务器。问题这时运维发现mongodb的cpu暴增,日志里不断有请求该接口的日志,耗时一直累增。解决思路1、查看本地脚本是否结束,ps aux |grep python发现已经没有python脚本运行的了。2、kill mongo sql?运

2021-01-07 10:30:31 143

原创 编程语言使用

Golang(1) 定时任务import timefor range time.Tick(time.Minute * 5) { execute()}Python(1) 创建一定长度的数组、二维数组ls = [[0 for i in range(length1)] fro j in range(length2)](2) 字符串转json、json转字符串import jsons = '{"mid":134291131}'json_obj = json.loads(s)print

2020-12-29 17:39:59 104

原创 spark学习

目标针对播放日志引入spark,提升问题分析效率。spark概述Apache Spark是用于大规模数据处理的统一分析引擎。它提供Java,Scala,Python和R的高级API,以及支持常规执行图的优化引擎。它还支持一组丰富的更高级别的工具,包括星火SQL用于SQL和结构化数据的处理,MLlib机器学习,GraphX用于图形处理,以及结构化流的增量计算和流处理。官方文档:https://spark.apache.org/docs/latest/RDD(Resilient Distributed

2020-12-26 17:05:03 349

原创 MySQL官方文档记录

记录mysql官方文档中一些有用的描述。在许多情况下结合ORDER BY的DISTINCT需要一个临时表。在某些情况中,MySQL可以使用一个索引来满足ORDER BY子句,而不需要额外的排序。通过EXPLAIN SELECT …ORDER BY,可以检查MySQL是否可以使用索引来解决查询。如果Extra列内有Using filesort,则不能解决查询。优化filesort的方法之一:去掉不必要的返回字段MySQL 5.1支持对MyISAM和MEMORY表进行表级锁定,对BDB表进行页级锁定,

2020-08-03 15:45:05 75

原创 生产环境开发踩过的坑~

记录一些开发中踩过的坑~2020.03.31 不能拉取test分支合并到自己分支只能将代码往test分支合,不能将test分支合并到自己分支,否则会污染自己分支,导致报废。应该将自己代码合并到test分支,在测试环境通过后,将自己分支合并到master,可以拉去master分支到自己分支。2020.03.31 微服务是无状态的直播截图。我在这块最开始的思路是直播回调接口后,开一个协程去定...

2020-03-31 23:00:41 2899 2

转载 服务发现-consul的介绍,部署和使用

最近看公司的项目代码,使用的是微服务架构,使用Consul做服务注册和发现,在网上发现一个比较好的文章,所以转载过来。原文:https://www.cnblogs.com/xiaohanlin/p/8016803.html...

2020-03-15 11:44:10 176

原创 第一个go练习服务——编写

go连接mysqlgo连接redisgo搭建服务器

2020-03-07 17:37:30 129

原创 第一个go练习服务——任务书

需求用go语言编写一个服务,接受http请求,这个服务提供如下http接口,所有接口均为post请求,接受和返回的数据都是json格式,所有接口请求成功返回{“ret”:1, “data”:xxx},其中data有可能为空;失败返回{“ret”:-1, “msg”:“xxx”}接口add添加接口,请求数据格式为{“key”:“xxx”, “value”:“xxx”}del删除接口,请求...

2020-03-07 00:07:41 96

原创 vim 常用快捷键

1、移动光标快捷键说明h, j, k, l上,下,左,右gg跳至文首G跳至文尾^跳至行首$跳至行尾w跳至下一个字首,按标点或单词分割W跳至下一个字首,长跳e跳至下一个字尾E跳至下一个字尾,长跳b跳至上一个字B跳至上一个字,长跳fx在当前行找x字符,找到就跳转;重复上一个f命令...

2020-03-05 19:36:21 122

原创 全排列问题的递归算法(Perm)

全排列问题的递归算法(Perm) 【题目】设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列。【算法讲解】设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{ri}。 集合X中元素的全排列记为perm(X)。 (ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀得到的排列。 R的全排列可归纳定义如下: 当n=1时,perm(R)=(r...

2018-09-05 19:42:17 5378 1

英雄联盟lol英雄头像

英雄联盟lol英雄头像,共160张,120x120,png格式。

2022-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除