- 博客(132)
- 收藏
- 关注
原创 char data[0]用法总结
struct MyData{ int nLen; char data[0];}; 1.这个地址就是结构体后面数据的地址(如果给这个结构体分配的内容大于这个结构体实际大小,后面多余的部分就是这个data的内容);这种声明方法可以巧妙的实现C语言里的数组扩展。2.初始化时为:MyData *p = (struct MyData *)malloc(sizeof(struct MyData) + strlen(str))3.练习#include <stdio.h&.
2022-03-02 16:42:06
1032
原创 Python Django学习
一、环境搭建VM上面安装 centos7虚拟机win10环境VScode为了操作方便,将django环境部署在centos7,写代码在VSCOde中写环境部署:centos7 安装samba ,将代码目录影射出来8.Samba安装samba操作:CentOS安装Samba检查虚拟机是否安装samba服务执行rpm -qa | grep samba未安装结果为空已安装结果可能如下:samba-3.5.10-114.el6.x86_64samba-common-3.
2022-01-29 00:35:24
2407
原创 SHELL -e -d -f
查看文件或者目录是否存在,经常用到-d,-e,-f,其中区别如下-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-w filename 如果 filename可写,则为真-x filename 如果 filename可执行,则为真-s f
2021-12-13 10:02:43
138
原创 位域学习记录
定义:有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示格式:位域名:位域长度注意:位域只能在整形和字符型中使用,浮点型不能使用位..
2021-12-09 14:45:12
90
原创 火狐:导入一个相同证书报错
火狐浏览器报错 建立安全连接失败 连接到 www.baidu.com 时发生错误。您正试图导入一个与已存在证书相同颁发者和序列号但却不相同的证书。错误代码SEC_ERROR_REU解决:鼠标放在浏览器最上方边框处点击右键,选择菜单栏,选择更多故障排除信息。打开配置文件夹删除cert9.db和cert8.db文件就成功了。...
2021-11-02 09:42:54
4398
1
原创 libevent库
struct event_config *event_config_new(void); 分配一个新的event_config对象,event_config对象可以用于更改event base的行为,返回一个event_config 对象,由于存储配置,当发生错误返回NULLstruct event_base *event_base_new_with_config(const struct event_config *); 初始化event接口; 通过event_base_n..
2021-08-31 10:35:28
81
原创 牛客网-shell脚本
一、SHELL1 统计文件的行数#!/bin/bash#wc -l ./nowcoder.txt | awk '{print $1}'#awk '{print NR}' ./nowcoder.txt | tail -n 1#awk 'END{print NR}' ./nowcoder.txt#grep -n "" ./nowcoder.txt | awk -F ":" '{print $1}' | tail -n 1#sed -n '$=' ./nowcoder.txt问题:统计出来行
2021-08-16 16:09:05
331
原创 linux 安装redis
源码安装:# wget http://download.redis.io/releases/redis-6.0.8.tar.gz# tar xzf redis-6.0.8.tar.gz# cd redis-6.0.8# make报错:解决办法:升级gcc:yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binuti...
2021-08-06 14:25:59
126
原创 gdb调试python代码
一、安装gdbapt-get install gdb二、安装对应python包,里面有python对应堆栈信息python-dbg安装方法:vi /etc/yum.repos.d/CentOS-Debuginfo.repo enable =1yum install -y kernel-debuginfo-$(uname -r)# 安装debuginfo-installyum install yum-utilsdebuginfo-install glibc三、开
2021-08-03 10:16:42
694
原创 mysql_install_db
mysql_install_dbcat << EOF定义参数栗子cat << EOF1.以EOF标准输入为结束2.cat>filename ,标准输入输出到文件,ctrl+d结束3.cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样定义mysql_install_db 脚本的目的是生成新的MySQL授权表。它不覆盖已有的MySQL授权表,并且它不影响任何其它数据。参数–auth-root-authenticati
2021-07-20 20:21:45
570
原创 __attribute__((unused))
表示该函数或变量可能不使用,这个属性可以避免编译器产生警告信息未使用__attribute__((unused)):使用__attribute__((unused)):
2021-05-18 15:07:53
655
原创 linux 下的init 0,1,2,3,4,5,6
一. init是Linux系统操作中不可缺少的程序之一。 所谓的init进程,它是一个由内核启动的用户级进程。 内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失
2021-04-27 17:04:42
365
1
原创 svn : svn: E200033: database is locked, executing statement ‘RELEASE s0‘
操作:svn提交代码时,发现提交了错误代码,ctrl + z 终止,接着出现报错,用svn cleanup也报错。解决方法:$ cd /your project path/.svn$ mv wc.db wc.db.old #做事都要有备份的习惯$ sqlite3 wc.db.old #打开copy的数据库sqlite> .backup main wc.db sqlite> .exit 之后可能会出现.tmp已经有了不能写..
2021-04-19 21:02:01
477
1
原创 网络:HTTP Cookie header 中set-cookie格式及安全secure httponly
Cookie相关的Http头: 有两个Http头部和Cookie有关:Set-Cookie和Cookie。 Set-Cookie由服务器发送,它包含在响应请求的头部中。它用于在客户端创建一个Cookie。 Cookie头由客户端发送,包含在HTTP请求的头部中。注意,只有cookie的domain和path与请求的URL匹配才会发送这个cookie。Set-Cookie Header: Set-Cookie: <name>=<value>[;...
2021-04-07 19:28:51
3093
原创 Linux(入门基础):23---查看一个进程占用物理内存
一、status 文件cat /proc/pid/status使用 ps aux | grep 进程名称 查找进程pid号。cat /proc/pid/statusVmRSS对应的值就是物理内存占用,大约为38M和刚才一致二、 ps aux | grep 进程名称第一个标注的地方是CPU和内存占用率,后面的38400是物理内存使用量,单位是k,此时mgd进程大约占用38M内存三、top -p pid栗子:top -p 2883...
2021-04-02 16:54:38
1896
原创 工具:openssl各种命令详解
https://blog.csdn.net/zwmnhao1980/article/details/112420535
2021-04-01 10:43:48
191
原创 工具:openssl查看pem格式证书细节
问题:想要通过openssl命令在linux系统上面解密证书文件,提取信息(先了解一些证书基本概念)https://www.cnblogs.com/leslies2/p/7442956.html#p0一、什么是数字证书,常见格式证书主要的文件类型和协议有: PEM、DER、PFX、JKS、KDB、CER、KEY、CSR、CRT、CRL 、OCSP、SCEP等。二、生成数字证书的方式数字证书可以通过在线工具,脚本代码,KEYTOOL工具,OPENSSL工具等多种方式生成。下面以常用的RSA
2021-04-01 10:38:10
16559
原创 NAT
一、NAT类型根据转化方式的不同,NAT可以分为三类: 源NAT,源地址转化的NAT。 有:NO—PAT, NAPT, Easy_ip,Smart_nat, 三元组NAT 目的NAT:将目的地址做转化。 有:NAT-Server, SLB 双向NAT:即做源地址转化,又做目的地址转化二、源nat源NAT是指对报文中的源地址进行转换。通过源NAT技术将私网IP地址转换成公网IP地址,使私网用户可以利用公网地址访问Internet。1、NO—PA...
2021-04-01 09:42:48
1494
原创 工具:Vmware vCenter 6上传文件至存储卷:提示不信任证书,导致无法上传
一、登录页面下载ca证书二、将证书导入浏览器,我使用的是windows系统的chrome浏览器,使用win证书。win10 google :
2021-03-31 14:22:28
491
原创 Linux(入门基础):22---进程的管理(kill、killall),杀死进程N种方法
1.linux查看一个进程的方法ps -ef 或者 ps aux2.kill -9kill -s 9 15572其中,-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。 15572则是上面ps查到进程的PID。注意:kill -9, 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进...
2021-03-30 18:03:05
438
1
原创 Linux(入门基础):21---查看已安装的软件与卸载yum、rpm
根据安装类型分类查找:一、rpmrpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”。栗子:二、deb包以deb包安装的,可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep “软件或者包的名字”;三、yumyum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;四、源码包.tar.gz或者..
2021-03-30 16:39:33
684
1
原创 网络:Active Directory认证服务器
https://www.cnblogs.com/cnjavahome/p/9029665.htmlhttps://blog.csdn.net/weixin_43028329/article/details/82182309?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.control&dist_request_id=1328741.40869.16170188266106385
2021-03-30 15:21:44
100
原创 Linux(入门基础):21---centos7安装图形化界面(安装 GNOME 图形化为例)
之前直接执行下面程序报错,yum groupinstall -y "GNOME Desktop"注意:如果你的centos7是最小化安装的那默认都是不带X WINDOWS的,那在安装图形化界面之前,你得先安装一下X WINDOWSyum groupinstall "X Window System"在安装图形化界面:yum groupinstall -y "GNOME Desktop"等待。。。。。。二、安装报错1.查找资料:执行yum update gr
2021-03-30 10:46:24
1207
1
原创 工具:Centos7 搭建openldap
yum install -y openldap openldap-clients openldap-servershttps://blog.csdn.net/weixin_41004350/article/details/89521170遇到问题记录:1.一定要出现下面这种状态才可以:2.密码是123456,不是{SSHA}7sGq5RSkwzv+vi332d76oHZWkFKPDAYu3.Job for httpd.service failed because the control pr
2021-03-29 19:18:09
191
原创 C:操作符&,|的解析
一、位操作符一般包括&(按位与)、|(桉位或)、还有^。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include<stdlib.h>int main(){ int a = 0; int b = 4; int c = 6; printf("a & b%d\n", a & b); printf("a | b%d\n", a | b); printf("a | c%d\n", a
2021-03-29 14:39:32
120
原创 C:0x0,0,null,NULL,‘0‘,“0“,‘ ‘,“ “区别
关于C语言中 以下常量的区别以及联系。0x0:仅仅是数字0,%d输出0 :经常表示数字0null :不可识别的字符串,识别不了NULL : 经常表示空指针,也可以是数据库里面存的NULL值。指针变量 p 是空指针的判断:if ( p == 0 )if ( p == '\0' )if ( p == 3 - 3 )if ( p == NULL ) /* 使用 NULL 必须包含相应的标准库的头文件 */if ( NULL == p )if ( !p )if ( p =.
2021-03-29 10:41:23
1732
原创 工具:VMware虚拟机各种后缀文件总结
一、文件介绍.log日志文件。这个文件记录了VMwareWorkstation对虚拟机调节运行的情况,记录虚拟机操作,可用了故障诊断。.vmdk这是一个虚拟磁盘文件,它储存了虚拟机硬盘驱动器里的内容。一台虚拟机可以由一个或几个虚拟磁盘文件组成。如果你已经特别指定了虚拟磁盘每2GB为一单独文件的话,虚拟磁盘的大小就决定了虚拟磁盘文件的数量。随着数据写入虚拟磁盘,虚拟磁盘文件将变大,直到这些文件为2GB。(如果你在创建虚拟磁盘时已经把所有的空间都分配了,那么这些文件将在初始时就具...
2021-03-29 09:54:10
6456
原创 工具:vsphere web浏览器在使用window系统时鼠标用不了
问题描述:在vsphere web 浏览器端新建一个windows7系统。启动Web控制台,鼠标不能移动。解决:先是怀疑是因为没有安装VM Tools原因,点击安装VM Tools会变为灰色,已挂载,但安装失败。接着发现添加一块usb控制器即可。不是添加主机USB设备,会报无任何可用USB设备错误。问题解绝^-^在web端使用win7系统,鼠标时延大,体验差,后续再找解决办法。...
2021-03-27 14:01:11
1417
原创 工具:镜像下载系列
一、Windows镜像下载https://msdn.itellyou.cn/二、国内1.南京邮电大学开源镜像网站地址:https://mirrors.njupt.edu.cn/2. 清华大学开源软件镜像站地址:https://mirror.tuna.tsinghua.edu.cn/3. 中国科大开源软件镜像站地址:https://mirrors4.ustc.edu.cn/4. 网易开源镜像站地址:http://mirrors.163.co...
2021-03-26 19:19:27
2682
原创 工具:yum Loaded plugins: fastestmirror
一、情景:执行:yum install lrasz报错:Loaded plugins: fastestmirror, langpacksExisting lock /var/run/yum.pid: another copy is running as pid 2847.Another app is currently holding the yum lock; waiting for it to exit...解决办法:可以强制停掉yumrm -f /var/.
2021-03-26 14:12:49
94
原创 【工具】清华大学开源软件镜像站,镜像使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -packagepackage{:要下载的包名}作用:提高下载速度,避免timeout
2021-03-26 09:34:01
1699
原创 工具:Notepad++快速删除文件中的所有空白行
一、行操作二、查找替换在查找目标中输入:\r\n\r\n,在替换为中输入:\r\n,\r\n表示一个空白行。执行此替换为可以将所有的多作空白行替换为一个空白行。
2021-03-25 10:38:31
1068
原创 问题记录:multiple definition of `xxxx`问题解决及其原理(一函数在多文件引用)
问题排查:在一个.h文件中定义了一个变量,而这个.h文件被多个文件包含,单独编译都没有问题,但是到链接的时候就出现问题了。在多个.o文件中包含此代码。最后在编译器链接的时候,就会将工程中所有的符号整合在一起,由于文件中有重复的变量,于是就会出现重复定义的错误,系统就是提示你“multiple definition of xxx”。解决办法:将全局变量定义从.h文件中挪到.c文件里,然后在.h文件中用extern做外部声明即可。即在.c文件中声明变量,然后在头文件.h所有的变量声明前加...
2021-03-24 19:54:58
2004
原创 GIT:IDEA git 出现分支游离问题 You are in ‘detached HEAD‘ state
一、操作git checkout 到master分支旧的代码处,在此写代码,并且git add commit push,此时Git并没有显示提交成功,but ,git status,显示木有修改文件,git log 有记录,继续push ,提示:IDEA git 出现分支游离问题 You are in ‘detached HEAD’ state最终是git push解决,希望能复现...
2021-03-11 15:38:44
2758
原创 MYSQL:定义操作
一、SQL语言SQL四种语言:DDL,DML,DCL,TCL1、DDLDDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束。DDL不需要commit.CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME create drop alter show 1.库 1.创建库 create da...
2021-03-11 14:49:18
123
原创 网络(2) : 常用的TCP Option(MSS)
一、常用tcp optionsTCP协议头:下面简单介绍TCP OPTIONS,长度不定,但长度必须以是32bits的整数倍。常见的选项包括MSS、SACK、Timestamp等等,最初的TCP只定义了扩展头部结尾(EOL), 没有扩展头部(NOP),最大分段长度(MSS), 其他字段都是后期扩展的. 每一个扩展头部必须在一开始包含1Byte的类型说明和1Byte的长度说明.扩展头部结尾(EOL)的出现纯属是因为TCP报文必须32Bit对齐.如下表:1.EOL 字段格式:
2021-03-11 14:35:58
8994
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人