摘要: 1、k8s是什么 1)k8s(全称Kubernetes),是一个可移植、可扩展、自动化的开源平台。 2、k8s的作用 1)部署技术演化:物理机 -> 虚拟机 -> 容器。 2)物理机: 3)k8s用于管理容器化工作负载和服务。 阅读全文
posted @ 2019-09-03 16:57 happyyoung 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Baidu All Reduce,即Ring All Reduce。Ring All Reduce技术在高性能计算领域很常用,2017年被百度用于深度学习训练。 朴素All Reduce的通信时间随GPU节点数线性增长。Ring All Reduce的通信时间跟GPU节点数无关,只受限于GPU间最慢 阅读全文
posted @ 2019-08-22 11:27 happyyoung 阅读(2917) 评论(0) 推荐(0) 编辑
摘要: 积分图(Integral Image),可以用于快速计算矩形特征。积分图每个位置(x, y)的值,等于原图对应位置的左上角所有像素点的值之和。因为“积分”在离散情况下就是求和,所以这也是积分图的命名由来。 初始状态 状态转移方程 这明显是很简单的动态规划,用空间换时间。由此,计算任意(红色)矩形的像 阅读全文
posted @ 2019-03-23 12:14 happyyoung 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 1、常量,一定要且只能被初始化(包括类的初始化列表),不能被赋值,即不能修改。 2、常量成员函数,不能修改成员变量。 3、常量对象,不能调用非常量成员函数,因为非常量成员函数可能修改对象的成员变量。 4、指针常量(*const),指针本身是常量,指针指向的内容可以被修改。对应指针变量。 5、常量指针 阅读全文
posted @ 2019-02-10 22:49 happyyoung 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 1、进程 1)操作系统资源分配的基本单位。 2)进程状态:阻塞、就绪和运行。 3)每个进程都有自己独立的进程地址空间。 4)一个进程崩溃了,不影响其他进程。 5)进程创建、切换和销毁等开销大。 6)进程间通信,效率低。 2、线程 1)操作系统调度的基本单位。 2)线程独有的资源,主要为了线程切换时, 阅读全文
posted @ 2019-02-10 21:47 happyyoung 阅读(915) 评论(0) 推荐(0) 编辑
摘要: TCP(Transmission Control Protocol,传输控制协议),是一种面向连接的,可靠的,基于字节流的传输层协议。 1、报文格式 1)IP首部和TCP首部中的源地址+源端口,以及目的地址+目的端口,唯一确定一个TCP连接。 2)序号(4B):报文第一个字节的编号。可靠性的主要保障 阅读全文
posted @ 2019-02-03 17:38 happyyoung 阅读(208) 评论(0) 推荐(0) 编辑
摘要: protobuf中的整数,如int32、int64、uint32、uint64、sint32、sint64、bool和enum,采用可变长编码,即varints。 这样做的好处是,可以节省空间。根据整数大小来决定使用多少字节。 下面通过一个具体例子来阐述它的实现原理: 300的二进制表示是10010 阅读全文
posted @ 2019-01-28 09:59 happyyoung 阅读(2233) 评论(0) 推荐(0) 编辑
摘要: GCD(Grand Central Dispatch),主要用于多线程编程。它屏蔽了繁琐的线程实现及管理细节,将其交由系统处理。开发者只需要定义任务block(在底层被封装成dispatch_continuation_t结构体),并提交到正确的dispatch queue中。GCD包含dispatc 阅读全文
posted @ 2019-01-11 10:15 happyyoung 阅读(1056) 评论(0) 推荐(0) 编辑
摘要: atomic(原子的),顾名思义,原子操作应该是线程安全的,然而,真相并不是! @property (atomic, strong) NSMutableArray *arr; // 多线程操作arr并不安全 因为atomic关键字只是保证了getter和setter的原子性,相当于分别在这两个方法首 阅读全文
posted @ 2018-11-28 21:28 happyyoung 阅读(334) 评论(0) 推荐(0) 编辑
摘要: package,即包,可以把功能相近的module(模块)组织在一起,以便更好地管理。Java中也有包的概念,作用类似,是为了更好地管理类和接口。package,说白了就是个目录,不过这个目录下一定要有__init__.py文件(这个文件可以空白)。package可以有子package,如下: mo 阅读全文
posted @ 2018-09-26 15:36 happyyoung 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 一个Objective-C对象通常分配在堆上,并有一个或者多个指针指向它。如下代码及其关系图所示: NSObject *obj1 = [[NSObject alloc] init]; NSObject *obj2 = obj1; 所谓浅拷贝与深拷贝,需要分为非容器类(如NSString)与容器类(如 阅读全文
posted @ 2018-09-02 09:32 happyyoung 阅读(254) 评论(0) 推荐(0) 编辑
摘要: HTTPS(HyperText Transfer Protocol over Secure Socket Layer),可以看成HTTP+SSL/TLS。其中TLS(Transport Layer Security,传输层安全)是SSL的改进。 1、HTTP的问题 1)通信内容明文,可能被窃听。 2 阅读全文
posted @ 2018-08-07 21:49 happyyoung 阅读(190) 评论(0) 推荐(0) 编辑
摘要: KVO(Key Value Observing,键值观察),是Objective-C观察者模式的实现。当被观察对象的某个属性发生变化时,观察对象就会收到通知。 实现原理: 1)在运行期,为被观察对象的类xxx动态创建一个子类,名为NSKVONotifying_xxx 2)在子类NSKVONotify 阅读全文
posted @ 2018-07-05 22:06 happyyoung 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1、weak是弱引用,所引用的对象计数不会加1。 2、weak变量在其引用的对象被销毁之后,会被置为nil。 3、weak通常用于block, delegate, NSTimer,以解决循环引用带来的内存泄漏问题。 NSObject *obj = [[NSObject alloc] init]; / 阅读全文
posted @ 2018-06-25 22:32 happyyoung 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: @synchronized是线程同步锁,易用、可读性高。 @synchronized(self) { 临界区 } 利用如下命令将其重写 clang -rewrite-objc file 得到C++实现 { id _sync_obj = (id)self; objc_sync_enter(_sync_ 阅读全文
posted @ 2018-06-17 22:06 happyyoung 阅读(1027) 评论(1) 推荐(0) 编辑
摘要: 使用gdb,需要保留调试信息。对于g++,是使用-g编译选项;对于CMake,则是设置CMAKE_BUILD_TYPE变量。 // CMake配置 set(CMAKE_BUILD_TYPE "Debug") gdb 调试文件:启动gdb。 1、bt(backtrace):查看调用堆栈。 2、r(ru 阅读全文
posted @ 2017-10-30 11:31 happyyoung 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透:查询数据库不存在的记录。 布隆过滤器。 缓存空记录。 缓存击穿:单key热点缓存不存在。 缓存雪崩: 一致性: 读时更新+过期。 写时更新。 阅读全文
posted @ 2022-04-14 15:12 happyyoung 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ELF文件格式。 目标文件。 可执行文件。 编译。 符号。 extern。 链接器。 代码段(text)。 数据段(data)。 bss段。 内部碎片。 装载。 全局符号表。 空间与地址分配。 符号解析与重定位。 _start。 objdump。 阅读全文
posted @ 2022-03-30 14:46 happyyoung 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 冥想 阅读全文
posted @ 2021-09-18 10:52 happyyoung 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 逻辑 阅读全文
posted @ 2021-09-18 10:36 happyyoung 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 数据密集型。 计算密集型。 CPU。 数据库。 缓存。 索引。 流处理。 批处理。 存储引擎。 可靠性。 可扩展性。 可维护性。 方案选型。 消息队列。 redis。 kafka。 memcached。 elasticsearch。 solr。 架构。 降级。 性能。 负载。 扩容。 硬件故障、软件 阅读全文
posted @ 2021-09-18 10:34 happyyoung 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 高效 阅读全文
posted @ 2021-09-18 10:33 happyyoung 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 专注 阅读全文
posted @ 2021-09-18 10:33 happyyoung 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 复盘 阅读全文
posted @ 2021-09-18 10:23 happyyoung 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 二八定律 阅读全文
posted @ 2021-09-18 10:17 happyyoung 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 幂等设计 阅读全文
posted @ 2020-09-09 20:15 happyyoung 阅读(117) 评论(0) 推荐(0) 编辑