腾讯云配置SSL
起因 默认是 http。我回想起看过的八股,大意是http在网络世界里是裸奔,我也不想自己的网站被黑客抓包后登录,所以很想把http升级成https。 两天前看的腾讯云的文档,应该是没完全按照 https://cloud.tencent.com/document/product/1207/47027 上面的步骤,中途手动在控制台调了些东西,所以部署…
MySQL 的存储引擎
主要是两个:MyISAM 和 InnoDB。 MyISAM的表在磁盘上存储成 3 个文件,其文件名都和表名相同,扩展名分别是:.frm(存储表定义) .MYD(MYData,存储数据) .MYI (MYIndex,存储索引) InnoDB的表在磁盘上有两个文件,其文件名都和表名相同,扩展名分别是:.frm(存储表的定义) .ibd(存储数据和索引)…
C++实现集群聊天服务器
写在前面 所有代码加起来两千行,里面用到了语言、数据结构、计网、操作系统、数据库、redis等知识,可谓是麻雀虽小五脏俱全。 1、项目需求 客户端新用户注册 客户端用户登录 添加好友和添加群组 好友聊天 群组聊天 离线消息 nginx配置tcp负载均衡 集群聊天系统支持客户端跨服务器通信 2、Json Json是一种轻量级的数据交换格式。独立于编程…
C++实现数据库连接池
一、关键技术点 使用C++语言级别的开发。 MySQL数据库编程、线程安全的懒汉单例模式、queue、C++11多线程编程、线程互斥、线程同步通信、生产者-消费者模型、基于CAS的原子整形、智能指针shared_ptr、lambda表达式等。 二、项目背景 为了提高MySQL数据库(基于C/S设计)的访问瓶颈,除了在服务端添加缓存服务器缓存常见的数…
GDB 调试
前言 C++聊天服务器项目加上数据库连接池时出了bug。可我不会在Linux环境下调试,浪费了很多时间。虽然最后将这个bug解决了,但是这给了我一个警钟:必须要会GDB的简单使用 我将复现bug,使用GDB一步步地将bug揪出来。 其实这个bug,我事后回想了下,并不离谱,稍微推理下就应该知道大概在哪里出了岔子。 1、bug 复现 mysql Co…
连接查询
其中,left join 和 right join统称为 “外连接查询”,inner join 是“内连接查询” inner join 用法 先按照这个文件里的语句创建好数据。 一共有三个表: student。uid(P)/name/age/sex course。cid(P)/cname/credit(绩点) exame。uid(P)/cid(P)…
01背包的一些感悟
一、朴素的爆搜 01背包的普通爆搜版 //输入 4 5 2 3 1 2 3 4 2 2 //输出 7 每种情况选或不选。这里给出没看书前自己写的。 #include <iostream> #include <stdio.h> #include <vector> void init() { freopen(&quo…
【力扣“图论基础”学习计划】之好题分享与知识点总结
前言 把力扣学习计划之图论基础写完了,萌生出挑出几道我觉得好的题目出来的想法。 在“图论基础”学习计划中搜索占主体。本篇博客也将围绕搜索展开。 搜索中抓住:方向 + 去重 知识点:(循循渐进) 邻接矩阵 在矩阵中的搜索,这里更偏向 bfs 搜索,但是和 dfs 差不多,都是向四周拓展 邻接链表和在图中的搜索 计数搜索、起点到终点的最小步数搜索 二分…
二分图(染色法+匈牙利法)学习笔记
一、二分图模板 二分图的性质: 集合内部没有边 二分图当且仅当图中不含奇数环 1.1. 染色法判断是否为二分图 简要介绍 采用 $dfs$ 遍历图。尝试把和一个点相连的所有的点涂为不同色(一共两种颜色)。 什么情况下图不是二分图呢?尝试涂色时相邻点已被涂同样的颜色。 模板 //尝试将u染成col 的同时尝试拓展它的临边 bool dfs(int u…
最小生成树(Prim+Kruskal)学习笔记 (模板+OJ题目)
模板 需要读者对以下知识有所了解:权值非负最短路、权值带负数最短路、并查集 一、prim 简要介绍 和朴素版的 Dijkstra 算法 相似,区别在于 $Dijkstra$ 的 $dist$ 数组用于存储从起点到该点的最短距离;而 $prim$ 算法的 $dist$ 数组用于存储该点到集合中的任意一点的最短距离。 模板 int prim(int n…