自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(204)
  • 资源 (1)
  • 收藏
  • 关注

原创 PostgreSQL restartpoint 原理详解

在了解 restartpoint 前,首先需要知道 checkpoint,可以参考这篇博文简单的介绍如下所示checkpoint: 主库用的,用来定期刷脏及其他一些功能,crash 后实例自动去找最新的一个 checkpoint ,从其中记录的 redo point 的 WAL 日志位点开始向后进行 redo;

2024-03-04 20:06:21 583

原创 编译报错 unimplemented: ‘-fexcess-precision=standard‘ for C++

因为 make 的时候会从 Makefile 读取 CFLAGS 的值,如果直接覆盖环境变量,会导致 Makefile 原本设定的 CFLAGS 被覆盖掉。排查了半天,如果在编译的时候设定。,就有可能导致上面这个问题。所以,正确做法应该是。

2023-12-26 14:42:52 401

原创 PostgreSQL Log 日志模块详解

本文讲的是操作日志,非 WAL 日志。

2023-06-28 16:50:14 3610 5

原创 PG15 pg_basebackup 代码解析

PG 15 针对 pg_basebackup 这部分的重构,较好的完成了模块间的解耦。如果需要针对数据流做额外的修改操作,只需要按照其设计模式新增一个过滤器即可。例如不想直接写 tar 文件,想使用 gzip 额外进行压缩,只需要将最后的换成即可。开发者在熟悉了这一架构后,可以非常快的进行开发。

2023-01-30 19:04:15 687

原创 postgresql stop 模式分析及 kill -9 对比

在目前的场景下, stop -m immediate 和 kill -9 阻塞的进程都可以成功。

2022-12-26 19:54:48 1346

原创 PostgreSQL 同步复制原理解析

Postgresql 在主备架构的场景下,支持同步流复制功能。本文将以一主一备架构为例,介绍同步流复制(同步备机)的工作方式以及内核代码的相关原理。

2022-11-27 13:26:28 986

原创 数组第 k 大子序列

给你一个整数数组 nums(有正有负)和一个正整数 k。你可以选择数组的任一 子序列 并且对其全部元素求和。数组的 第 k 大和 定义为:可以获得的第 k 个 最大 子序列和(子序列和允许出现重复)返回数组的 第 k 大和。

2022-08-25 09:47:09 347

原创 打RPM包时 ERROR: No build ID note found 问题解决

在打 RPM 包的 debuginfo 包时遇到了这个问题。谷歌/百度上的解决方法都没法生效。那些解决方法看上去就挺离谱的,打 debuginfo 包出问题了就不打debuginfo 包了。。。BUILD ID 介绍redhat 的文档: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/developer_guide/compiling-build-id简单的说,build id 是一种二进制某

2022-05-24 17:49:34 1310 1

原创 PostgreSQL 并行框架分析

PG 内核提供了并行框架,目前其主要是为并行查询服务的。本文将介绍并行框架的使用方式,并分析其设计原理。概览并行框架

2022-04-17 22:46:52 1074

原创 PostgreSQL 内核源码分析——lazy Vacuum

本文将概要性的讲解 PostgreSQL 中 lazy vacuum 的流程和原理,代码将以 PG 10.17 版本为例。背景知识死元组和表空间膨胀在 PG 中,update/delete 语句的实现通过 MVCC 机制的多版本链实现。对于一条已经被更新/删除的元组来说,当这条元组对所有事物都不可见后,它的存在就没有意义了,理应被删除,对于这种元组,我们称之为“死元组”。当一张表有大量更新/删除时,如果不做清理的话,表里面就会积攒很多这样的“死元组”,占用大量的空间,造成表空间膨胀。事物号回卷PG

2022-02-03 18:58:12 1190

原创 PostgreSQL TopN 插件优势分析

topn 插件地址:https://github.com/citusdata/postgresql-topntopn 插件可以在秒级内求出出现频率前 n 高的元组。背景问题假如有如下一张表,我们的目标是求出以下人名中,出现频率前 n 高的人名。举个例子,n = 2 的情况下,出现频率前 2 高的是 Emily 和 Alex。NAMEBobEmilyAlexEmilyEmilyBobAndyAlexEmilyAlexSQL

2021-12-30 20:59:13 687

原创 PostgreSQL 中 SELECT 的元组是如何出现的

当我们运行一句最简单的 SQL :SELECT * FROM t; 时,查询结束后会将元组一下子打印到屏幕上。那么就会有一个问题,当元组数量非常多的时候,为什么 SELECT 语句卡一会后,会一下子打印出来?背景介绍从我们日常观察中不难发现,当元组较多时,会如下图所示。一个屏幕装不下,按回车后才能继续浏览下面的元组。底下通过源码分析和 gdb 调试,一步步探索实际情况下,元组是如何被 SELECT 出来的。psql 的建立先来介绍下 psql 大致的工作原理,其主要如下图所示。当 PG 启

2021-08-26 12:06:59 475 1

原创 Ubuntu18 安装和使用 Greenplum

安装教程按照 Greenplum官方安装教程 一步一步来即可。遇到的问题gpssh 报错在gpssh-exkeys -h localhost 这一步,显示无法连接本地 ssh。解决这个问题方法就是配一下 ssh 公钥登录,参考 ssh公钥登录配置。hostname报错在官方教程里面有一步需要自己新建一个 MACHINE_LIST_FILE文件,并将本机的 hostname 放进去。同时要将...

2021-05-27 17:40:13 503

原创 探索 PostgreSql 中的 checkpoint 机制

checkpoint 是 PostgreSql 中一个非常重要的概念,本文将详细的介绍什么是 checkpoint,为什么要有 checkpoint,以及 checkpoint 的运作原理。什么是 checkpoint大家在玩游戏的时候经常会需要存档,而这个存档点就是由 checkpoint 单词翻译而来的。在Postgresql 官方文档中,checkpoint 的定义如下:A checkpoint is a point in the write-ahead log sequence at wh

2021-03-19 19:11:02 1526

原创 求有向无环图(DAG)中起点到终点的路径条数

题目描述给定一个有向无环图,有 n 个顶点(1~n)和 m 条边,要统计从点 s 到点 t 的路径数目。题解首先使用拓扑排序求出整个图的拓扑序,然后再从终点开始动态规划计数。#include <bits/stdc++.h>using namespace std;const int maxn = 20005;int n,m;vector<int> e;int degree[maxn];vector<int> topo_sort(int[] d, i

2021-03-07 14:23:01 3343 1

原创 MVCC 机制解决微服务分布式事务问题

根据较为著名的 两阶段提交 协议实现了一个分布式事物, 参照 seata 的实现方法, 目前阶段仅为实现了一个 demo, 还有很多需要改进的东西。github 地址:https://github.com/zxwsbg/go-seata文章目录项目设计整体框架图TC 设计全局单个事务决策全局所有事务状态维护实现细节service a 实现service b 实现TC 实现TM 实现残留问题项目设计根据 seata 的 AT 模式架构为基础,在各本地数据库添加 mvcc 表,以实现 Reapeatab

2021-02-07 16:16:15 549

原创 多生产者多消费者问题的无锁队列实现

背景代码根据论文 Implementing Lock-Free Queues 复现。背景知识博客:左耳朵耗子博客 https://coolshell.cn/articles/8239.html代码地址:https://github.com/zxwsbg/lock-free-queue无锁队列实现数据结构介绍按照论文中提到的两种方法,选了一种较优的方法实现。以单向链表的形式实现这个队列,每个节点的数据结构为class QueueNode { public: int

2020-12-14 18:09:52 3088 2

原创 Ubuntu 编译安装 PostgreSQL

预装环境sudo apt-get install build-essentialsudo apt install libreadline-devsudo apt-get install zlib1g.dev编译安装下载源码wget https://ftp.postgresql.org/pub/source/v9.6.10/postgresql-9.6.10.tar.gz解压安装tar zxvf postgresql-9.6.10.tar.gzcd postgresql-9.6.10/

2020-10-23 11:36:10 1330

原创 配置ssh公钥登陆

以下操作均在本地运行。ssh-keygen将本地 id_rsa.pub 追加到服务器 ~/.ssh 的 authorized_keys文件下

2020-07-19 13:31:04 277

转载 ssh连接华为云总是自动断开的解决方法

原文链接:https://www.jianshu.com/p/fa34a2b5b351通过ssh远程连接服务器修改 sshd 配置文件vim /etc/ssh/sshd_config找到相关配置参数#ClientAliveInterval 0 #ClientAliveCountMax 3 去掉注释修改为ClientAliveInterval 30 #服务端每隔多少秒向客户端发送一个心跳数据ClientAliveCountMax 86400 #客户端多少次没有相应,服务器自动断掉

2020-06-25 12:06:23 1960

原创 阿里云数据库内核面经(已拿offer)

坐标polarDB,阿里云数据库内核组。自己在过年后光速写了个小的数据库当项目,也算是弥补了项目经验上的不足。文章目录简历面一面二面三面四面五面(hr面)个人代码内存分配器最大子矩阵和多线程题花式翻转链表简历面编译器是怎么优化的手撸内存分配器通过一个数组来管理资源,需要使用时从数组中分配一个成员,使用完毕后从数组中释放该成员,释放后的成员可以被再次分配使用;请实现一个结构用来快速的对...

2020-06-17 17:11:50 2620

原创 腾讯后台开发面经(已拿offer)

是IEG搞数据库这一块的,据说平时研究是研究Mysql和rocksdb啥的。文章目录一面二面hr面offer call一面自我介绍问项目:由于自己的项目就是实现了一个小的数据库,于是就…有趣的小问题(因为很少有面试官问编译原理的东西):自己实现的数据库是怎么判断这个关键字是否存在的我: 语法分析后会把读出的id和已有id维护检查一下面试官:那你应该是写了语义分析我(内心os):原...

2020-06-17 17:11:30 5854 3

原创 面经总结

个人介绍南京某双非一本,大一的时候跟老师做了JPEG加密图像检索的项目(比较水)。acm方面,当了一年集训队队长,CCPC和ICPC各一块银牌,CCPC Final 铜牌。工程经验约等于0,一晚上撸了个小编译器(到中间代码生成)当项目用了。。。面经传送门2019.11.10 微软亚研院实习工程创新组面经 (已凉)2019.12.6 百度实习C++后台开发面经 (口头offer)2019...

2020-06-17 17:10:52 1447

原创 关于近期Ubuntu安装软件各种依赖报错

类似这种,从百度上随便截了个图。一般我们装ubuntu系统后会换阿里云或清华的源,近期由于不知名原因,疑似这些源的依赖过期,导致 apt 安装软件的时候总是报这种依赖错。对于网上流行的解决方法,一般有这几种:用 aptitude 安装(缺点:需要自己选择降级哪些依赖,一个不留神整个系统将崩了)purge(缺点:删错了系统照样崩)观察发现,ubuntu 的官方源是不会出现这种依赖错误的(非常合理),所以最好的解决方法就是用官方源。但是官方源访问又很慢,因此只能…(大家懂得)友情提醒,别忘了 .

2020-06-12 19:33:12 627

原创 如何在 Ubuntu 的文件夹图形界面侧边栏增加新的文件夹

如下图所示,如何在侧边栏新增 data 文件夹,在打开时可以方便我们快速访问。正确做法:进入data文件夹,按Ctrl+D即可。

2020-04-29 12:12:11 3098

原创 ubuntu18安装和美化教程

本文仅记录大体安装过程,细节需要百度搜索。文章目录安装分区启动盘制作NTFS转为FAT32格式制作启动盘*Bitlock解锁BIOS设置linux下分配空间美化安装oh-my-zshvim美化其他安装分区在Win10下利用系统默认的磁盘管理分出一个空间来,由于这台电脑就是主攻linux的,所以我分了100个G启动盘制作NTFS转为FAT32格式由于我的U盘是NTFS格式(估计是陈大佬...

2020-04-06 17:42:16 3275

原创 各种IDE基本配置

VSCode后退 ctrl+q前进 ctrl+w{ "files.associations": { "iostream": "cpp", "ostream": "cpp", "cstdio": "cpp", "*.tcc": "cpp", "cmath": "cpp", "random":...

2020-02-09 21:44:47 529

原创 2019商汤算法开发实习生C++方向(已拿offer)

商汤效率是最高的,两天面完发offer,都是电话面。而且加了hr小姐姐的微信,有什么反馈得到的很及时。目前已决定入职商汤,福利看上去很好的样子。个人介绍南京某双非一本,大一的时候跟老师做了JPEG加密图像检索的项目(比较水)。acm方面,当了一年集训队队长,CCPC和ICPC各一块银牌,CCPC Final 铜牌。面试之前光速撸了一个小型编译器当项目。一面自我介绍ACM主要是啥形式...

2019-12-11 19:36:24 2113

原创 2019百度实习C++后台开发面经 (已拿offer)

面的不好,估计凉了。static 和 普通的全局变量有什么不同。它在类里面又有什么特点malloc和new的区别malloc分配的是物理内存吗C++程序有哪几个段可以只有堆没有栈吗为啥要有页表,直接查物理内存它不快吗vector内存是咋分配的红黑树和平衡二叉树有什么区别map和unoderedmap的区别哈希表满了,效率变低怎么办死锁是什么?怎么解决...

2019-12-11 19:20:44 2166 4

原创 2019微软亚研院实习面经(工程创新组)

个人介绍:南京某双非一本,大一的时候跟老师做了加密图像检索的项目(很水,核心代码老师讲给我三个小时就听懂了)。acm方面,当了一年集训队队长,CCPC和ICPC各一块银牌(主要靠躺),ICPC的是银川的(真的会问赛区)。工程方面啥都不会,大一下学期转入学校实验班,成绩倒数。找学姐内推的创新工程组,隔了三天打电话给我约了面试。打电话后发了邮件,链接里面是一个远程共享屏幕的网页,我写代码他能直接...

2019-12-11 19:08:11 1606 2

原创 2019徐州网络赛I题

题目已知数列p是1~n的排列,现在给定m组询问,每组询问给出左右端点l和r,求出[l,r]区间中有多少对<i,j>满足 p[i]%p[j]=0 或 p[j]%p[i]=0,要求i<j。题解首先维护一个前缀和sum,其中sum[i]维护的是[1,i]中满足条件的对数。那么对于询问[l,r],结果就是sum[r]-sum[l-1]。但是这看上去有些问题,因为存在i在[1,l...

2019-11-09 10:44:42 184

原创 南京信息工程大学第十届程序设计大赛试题

A. 签到题目描述本次程序设计大赛共有386人参加,请计算你本次比赛获得的奖项。已知特等奖、一等奖、二等奖、三等奖的获奖比例分别为 前1%, 前5%, 前15% 和 前30%。在计算获奖人数时,按照比例向下取整,如特等奖的获奖人数为 3。输入描述输入一个整数 nnn (1≤n≤3861 \leq n \leq 3861≤n≤386),表示你在本次竞赛的名次。输出描述输出包含一行...

2019-10-28 20:21:39 1041

原创 南京信息工程大学第十届程序设计大赛题解

A. 签到简单C语言模拟题。#include <stdio.h>double a[5] = {0.01,0.05,0.15,0.3};int n,p[5];int main() { scanf("%d", &n); for(int i=0;i<4;i++) p[i] = 386 * a[i]; if(n<=p[...

2019-10-27 11:55:52 746

原创 拉格朗日插值法模板

重点:k次幂的前缀和是k+1次多项式即1n+2n+...+xn1^n+2^n+...+x^n1n+2n+...+xn朴素模板洛谷P4781已知n个点(x1,y1),(x2,y2)...(xn,yn)(x_1,y_1),(x_2,y_2)...(x_n,y_n)(x1​,y1​),(x2​,y2​)...(xn​,yn​),求其构成的n-1次多项式中横坐标为k的对应的值。时间复杂度: O(...

2019-10-18 10:50:55 199

原创 psql: FATAL: role is not permitted to log in

首先解决Peer authentication failed for user “postgres”, when trying to get pgsql working with rails问题,不然会在下一步出错。cd /etc/postgresql/10/mainsudo gedit pg_hba.conf将local all postgres ...

2019-09-08 19:37:42 3824 1

原创 Ubuntu下PostgreSQL调试环境搭建 (eclipse)

文章目录必备组件导入代码开发与调试新建 "Make Target"尝试运行数据库调试数据库代码系统环境:ubuntu18.10eclipse环境:Version: 2019-06 (4.12.0)依据《PostgreSQL数据库内核分析》一书配置。源码下载地址:https://www.postgresql.org/ftp/source/v8.4.1/必备组件首先安装插件。sudo a...

2019-09-08 17:10:13 496

原创 vscode配置备忘录

后退 ctrl+q前进 ctrl+w

2019-08-24 18:05:47 253

原创 解决latex中插入代码的缩进问题

从vscode复制代码到texstudio时,缩进会被忽略。于是,打开设置,将缩进模式调成保持缩进即可。

2019-08-19 13:11:22 8366

原创 基于BOW的图像检索(含matlab源码)

因为发现网上没有人写这个,于是就写了一篇。以最基本的颜色直方图为例,采用BOW算法完成图像检索。源码发布在: https://github.com/zxwsbg/Bow-Retrival如果本文对你有帮助,请给我的项目一个star。准备工作测试数据集开发环境:matlab...

2019-07-30 11:10:31 4233 12

原创 Ubuntu18下Github+Hexo搭建博客教程

搭建部分安装git、nodejssudo apt-get install gitsudo apt-get install nodejssudo apt-get install npm安装Hexonpm install -g hexo-cli安装完了以后初始化,其中myblog随便起什么名字都可以,不加sudo可能会遇到问题。sudo hexo init myblogcd my...

2019-07-28 11:01:10 1700

matlab中jpeg tool box(tbx)编译好的mexw64文件

这个和之前所有的csdn上现有的mexw64文件都不一样!!!!它们的jpeg_write是有问题的!!!这个是我苦寻了几天后,才在GitHub上找到的!!感谢原作者分享!!(同时附有linux版的) 用法:不用任何vs编译,matlab可直接运行mexw64文件!!!

2018-04-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除