学习笔记:Effective C++ (二):构造析构赋值运算
05. 了解 C++ 默默编写并调用哪些函数
06. 若不想使用编译器自动生成的函数,应明确拒绝
07 为多态基类声明 virtual 析构函数
08 别让异常逃离析构函数
09 不在构造、析构过程中调用 virtual 函数
10 令 operator= 返回一个 reference to *this
11 在 operator= 中处理 「自我赋值」
12 复制对象时勿忘其每一个成分
学习笔记:Effective C++ (一):让自己习惯C++
1. 视 C++ 为一个语言联邦
2. 尽量以 const, enum, inline 替换#define
3. 尽可能使用 const
4.确定对象被使用前已被初始化
学习笔记:Redis 设计与实现 —— 数据结构与对象
《Redis 设计与实现》一书系统而全面地描述了 Redis 内部运行机制,本文主要记录阅读《Redis 设计与实现》一书 数据结构与对象 时的学习笔记。
实习总结:标注平台结算统计接口开发中的查询优化与SQL优化知识总结
为了支持标注平台运营团队对上半年所有标注任务的结算,最近两周我按照运营团队的需求为标注平台后端新增了导出结算数据统计报表的接口。在这过程中,由于涉及MySQL数据库中数万个任务以及上千万个样本数据的查询,而我在这么庞大的数据处理上缺少经验,接口的编写曾遇到不小的挑战,最初版本的耗时预计在14小时以上,在同事的指导以及查阅各种博客学习SQL优化知识后,经过一次次优化,最终将耗时缩短近百倍。本篇文章主要是总结和记录在开发过程中所学习和使用的MySQL优化原理知识。
学习笔记:InnoDB存储引擎 索引与算法 (一)
InnoDB 是 MySQL 最常用的存储引擎,了解 InnoDB 存储引擎的索引对于日常工作有很大的益处。本文主要记录阅读《MySQL技术内幕 InnoDB存储引擎》一书 索引部分章节时的学习笔记。
实习总结:基于Prometheus + Grafana + JsonDatasource 搭建云资源监控系统
为了提升公司AI平台计算资源的利用效率,需要实现AI平台计算资源、应用数据的实时统计,故提出基于Prometheus+Grafana搭建资源监控平台。由于公司云资源分布在不同集群,需引入多个Prometheus DataSource,而Grafana对于多DataSource数据整合分析不具有很好的原生支持。所以使用Json Datasource插件,自行建立基于GO+Gin框架的后端,调用Prometheus Http接口,对不同集群数据进行整合计算,提供Http接口给Grafana平台调用以供展示。本文主要总结在实习过程中使用的上述组件的部分功能,并非对相关技术全面概览。
学习笔记:Redis 入门指南
Redis 是 Remote Dictionary Server (远程字典服务器)的缩写,它是一个开源的高性能键值对数据库,提供多种键值数据类型来适应不同的存储需求。借助许多高级接口可以实现如缓存、队列系统等功能。本文主要记录阅读《Redis 入门指南》一书 部分章节时的学习笔记。
学习笔记:进程间通信
进程间通信( Inter Process Communication, IPC ) 指在不同的进程之间传播或交换信息。常用的进程间通信方法有:管道、消息队列、共享内存、信号量、套接字等,本文主要介绍前4种主要用于同一台机器上的进程间通信。
CSAPP 学习笔记:并发编程
并发是指逻辑控制流在时间上是重叠的。本文主要总结阅读《深入理解计算机系统》一书 并发编程章节 时所做笔记。
CSAPP 学习笔记:函数调用及栈帧原理
我们知道一个函数调用有以下三个基本过程:调用参数的传入、局部变量的空间管理、函数返回。本文主要总结阅读《深入理解计算机系统》一书 函数调用相关章节 时所做笔记。