不知所措的渣渣辉
码龄7年
关注
提问 私信
  • 博客:49,904
    社区:69
    49,973
    总访问量
  • 34
    原创
  • 730,769
    排名
  • 48
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2018-04-03
博客简介:

qq_41950508的博客

查看详细资料
个人成就
  • 获得65次点赞
  • 内容获得22次评论
  • 获得173次收藏
  • 代码片获得999次分享
创作历程
  • 35篇
    2022年
  • 2篇
    2019年
成就勋章
TA的专栏
  • 【云原生】
    3篇
  • 【C++】
    17篇
  • C++项目
    1篇
  • 算法任务
    1篇
  • 【网络编程】
    10篇
  • 踩坑记录
    1篇
  • 【Redis】
    2篇
兴趣领域 设置
  • 编程语言
    pythonc++
  • 云原生
    容器
  • 人工智能
    机器学习pytorch
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

346人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【云原生】玩转docker实战(二):单机环境的容器编排工具docker-compose

docker-compose是一种容器编排技术,也使用YAML,但它的基因与 Kubernetes 完全不同,走的是 Docker 的技术路线,所以在设计理念和使用方法上有差异就不足为怪了。docker-compose 自身的定位是管理和运行多个 Docker 容器的工具,很显然,它没有 Kubernetes 那么“宏伟”的目标,只是用来方便用户使用 Docker 而已,所以学习难度比较低,上手容易,很多概念都是与 Docker 命令一一对应的。
原创
发布博客 2022.11.18 ·
1489 阅读 ·
3 点赞 ·
2 评论 ·
3 收藏

【云原生】玩转Kubernetes实战(一):Pod、ConfigMap的使用

本文主要是利用Kubernetes 集群搭建出一个 WordPress 网站,用了三个镜像:WordPress、MariaDB、Nginx。下面是其简单的架构图,用于直观的展示这个系统的内部逻辑关系:简单来说,就是要通过本地地址直接访问到WordPress网站。
原创
发布博客 2022.11.18 ·
1154 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【云原生】玩转docker实战(一):多个docker的网站搭建

本文主要介绍如何利用docker命令搭建出一个 WordPress 网站,网站需要用到三个镜像:WordPress、MariaDB、Nginx。默认都是拉取latest的下面是其简单的架构图,用于直观的展示这个系统的内部逻辑关系:这个系统可以说是比较典型的网站了。MariaDB 作为后面的关系型数据库,端口号是 3306;WordPress 是中间的应用服务器,使用 MariaDB 来存储数据,它的端口是 80;Nginx 是前面的反向代理,它对外暴露 80 端口,然后把请求转发给 WordPress。
原创
发布博客 2022.11.18 ·
1479 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

在Ubuntu上使用protobuf(C++)

protobuf 使用教程;protobuf 入门; protoc 编译;运行可执行文件testread,读出addressbook.data中的信息,也就是反序列化。生成的文件主要包含了结构体成员设置和格式转换的接口,下面展示一下如何使用。可以看到最后面,电话本(AddressBook)里面定义了。执行完后,会生成一个.cc和一个.h文件。,可以从里面下载指定语言的压缩包。源文件的写法及更多介绍,可以参考。在上面解压的文件夹下,是有一个。这个文件主要的作用是定义了。代表了电话本可以包含多个。
原创
发布博客 2022.09.30 ·
2808 阅读 ·
4 点赞 ·
2 评论 ·
13 收藏

基于mmcls的车辆属性识别

本研究主要针对车辆属性识别课题。研究能够识别车辆多种外观属性的智能算法,这些属性包含颜色、 类型、副驾驶是否有人、是否系安全带、遮阳板是否放下、车辆朝向、是否有车顶架等。该数据集来自于论文(A Deep Learning-Based Approach to Progressive Vehicle Re-identification for Urban Surveillance),其中提到为了促进车辆重识别(Re-Id)的研究,我们在现实世界城市监控场景中建立了一个名为VeRi的车辆重识别的大规模基准数据集。
原创
发布博客 2022.09.29 ·
1726 阅读 ·
3 点赞 ·
9 评论 ·
10 收藏

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

Failed to connect to xxx.com port 443: Connection refused。-bash: /etc/resolv.conf: Permission denied
原创
发布博客 2022.09.11 ·
1837 阅读 ·
4 点赞 ·
0 评论 ·
12 收藏

【C++】11新特性:异步操作std::async

std::async是更高层次上的异步操作,它的存在可以使开发者不用关注线程创建内部细节,就能方便的获取异步执行状态和结果,还可以指定线程创建策略,应该用std::async替代线程的创建,让它成为做异步操作的首选。其主要涉及std::future、std::packaged_task、std::promise等
原创
发布博客 2022.09.03 ·
4349 阅读 ·
6 点赞 ·
0 评论 ·
19 收藏

【C++】11新特性:std::atomic、std::call_once和std::condition_variable

c++11提供了原子类型`std::atomic`,理论上这个T可以是任意类型,但是平时只存放整形,别的还真的没用过,整形有这种原子变量已经足够方便,就不需要使用`std::mutex`来保护该变量啦。c++11提供了`std::call_once`来保证某一函数在多线程环境中只调用一次,它需要配合`std::once_flag`使用。在C++中,引入了更加方便的一种同步机制`std::condition_variable`,它可以阻塞一个线程或者个线程,直到有线程通知或者超时才会唤醒正在阻塞的线程,条件变
原创
发布博客 2022.09.03 ·
567 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

【C++】11新特性:std::thread、std::mutex和两种RAII方式的锁封装

c++11引入了`std::thread`来创建线程,支持对线程`join`或者`detach`。`std::mutex`是一种线程同步的手段,用于保存多线程同时操作的共享数据。相比于以往的`pthread_mutex_t`方便了许多。c++11主要有`std::lock_guard`和`std::unique_lock`两种锁封装的方式,可以动态的释放锁资源,防止线程由于编码失误导致一直持有锁。
原创
发布博客 2022.09.03 ·
1481 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

【C++】11新特性:左右值引用、移动语义move、完美转发forward

C++11新增了右值引用,C++11引入了右值引用的概念,使得我们把引用与右值进行绑定。使用两个“取地址符号”。移动语义std::move可以理解为转移所有权,之前的拷贝是对于别人的资源,自己重新分配一块内存存储复制过来的资源。右值引用作为是C++11中最重要的新特性之一,解决了C++中大量的历史遗留问题,使C++标准库的实现在多种场景下消除了不必要的额外开销(如std::vector, std::string),也使得另外一些标准库(如std::unique_ptr, std::function)成为可能
原创
发布博客 2022.09.02 ·
711 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

【C++】11新特性:列表初始化std::initializer_list

列表初始化是C++11新增的特性。
原创
发布博客 2022.09.02 ·
699 阅读 ·
4 点赞 ·
7 评论 ·
2 收藏

【C++】11新特性:关键字auto和decltype

之前一开始学STL容器的时候,每次要用迭代器遍历容器的时候,都在for循环中写出了好长的式子,而且主要是类型部分比较长。当时还是比较懊恼的,每次码这么多,后来发现了auto,解放了双手。在编程的时候,我们常常需要把表达式的值赋值给一个新的变量,这时候就要求我们清楚地知道表达式的类型。很多时候,知道表达式的类型其实挺难的,也正是因为这个问题,C++11标准引入了auto关键字,用它能让编译器替我们去分析表达式所属的类型,方便开发者编码的同时也简化了代码。auto。
原创
发布博客 2022.09.02 ·
190 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【C++】11新特性:关键字override和final

在C++11之前,一直没有***继承控制***关键字。禁用一个类的进一步衍生是可能的但也很棘手。为避免用户在派生类中重载一个虚函数,你不得不向后考虑。## **虚函数重载的两个常见错误**一个派生类可以重载在基类中声明的成员函数,这是面向对象设计的基础。然而像重载一个函数这么简单的操作也会出错。关于重载虚函数的两个常见错误如下: - 无意中重载- 签名不匹配
原创
发布博客 2022.09.02 ·
210 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【C++】11新特性:可调用对象封装std::function

类模版`std::function`是一种通用、多态的函数封装。`std::function`的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括:- 普通函数- 函数指针- `Lambda`表达式- `bind`对象- 函数对象
原创
发布博客 2022.09.02 ·
416 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【C++】11新特性:函数适配器std::bind

对于std::bind函数中的参数列表,可以通过来占用位置,在实际调用的地方再进行指定。预先绑定的参数是通过值传递的,而占位符所在位置,跟函数具体参数传递类型有关在实际工作中,经常会用到bind绑定类成员函数,这时候第一个参数表示对象的成员函数的指针,第二个参数表示对象的地址,这是因为对象的成员函数需要有this指针。并且编译器不会将对象的成员函数隐式转换成函数指针,需要通过&手动转换;
原创
发布博客 2022.09.02 ·
282 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【C++】头文件的作用以及用法

头文件的作用:加强类型检查,提高类型安全性;减少公用代码的重复书写,提高编程效率;提供保密和代码重用的手段。
转载
发布博客 2022.08.31 ·
2371 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

【C++】关键字restrict的作用

restrict用于限定和约束,表示这个指针只访问这块内存的唯一方式,也就是告诉编译器,这块内存中的内容的操作都只会通过这个指针,而不会通过其他变量或者指针。
转载
发布博客 2022.08.31 ·
751 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

【Redis】如何保证主从库的数据一致?

本文主要是研究了Redis 的主从库同步的基本原理,关于全量复制、基于长连接的命令传播,以及增量复制。全量复制虽然耗时,但是对于从库来说,如果是第一次同步,全量复制是无法避免的小建议:一个 Redis 实例的数据库不要太大,一个实例大小在几 GB 级别比较合适,这样可以减少 RDB 文件生成、传输和重新加载的开销。另外,为了避免多个从库同时和主库进行全量复制,给主库过大的同步压力,我们也可以采用“主 - 从 - 从”这一级联模式,来缓解主库的压力。长连接复制是主从库正常运行后的常规同步阶段。...
原创
发布博客 2022.08.14 ·
3508 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

【Redis】底层数据结构:压缩列表(ziplist)

压缩列表(ziplist)是Redis的一种底层数据结构,这是一种非常节省内存的结构,是列表(List)、Hash(哈希)和 Sorted Set(有序集合)的底层实现之一。压缩列表之所以能节省内存,就在于它是用一系列连续的 entry 保存数据。这里之前有个疑惑,在压缩列表中,如果我们要查找定位第一个元素和最后一个元素,可以通过表头三个字段的长度直接定位,复杂度是 O(1)。而查找其他元素时,就没有这么高效了,只能逐个查找,此时的复杂度就是 O(N) 了。.........
原创
发布博客 2022.08.12 ·
1052 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

【网络编程】更强的IO复用模型:epoll

epoll可以说是和poll非常相似的一种I/O多路复用技术,epoll通过监控注册的多个描述字,来进行I/O事件的分发处理。不同于poll的是,epoll不仅提供了默认的level-triggered(条件触发)机制,还提供了性能更为强劲的edge-triggered(边缘触发)机制,在后面小结会展开分析。使用epoll进行网络程序的编写,需要三个步骤,分别是epoll_ctlepoll_wait下面将逐一分析一下。默认采用的模式但是只支持非阻塞模式https。.........
原创
发布博客 2022.07.19 ·
275 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多