iOS
未读
为 UIControl 实现线程安全的 Block 事件扩展:原理与实践
一、背景与痛点 在 iOS 开发中,UIControl 的 Target-Action 机制是处理用户交互事件的标准方式。然而当面临以下场景时,传统方案会暴露明显缺陷: 线程安全问题:在后台线程修改事件监听可能导致 UI 操作不同步 代码冗余:需为每个事件单独创建 selector 方法 维护成本:
k8s前端项目利用nginx部署项目不停机
思路是利用docker部署的时候,在新的docker没有启动完成之前,一直保留老的docker,不切换流量到新docker。 以下配置都在docker到yaml文件中配置的。 首先配置Deployment: spec:
replicas: 1
minReadySeconds: 60 #容器接
Vue3+Vite+history模式+Nginx 部署二级路径
需求是vite打包的项目部署到指定的二级路径。 例如把前端项目部署在https:foo.com/bar/上,可以通过https:foo.com/bar/打开前端项目网页。 关键点在于三点: 1. vite.config.ts 中的 base # vite.config.ts 中的 defineCon
算法
未读
常用代码模板2——数据结构
单链表 // head存储链表头,e[]存储节点的值,ne[]存储节点的next指针,idx表示当前用到了哪个节点
int head, e[N], ne[N], idx;
// 初始化
void init()
{
head = -1;
idx = 0;
}
// 在链表头插入一个
算法
未读
常用代码模板1——基础算法
快速排序算法模板 void quick_sort(int q[], int l, int r)
{
if (l >= r) return;
int i = l - 1, j = r + 1, x = q[(l + r) >> 1];
while (i < j)
{