- 博客(46)
- 资源 (4)
- 收藏
- 关注
原创 MySQL InnoDB 聚簇索引 非聚簇索引 二级索引 普通索引定义
tableEach MySQL table is associated with a particular storage engine. InnoDB tables have particular physical and logical characteristics that affect performance, scalability, backup, administration, ...
2020-01-01 20:58:18 949
原创 HMAC算法
RFC 2104 - HMAC: Keyed-Hashing for Message Authentication前言:【1】“message authentication codes” (MAC)【2】“hash-based message authentication codes” (HMAC)HMAC: Keyed-Hashing for Message Authentication...
2019-10-03 00:44:39 1253 1
原创 linux查看网卡UUID和MAC地址的方法
查看网卡UUID:nmcli con show 或 nmcli con list查看网卡mac地址:nmcli dev show 或 nmcli dev list[root@vm46 ~]# nmcli --helpUsage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS -t[erse] ...
2019-08-22 18:25:41 4205
转载 网络七层协议与网络四层协议
SSL协议位于传输层与应用层协议之间,因此SSL协议对传输层是透明的。OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有七层结构,每层都可以有几个子层。下图是OSI七层网络结构组成:TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层...
2019-08-11 23:23:45 8283 1
原创 使用ident认证方式连接postgres数据库
使用ident认证方式连接postgres数据库postgres支持多种用户认证方式什么是ident服务postgres支持ident认证的原理实验验证环境准备实验设计数据库端相关配置客户端连接认证postgres支持多种用户认证方式 postgres是当前流行的开源关系型数据库,用户认证是数据库系统最外层的安全保护措施,pg在用户认证这部分即支持自身的口令认证(password,md5...
2019-08-11 19:32:36 2546
原创 postgres支持kerberos认证
在阅读此博客之前,建议阅读一下下博文,了解kerberos的基础知识,本文重在介绍如何使postgres支持kerberos认证。参考博文:[1] http://web.mit.edu/Kerberos/dialogue.html[2] http://www.kerberos.org/software/tutorial.html[3] https://baike.baidu.com/ite...
2019-08-04 22:16:25 816
原创 vi/vim 同时编辑多个文件
vi/vim 同时编辑过个文件如何利用vi编辑器快速编辑多个文本文件vi编辑多个文件举例如何利用vi编辑器快速编辑多个文本文件vi是一款流行的文本编辑器,当你不清楚如何高效的使用vi工具时,可以通过查看help命令进行查找。vi界面输入help命令,可以查看丰富的帮助文档,如下:1 help.txt For Vim version 7.4. Last change: 2012 Dec...
2019-08-04 14:27:58 2476
原创 C/C++ visibility
visibility用于设置动态链接库中函数的可见性,将变量或函数设置为hidden,则该符号仅在本so中可见,不可见。Why is the new C++ visibility support so useful?为什么说C++ visibility如此有帮助It very substantially improves load times of your DSO (Dynamic Sh...
2018-11-09 23:25:15 4347 1
原创 UNIX Domain Socket
UNIX Domain Socket你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。什么是UNIX Domain SocketUNIX(7) Linux Programmer’s Manua...
2018-11-04 23:34:35 744
原创 TDS协议和FreeTDS开源实现
TDS协议Tabular Data Stream (TDS) is an application layer protocol, used to transfer data between a database server and a client. It was initially designed and developed by Sybase Inc. for their Sybase ...
2018-10-29 23:09:22 962
原创 PostgreSQL PREPARE语句与JDBC中PreparedStatement语句关系
1. PostgreSQL(PG) PREPARE 语句qingping=> \h prepareCommand: PREPAREDescription: prepare a statement for executionSyntax:PREPARE name [ ( data_type [, ...] ) ] AS statementqingping=> pre...
2018-10-02 00:12:51 2732
原创 awk + printf 配合使用,快速格式化输出字符串
当前工作中经常遇到需要格式化输出字符串的场景,今天整理下使用awk + printf快速实现的方法。1.数据源选取postgresql代码库中kwlist.h文件(记录PG中保留关键字和非保留关键字信息)中的一部分作为源数据。[root@localhost Postgres]# cat kwlist.h | grep -E '^PG_KEYWORD' | head -n 20 >...
2018-08-30 00:02:06 9224
原创 Linux 下查看进程内的线程情况 ps, top 命令
线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被拆分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使拆分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功能让线程在并发执行时成为一个高效的机制。在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然...
2018-08-29 23:14:42 12383
原创 Postgres Schema information_schema pg_catalog
今天讨论Postgres中两个重要的系统Schema:information_schema与pg_catalog首先,我们通过查看pg_catalog.pg_namespace来查看当前数据库中全部的Schemaqingping=> select oid,* from pg_catalog.pg_namespace; oid | nspname | n...
2018-08-21 01:02:47 11730 1
原创 Linux/Unix 命令 tr
欢迎使用Markdown编辑器写博客MAN trUnix(macbook) 对tr命令的介绍如下:TR(1) BSD General Commands Manual TR(1)NAME tr -- translate charactersSYNOPSIS tr [-Ccsu...
2018-08-03 01:00:07 615
原创 对称加密和非对称加密
数据传输:对称加密与非对称加密(一)对称加密(Symmetric Cryptography)对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。 对称加密通常使用的是相对较小的密钥,一...
2018-02-24 00:29:13 291
原创 C语言长跳转函数setjmp和longjmp
C语言长跳转函数解决异常处理问题较为严谨的C程序开发中,必须检测每一次函数调用的返回值及可能出现的错误,并做相应的处理。但是这样造成的后果就是冗长繁琐的代码。C语言中goto语句能实现函数内部代码片段的跳转,但是无法解决跨函数的跳转问题。C语言提供了长跳转机制,setjmp与longjmp函数配合使用,解决C程序中的异常处理问题,类似于C++/Java语言中的try catch机制。(...
2018-02-17 23:32:43 2019
原创 C语言中的宏定义
C/C++语言中的宏定义最近在阅读代码是发现一个宏定义很奇怪,变对C语言中的宏定义的基本知识进行了简单整理:普通宏定义函数宏定义C语言中宏的调试方法代码块下列C代码中包含两种宏定义,例如:#include <stdio.h>#define MAX_CONNECTION 1000#define MNG_PORT 5000#define MI...
2018-02-17 00:14:39 4642
原创 PostgreSQL tablespace database schema
pgsql 中表空间/数据库/模式 的关系表空间是物理结构,同一表空间下可以有多个数据库数据库是逻辑结构,是表/索引/视图/存储过程的集合,一个数据库下可以有多个schema模式是逻辑结构,是对数据库的逻辑划分表空间是物理结构,单个表空间下可以有不同的数据库采用pgsql默认表空间pg_default,该表空间下有5个数据库,2个模版库,template1为可修改模版库,template0
2017-09-24 22:37:20 3226
原创 centos && redhat 安装mysql数据库
centos && redhat 安装mysql数据库直接安装mysql会与centos默认的mariadb-libs冲突,需要先卸载再安装[root@zhuqingping mysql]# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpmwarning: mysql-community-server-5.7.18-1.el7.x86_
2017-07-17 19:00:38 538
原创 查看和修改MySQL数据库的事物隔离级别
查看和修改MySQL数据库的事物隔离级别查看MySQL的事物隔离级别mysql> show variables like '%isolation%';+---------------+-----------------+| Variable_name | Value |+---------------+-----------------+| tx_isolation |
2017-07-16 01:05:02 11449 1
原创 Amazon AWS 使用问题
创建AWS经常遇到远程访问或者远程数据传输的问题。需指明秘钥文件,使用ssh或scp工具,使用方法如下:[root@ip-172-31-17-123 conf]# ssh -i /home/ec2-user/mytempkey.pem [email protected][ec2-user@ip-172-31-17-123 ~]$ scp -i /home/ec2-user/mytempkey
2017-07-02 18:02:14 718
原创 pg_regress 使用技巧
特定场景,不初始化数据库,远程连接到已有的PG数据库,执行以下命令:./pg_regress --use-existing --dbname=regression --host=172.31.40.37 --port=5432 --user=test01 --schedule=parallel_schedule > regression.result 2>&1
2017-05-06 21:58:28 1348
原创 建立安全SSL连接PostgreSQL数据库服务器
建立安全SSL连接PostgreSQL数据库服务器当前物联网的挑战之一就是提供最高的安全级别。这就是为什么需要开启SSL连接到 PostgreSQL。 当你想要安全的存储数据到PostgreSQL数据中时,第一件事就是通过加密的连接保护身份认证凭证和存储数据被拦截。
2017-05-06 05:20:09 14272 1
原创 Linux环境C++ man手册安装
Linux环境man手册安装Linux/Unix环境的man工具是非常便捷的C函数学习工具,但是针对C++的函数说明,却没有集成,需要我们手动配置:GNU提供了C++的帮助文档FTP站点: ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen// ubuntu环境14.04,选择下载libstdc++-api.20140403.man.tar.bz2,解压(
2017-03-05 22:34:35 2924
原创 pthread_create 未定义的引用
问题:ubuntu环境在编译pthread_函数相关代码时,报如下错误:**zhuqingping@ubuntu:~/Study/C/pthread$ gcc -o child_thread child_thread.c/tmp/ccXx2krL.o:在函数‘main’中:child_thread.c:(.text+0x5a):对‘pthread_create’未定义的引用child_thre
2017-02-19 22:19:52 964
原创 线程同步
当多个控制线程共享相同的内存时,需要确保每个线程看到一致的数据视图。原因在于,当多个线程同时读取和修改变量时,会造成共享变量的不一致,因此需要对线程进行同步,确保他们在访问变量的存储内容时不会访问到无效的值。互斥量可以使用pthread的互斥接口来保护数据,确保同一时间只有一个线程访问数据。互斥量(mutex)本质上是一把锁,在访问共享资源前对互斥量进行设置(加锁),在访问结束后释放
2017-02-19 22:12:16 260
原创 ubuntu环境无pthread_mutex_lock 函数 man 手册
问题:Ubuntu 14.04.5 LTS 环境无pthread_mutex_*** 系列函数的man手册解决方案:sudo apt-get install glibc-docsudo apt-get install manpages-posix-dev
2017-02-18 18:31:54 3280 2
转载 DQL、DML、DDL、DCL的概念与区别
SQL(Structure Query Language)语言是数据库的核心语言。SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R时改为SQL。1979年-----Oracle公司发表第一个基于SQL的商
2017-01-18 23:16:09 309
原创 自己上手debug调试postgresql数据库
众所周知,postgresql是世界上功能最为强大的数据库,在世界上有诸多使用者和爱好者,废话不多说,想要成为PG数据库的小砖家,需要对PG代码熟悉,现在开始上手调试吧PG必备网站 postgresql官方网站 https://www.postgresql.org/ postgresql中文社区 https://www.postgres.cnPG Debug模式下编译安装PG官网下载源码包
2016-12-29 00:31:48 9752 2
原创 写博客不能停
步入工作岗位已经1年多时间,一直在适应和提升自我的忙碌中,却忘记了记录自己的成长过程,希望以此博客为证,再忙碌也要抽时间总结,这是很有必要的。
2016-12-28 22:57:44 309
原创 #pragma pack(n)
C/C++ 数据成员对齐规则利器 #pragma pack()C语言中经常遇到数据成员(结构体/联合体)对齐的问题编译器依据硬件环境,会有一套默认的对齐规则,4字节或8字节对齐,目的是减少数据读取次数(内存读取到寄存器),加快CPU的计算速度数据成员对齐带来的好处是运算性能的提升,但是随之而来的问题是内存膨胀,尤其是需要大数据量网络传输的场景,此问题尤为凸显C/C++ 提供了对数据成员的p
2016-12-28 22:42:20 294
boost_1_69_0.tar.gz
2019-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人