通知推送服务方案

在服务端开发与运维场景中,常常需要把监控告警、构建结果、定时任务状态等信息以推送通知的形式实时发送到手机或桌面。直接接入各厂商的推送通道(APNs、FCM)成本较高,而第三方 SaaS 又涉及数据出境和付费问题。此时,自建通知推送服务成为一种兼顾可控性与简洁性的选择。

C/C++面试基础知识

如何定义一个只能在堆上(栈上)生成对象的类?

方法:将析构函数设置为私有

原因:C++ 是静态绑定语言,编译器管理栈上对象的生命周期,编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性。若析构函数不可访问,则不能在栈上创建对象。

逻辑回归

Logistic Regression 虽然被称为「回归」,但其实际上是一个分类模型,并最常用于二分类(binary classification)。它因模型简单、可并行化、可解释性强,且训练和推理代价都较低,在广告点击率预估、风控、医疗诊断等工业场景中至今仍被广泛使用,常常作为强基线(strong baseline)出现。

Kubernetes 渐进式发布

通常渐进式发布主要包括两类:蓝绿发布和金丝雀发布。本文对此做详细介绍,前置背景可参考:

蓝绿部署中一共存在两套系统:一套是正在对外提供服务的系统,标记为「绿色」;另一套是准备发布的系统,标记为「蓝色」。两套系统都是功能完善、可独立运行的系统,只是版本和对外服务状态不同。

当需要用新版本替换线上旧版本时,会在现有系统之外部署一套使用新版本代码的全新系统。此时两套系统并存:继续对外提供服务的旧系统是绿色系统,新部署的系统是蓝色系统。切换时只需把流量入口指向蓝色系统即可完成发布;如需回退,再把流量切回绿色系统。