0456824c1a7e6f1f0909d2620e85979a5eeda98a0b84cf4b185b43a1ddd611dc5d97620fc263d6a51f64d8a5d8864e6b1e0bfcfb73e53a455f5eb23198ced50a8821f64253c76701979695cde64efb7c9019336d5b3a3ca2e1d7119443c84fad0163a807a26819823e947f8a505c52570cd342d1305f0847c23d89861880dc4f82f3cedb07be750ebf5f0751fd0f1c2d6949eee4fbea9b9705f6d3332e408bbb1ddbcae0fc0c6ed7db9f1bc4ec211b8179917ff067deaad339c01c997440176071997eb33893b92b03ffcef33af3a44553bb754e1b4c35c019cd34fcac0e14a77bbe68934c88a488efe619cdc9e707624a26aacb521f3f59b ...
1. Vue3简介
2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n
经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者
官方发版地址:Release v3.0.0 One Piece · vuejs/core
截止2023年10月,最新的公开版本为:3.3.4
1.1. 【性能的提升】
打包大小减少41%。
初次渲染快55%, 更新渲染快133%。
内存减少54%。
1.2.【 源码的升级】
使用Proxy代替defineProperty实现响应式。
重写虚拟DOM的实现和Tree-Shaking。
1.3. 【拥抱TypeScript】
Vue3可以更好的支持TypeScript。
1.4. 【新的特性】
Composition API(组合API):
setup
ref与reactive
computed与watch
……
新的内置组件:
Fragment
Teleport
Suspense
……
其他改变:
新的生命周期钩子
data 选项应始终被声明为一个函数 ...
STL
未读STL简介标准模板库 STL(Standard Template Library):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架。
六大核心组件深度协同1. 容器(Containers)📦
数据航母:15种标准容器(vector/list/map等)覆盖所有存储场景
精选策略:连续存储的vector(随机访问O(1)) vs 链式存储的list(插入删除O(1))
实战案例:unordered_map<string, int> 实现O(1)复杂度的字典查询
2. 分配器(Allocators)💡
内存管家:封装底层内存管理(默认使用operator new/delete)
高阶用法:定制内存池实现特定场景的性能优化
3. 算法(Algorithms)⚙️
通用武器库:100+算法(排序/查找/变换)与容器解耦
范式革命:sort(v.begin(), v.end()) 即可完成任意容器的排序
4. 迭代器(Iterators)🔗
智能导航仪:提供统一的容器访问接 ...
STL-deque学习了解deque(double-ended queue)名为双端队列,deque 是具有动态大小的序列容器,可以在两端进行扩展或者收缩。它具有 [vector](STL-vector顺序表 | HappyLadySauce) 和 [list](STL-list 链表 | HappyLadySauce) 相结合的功能,最早 deque 的出现是为了取代 [vector](STL-vector顺序表 | HappyLadySauce) 和 [list](STL-list 链表 | HappyLadySauce) 但是结果不尽人意。
deque 相比 [vector](STL-vector顺序表 | HappyLadySauce) 极大地缓解了扩容问题和头插头删问题,但是它的 [] 运算符效率很低,这就导致了 deque 中间部分数据的读写效率低。
deque 相比 [list](STL-list 链表 | HappyLadySauce) 它可以支持 [] 运算符进行下标访问,而且 deque 的内存空间是多段连续的,对 CPU 的高速缓存来说效率不错,但是中间段插入删 ...
C++语法学习之路 C++ 是在 C 的基础之上,容纳进了面向对象编程思想,并增加了许多有用的库,以及编程范式等。前期的 C++ 主要是在补充 C 语言的不足,以及对 C 设计不合理的地方进行优化。
一、关键字C++ 有63个关键字,C 语言只有32个关键字。C++ 在 C 语言的基础之上增加了更多的关键字。
关于这些新增的关键字,我们不需要一下子就去全部搞懂。在学和用的过程中,我们慢慢就会熟能生巧了。
auto 关键字auto 类型,能根据右边的表达式自动推导表达式的类型。在类型名比较长的时候有很大的作用。
123int a = 1;auto b = a;auto c = a + 1.1;
NULL 与 nullptr1234// C语言#define NULL 0// C++#define nullptr ((void*)0)
二、命名空间 namespace 命名空间主要解决命名冲突的问题。命名冲突可能会是我们写的变量函数和调用的库冲突了,也可能是和同事的变量函数命名冲突了,导致编译不通过。
如果是使用 C 语言,我们只能去修改冲突的变量函数名。C++ 加入了命名空 ...
priority_queue 优先级队列堆的概念STL中的 priority_queue 是数据结构中的堆,堆的本质是一个完全二叉树,而堆又分为大根堆和小根堆。
小根堆(min heap):任意节点的值 ≤ 其子节点的值。
大根堆(max heap):任意节点的值 ≥ 其子节点的值。
我们将二叉树的根节点称为“堆顶”,将底层最靠右的节点称为“堆底”。不难发现,对于大顶堆(小顶堆),堆顶元素(根节点)的值总是最大(最小)的。
堆的存储结构堆是一个非线性的树形结构,但是在计算机实现当中,我们往往是采用数组的形式进行存储。
0
1
2
3
4
5
6
7
8
9
10
11
在这一段数组中,我们使用公式来判断一个节点的子节点和父节点。
堆节点公式给定索引 i ,其左子节点的索引为 2 i + 1 ,右子节点的索引为 2 i + 2 ,父节点的索引为 ( i − 1 ) / 2 (向下整除)。当索引越界时,表示空节点或节点不存在。
如何建堆给定一个数组,我们要如何才能实现堆的逻辑结构呢?这涉及到建堆操作,堆分为大根堆和小根堆的,堆总是有序的。其实建堆就是把数组中的数据 ...
实用小项目
未读前言最近我也是重新开始管理我的博客网站了,之前大概有了半年的时间没有写文章了。也是经过这半年的学习,我了解的知识更多,更广了。当我开始写 Hexo 博客的时候,首先我得把 Markdown 文件内容拷贝到服务器上,然后写文章属性(front-matter)。
12345678910---title: HTML笔记date: 2025-04-09 09:27:32categories: - HTMLtags: - HTMLcover: https://lsky.happyladysauce.cn/i/1/0.webpai: true---
最后 hexo 三板斧,清理、编译、运行。
1hexo clean && hexo g && hexo s
这是不是有些太麻烦了?可能一两个 Markdown 文件还好说,但经过半年的学习沉淀,我的笔记文件还是有那么十多个的。我需要一个可以批量部署文章的解决方案,但是网上 Hexo 博客自动部署方案基本都是清一色的 Github Action ,还有少数是使用的 Github Webhook 。我的博客自动部 ...
CentOS7.6 Apache配置安全网页并搭建wordpress(Apache Mariadb Wordpress)我们每天上网访问的页面都是存储在服务器中的,服务器通过运行http服务把网页发布到互联网上供人们使用。常见的http服务有这三种:Nginx、Apache、IIS。
配置Apache Mariadb Wordpress,其中Apache用于发布网站,Mariadb作为Wordpress的数据库,Wordpress则用于承担网站的内容。
接下来,我会教大家如何配置Apache服务,并讲解其中的一些参数和理论。
下载Apache服务和其他服务包1234567891011121314[root@appsrv ~]# yum install -y mod_ssl openssl httpd//mod_ssl是http的安全模块//openssl用于签发证书//httpd为Apache服务[root@appsrv ~]# yum install -y php php-mysql mariadb* lrzsz//下载php是因为wordpress文件是php格式,//服 ...
Golang的CURDCURDCURD 是 create、read、update 和 delete 的首字母缩写,在数据库操作中频繁出现。通常我们说的CURD就是对数据库的读写操作。
这文章篇主要介绍 Golang 对 Mysql、MongoDB 和 Redis 的 CURD 相关操作。
关系型数据库在 Golang 开发中,关系型数据库通常我们会使用 gorm.io/gorm 库。
1go get -u gorm.io/gorm
Grom (Object-Relationl Mapping)使用结构体映射数据库中的表,将数据库抽象成一个数据库相关的对象。这样,我们在操作数据库的时候,就可以像平时操作对象一样操作它就可以了。
非关系型数据库在 Golang 开发中,MongoDB 一般使用 MongoDB 官方提供的 mongo-go-driver 库;
1go get go.mongodb.org/mongo-driver/mongo
Redis 则使用 github.com/go-redis/redis 库,这是一个广泛使用的 Go 语言 Redis 客户端库。
12# Red ...
链表简述链表是一种物理存储结构上不连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中节点的指针来依次链接的。
链表的分类与实现链表的分类
链表有八大类。
链表主要分:单链表,带哨兵位头节点的链表,双向链表,循环链表。
把后面三种排列组合就可以得到其他四种不同的组合(单链表是最基础的所以不算)。
这里着重讲前面四种链表,其他的可以依葫芦画瓢。
单链表单链表是链表中最基本的链表。人如其名,就是单纯的一个链表没什么花里胡哨的操作。
为了好理解我画了一个形象一点的图
下面直接上代码,边看代码边理解
12345678typedef int LinkListDate;//链表节点typedef struct LinkListNode{ LinkListDate x; //数据 struct LinkListNode* next; //next指针}Node;
单链表节点的结构就这样,去创建出一个个链表节点,再把它们通过next指针首尾链接起来就是单链表。
接下来看单链表的几种常规操作
后面几种链表的操作和单链表差不多。所以这里要好好看好好学才能给后面的操 ...