React 源码解析系列 - React 的 render 阶段(三):completeUnitOfWork
React 的工作流程主要分为 render 和 commit 两个阶段,本文讨论 render 阶段的其中一个主要操作 —— completeUnitOfWork
layoutSubviews简要解析
The default implementation of this method does nothing on iOS 5.1 and earlier. Otherwise, the defaul
教你在“狼人杀”中实现变声效果
上一期我们介绍了如何使用[华为音频编辑服务](https://developer.huawei.com/consumer/cn/hms/huawei-video-editor?ha_source=h
PyQt5实现跑马灯效果
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 软硬件环境 Windows 10 64bit Anaconda3 with python 3.7 PyQt5 前言 本文将实现跑马灯效果,使
Storm基础篇三—Scheduler、Configuration
本文主要结合storm官网文档,简要阐述了storm中的Scheduler和configuration,浅析了topology的提交过程以及storm默认调度器如何进行任务调度。
SwiftProtobuf的源头Protobuf是什么
小知识,大挑战!本文正在参与「程序员必备小知识」创作活动 本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金 protobuf是啥玩意儿? 为了照顾从没听说过的同学,照例先来扫盲一把。
iOS自动释放池AutoreleasePool
引言 我们项目的main函数中有一个自动释放池@autoreleasepool,我们的代码都是运行在这个自动释放池之中 我们通过查看其底层代码实现逻辑查看其实现细节 打开main.cpp文件查看 从这
美团智能客服核心技术与实践
客服是在用户服务体验不完美的情况下,尽可能帮助体验顺畅进行下去的一种解决办法,是问题发生后的一种兜底方案。而智能客服能让大部分简单的问题得以快速自助解决,让复杂问题有机会被人工高效解决。
Swift 泛型协议
之前在一些分享会上经常听到 类型擦除(Type Erase)这个概念,从其命名上大概知道它要干什么,但是对于为什么要用它?以及什么场景下使用它?对此,我并没有深刻的理解。于是,借着假期好好研究了一下。
ASO小知识:tweak去掉对rocketbootstrap的Depends依赖
在ASO项目中常常基于Rrocketbootstrap封装Message工具类进行进程间的消息通信,为了避免每次部署都从bigBoss 源更新。本文就来讲讲如何去掉对rocketbootstrap的D
iOS抽奖转盘上篇:概率抽奖算法 & 转盘算法 &轮盘边框动画丨(内含完整Demo)
在app侧控制中奖奖品,有两种方式 方式一:发起网络请求获取当前选中奖品(推荐),即由服务侧控制中奖数据,更安全 方式二:根据奖品百分比进行控制中奖概率
2021 年当我们聊前端部署时,我们在聊什么
先上灵魂拷问 在文章之前,先抛一些灵魂拷问: 前端代码从 tsx/jsx 到部署上线被用户访问,中间大致会经历哪些过程? 上述过程中分别都有哪些考虑、指标和优化点,以满足复杂的业务需求? 可能大部分同
JetPack Compose 底部导航栏实现
开发一个新项目,底部导航栏一般是首页的标配,在以前的xml布局中,我们可以很轻松的是用谷歌提供的BottomNavigationView或者自定义来实现底部导航的功能,在Compose中也有也提供了一
Go 学习笔记之 数组
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,因此在 Go 语言中很少直接使用数组
iOS @synchronized() 底层原理探索
多个@synchronized() 嵌套,没有意义也不会报错;是objc中提供的同步锁,支持递归。但是在swift中删除了,可以使用objc_sync替代。 读完本文你可以了解到synchronize
周排行