自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 深入理解Kafka

Kafka是什么呢?Apache Kafka是一款开源的消息引擎系统,也是一个分布式流处理平台。相比很多时候,大家都是将其称之为消息中间件、消息队列,但是这样称呼未免显得其功能太单一。根据维基百科的定义,消息引擎是一组规范,企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传输。换句话说,就是系统A发消息给消息引擎系统,系统B从消息引擎系统中读取A发送的消息。点对点模型:也叫消息队列模型,即A发送的消息只能B接收,类似于日常的打电话发布/订阅模型。

2023-08-18 11:06:58 176

原创 MySelfQQ部署文档

MySelfQQ部署文档MySelfQQ包含两个个主要的部分:客户端、服务器。服务器又包含三个服务器,提供不同的功能:web服务器、文件服务器、聊天服务器。模块说明配置依赖客户端软件客户端,直接可交互的终端。需要登录才能使用全部功能1. C++2. Qt5.12.0web服务器web服务器,提供客户端的数据修改操作和比如更换头像、登录验证等等功能1. Java2. jdk1.83. MySQL 8.04. chevereto(图床服务)文件服务器文件服务器,提

2022-05-06 17:41:14 1026 1

原创 Docker入门

一、什么是Docker?Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公 司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub (http s://github.com/docker/docker) 上进行维护。Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC

2022-03-23 17:49:29 1570

原创 Docker

一、什么是Docker?Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公 司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub (http s://github.com/docker/docker) 上进行维护。Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上

2022-03-23 16:41:53 110

原创 使用Qt高仿一个自己的QQ

一、简介本人自己仿造QQ做的一个即时通讯聊天软件,客户端使用的是Qt5.12.0,账号注册使用的的SpringBoot,后台服务器是自己仿造别人的自己编写的一个TCP服务器,数据库使用的是MySQL。实现的功能有:注册、登录、添加好友、新增分组、移动分组、消息通知、发送文字、发送表情、发送图片、发送文件、截屏(群功能同),好友侧边栏等等。整个项目主要分为三个部分:Qt客户端部分、网页SpringBoot部分、后台网络服务器部分。演示视频如下:

2022-02-10 00:20:41 3540 7

原创 修改PDF

package bean.utils;import java.io.File;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class FileUtil { private static Map<String,String> files = new HashMap<>(); public st

2021-11-15 00:15:22 248

原创 Gitea搭建

搭建私有giteaversion: "3"networks: gitea: external: falseservices: server: image: gitea/gitea:1.15.6 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql - GITEA__d

2021-11-14 15:33:37 999

原创 Thrift入门学习

Thrift一、简介Apache Thrift 是由 Facebook 开发的一种远程服务调用(RPC Remote Procedure Call)的框架。下面应用官网的一句话对其进行介绍:简而言之,Thrift是一种支持多语言的软件框架,在各个服务之间的RPC通信领域应用非常广泛。RPC(远程过程调用)是一个计算机通信协议,该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。(参考远程过程调用)。Thrift通过一个中间语言(IDL, 接口定义语言)来

2021-07-30 16:38:50 1187

原创 Qt获得圆形图片--无锯齿

#Qt获得圆形图片–无锯齿在网上看了很久,想找一个将图片转化为圆形的实现,但是发现大家的实现都基本一样,而且都有锯齿,所以就自己琢磨着实现了一个**代码如下QPixmap pixmapToRound(QPixmap &src, int radius){ if(src.isNull()) { return QPixmap(); } QPixmap pix(src.width(), src.height()); pix.fill(Qt:

2021-04-24 18:06:30 541

原创 使用Qt过程中遇到的bug和解决方法

使用Qt过程中遇到的问题和解决办法目前使用Qt的版本为5.12.0信号和槽连接QTcpSocket的error信号时出错(2020-4-16)连接代码:connect(tcpSocket, &QTcpSocket::error, this, &FileSession::slotDealError);// error定义void error(QAbstractSocket::SocketError);// slotDealError电话已void slotDealEr

2021-04-16 15:17:40 1238

原创 部署SpringBoot项目(jar+nginx+fastdfs)

部署SpringBoot项目(jar+nginx+fastdfs)1、依赖/使用的程序软件mysql:数据存储服务器nginx:反向代理,用于访问图片fastDFS:分布式上传下载图片docker:提供容器服务2、操作(1)MySQL使用docker安装MySQL,服务器无需安装MySQL搜索mysql容器docker search mysql[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cD9R9SwM-1604399087693)(C:

2020-11-03 18:39:46 369 1

原创 【面试】总览

知识点一、Linux1.1 常用命令1.1.1 lsof(list open files)一个列出当前系统打开文件的工具。常用的用法:lsof -i # 列出所有网络连接lsof -i:80 # 查看使用80端口的文件lsof -i:udp # 查看所有udp网络连接信息lsof -i:tcp # 查看所有tcp网络连接信息lsof -i udp:55 # 查看谁在使用某个特定的udp端口lsof -i tcp:3306 # 查看设在使用某个特定的tcp端

2020-07-30 10:35:25 1042

原创 【资源】图片

HTTPS握手流程

2020-07-29 10:24:30 236

原创 【操作系统】虚拟内存总结

虚拟内存虚拟内存技术的基础:离散内存分配,即进程的逻辑地址空间分散地存储在内存不连续的物理地址空间中,典型的技术有:分段、分页、段页式。虚拟内存的基本思想是:每个程序拥有自己的地址空间,这个空间被分割成多个块,每个块被称作一页或页面。每一页有连续的地址范围,这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部分在物理内存中的地址空间时,由硬件立刻执行必要的映射。当程序应用到一部分不在物理内存中的地址空间时,由操作系统负责将缺失的部分装入物理内存并重新执行失败的指令。分页

2020-07-06 22:33:51 1136

原创 【Redis】事务和过期时间

Redis 事务和过期时间Redis事务事务简介Redis通过multi,exec,watch等命令来实现事务功能。事务提供了一种将多个命令请求打包,然后一次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而该去执行其他客户端的命令请求,它会将事务中所有命令都执行完毕,然后才去处理其他客户端的命令请求。Redis事务并不支持回滚操作事物的实现一个事务从开始到结束通常会经历以下三个阶段:事务开始命令入队事务执行事务的使用与错误1、事务的使用redis>

2020-05-17 17:33:57 420

原创 【Redis】Redis入门(1)——Redis简介和基本类型及常用命令

Redis入门一、Redis简介1、概括Redis是一个开源的、高性能的、基于键值对的缓存与存储系统,通过提供多种键值数据类型类适应不同场景下的缓存与存储需求。同时的诸多高层级功能使其可以胜任消息队列、任务队列等不同的角色。Redis是Remote Dictionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容2、特性存储...

2020-05-05 20:32:01 1229

原创 [Linux高性能服务器]socket编程实践(1)--简单的客户端服务器

摘要为了后面能够很好的查找和参考实现一个简单的服务器和客户端,使用了socket编程中的基本函数. 实现了TCP和UDP两种版本这一部分仅就实现最核心的功能,连接并且通信.后续更多功能(并发,IO复用)再慢慢总结对下面的内容有问题请移步参考Linux网络编程基础API运行环境为Linuxsocket编程实践(1)TCP服务器端/** * @File:serv_1.cpp *...

2020-05-03 17:40:11 245

原创 Linux网络编程基础API

Linux网络编程基础API主机字节序和网络字节序现代CPU的累加器一次都能装载(至少)4字节(这里考虑32位机),即一个整数.那么这4字节在内存中排列的顺序将影响它被累加器装载成的整数的值.1. 字节序的分类大端字节序(big endian)大端字节序是指一个整数的高位字节(2331bit)存储在内存的低地址处,低位字节(07bit)存储在内存的高地址处.小端字节序(litt...

2020-05-03 17:25:56 321

原创 HTTPS的加密方式

一、概述1.1大致目的进一步了解HTTP和HTTPS了解对称加密和非对称加密的工作方式对HTTPS的加密有一个大概的了解对证书有一个初步的了解1.2加密方式在学习HTTPS加密方式之前,有必要了解几种常见的加密方式,如:对称加密非对称加密二、对称加密2.1定义需要对加密和解密使用相同密钥的加密算法。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解...

2020-04-20 10:17:53 2041

原创 计算机网络—应用层

应用层主要内容6.1 域名系统DNS6.2 文件传输协议6.3 远程终端协议 TELNET(telnet)6.4 万维网 WWW6.5 电子邮件6.6 动态主机配置协议DHCP6.7 简单网络管理协议SNMP域名系统DNS域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址域名到IP地址的解析过程要...

2019-12-26 17:22:44 315

原创 计算机网络—网络层

网络层网络层提供的两种服务虚电路服务当两台计算机进行通信时,也应当先建立连接(但在分组交换中是建立一条虚电路),以预留双方通信所需的一切网络资源。双方沿着已经建立的虚电路发送分组,这样分组的首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号,因而减少了分组的开销。数据报服务网络层向上只提供简单灵活的、无连接的、精良大努力交付的数据报服务。网络在发送时不需要先...

2019-12-25 16:43:47 804

原创 计算机网络—数据链路层

数据链路层使用点对点信道的数据链路层数据链路和帧所谓链路就是从一个节点到相邻节点的一段物理线路(有限或无线),而中间没有任何其他的交换节点。当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给...

2019-12-24 19:15:47 592

原创 计算机网络—物理层

物理层物理层的基本概念用于物理层的协议也称为物理层规程。 可以将物理层的主要任务描述为确定与传输媒体的接口有关的一些特性: 机械特性 指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。 电器特性 指明在接口电缆的各条线上出现的电压的范围。 功能特性 指明某条线上出现的某一电平的电压的意义。 过程特性 指明对不同功能的各种事件出现的顺序。 ...

2019-12-24 14:24:22 485

原创 深入理解Java虚拟机—虚拟机优化

虚拟机优化早期(编译期)优化概述Java语言的“编译期”其实是一段“不确定”的操作过程,因为可能出现如下的几种情况可能是指一个前端编译器(其实叫“编译器的前端”更准确)把*.java文件转变成.class文件的过程。代表编译器:Javac,ECJ。可能是指虚拟机的后端运行期编译期(JIT编译器,Just In Time Compiler)把字节码转变成机器码的过程。代表编译器:HotS...

2019-12-23 16:24:31 155

原创 计算机网络—概述(第一章)

概述计算机网络在信息时代中的作用三大网络电信网络提供电话、电报和传真服务。有线电视网络传送各种电视节目。计算机网络电话通信、视频通信和传送视频节目。互联网的基本特点连通性所谓连通性,就是互联网使上网用户之间,不管相距多远,都可以非常便捷、非常经济地交换各种信息。共享所谓共享就是指资源共享。资源共享的含义是多方面的,可以是信息共享、软件共享,也可以是硬件共享。...

2019-12-19 09:58:25 2537

原创 深入理解Java虚拟机—虚拟机字节码引擎

虚拟机字节码执行引擎概述“虚拟机”是一个相对于“物理机”的概念,这两种及其都有代码执行能力。其区别主要在于:物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的。虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集和执行引擎的体系结构,并且能够执行那些不被硬件直接支持的指令集格式。所有Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的...

2019-12-17 17:28:07 127

原创 深入理解Java虚拟机—虚拟机类加载机制

虚拟机类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类加载的时机类从被加载到虚拟机内存中开始,到卸载为止,它的整个生命周期包括:加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(...

2019-12-14 18:45:19 83

原创 搭建FTP服务器

搭建Ftp服务器环境Windows10(本地)Windows 2016 数据中心版(阿里云轻量级服务器)Linuxwindows10(本地)配置IIS Web服务器win+S搜索控制面板并打开打开程序选择“弃用或关闭Windows功能”找到“Internet Infomation Services(Internet信息服务)”,并进行以下勾选后点击确定配置...

2019-12-10 18:20:05 434 3

原创 STL源码剖析—仿函数(函数对象)

第七章 仿函数(函数对象)7.1 仿函数概观什么是仿函数(函数对象)?就实现观点而言,仿函数实际上是一个“行为类似函数”的对象,为了能够“行为类似函数”,其类别定义中必须自定义(重载、重写)operator()运算符。简单点说,仿函数就是一个对象,只不过是重载了operator()运算符,并且可以保存状态。为什么要使用仿函数而不使用函数指针呢?原因在于函数指针不能满足STL...

2019-12-02 20:22:47 344

原创 自增、自减操作符前缀形式与后缀形式的区别

自增、自减操作符前缀形式与后缀形式的区别。基础从你开始做 C 程序员那天开始,你就记住 increment 的前缀形式有时叫做“增加然后取回”,后缀形式叫做“取回然后增加”。这两句话非常重要,因为它们是 increment 前缀与后缀的形式上的规范。能够理解上述“增加然后取回”和“取回后增加”就表示你能够简单运用这类运算符了,比如int value_1 = 0;int temp_...

2019-11-30 17:09:34 1356

原创 计算机网络—运输层

运输层主要内容运输层协议功能协议端口UDP协议TCP协议首部格式滑动窗口流量控制拥塞机制运输连接管理可靠传输停止等待协议ARQ协议运输层概述运输层的功能为应用进程之间提供端到端的逻辑通信对接收的报文进行差错检测复用:指在发送方不同的应用进程都可以使用同一个运输层协议传送数据分用:指接收方的运输层在剥去报文的首部后能够吧这些数据正...

2019-11-28 20:29:12 275

原创 STL源码剖析—迭代器的概念与traits编程技法总结

章节总结第三章 迭代器(iterators)概念与traits编程技法3.1 迭代器设计思维——STL关键所在STL中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一帖胶着剂将他们撮合在一起。迭代器就是算法和容器之间的胶着剂。3.2 迭代器是一种smart pointer迭代器是一种行为类似指针的对象,而指针的各种行为中最常见的也是最重要的便是内容提领和成员访问,因此...

2019-11-28 17:51:06 208 1

原创 C/C++指针基础探究

说一些废话在C/C++语言中,指针可能是最重要的东西了,但是想要学会使用它并且少出错却不是很容易。这篇文章,写一下我自己对于这个东西的理解。当初开始学这个东西也是把我给弄得晕头转向,现在没那么晕了,就把我微不足道的经验给记录下来,也为以后的查阅提供依据。什么是指针指针就是地址,地址就是指针指针变量就是保存地址的变量通常我们将指针变量称为指针,两者不一样。但是让我们迷惑和操作的其实是指针变...

2019-07-14 15:16:09 189

原创 C/C++开发2048小游戏

之前闲来无事,就自己学了一下然后写了一个简单的2048,做出来还是感觉比较可以,下面就放上我自己写的代码的下载地址,有兴趣的可以看一看。https://github.com/NoHearting/2048...

2018-12-15 17:31:49 1121

原创 简单用Git提交文件到github和一些简单的git命令

访问以下网址下载word文档 https://github.com/NoHearting/AboutGit

2018-11-18 21:47:20 111

空空如也

空空如也

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

TA关注的人

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