- 博客(47)
- 资源 (3)
- 收藏
- 关注
原创 Prometheus学习
Prometheus 采集、存储数据Grafana 用于图表展示alertmanager 用于接收 Prometheus 发送的警告信息node-exporter 用于收集操作系统和硬件信息的 metrics。
2024-08-24 22:56:48
290
原创 c++_learning-c++标准库STL和boost库
STL:array、vector、deque(queue、stack)、list(forward_list)、priority_queue、map/multimap、set/multiset、unordered_map/unordered_multimap、unordered_set/unordered_multimap等容器的底层原理介绍、常见的成员函数和用法。STL六大组成部分:容器、迭代器、算法(STL内置常用算法)、仿函数(STL内置常用函数对象)、适配器、空间配置器(可自定义),详细的分析。
2023-10-21 02:25:40
891
原创 c++_learning-并发与多线程
并发、多线程(创建、传参、启动、结束控制)、线程间数据共享的数据安全问题(互斥锁(lock_guard/unique_lock)、条件变量)、单例设计模式(饿汉、懒汉设计)、std::async和std::future创建异步任务。
2023-10-19 21:09:40
461
原创 c++_learning-模板与泛型编程
函数模板、类模板、非类型模板参数、模板模板参数、可变参数模板、标准库中可用的模板组件(std::declval、std::true_type/std::false_type、std::conditional、std::function、std::remove_all_extents、std::integer_sequence、std::is_copy_assignable)、*萃取trait相关知识。
2023-10-19 17:44:17
570
原创 c++_learning-模板元编程
元函数。混合元编程。实现typelist操作接口:is_empty类模板、size类模板、front类模板、pop_front类模板、push_front类模板、push_back类模板、replace_front类模板、find类模板、get_maxsize类模板、reverse类模板。tuple的(递归组合)实现:“泛化、特化、构造函数”、“拷贝构造函数”、get接口、std::make_tuple;适配的算法:pop_front_type、push_front、push_back、reverse。
2023-10-18 23:01:20
854
原创 c++后端开发-学习汇总
c++后端开发的学习过程,笔记总结:c++语言的学习、linux学习(linux系统基础、网络编程、系统编程)、数据库学习(mysql数据库、redis数据库)、项目学习(三大池式组件、muduo库核心模块的c++11重构与分析、基于muduo库的集群聊天服务器设计、分布式网络通信框架MPrpc实现)。
2023-10-18 22:30:32
668
原创 c++_learning-对象模型探索
深入介绍了c++类对象的内存布局,以及虚函数的引入对内存布局分布的影响。c++因虚函数的引入,产生的动态多态的性质分析。函数模板、类模板的分析。
2023-10-18 22:29:50
1242
1
原创 c++_learning-进阶部分
类、类与类之间的关系:继承/组合/委托、可调用对象(函数指针、函数对象、匿名函数lambda表达式)、std::bind()绑定器、std::function类模板、c++11新标准:左/右值/左右值引用、可变参数模板、资源管理方案RAII、指针、重载new/delete/new[]/delete[]、智能指针:shared_ptr/weak_ptr/unique_ptr、c++的多态:静态/动态多态
2023-10-18 22:07:09
793
原创 c++_learning-基础部分
基础知识、基础语法:c++程序的内存分布、静态/动态分配内存、函数/类中的静态对象与全局对象的构造顺序、临时对象、深/浅拷贝的问题、std::move()和std::ref()的对比、函数新特性、函数重载、inline内联函数、函数中const的使用、递归函数、c++中的I/O流、I/O缓存区、文件操作。
2023-10-18 17:56:03
721
原创 redis学习笔记 - 进阶部分
本文主要的围绕的内容:redis为何在单线程下仍然很快?、数据库和缓存一致性的问题、缓存的创建时机引发的问题、布隆过滤器、redis缓存的淘汰机制、redis经典的五大类型的底层原理、skiplist跳表等。
2023-08-27 14:27:19
660
原创 MySQL学习笔记 - 进阶部分
详细的介绍了mysql的底层架构、索引、存储引擎、事务、MVCC和锁、日志、集群(主从复制、读写分离)等知识,从sql语句、应用层、server层三个方面简单分析了一下mysql优化的知识。
2023-08-15 17:11:59
946
原创 c++11-14-17_内存管理(RAII)_多线程
在c++11、14、17中,基于RAII的局部对象管理资源,包括智能指针(unique_ptr、shared_ptr、weak_ptr等)、利用栈特性自动释放锁(lock_guard、unique_lock、shared_lock、scope_lock等)。自定义分配器。多线程基础、线程同步和互斥(mutex、超时锁timed_mutex、递归可重入锁recursive_mutex、共享锁shared_mutex、条件变量等)。基于互斥锁、条件变量、智能指针,来实现线程池并完成任务的分发执行。
2023-08-11 16:24:47
610
原创 分布式MPrpc网络通信架构
本项目通过Muduo网络库和Protobuf传输协议、zookeeper服务协调中心,实现了分布式系统中的MPrpc远程调用框架,使用者可以通过简单的定义callee和caller中的方法、bin/test.conf配置文件中zookeeper的host地址和rpcserver的host地址,来实现服务的发布和远程调用。同时,通过异步日志缓冲队列,可实现MPrpc框架在使用过程中的日志记录。
2023-07-30 12:53:15
1052
原创 ChatServer-based-on-NginxTcpLoadBalance-RedisPubSub
集群聊天服务器的设计和业务逻辑实现、调试、分析。使用`muduo`网络库作为项目的网络核心模块,提供高并发的网络IO服务;使用json序列化和反序列化消息,作为私有通信协议;配置nginx基于tcp的负载均衡,实现ChatServer的集群功能,提高了后端服务器的并发能力;使用基于redis的发布-订阅消息队列功能,实现跨服务器的消息通信;使用mysql关系型数据库作为项目的数据持久化存储模块。
2023-07-26 05:22:06
762
原创 redis学习笔记 - 基础部分
介绍了redis常见的数据结构、管道、pub/sub和Stream、事务、持久化、主从复制、哨兵模式、集群等知识。
2023-07-18 15:31:44
1551
原创 docker学习笔记
介绍了Docker的安装和配置、Docker镜像的拉取和构建、Docker网络、DockerFile的编写、docker-compose容器编排等。
2023-07-15 15:22:08
262
原创 linux系统编程
Linux系统编程APUE,主要有进程间通信IPC(管道、命名管道FIFO、共享内存)、线程同步(互斥锁、读写锁、条件变量、信号量)、信号、文件(文件系统、文件I/O)等。
2023-04-25 15:52:06
1115
原创 c++实现十大排序算法
建立在归并操作上的一种有效的排序算法。自上而下的递归(所有递归的方法都可以用迭代重写,所以就有了第 2 种方法);自下而上的迭代;注明:此gif图源于归并排序 | 菜鸟教程。计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。当输入的元素是 n 个 [0, k] 的整数时,它的运行时间是 Θ(n + k)。优点:计数排序不是比较排序,故其排序速度快于任何比较排序算法。
2023-04-16 15:33:12
1129
原创 linux学习总结
Linus是一个开源、免费的操作系统,其稳定性、安全性、处理多并发等方面已经得到业界的认可。Linux在服务器领域的应用是最强的,它的免费、稳定、高效等特点在这里得到了体现。服务器,需要远程通过软件终端,操作和维护。目前很多企业级项目,如c、c++、python、java、go等,都会部署到Linux、Unix系统上。Linux内核:是系统的心脏,是运行程序和管理磁盘和打印机等硬件设备的核心程序,提供了一个裸设备与应用层之间的抽象层。
2023-04-12 12:56:47
1251
原创 Go语言学习笔记
本文主要涉及Go语言的基础知识,其中interface接口、goroutine协程和channel管道、反射机制等为重点内容。
2022-10-14 21:29:25
1320
原创 数据结构与算法学习笔记(五)树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、树的结构 介绍:树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。树结构,可以看作一颗根朝上、叶朝下的倒挂的树,即是由n(n>=1)个有限结点组成一个具有层次关系的集合。每个结点有零个或多个子结点;至少一个根结点(没有父结点的结点);每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树; 常用的概念:1)节点深度:对任意...
2022-09-26 16:36:01
544
原创 c++中vector存储动态指针时正确释放内存?
vector容器中存放的自定义类的动态指针对象,可以通过逐个调用自定义类的析构函数完成析构过程。
2022-08-21 20:56:39
1329
原创 matlab实现两个字符串数据相减
代码分析:两个字符串可以是两个整数、两个小数或者一个小数一个整数的情况。在本代码中,将小数全部直接去掉小数点按位进行运算,比如'0.02' - '0.112',则直接进行'0020' - '0112'的相减即可;'10'-'2',则直接进行'10' - '02'的运算;'8'-'0.02',则将'8'拆分成'7'和'1',直接用'1.0' - '0.02'(转换成小数小数('1.0'后面必须加'.0',保证其是小数)),得到小数与小数的结果后,再加'7'即可。function [result] = .
2022-05-24 21:39:43
3064
原创 数据结构与算法学习笔记(四)堆栈和队列
堆栈和队列,是两种相当典型的抽象数据类型,也是一种有特定进出规则的线性表;主要特性是,根据自身的规则按位置插入和删除数据;一、堆栈stack堆栈(stack):last in first out(LIFO)先进后出,入栈(压入push)、出栈(弹出pop);应用范围:递归调用和返回,二叉树和森林的遍历操作,调用子程序和从子程序中返回,算术表达式的转换和求值,CPU的中断处理(interrupt handling)中重要数据的保护作用(可以对重要的寄存器或变量进行...
2022-05-01 20:39:50
857
原创 算数表达式的中序和后序的转换与计算
常见的四则混合运算表达式,中缀表达式便于人的理解,但后序表达式更方便计算机的运算(如二叉树、堆栈的方法计算)。本文主要谈论的重点是将算术表达式的“中序表达式”转换为“后序表达式”,并根据后序表达式得到算数表达式的值。
2022-04-28 19:29:29
1614
原创 数据结构与算法学习笔记(三)线性表
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言本文主要从代码介绍线性表中的链表(单向链表、环形链表)提示:以下是本篇文章正文内容,下面案例可供参考一、线性表中顺序存储与链表的对比1、顺序存储:按照顺序存储方式存储的线性表,且存储地址连续;顺序表存储数据时使用的就是数组,会提前申请一整块足够大小的物理空间,并将数据依次存储起来,存储时做到数据元素.
2022-04-26 21:00:38
1481
原创 数据结构与算法学习笔记(二)动态数组
1、MyArray.h#pragma once#include <iostream>using namespace std;#ifndef MYARRAY#define MYARRAYclass MyArray{public: MyArray(); // 默认构函数 MyArray(int capacity); // 有参构函数 MyArray(const MyArray &arr); .
2022-04-25 00:49:53
1576
原创 数据结构与算法学习笔记(一)基本认识
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决..
2022-04-23 19:33:28
581
原创 基于opencv的AI虚拟画板
提示:以下是本篇文章正文内容,下面案例可供参考一、opencv实现虚拟画板0.jpg1.jpg2.jpg3.jpg4.jpg5.jpg6.jpg二、使用步骤1.HandTrackingModule.py代码如下(示例):import cv2import mediapipe as mpimport mathclass HandDetector: """ Finds Hands using the mediapipe library. Exports the
2021-12-04 21:49:06
1453
2
原创 利用opencv和mediapip实现对虚拟图像的多张缩放和移动
目录一、单张虚拟图像的缩放和移动1.图片素材2.代码如下:3. 效果展示二、多张虚拟图像的移动1.图片素材2.代码如下:3.效果如下:三、多张图片缩放1.代码如下:2.效果如下:四、多张图片的缩放和移动1.代码如下:2.效果如下:提示:cvzone、mediapip的相关文档,参考:Hands - mediapipe一、单张虚拟图像的缩放和移动1.图片素材本次使用一张200*200的.jpg图片,2.代码如下:...
2021-12-02 00:18:30
727
原创 机器学习---Confusion Matrix混淆矩阵
混淆矩阵是ROC曲线绘制的基础,同时它也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。混淆矩阵就是分别统计分类模型归错类,归对类的观测值个数,然后把结果放在一个表里展示出来。这个表就是混淆矩阵。数据分析与挖掘体系位置混淆矩阵是评判模型结果的指标,属于模型评估的一部分。此外,混淆矩阵多用于判断分类器(Classifier)的优劣,适用于分类型的数据模型,如分类树(Classification Tree)、逻辑回归(Logistic Regression)、线性判别分析(Linear
2021-11-27 23:17:29
21632
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人