ciniao 发布的文章

在前端监控系统中,数据采集只是第一步,如何确保数据能够稳定上报到服务器才是关键挑战。用户可能面临断网、弱网环境,或者快速关闭页面,这些情况都可能导致日志数据丢失。

一、上报方式与策略:如何选出最优解?

前端数据上报主要有三种方式:Image(图片请求)、sendBeacon 和 XHR/Fetch。

1. 三种上报方式详解

GIF/Image
利用图片请求(new Image().src)来传输数据,将上报数据拼在URL后面,服务器返回一张1×1的透明GIF图完成上报。

特点:天然支持跨域,绝无"预检"请求(因为是简单请求)。
局限:只能发GET请求,URL长度有限(通常<2KB),无法携带大数据。

sendBeacon
使用navigator.sendBeacon(url, data),浏览器将数据放入后台队列,即使页面关闭也会尽力发送。

特点:异步非阻塞(不卡主线程),可靠性极高。
局限:数据量有限(约64KB),无法自定义复杂的请求头。

XHR/Fetch
使用XMLHttpRequestfetch发送POST请求。

特点:容量极大(几兆都没问题),适合发送录屏、长堆栈。
局限:跨域时通常会触发OPTIONS预检(成本高),页面关闭时请求容易被掐断(fetch需配合keepalive)。

- 阅读剩余部分 -

针对耗时数天甚至数周的Python任务,传统开发模式往往难以应对网络波动或内存溢出。长运行任务(Long-running jobs)的失败方式与普通脚本完全不同,在长时间执行过程中可能面临笔记本电脑进入睡眠、办公室Wi-Fi掉线、数据库偶尔故障等问题。

为了让脚本具备"长寿"基因,需要从韧性(Resilience)、可观测性(Observability)和可恢复性(Recoverability)三个维度重新构建工具链。以下是七个专门为此设计的Python库,它们能解决那些只有在系统崩溃时才会意识到的棘手问题。

- 阅读剩余部分 -

轻松传是一个文件、文本、屏幕、音视频的传输工具,致力于让用户数据的跨设备传输变得更轻松便捷。该工具采用纯网页形式,以便能即开即用,并最大化的支持用户的所有个人设备,包括电脑、手机、平板、电子书(Kindle)等,无论什么系统或平台,只要有浏览器就能使用。

地址:https://easychuan.cn/

- 阅读剩余部分 -

新一代 Python 代码纠错工具Ruff,突出一个字"快"!

在软件开发中,代码质量至关重要。为保证Python代码质量,开发人员需要使用优秀的代码检查工具。以下是几个常用的Python代码检查工具:

Pylint:流行的Python代码检查工具,用于检查代码语法、风格和代码错误等问题,提供丰富的插件和配置选项。

Flake8:由Pint、Pyflakes和pep8三个库组成的Python代码检查工具,可检查语法错误、代码风格和各种代码错误,具有高度可配置性和易用性。

Pyflakes:Python代码静态分析工具,用于检测Python代码中的语法错误和未使用的变量、模块问题,也可检查Python模块导入语句的正确性。

mypy:类型注释检查器,用于检查Python代码的类型注释,确保代码中的注释与实际使用的变量和函数相匹配。

- 阅读剩余部分 -