自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 docker的起源与容器的由来

Docker是以Docker容器为资源分割和调度的基本单位,封装整个软件运⾏时环境,为开发者和系统管理员设计的,⽤于构建、发布和运⾏分布式应⽤的平台。

2024-05-17 20:35:07 937 1

原创 Docker&K8s

用于构建容器化平台的软件,进程管理软件,主要用于部署应用程序并守护应用进程。容器是由docker软件启动的业务集成,该进程由docker全权管理。容器是进程,由内核机制来完成容器隔离。docker软件包含客户端和服务器,本机客户端和服务器通过Unix套接字通讯。docker服务端通过接受客户端请求来管理容器进程和镜像。

2024-05-17 20:28:00 749

原创 go-特性5

大文件分片传输通常用于在网络上传输大文件时,将文件分成多个较小的片段进行传输,以减少单个请求的负载,并允许在传输过程中进行断点续传。可以使用标准库或第三方库实现大文件的分片上传和下载,通过多个HTTP请求分别传输文件的不同部分,然后在服务端和客户端进行合并。使用os.Rename函数将source/file.txt移动到destination/file.txt。如果移动成功,就会输出File moved successfully!。否则,将输出移动文件时遇到的错误信息。

2024-04-13 19:03:33 818

原创 golang特性4

在Web开发中,中间件经常用于处理HTTP请求,例如身份验证、日志记录、性能监控等。

2024-04-13 18:23:07 2017

原创 golang特性3

在 Go 中,通信共享内存是通过通道来实现的。Go 语言的设计哲学之一就是“不要通过共享内存来通信,而应通过通信来共享内存”。这意味着不鼓励直接在多个协程之间共享内存,而是通过通道进行数据交换,以确保并发安全性。

2024-04-07 22:00:00 731

原创 golang特性2

这样就可以针对接口编程,而不是具体的实现类型,从而实现了代码的抽象化和解耦合。

2024-04-07 21:00:00 480

原创 golang特性1

使用 defer 和 recover 捕 panic,并进行错误处理。在程序可能发生致命错误但不想使程序终止的情况下,可以使用 recover 恢复程序的执行,进行必要的错误处理后继续执行。:在一些关键任务中,可能不想让程序崩溃,但又想记录异常情况。通过使用 defer 和 recover,可以在出现 panic时记录错误信息,然后程序可以继续执行。

2024-04-07 14:54:21 1006

原创 GO - 标准库

(例如:encoding/json、encoding/xml、encoding/base64)(例如:hash/adler32、hash/crc32、hash/fnv)(例如:net/http/httputil、net/http/pprof)(例如:crypto/md5、crypto/aes、crypto/rsa)(例如:container/heap、container/list)(例如:unicode/utf8、unicode/utf16)(例如:text/template、text/scanner)

2024-04-07 14:36:45 711

原创 GO - 泛型编程

类型参数列表使用方括号括起来,并在其中声明一个或多个类型参数。

2024-04-07 14:28:51 2079 1

原创 kafka-消息队列

Apache Kafka 是一个。它由LinkedIn开发并开源,旨在解决实时数据流处理中的挑战,如大规模数据的实时传输、高吞吐量和数据持久化等问题。。,成为了企业实时数据处理的重要工具。

2024-03-22 10:00:00 581

原创 redigo订阅发布以及stream

Redis 订阅发布(Pub/Sub)是一种消息传递模式,用于实现消息的发布和订阅。在这种模式下,消息的发送者称为发布者(Publisher),而消息的接收者称为订阅者(Subscriber)。发布者将消息发送到一个特定的频道(Channel),而订阅者则可以订阅一个或多个频道,以接收发布者发送的消息。为了支持消息的多播机制,redis 引入了发布订阅模块;生产者生产一次消息,由redis负责将消息复制到多个消息队列中,每个消息队列由相应的消费者进行消费;

2024-03-20 21:00:00 596

原创 Redis 管道及事务

redis pipeline 是一个客户端提供的,而不是服务端提供的。Redis 管道(Pipeline)是一种。这样可以减少客户端和服务器之间的网络往返次数,从而提高了操作的效率。:当需要执行多个写入操作时,使用管道可以将它们一次性发送到服务器,减少了每个操作之间的网络往返时间。**批量读取操作:**类似地,当需要获取多个键的值时,使用管道可以一次性发送多个命令,并一次性接收它们的回复,提高了读取操作的效率。

2024-03-20 20:00:00 930

原创 Redis - go

redis 与 client 之间采用请求回应模式,一个请求包对应一个回应包;但是也有例外,pub/sub 模式下,client 发送 subscribe 命令并收到回应包后,之后被动接收 redis 的发布包;所以若需要使用 pub/sub 模式,那么需要在 client 下创建额外一条连接与 redis 交互;

2024-03-20 19:30:00 1616

原创 go -代码结构化

函数是一段完成特定任务的独立代码块,通过 func 关键字进行定义,可以接收参数并返回结果。在其他代码中通过函数名和参数列表来调用函数,可以将函数返回的结果赋值给变量或直接使用。// 函数定义// 函数调用定义: 方法是和特定类型关联的函数,通过在函数名前加上接收者类型来定义。使用: 方法是通过接收者类型的实例调用的,可以理解为属于特定类型的函数。// 结构体定义// 方法定义// 方法调用。

2024-03-20 13:36:17 935 1

原创 go -作用域

当函数被调用时,会沿着这个链表依次查找变量的值。

2024-03-20 13:04:12 831 1

原创 go -数据类型

在Go语言中,常量是指在编译时就确定并且不可变的值。常量的定义使用 const 关键字,通常用于定义程序中固定不变的值,比如数学常数、程序中的固定值等。常量的定义和使用// 常量也可以用于枚举const (Monday // 1,iota自增在上面的例子中,Pi 和 MaxAge 是两个常量,分别代表圆周率和最大年龄。

2024-03-20 12:50:58 622 1

原创 Redis set与zset结构

集合,为了描述它的特征,我们可称呼为无序集合;集合的特征是唯一,集合中的元素是唯一存在的;

2024-03-19 17:28:32 308

原创 Redis Hash数据结构

字典结构,通过 hash 函数(而不是通过比较 key 的方式)来确定节点的位置,很多高级语言包含这个数据结构,例如 c++ 中 unordered_map,go 语言当中的 map 结构;

2024-03-19 16:40:35 325

原创 Redis list结构

首尾相接的双向链表,链表首尾操作时间复杂度为;查找中间元素时间复杂度为;

2024-03-19 16:27:09 272

原创 Redis string结构

字符数组,redis字符串是二进制安全字符串,可以存储图片等二进制数据,同时也可以存储经过messagepack 或者 protobuffer 等工具压缩后的二进制数据;内部实际存储根据 string 的数据特征可采用 int 、embstr、raw 存储;Redis 内部根据字符串的数据特征可以采用不同的存储方式,其中包括 int、embstr 和 raw 存储。当字符串的值可以被解释为整数时,Redis 会采用 int 存储方式。

2024-03-19 15:52:30 437

原创 redis介绍

Redis 是Remote Dictionary Service 的简称;也是远程字典服务;Redis 是内存数据库,KV数据库,数据结构(string, list, hash, set, zset)数据库;虽然 Redis 主要将。

2024-03-19 15:31:25 576

原创 数据结构与算法简介

算法是一系列解决问题的清晰指令。它们可以被看作是解决特定问题的方法,而在计算机科学中,这些问题通常涉及到数据处理和运算。算法可以用于排序、搜索、计算和数据分析等各种领域。一个优秀的算法应该具有正确性、高效性和可读性。算法是计算机科学中的核心内容,也是计算机程序员必须掌握的技能之一。通过不断学习和实践,我们可以不断提高自己的算法水平,从而在编程领域中取得更好的成果。

2023-04-15 15:10:33 104

原创 C++新特性

自动类型推导,可以让编译器自动推断变量的类型。用于变量的声明和定义。Lambda表达式:匿名函数,可以方便地在代码中定义函数对象,可以在代码中定义一个函数对象,而不必显示地编写函数的名称和类型。apture_list表示Lambda表达式的捕获列表,用于捕获Lambda表达式中的外部变量;parameter_list表示Lambda表达式的参数列表;return_type表示Lambda表达式的返回类型;function_body表示Lambda表达式的函数体。Lambda表达式的一个重要特点是可

2023-03-25 14:45:08 235

原创 数据结构C++

第一章绪论1.1基本概念和术语数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。(比如在人类中的数据元素指的是人)数据项:一个数据元素的可以由若干个数据项组成,数据项是数据不可分割的最小单位(人这个数据元素的数据项为,眼睛、嘴巴、耳朵等)数据对象:是性质相同的数据元素的集合,是数据的子集。数据结构:不同数据元素之间不是独立的,而是存在特定关系,我们将这些关系

2021-11-27 12:29:02 540

原创 用例建模笔记

第一章用例建模简介1.1参与者和用例参与者:代表了以某种方式与系统交互的人或事用 例:代表了为参与者所执行的有价值的操作1.2用例图表示参与者与用例之间关系的图,头部的箭头表示参与者1.3需求和用例之间的关系用例主要是表达需求的一种方式,主要描述系统的行为方面1.3.1需求的类型需求描述了系统主要遵循的某种条件或能力需要:涉众认为系统需要完成的事情特性:系统功能的非正式说明,通常用于市场推广和产品定位,可以作为系统行为的简要说明软件需求:系统必须要遵循的条件或功能的单独陈述

2021-07-23 15:57:57 270

原创 C++

C++函数指针与指针函数函数指针是一个指针,指向的是一个函数的地址。指针函数是一个函数,是返回值为指针的函数1.指针函数声明格式:类型标识符* 函数名(参数列表)//普通函数声明:void fun(string a,string b);//指针函数声明void* fun(string a,string b);//指针函数返回的是void类型的地址2.函数指针每个函数实际上都位于某个特定地址,使用函数就像使用变量一样,函数指针的类型取决于兼容函数的参数类型的返回类型。处理函数指针的一

2021-03-14 17:12:38 117

原创 Qt

Qt信号和槽——父子窗口切换对象之间的通信机制。这种机制,要能够给两个不同对象中的函数建立映射关系,前者被调用时,后者也能自动被调用1.标准信号与槽connect(&b1,&QPushButton::pressed,this,&MainWidget::close);//&b1:信号发出者,指针类型 //&QPushButton::pressed:处理的信号, &发送者的类名::信号名字 //this:信号接受者 //&M

2021-03-14 16:13:35 100

原创 C++const限定符

const限定符

2021-02-06 13:08:04 148

原创 C++基本类型 --- 复合类型

**C++基本类型-----复合类型复合类型:指基于其他类型定义的类型1.引用:为对象起的另一个名字,引用类型引用另外一种类型引用即别名引用并非对象,相反的,它只是为一个已经存在的对象所起的另一个名字,一般在初始化变量时,初始值会拷贝到新建的对象中。然而定义引用时,程序把引用和它的初始值绑定**在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和它初始值对象一直绑定在一起。因为无法令引用重新绑定到另一个对象,因此引用必须初始化。int i = 1024;int &rei1 = i

2021-02-05 16:11:32 294

原创 C++复制与赋值

复制与赋值复制: 将数据从源对象传输到目标对象,使得两个对象的数据相同。单独的复制通常是初始化操作,即复制初始化。赋值:擦除左操作数中的当前值,然后存入右操作数的值。复制=擦除+复制,对于基本类型的变量来说,出于优化的目的,赋值通常可以省去擦除操作,因此与复制没有多大的差别,但是我们将看到,对于类对象来说,二者有非常大的差别。在定义类时,可以通过自定义的复制构造函数,/operator=重载函数来显示地控制类对象复制/赋值操作的行为,否则系统会隐式地生成一个复制构造函数/赋值操作符重载函数。G

2021-01-06 19:16:41 580

原创 C++类对象创建

C++类对象类定义实际上并没有创建任何任何spreadsheetcell,只是指定单元格的形状和行为。对象的创建使用类创建得到的对象时,会使用具体的值定义每个属性,将每个操作绑定到相应的方法,展现了某个对象在数据和行为上的个性。创建一个类对象,与声明一个内置类型的普通变量相似,应该根据给定的一个初始式,将对象初始化为一个适当的状态:有名对象:“类名 对象名[初始式]”栈对象,或者数据区对象无名对象:“new 类名 [初始式]”使用new创建堆对象,返回对象首地址“类名 初始式 //创建临时对象,

2020-12-25 23:16:37 536

原创 c++类解析

C++类解析类:要了解类,首先要将类与对象的定义区分开来,例如当回答“什么是橘子时”就在讨论橘子这种水果,所有橘子都是水果,所有橘子都在树上,类只是封装了用来定义对象分类的信息,他描述一个特定橘子是就是在讨论一个对象,所有对象都属于某个特定的类。类只能在一个作用预定一次不同编译单元的类定义,尊应遵从ODR原则。类,属于自定义类型。1.类定义每个类定义都以关键词class和类名开始,类定义是一条C++语句,因此必须用分号结束。类头从通常为class ClassName;类体是成员的说明:数据或者函数

2020-12-25 22:07:51 185

原创 C++知识库

C++知识库容器1sequence containersArray:数组VectorDequeList:双向链表Forward_list:单向链表associative containersset/multisetmap/multimap1)Array数组类型:有固定长度声明数组需定义元素类型及数组长度可对数组进行初始化 array<int, 10> array1 = { 3,7,9,5,2 }数组应用实例#include <iostream>us

2020-12-08 22:45:00 131

Sll-Editor .zip

QML、C++

2021-07-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除