使用 shell 脚本拼接 srt 字幕文件 (srtcat)

将多个 srt 文件拼接成一个,找了好多工具,都太重了,自己用 shell 手搓一个。一开始没觉得这个小工具有多么难,以为半天肯定能搞定,结果足足搞了三天。绊倒我的居然是时间字段的拆分和前导零的删除,看看 shell 里有多少种实现方案,以及我为何选择了当前的方案。

使用 shell 脚本自动申请进京证 (六环外)

活动在帝都的外地车对进京证应该不陌生,六环外进京证虽然不限次数,但是超过中午就办不了当天的了,你是否还在为出门前才发现忘了办理当天的进京证而懊恼?你是否为办理每周的进京证定过闹钟?如今这一切不堪回首都将过去,欢迎使用 jinjing365 自动办理六环外进京证。

[apue] 一图读懂 Unix 时间日期例程相互关系

GMT 和 UTC 时间有何区别?Unix 时间例程为何不处理闰秒?系统时区是如何设置的?哪些时间例程受夏时制影响?localtime 和 gmtime 是否共享内部存储区?strftime 获取第几周使用的 %U/%V/%W 有何区别?linux date 和 mac date 语法有何区别?本文一一为你解答

使用 shell 脚本自动申请进京证 (六环外) —— debug 过程

写好的自动办理六环外进京证脚本跑不通,总是返回办理业务人数较多 (500) 错误,Charles / VNET 抓包、android 交叉编译 jq、升级 curl…都不起作用,最终还是神奇的 adb shell 帮了大忙,最后定位到根因,居然是用 shell 字符串长度作为数据长度导致的,这错误犯的有点低级……

使用脚本收发 protobuf 协议数据

服务器使用二进制的 protobuf 协议,如何使用脚本模拟请求?答案是将它转成 json 再用 jq 处理,一起来看看吧~

使用百度地图路书为骑行视频添加同步轨迹

想要将骑行视频和轨迹视频同步播放,试了几个工具都实现不了,最后发现 BMapLib.LuShu 组件的一个隐藏功能,完美的满足了我的需求。使用 shell 脚本做了个将轨迹数据一键导出为轨迹动画的工具,期间遇到了坐标转换、遗漏经停点等等难题,进来看看我是怎么解决的吧~

[apue] 进程环境那些事儿

atexit 注册的处理器中可以再调 atexit 或 exit 吗?putenv 或 setenv 增加一个环境变量后 environ 指针地址为什么变了?setjmp & longjmp 跨函数跳转后自动变量为什么回退了?设置 RLIMIT_NPROC 为 10 为何连一个子进程也 fork 不了?设置 RLIMIT_NOFILE 后为何 sysconf 的返回值也受到了影响?本文为你一一解答

数据同步gossip协议原理与应用场景介绍

Gossip是一种p2p的分布式协议。它的核心是在去中心化结构下,通过将信息部分传递,达到全集群的状态信息传播,传播的时间收敛在O(Log(N))以内,其中N是节点的数量。基于gossip协议,可以构建出状态一致的各种解决方案。

golang pprof监控系列(2) —— memory,block,mutex 使用

golang pprof监控系列(2) —— memory,block,mutex 使用 大家好,我是蓝胖子。 profile的中文被翻译轮廓,对于计算机程序而言,抛开业务逻辑不谈,它的轮廓是是啥呢?不就是cpu,内存,各种阻塞开销,线程,协程概况 这些运行指标或环境。golang语言自带了工具库来

golang pprof 监控系列(3) —— memory,block,mutex 统计原理

golang pprof 监控系列(3) —— memory,block,mutex 统计原理 大家好,我是蓝胖子。 在上一篇文章 golang pprof监控系列(2) —— memory,block,mutex 使用里我讲解了这3种性能指标如何在程序中暴露以及各自监控的范围。也有提到memory

golang 必会之 pprof 监控系列(5) —— cpu 占用率 统计原理

golang pprof 监控系列(5) —— cpu 占用率 统计原理 大家好,我是蓝胖子。 经过前面的几节对pprof的介绍,对pprof统计的原理算是掌握了七八十了,我们对memory,block,mutex,trace,goroutine,threadcreate这些维度的统计原理都进行了分

golang 实现四层负载均衡

> 大家好,我是蓝胖子,做开发的同学应该经常听到过负载均衡的概念,今天我们就来实现一个乞丐版的四层负载均衡,并用它对mysql进行负载均衡测试,通过本篇你可以了解到零拷贝的应用,四层负载均衡的本质以及实践。 本文代码已经上传到github ```shell https://github.com/Ho

机器学习教程

目录有监督学习含义回归单元线性回归含义代价函数梯度下降法将梯度下降法与代数函数结合在一起多元线性回归含义多元假设函数多元代价函数多元梯度下降法将多元梯度下降法与代数函数结合在一起特征缩放啥是特征缩放?公式均值归一化学习率的调整的建议介绍建议正规方程解释公式如何选择梯度下降法或正规方程?两者之间的优缺

Gossip in Hyperledger Fabric

1. Gossip协议基础 1.1 什么是分布式系统 分布式系统(Distributed System)是由多台计算机或计算节点组成的计算机系统,这些计算节点通过网络连接在一起,并协同工作以完成共同的任务或提供服务。与单一计算机系统不同,分布式系统中的计算节点可以分布在不同的地理位置。 以下是分布式

golang Context应用举例

Context本质 golang标准库里Context实际上是一个接口(即一种编程规范、 一种约定)。 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() err

pbjs 无法编码 bytes 类型数据问题的解决方案

一段包含 bytes 类型的 protobuf 二进制数据,经过 pbjs 解码生成的 json 文件,再传递给 pbjs 编码后生成的二进制数据和原始数据差异巨大,经过一番探究,发现居然是 pbjs 的一个 bug,快来看看你是否踩过这个坑吧~

Gorm日志设置

Logger Gorm提供了一个默认的logger实现,默认情况下日志数据级别为warn,同时输出慢SQL: Default = New(log.New(os.Stdout, "\r\n", log.LstdFlags), Config{ SlowThreshold: 200 * time.Mill

PHP转Go系列 | ThinkPHP与Gin框架之OpenApi授权设计实践

工作中只要接触过第三方开放平台的都离不开 OpenApi,几乎各大平台都会有自己的 OpenApi 比如微信、淘宝、京东、抖音等。在 OpenApi 对接的过程中最首要的环节就是授权,获取到平台的授权 Token 至关重要。

PHP转Go系列 | ThinkPHP与Gin框架之API接口签名设计实践

大家好,我是码农先森。 回想起以前用模版渲染数据的岁月,那时都没有 API 接口开发的概念。PHP 服务端和前端 HTML、CSS、JS 代码混合式开发,也不分前端、后端程序员,大家都是全干工程师。随着前后端分离、移动端开发的兴起,用后端渲染数据的开发方式效率低下,已经不能满足业务对需求快速上线的要

PHP转Go系列 | GET 和 POST 请求的使用姿势

大家好,我是码农先森。 说到 HTTP 请求工具想必对我们做 Web 开发的程序员都不陌生,只要涉及到网络请求都必须使用。对于我们 PHP 程序员来说,最熟悉不过的就是 CURL 扩展,只要安装的这个扩展便可随意发起 HTTP 请求。 但在 PHP 语言中还有一个很好用的 Composer 包「gu