W…Y
码龄2年
关注
提问 私信
  • 博客:144,566
    动态:64,282
    208,848
    总访问量
  • 142
    原创
  • 4,498
    排名
  • 2,432
    粉丝
  • 学习成就

个人简介:长风破浪会有时,直挂云帆济沧海

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2022-10-26
博客简介:

m0_74755811的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,878
    当月
    13
个人成就
  • C/C++领域新星创作者
  • 获得3,918次点赞
  • 内容获得1,860次评论
  • 获得3,372次收藏
  • 代码片获得1,301次分享
创作历程
  • 59篇
    2024年
  • 83篇
    2023年
成就勋章
TA的专栏
  • Linux
    40篇
  • sql
    11篇
  • redis
    2篇
  • protobuf
    2篇
  • C++
    29篇
  • python
    1篇
  • 前沿科技
    3篇
  • C语言
    30篇
兴趣领域 设置
  • 编程语言
    c++c语言
  • 数据结构与算法
    算法数据结构
  • 操作系统
    linux
  • 软件工程
    软件工程
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

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

【Linux网络】网络层——IP协议和网段划分之内外网

IP地址用于识别网络中的设备,分为私有(内网)和公有(外网)地址。内网地址用于局域网,不直接暴露于互联网,如192.168.x.x。外网地址则全球唯一,可在互联网上直接通信。路由负责在不同网络间转发数据包,基于IP地址和路由表。网段是具有相同网络地址的IP地址集合,由子网掩码定义。内外网通过路由器连接,路由器使用NAT技术将内网私有地址转换为外网公有地址,实现内外网通信。
原创
发布博客 2024.10.29 ·
784 阅读 ·
36 点赞 ·
0 评论 ·
15 收藏

【Linux网络】基于TCP的全连接队列与文件、套接字、内核之间的关系

套接字是网络通信的基本接口,允许程序发送和接收数据。在服务器端,监听套接字用于接受客户端的连接请求。一旦客户端请求到达并完成TCP三次握手,请求会被放入全连接队列,等待服务器通过`accept()`调用来处理。内核在此过程中扮演核心角色,管理套接字的生命周期,维护全连接队列,并处理网络数据的传输。简而言之,套接字是通信的端点,全连接队列是已完成握手的连接请求的缓冲区,而内核则负责协调和管理这些操作,确保网络通信的顺利进行。
原创
发布博客 2024.10.29 ·
1183 阅读 ·
9 点赞 ·
0 评论 ·
13 收藏

【Linux网络】传输层协议UDP与TCP

UDP和TCP是两种主要的网络传输协议。UDP是一种无连接的协议,它不保证数据包的顺序或可靠性。它通过发送数据包而不进行任何确认来实现快速传输,适合对实时性要求高的应用,如视频流和在线游戏。UDP的头部开销小,只有8个字节,这有助于减少延迟。TCP是一种面向连接的协议,它确保数据包的顺序和可靠性。在数据传输前,TCP会建立一个连接,并通过确认和重传机制来保证数据的完整性。TCP适合需要可靠传输的应用,如网页浏览和文件传输。TCP的头部开销较大,通常是20个字节,这可能会增加一些延迟。
原创
发布博客 2024.10.27 ·
1300 阅读 ·
28 点赞 ·
0 评论 ·
13 收藏

【MySQL】数据库事务管理

其中隔离级别越严格,安全性越高,但数据库的并发性能也就越低,往往需要在两者之间找一个平衡点。不可重复读的重点是修改和删除:同样的条件, 你读取过的数据,再次读取出来发现值不一样了幻读的重点在于新增:同样的条件, 第1次和第2次读出来的记录数不一样。
原创
发布博客 2024.10.25 ·
1101 阅读 ·
41 点赞 ·
0 评论 ·
10 收藏

【MySQL】视图与用户管理——MySQL

同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图。如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。*.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)MySQL中的用户,都存储在系统数据库mysql的user表中。
原创
发布博客 2024.10.24 ·
734 阅读 ·
9 点赞 ·
0 评论 ·
15 收藏

【MySQL】MySQL索引特征

MySQL索引是一种数据库对象,用于提高数据检索效率。它允许数据库引擎快速找到表中数据,而无需扫描整个表。索引可以基于一个或多个列创建,支持排序和分组操作。常见的索引类型包括B-Tree索引、哈希索引、全文索引和空间索引。索引可以显著减少数据检索时间,但会占用额外的磁盘空间,并可能降低插入、删除和更新操作的性能。因此,合理设计索引对于优化数据库性能至关重要。
原创
发布博客 2024.10.24 ·
913 阅读 ·
15 点赞 ·
0 评论 ·
18 收藏

【redis】基础指令|数据结构总览|单线程架构分析

Redis的全局命令用于管理数据库和执行通用操作。其数据结构丰富多样,包括字符串、列表、集合、有序集合和哈希表等,支持复杂的数据操作;Redis采用单线程架构,通过高效的内存操作和优化的命令执行流程,实现高性能的数据处理。
原创
发布博客 2024.10.23 ·
935 阅读 ·
34 点赞 ·
0 评论 ·
11 收藏

【redis】初识非关系型数据库——redis

Redis是一个开源的高性能键值对数据库,以其出色的读写速度而闻名。它支持多种类型的数据结构,如字符串、列表、集合、有序集合和哈希表。Redis支持数据持久化,可以作为数据库、缓存或消息代理使用。由于其单线程模型和高效的内存存储机制,Redis非常适合需要快速访问的场景。它常用于提高网站性能、实现会话缓存、排行榜等功能。此外,Redis还提供了丰富的特性,如事务、发布/订阅、Lua脚本等,使其在多种应用场景中都非常有用。
原创
发布博客 2024.10.23 ·
1312 阅读 ·
23 点赞 ·
0 评论 ·
13 收藏

【MySQL】数据库表的内外连接——复合查询

MySQL中的复合查询允许使用UNION、UNION ALL合并多个SELECT语句的结果。内外连接(INNER JOIN、LEFT JOIN、RIGHT JOIN)用于连接多个表,INNER JOIN返回匹配的行,LEFT JOIN返回左表所有行和右表匹配行,RIGHT JOIN一样。单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句。内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选。
原创
发布博客 2024.09.29 ·
993 阅读 ·
29 点赞 ·
0 评论 ·
24 收藏

【MySQL】数据库中的内置函数

MySQL数据库提供了大量的内置函数,这些函数可以帮助你执行各种操作,如字符串处理、数值计算、日期和时间处理等。MySQL内置函数包括字符串处理、数值计算、日期和时间、聚合、加密等类型,用于简化查询和数据处理。
原创
发布博客 2024.09.29 ·
886 阅读 ·
26 点赞 ·
0 评论 ·
15 收藏

【MySQL】数据库表的基本查询——增删查改

在MySQL中,对表进行增删查改操作是数据库管理的基础。增(Insert)操作用于添加新记录,使用`INSERT INTO 表名 (列1 ...) VALUES (值1 ...);`。删(Delete)操作用于移除记录,使用`DELETE FROM 表名 WHERE 条件;`,需注意慎用以防误删。查(Select)操作用于检索数据,基本形式为`SELECT 列名 FROM 表名 WHERE 条件;`,可配合`ORDER BY`进行排序,`LIMIT`限制结果数量。改(Update)操作用于修改现有记录.
原创
发布博客 2024.09.27 ·
1156 阅读 ·
28 点赞 ·
0 评论 ·
15 收藏

【MySQL】数据库数据类型与表的约束

数据库的数据类型包括整数(INT)、小数(FLOAT)、字符串(VARCHAR)、文本(TEXT)、日期时间(DATETIME)、布尔值(BOOLEAN)、枚举(ENUM)和JSON等,用于存储不同格式的数据。主键(PRIMARY KEY):唯一标识每条记录数据库表的约束用于确保数据的准确性和完整外键(FOREIGN KEY):关联两个表,维护引用完整性。唯一约束(UNIQUE):确保列中的值唯一。非空约束(NOT NULL):确保列不为空。检查约束(CHECK):限制列中的数据必须满足特定条件。
原创
发布博客 2024.09.27 ·
958 阅读 ·
18 点赞 ·
0 评论 ·
24 收藏

【MySQL】数据库中(表)的增删查改

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。注:创建一个engine是innodb的数据库,观察存储目录。注意:删除字段一定要小心,删除字段及其对应的列数据都没了。在users表添加一个字段,用于保存图片路径。不同的存储引擎,创建表的文件不一样。
原创
发布博客 2024.09.26 ·
519 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

【MySQL】数据库的操作

在MySQL中,对数据库(库)的操作主要包括:创建数据库:使用CREATE DATABASE语句创建一个新的数据库。选择数据库:使用USE语句选择一个数据库进行操作。查看数据库:使用SHOW TABLES查看当前数据库中的所有表,使用SHOW DATABASES查看所有数据库。查看表结构:使用DESCRIBE语句查看表的详细信息。删除数据库:使用DROP DATABASE语句删除一个数据库。……这些操作是数据库管理的基础,允许用户有效地组织和维护数据库结构。
原创
发布博客 2024.09.25 ·
1399 阅读 ·
30 点赞 ·
0 评论 ·
16 收藏

【MySQL】数据库基础认识

存储数据用文件就可以了,为什么还要弄个数据库?文件保存数据有以下几个缺点:文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便数据库存储介质:磁盘、内存。为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
原创
发布博客 2024.09.25 ·
1312 阅读 ·
19 点赞 ·
0 评论 ·
24 收藏

【protobuf】ProtoBuf的学习与使用⸺C++

序列化协议通用性格式可读性序列化大小序列化性能适用场景JSON通用(json、xml已成为多种⾏业标准的编写⼯具)⽂本格式好轻量(使⽤键值对⽅式,压缩了⼀定的数据空间)中web项⽬。因为浏览器对于json数据⽀持⾮常好,有很多内建的函数支持。XML通用⽂本格式好重量(数据冗余,因为需要成对的闭合标签)低XML作为⼀种扩展标记语⾔,衍⽣出了HTML、RDF/RDFS,它强调数据结构化的能⼒和可读性。ProtoBuf独⽴。
原创
发布博客 2024.09.19 ·
1335 阅读 ·
17 点赞 ·
0 评论 ·
11 收藏

【Protobuf】初识protobuf以及详细安装教程

安装protobuf。聊一下什么是序列化反序列化,相信在Linux网络编程中我们提到过http在接收或发送时都要先制定一个协议,这个协议是一个类或结构体,而我们将一个对象通过网络传输转成字节序的过程叫做序列化,反之则为反序列化。3. 依赖⽣成的接⼝,将编译⽣成的头⽂件包含进我们的代码中,实现对.proto⽂件中定义的字段进⾏设置和获取,和对message对象进⾏序列化和反序列化。Protocol Buffers类⽐于XML,是⼀种灵活,⾼效,⾃动化机制的结构数据序列化⽅法,但是比XML更⼩、更快、更为简单。
原创
发布博客 2024.09.08 ·
1166 阅读 ·
25 点赞 ·
0 评论 ·
11 收藏

【Linux网络】应用层http协议&&cookie与session&&https协议

HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)都是应用层协议,用于Web服务器和客户端之间传输数据。它们在基本的通信机制和语义上是相同的,但HTTPS在HTTP的基础上增加了数据加密和安全性。HTTP:由于数据是明文传输,容易受到中间人攻击和其他安全威胁。HHTTP:不需要证书,没有额外的成本。HTTPS:需要从证书颁发机构(CA)获取SSL证书,可能涉及一定的费用和配置工作。TTPS:通过SSL/TLS提供了数据加密、完整性校验和身份验证,增强了安全性。
原创
发布博客 2024.08.29 ·
924 阅读 ·
9 点赞 ·
0 评论 ·
20 收藏

【Linux网络】基本网络命令&&socket编写TCP&&应用层&&实现简易计算器

我们在上篇博客中学习了使用socket套接字完成了UDP的网络编程,今天我们继续使用socket套接字完成TCP的学习。首先我们先来了解一些网络指令。通过TCP理解应用层相关内容,以及序列化反序列化,TCP全双工!
原创
发布博客 2024.08.20 ·
772 阅读 ·
20 点赞 ·
0 评论 ·
10 收藏

【Linux网络】Socket套接字&&编写UDP实现网络通信&&LinuxWindows跨平台通信

Socket是网络编程的核心,提供了进程间通信的端点。UDP是其中一种无连接的协议,适用于快速消息传递。首先,使用`socket()`创建套接字;其次,配置服务器的`sockaddr_in`或`sockaddr_in6`结构体并绑定端口;然后,客户端使用`sendto()`发送数据到服务器,服务器使用`recvfrom()`接收数据;通信结束后。UDP的特点是传输速度快,但不保证数据的可靠性、顺序或完整性,适用于对实时性要求高的应用场景。开发时要注意错误处理和资源管理,确保程序的健壮性和效率。
原创
发布博客 2024.08.14 ·
937 阅读 ·
23 点赞 ·
0 评论 ·
22 收藏
加载更多