• FTP协议

    什么是FTP协议?FTP 是 File Transfer Protocol 的缩写,中文意思是“文件传输协议”。它是互联网上最早、最经典的应用层协议之一,专门用于在两台计算机之间进行文件传输。 简单来说,当你需要从一台远程服务器上**下载(Download)文件,或者将你本地的文件上传(Upload)**到服务器上时,FTP就是实现这个功能的标准规则和方法。 FTP的核心工作原理:独特的双...
  • 从输入网址到显示页面

    从输入网址到显示页面从在浏览器地址栏输入一个网址(URL)到最终看到页面,这个过程涉及到了计算机网络、操作系统、Web服务器、浏览器内核等方方面面的知识。 概览:核心四大步骤为了方便理解,我们可以先把整个过程粗略地分为四个核心阶段: 导航(Navigation):浏览器根据用户输入,准备开始请求页面。核心是DNS查询,将网址(域名)转换成服务器的IP地址。 连接(Connection):...
  • Linux的基本指令

    Linux的基本指令1. ls 指令语法 :ls [选项] [目录或文件] 功能 :对于目录,该命令列出该目录下的所有子目录与文件; 对于文件,将列出文件名及其详细信息; 常用选项 -a:显示目录下的所有文件,包含以 . 开头的隐藏文件; -d:将目录像文件一样显示,而不是显示其下的文件; -i:输出文件的 i 节点的索引信息,i 节点即 inode 编号,包含文件的属性(如文件的所有...
  • 设计模式——单例模式

    单例模式(Singleton Pattern)简述单例模式是C++中常见的一种设计模式,它要求整个程序中只能存在一个实例,一般通过禁用构造和拷贝(这里的禁用指的是不对外暴露接口,而不是使用delete关键字删除),并提供唯一接口创建static实例来实现。根据实例对象的创建时机的不同,分为饿汉式和懒汉式单例模式: 饿汉式代码实现所谓饿汉式,指的是在程序启动时就创建对象实例,具体的实现代码如下...
  • 二叉树的遍历

    二叉树的遍历二叉树的常见遍历方式分类: 深度优先遍历 前序遍历(根 -> 左 -> 右) 中序遍历(左 -> 根 -> 右) 后序遍历(左 -> 右 -> 根) 广度优先遍历 层序遍历 前序遍历(Pre-Order)简单来说,就是根节点 -> 左子树 -> 右子树 递归实现 123456void preorderRecur...
  • C++17结构化绑定和std::tie

    C++17结构化绑定和std::tiestd::tie(C++11 及以后)​ std::tie 是一个定义在 头文件中的辅助函数模板。它的主要作用是创建并返回一个由左值引用组成的 std::tuple。这个特性使得它可以非常方便地用于从返回 std::pair 或 std::tuple 的函数中“解包”元素到已存在的变量中,或者用于实现基于多个成员的字典序比较。 定义与语法123// D...
  • Hello World

    Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Qu...
  • TCP协议简述

    TCP——本文参考 游双《Linux高性能服务器编程》 本篇文章要点: TCP报文 TCP状态 TCP的一系列机制 滑动窗口 面向字节流 今天我们来谈一谈TCP,即传输控制协议(Transmission Control Protocol)。总体来说,它是一个具有可靠性,面向连接的、面向字节流的一个__传输层协议__,传输层还有另一个协议——UDP协议,这个我们下一篇文章再详谈。 TCP报...
  • C++内存对齐

    C++内存对齐什么是内存对齐​ 内存对齐是指数据在内存中的存放位置需要遵循一定的规则。具体来说,一个变量的内存地址必须是它自身大小(或一个预设的对齐系数)的整数倍。例如,一个4字节的int类型变量,如果按照4字节对齐,那么它的起始地址就必须是4的倍数(如0x…00, 0x…04, 0x…08等)。 ​ 编译器和CPU硬件会自动处理内存对齐,以确保数据访问的正确性和高效性。 为什么需要内存对齐...
  • 十大排序算法

    十大排序算法比较类排序冒泡排序(Bubble Sort)原理:重复地比较相邻元素,若顺序错误则交换,使较大(或较小)的元素逐步“冒泡”到序列的一端。 时间复杂度:平均和最坏情况为 O(n²)。 空间复杂度:O(1)。 稳定性:稳定。 代码实现: 1234567891011121314151617void bubbleSort(std::vector<int>& array...
12