- 博客(120)
- 收藏
- 关注
原创 Protobuf小记(万字)
Protocol Buffers是客户端与服务器通讯时所实现的约定俗称的协议,编码解码性能比JSON高,内存占用比JSON低。比 XML 更小、更快、更为简单
2024-01-15 21:46:38 1008
原创 解决protobuf编译过程中【对‘google::protobuf:: ....... [abi:cxx11]() const’未定义的引用】的问题思路
本人在学习 `protobuf` 时所触发的错误,并不全面,但认为是一个极其珍惜的错误(错误最终不在 protobuf 库的版本问题)(走了很多岔路😢😢😢)
2024-01-14 15:41:04 1727 1
原创 分治算法(三分快排 + 归并排序深入思维)万字
本文是 二分快排 + 归并排序 的深入学习,学习 三分快排思维,归并排序的策略一:降序思维,策略二:升序思维。`策略一:`计算当前元素后面,有多少元素的比我小`nums[left] > nums[right],右部分个数` - `降序`重点降序,需求`[left] > [right, 最后]`。`策略二:`计算当前元素之前,有多少元素的比我大`nums[right] < nums[left],左部分个数` - `升序`重点升序,需求`[i, mid] > [j]`。
2024-01-03 12:14:35 923
原创 双指针算法(普通双指针、对撞指针、快慢指针、滑动窗口)万字
常见的双指针有四种形式,一种是普通双指针,另⼀种是对撞指针(直线路段两车相向行驶),还有⼀种是快慢指针(循环路段两车同向行驶),最后⼀种是滑动窗口(直线路段两车同向行驶)。
2023-12-21 12:20:40 898
原创 【Git原理与使用】-- 企业级开发模型
学习企业级常见分支策略(master/release/develop/feature/hotfix等),理解不同公司,不同环境下适合的分支模型。结合案例,引入工程师,测试人员,技术经理等角色,展现项目开发过程的全貌,深刻理解开发的整体流程,俯视Git在其中的作用。
2023-07-09 01:50:50 682 1
原创 【Git原理与使用】-- 分支管理
掌握 Git 分支管理,从分支创建,切换,合并,删除的整个生命周期,灵活进行各种场景下的分支管理,学习常见分支管理策略
2023-07-02 19:53:19 1156 3
原创 【算法思维】-- 贪心算法
一般认为计算机1秒能执行 5*10e8 次计算贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法是不会考虑全局的,其每一步都会确定当前其所看到的场景下的最优的一个解 —— 整个贪心问题的解:每一步的最优解叠加之后的结果。有一个概念,就叫做最优子结构:每一个子问题,其的最优解最终叠加之后,能够作为最终问题的解,那就是最优子结构。所以,如果想用贪心算法,首先就要去确定一下,这个问题是不是。
2023-06-04 17:18:51 1360 7
原创 【MySQL】-- 表的操作
DDL【data definition language】数据定义语言,用来维护存储数据的结构 -- 对数据库和表结构更多的是属性控制。代表指令:create, drop, alter
2023-05-25 21:55:24 862 7
原创 【算法思维】-- KMP算法
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)
2023-05-17 18:39:00 1464 6
原创 【MySQL】-- 库的操作
DDL【data definition language】数据定义语言,用来维护存储数据的结构 -- 对数据库和表结构更多的是属性控制。代表指令:create, drop, alter
2023-05-17 10:00:00 525 7
原创 【MySQL】-- 数据库基础
所以mysqld的本质和以前网络学习中的http / https / 网络版本计算器,任何的应用层软件本质没有差别,mysqld就是一个应用层服务,在网络的角度,mysqld就是一个应用层服务,在系统视角,它就是用户层的一个进程,这就是mysql后端服务。比如在Linux的学习中,其实有时候我们看到的真正的具体在硬件上 / 存储的时候,可能就是其具体的存储结构,但实际上在计算机里实际呈现的时候可能会有不同的呈现的方式。是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。
2023-05-15 09:00:00 1018 7
原创 【网络】-- 数据链路层
数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。
2023-05-10 20:31:31 1435 11
原创 【网络】-- IP协议
IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。
2023-05-08 15:53:31 743 3
原创 【网络】-- TCP协议
TCP 是面向连接的运输层协议。应用程序在使用 TCP 协议之前,必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一)TCP 提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接受缓存,用来临时存放双向通信的数据面向字节流。TCP 中的“流”指的是流入
2023-05-03 21:29:56 1474 8
原创 【网络】-- UDP协议
UDP(UserDatagramProtocol)是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证(通过校验和),但它不保证向上层协议提供消息传递,并且UDP层在发送后不会保留UDP 消息的状态。因此,UDP有时被称为不可靠的数据报协议。如果需要传输可靠性,则必须在用户应用程序中实现。
2023-04-25 20:38:57 1272 3
原创 【网络】-- https协议
HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。
2023-04-21 16:30:56 1985 11
原创 【网路】-- http协议
HTTP 协议 (超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
2023-04-18 20:44:56 1135 1
原创 【网络】-- 应用层
设计一个加减乘除都能做的网络版计算器。例如,我们需要实现一个服务器版的加法器。我们需要客户端把要计算的两个加数发过去,然后由服务器进行计算,最后再把结果返回给客户端。升级:守护进程版本
2023-04-06 13:09:05 321 8
原创 【Linux】-- 进程概念的引入
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。因为有些硬件的设计就是为了软件,有些软件的设计就是为了硬件,所以我们不能够将软件和硬件割裂开来学习。软件与硬件之间是会有千丝万缕的联系的。
2023-04-01 13:20:28 998
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人