计算机基础
文章平均质量分 72
HideInTime
这个作者很懒,什么都没留下…
展开
-
网络安全领域术语
安全领域术语原创 2022-06-01 10:20:43 · 814 阅读 · 0 评论 -
基础进程通信方式
1.无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。int fd[2];//0读出,1写入pipe(fd);int pid = fork();if(pid==0){ close(fd[1]); read(fd[0], buf, len);}else if(pid>0){ close(fd[0]); write(fd[1], buf, len);}2.高级原创 2022-05-13 10:23:32 · 178 阅读 · 0 评论 -
valgrind和kcachegrind使用运行分析
一、valgrind介绍valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,用于构建动态分析工具的装备性框架。它包括一个工具集,每个工具执行某种类型的调试、分析或类似的任务,以帮助完善你的程序。Valgrind的架构是模块化的,所以可以容易的创建新的工具而又不会扰乱现有的结构。valgrind主要包含以下工具: 12345678910Copy 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。2、c转载 2022-04-21 15:26:46 · 1014 阅读 · 0 评论 -
Anaconda与conda、pip与conda的区别
Conda发行于2012年,是一个开源的、跨平台的包和环境管理工具。一、Conda和Anaconda的区别尽管Conda被打包在了Anaconda中,这两个是有着不同目标的不同事物。Conda和Anaconda经常会被混淆,可能是因为Conda被紧密地打包进了Anaconda和Miniconda中。Anaconda是一个软件发行版。软件发行版是一个预先建立和配置好的packages的集合,可以被安装在操作系统上,并被使用。Anaconda是由Anaconda公司开发的,一个包含PyData生原创 2022-04-02 17:32:53 · 3447 阅读 · 0 评论 -
代码规范个人版
代码规范分:1、可读性编写规范2、安全性执行规范个人规范标准:一、命名规范匈牙利命名法:广泛应用于Microsoft Windows这类环境中。驼峰命名法(Camel/小驼峰):第一个单词首字母小写,余下的单词首字母大写。帕斯卡命名法(Pascal/大驼峰):所有单词首字母大写。下划线命名法:下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。1、...原创 2022-02-25 15:04:18 · 433 阅读 · 0 评论 -
代码规范C#版
1规范目的 ……………………………………………………… 32适用范围 ……………………………………………………… 33代码注释 ……………………………………………………… 3 3.1 代码注释约定............................................ 3 3.2 模块头部注释规范...................................... 3 3.3 方法注释规范.......................转载 2022-02-25 14:53:04 · 1017 阅读 · 0 评论 -
服务器证书格式和OPENSSL使用
根据不同的服务器以及服务器的版本,我们需要用到不同的证书格式,就市面上主流的服务器来说,大概有以下格式:.DER .CER,文件是二进制格式,只保存证书,不保存私钥。 .PEM,一般是文本格式,可保存证书,可保存私钥。 .CRT,可以是二进制格式,可以是文本格式,与 .DER 格式相同,不保存私钥。 .PFX .P12,二进制格式,同时包含证书和私钥,一般有密码保护。 .JKS,二进制格式,同时包含证书和私钥,一般有密码保护。DER该格式是二进制文件内容,Java 和 Windows ..原创 2022-02-23 15:10:28 · 342 阅读 · 0 评论 -
202202笔记本电脑性价比选择
2022 十大高性价比轻薄笔记本 查看>>2022 十大高性价比游戏本 查看>>十大高性价比笔记本电脑(2022年2月小虫排行榜)最近更新时间:2022-02-20作者:pc小虫原创 此文最后更新日期为:2022年2月20日 极速空间是电脑配置专业研究网站,小虫站长有27年电脑软硬件经验,接触过上万种不同配置的电脑,热心传授电脑知识。由于不少用户在购买笔记本时候有选择困难症,因此小虫站长把目前市场在售的笔记本做了一...转载 2022-02-21 15:10:39 · 3071 阅读 · 0 评论 -
五大浏览器四大内核
只是用户看到仅仅只是浏览器本身,却很少能看到浏览器最核心的部分—浏览器内核。从第一款libwww(Library WorldWideWeb)浏览器发展至今已经经历了无数竞争与淘汰了。现在国内常见的浏览器有:IE、Firefox、QQ浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、遨游浏览器、世界之窗浏览器等。但目前最为主流浏览器有五大款,分别是IE、Firefox、Google Chrome、Safari、Opera。浏览器最重转载 2022-01-24 11:07:46 · 19559 阅读 · 0 评论 -
找不到接受实际参数的位置形式参数
1、检查路径是否包含空格特殊转义字符等,加上“”或者\转义2、windows下powershell和cmd使用命令行有所不同 我使用powershell的copy命令提示改用linux语法的cp就行了原创 2021-12-06 14:46:04 · 30338 阅读 · 0 评论 -
linux磁盘空间扩容方案
方案1:临时挂载扩容(只可使用指定目录存储)1.fdisk -l2.fdisk /dev/xxxx new分区,定义编号1,分区大小默认,w保存3.mkfs -t ext3 /dev/xxxx4.mount /dev/sdb1 /要挂载的目录5.开机自动挂载vi /etc/fstab添加/dev/xxxx/要挂载的目录 ext3 defaults 01方案2:永久扩容到原存储结构主要命令df,fdisk,du物理卷操作:pvdisplay,pvcr...原创 2021-09-15 19:27:11 · 2960 阅读 · 0 评论 -
添加用户并赋予 root管理员权限
用centos时,root用户一般都是超级管理员使用的,一般不轻易给别人,但是有时候同事安装软件时需要root账号,又不得不给,只能重新建一个用户,并赋予管理员权限。下面介绍创建用户并赋予管理员权限的方法步骤:1.新建用户,这里新建一个 summer 的用户adduser summer2.设置新用户密码passwd summer3.将sudoers文件的权限修改成可编辑chmod -v u+w /etc/sudoers4.使用vim编辑sudoers文件vim /..原创 2021-08-11 14:53:05 · 1198 阅读 · 0 评论 -
socket收包缓冲区研究
ioctl获取FIONREAD参数 raw_socket获取为原始分片包接收第一个包大小(icmp60,udp分片1514) udp_socket获取为协议栈组装包大小(udp发送方60k及为60k,上限为udplen(65535)) tcp_socket获取为协议栈组装包大小(tcp发送方第一个包长度,初始协商堆积上限tcp窗口基数16位满(65535),阻塞发包方,后滑动窗口大小可协商调整Window size scaling factor(初始握手窗口基数)* Window s...原创 2021-08-05 18:21:00 · 416 阅读 · 0 评论 -
多CPU和多核CPU对应多进程和多线程调度
目录cpu架构和工作原理 多核cpu和多cpu 架构 cpu的缓存 进程和线程 进程和线程在多核cpu,多cpu中的运行关系cpu架构和工作原理计算机有5大基本组成部分,运算器,控制器,存储器,输入和输出。运算器和控制器封装到一起,加上寄存器组和cpu内部总线构成中央处理器(CPU)。cpu的根本任务,就是执行指令,对计算机来说,都是0,1组成的序列,cpu从逻辑上可以划分为3个模块:控制单元、运算单元和存储单元。这三个部分由cpu总线连接起来。CPU的运行原理就是:控原创 2021-08-04 11:14:17 · 5498 阅读 · 0 评论 -
Linux端口转发的几种常用方法
01、SSH 端口转发SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。(1)本地端口转发ssh -fgN -L 2222:localhost:22 localhost(2)远程端口转发ssh -fgN -R 2222:host1:22 localhost(3)动态转发ssh -fgN -D 12345 root@host12、iptables 端口转发CentO...原创 2021-06-10 14:34:17 · 3124 阅读 · 0 评论 -
c语言规范历史
1972年C语言诞生,C语言之父是丹尼斯·里奇(Dennis Ritchie),同时也是UNIX之父。C语言标准发布顺序:K&R C:1978年由布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)出版了《The C Programming Language》,这本书被C语言开发者们称为K&R,很多年来被当作C语言的非正式标准。人们称这个版本的C语言为K&R C。 ANSI C:1989年ANSI发布了C语言标准,被称为C89、AN原创 2021-04-15 00:25:20 · 254 阅读 · 0 评论 -
红黑树检索/插入/删除
正文红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。现在在脑海想下怎么实现?是不是太多情景需要考虑了?啧啧,先别急,通过本文的学习后,你会觉得,其实也不过如此而已。好吧,我们先来看下红黑树的定义和一些基本性质。红黑树定义和性质红黑树是一种含有红黑结点并能自平衡的二叉查找树。它必须满足下面性质:性质1:每个节点要么是黑色,要么是红色。 性质2:根节点是黑色。转载 2021-04-07 00:17:04 · 1193 阅读 · 0 评论 -
配置常用yum源
yum repolist all查看加载哪些源采用命名方式选用部分源国内yum源的安装(163,阿里云,epel)----阿里云镜像源1、备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2、下载新的CentOS-Base.repo到/etc/yum.repos.d/CentOS 5wget -O /etc/yum.repos.d/CentOS-Base..原创 2021-01-29 16:07:00 · 417 阅读 · 0 评论 -
unicode下的标准utf系列
字符集为每个字符分配了一个唯一的编号,通过这个编号就能找到对应的字符。在编程过程中我们经常会使用字符,而使用字符的前提就是把字符放入内存中,毫无疑问,放入内存中的仅仅是字符的编号,而不是真正的字符实体。这就抛出了一个问题,如何才能将字符编号放入内存中呢?对于 ASCII 字符集,这很容易。ASCII 总共包含 128 个字符,用 7 个比特位(Bit)恰好能够存储,不过考虑到计算机一般把字节(Byte)作为基本单元,为了操作方便,我们不妨用一个字节(也就是 8 个比特位)来存储 ASCI..原创 2021-01-05 10:28:27 · 189 阅读 · 0 评论 -
字符编码
英文字母:字节数 : 1;编码:GB2312字节数 : 1;编码:GBK字节数 : 1;编码:GB18030字节数 : 1;编码:ISO-8859-1字节数 : 1;编码:UTF-8字节数 : 4;编码:UTF-16字节数 : 2;编码:UTF-16BE字节数 : 2;编码:UTF-16LE中文汉字:字节数 : 2;编码:GB2312字节数 : 2;编码:GBK字节数 : 2;编码:GB18030字节数 : 1;编码:ISO-8859-1字节数 .原创 2021-01-04 19:40:36 · 122 阅读 · 0 评论 -
内连网络
测试效果opv客户端192.168.1.175opv服务器外侧网卡(隧道协议)192.168.1.176opv服务器Tun0opv服务器内侧网卡192.168.119.181被访问内网主机192.168.119.182topo概述opv组网1、两个互相隔绝的网络(内网,外网)2、中间设备充当opv服务器,硬件要求两个物理网口,两个网口分别接入两张网络3、opv服务器上搭建opv服务,启用tun或者tap虚拟网卡构建第三张虚拟网段4、op原创 2021-01-04 16:25:22 · 516 阅读 · 0 评论 -
SNAT/DNAT/MASQUERADE
IPtables中可以灵活的做各种网络地址转换(NAT),网络地址转换主要有两种:SNAT和DNAT。SNAT是source networkaddress translation的缩写,即源地址目标转换。比如,多个PC机使用ADSL路由器共享上网,每个PC机都配置了内网IP,PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip,当外部网络的服务器比如网站web服务器接到访问请求的时候,他的日志记录下来的是路由器的ip地址,而不是pc机的内网ip,这是因为,这个服务器收到的数据包的报原创 2021-01-04 16:08:23 · 185 阅读 · 0 评论 -
设备划分冲突域和广播域
冲突域是一种物理分段,指连接到同一导线上所有工作站的集合、同一物理网段上所有节点的集合或是以太网上竞争同一带宽节点的集合。冲突域表示冲突发生并传播的区域,这个区域可以被认为是共享段。在OSI模型中,冲突域被看作是OSI第一层的概念,连接同一冲突域的设备有集线器、中继器或其它简单的对信号进行复制的设备。其中,使用第一层设备(如中继器、集线器)连接的所有节点可被认为是在同一个冲突域内,而第二层设备(如网桥、交换机)和第三层设备(如路由器)既可以划分冲突域,也可以连接不同的冲突域。广播域是指可以接收到同样广播转载 2020-12-30 11:49:44 · 7739 阅读 · 2 评论 -
Linux性能监控工具集sysstat
sariostatsa1sa2sadfmpstatsadcsysstatsysstat 工具简介sysstat 是 Linux 系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。sysstat 工具包中包含两类工具:即时查看工具:iostat、mpstat、sar累计统计工具:sar也就是说,sar 具有这两种功能。因此,sar 是 sysstat 中的核心工具。为了实现 sar 的累计统计,系统必须周期地记.原创 2020-12-25 11:51:15 · 381 阅读 · 0 评论 -
压缩算法和压缩库
LZ4LZ4能很好的支持多线程环境,获得更高的压缩和解压速度。QuickLZQuickLZ官网:http://www.quicklz.com/QuickLZ is the world's fastest compression library, reaching 308MB/s per core.QuickLZ自称是世界上最快的压缩算法,然而我们看到它和LZ4还是有差距的,特别是解压速度。snappysnappy项目:https://code.google.c..原创 2020-12-15 14:55:07 · 1381 阅读 · 0 评论 -
常见IO机制
IO多路复用机制详解高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(BlockingIO):即传统的IO模型。(2)同步非阻塞IO(Non-blockingIO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(NewIO)库。(3)IO多路复用(IOMultiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的S...转载 2020-12-07 11:31:12 · 352 阅读 · 0 评论 -
select、poll、epoll、kqueue、iocp(windows)
(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.转载 2020-12-07 10:32:38 · 1466 阅读 · 0 评论 -
linux的socket连接限制
Linux下解决高并发socket最大连接数限制,tcp默认1024个连接 linux作为服务器系统,当socket运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况 本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到1000左右时,再也不能建立tcp连接,最总上网搜索,linux系统默认ulimit为1024个访问用户最多可开启的程序数目。一般一个端口的最高连接为2的16次方65535第一步,修改/etc/security/li.原创 2020-12-02 17:38:56 · 958 阅读 · 0 评论 -
fork在多线程下的使用
谨慎使用多线程中的fork2015-02-07 19:23origins 阅读(16611) 评论(4)编辑收藏前言在单核时代,大家所编写的程序都是单进程/单线程程序。随着计算机硬件技术的发展,进入了多核时代后,为了降低响应时间,重复充分利用多核cpu的资源,使用多进程编程的手段逐渐被人们接受和掌握。然而因为创建一个进程代价比较大,多线程编程的手段也就逐渐被人们认可和喜爱了。记得在我刚刚学习线程进程的时候就想,为什么很少见人把多进程和多线程结合起来使用呢,把二者结合起来不是更...转载 2020-11-30 15:59:24 · 943 阅读 · 0 评论 -
CORS/JSONP比较
CORS 跨域 实现思路及相关解决方案本篇包括以下内容:CORS 定义 CORS 对比 JSONP CORS,BROWSER支持情况 主要用途 Ajax请求跨域资源的异常 CORS 实现思路 安全说明 CORS 几种解决方案 自定义CORSFilter Nginx 配置支持Ajax跨域 支持多域名配置的CORS Filter keyword:cors,跨域,ajax,403,filter,RESTful,origin,http,nginx,jsonp原创作品,转载请附转载 2020-11-24 11:43:40 · 405 阅读 · 0 评论 -
utf是unicode的实现
想必做过爬虫的同学肯定被编码问题困扰过,有 UTF-8、GBK、Unicode 等等编码方式,但你真的了解其中的原理吗?下面我们就来了解一下 Unicode 和 UTF-8 编码到底有什么关系。要弄清 Unicode 与 UTF-8 的关系,我们还得从他们的来源说起,下来我们从刚开始的编码说起,直到 Unicode 的出现,我们就会感觉到他们之间的关系ASCII码我们都知道,在计算机的世界里,信息的表示方式只有 0 和 1,但是我们人类信息表示的方式却与之大不相同,很多时候是用语言文字、图像、.原创 2020-11-23 18:22:08 · 188 阅读 · 0 评论 -
eval和ast.literal_eval
前言众所周知在Python中,如果要将字符串型的list,tuple,dict转变成原有的类型呢? 这个时候你自然会想到eval. eval函数在python中做数据类型的转换还是很有用的。它的作用就是把数据还原成它本身或者是能够转化成的数据类型.下面来看看示例代码:string <==> liststring <==> tuplestring <==> dict也就是说,使用eval可以实现从元祖,列表,字典型的字符串到元祖,列表,字典的转载 2020-11-23 16:22:18 · 200 阅读 · 0 评论 -
CRLF
CR:\rLF:\n关于“回车”(carriagereturn(车头掉头/复位))和“换行”(linefeed(行满))这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(TeletypeModel33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字...原创 2020-11-23 15:29:48 · 611 阅读 · 0 评论 -
GCC和C99标准中inline
GCC和C99标准中inline使用上的不同之处本文介绍了GCC和C99标准中inline使用上的不同之处。inline属性在使用的时候,要注意以下两点:inline关键字在GCC参考文档中仅有对其使用在函数定义(Definition)上的描述,而没有提到其是否能用于函数声明(Declare)。从 inline的作用来看,其放置于函数声明中应当也是毫无作用的:inline只会影响函数在translation unit(可以简单理解为C源码文件)内的编译行为,只要超出了这个范围inline属性就没有任原创 2020-08-25 17:50:47 · 765 阅读 · 1 评论 -
linux项目文件编译
linux项目文件编译原创 2020-08-18 16:33:22 · 182 阅读 · 0 评论 -
定制操作系统镜像
参考:https://www.jianshu.com/p/682308ba083ehttps://blog.51cto.com/skypegnu1/1629015https://www.zyops.com/custom-iso/0x01 系统安装包说明目录树结构|-- .discinfo|-- .treeinfo|-- Packages|-- base|-- images|-- isolinux|-- ks.cfg|-- repodata.discinfo 文件是安装转载 2020-07-23 16:15:58 · 659 阅读 · 0 评论 -
CLR/CIL/CTS/CLI/BCL/FCL
CLR:公共语言运行库(CommonLanguageRuntime)CIL:通用中间语言(CommonIntermediateLanguage,简称CIL)CTS:通用类型系统(CommonTypeSystem)CLI:公共语言基础架构(CommonLanguageInfrastructure)BCL:基础类库(BaseClassLibrary)FCL:框架类库(FrameworkClassLibrary)...原创 2020-06-29 23:24:41 · 492 阅读 · 0 评论 -
单/半双/全双工和多路复用技术概要
单工、半双工和全双工是电信计算机网络中的三种通信信道,这些通信信道可以提供信息传达的途径。通信信道(Channels of communicationl)通信信道是数据传输的通路,在计算机网络中信道分为:物理信道和逻辑信道。物理信道指用于传输数据信号的物理通路,它由传输介质与有关通信设备组成;逻辑信道指在物理信道的基础上,发送与接收数据信号的双方通过中间结点所实现的逻辑通路,由此为传输数据信号形成的逻辑通路。单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信..原创 2020-06-29 22:33:22 · 1800 阅读 · 0 评论 -
windows和Linux内存的对齐方式
一.内存对齐的初步解说内存对齐能够用一句话来概括:“数据项仅仅能存储在地址是数据项大小的整数倍的内存位置上”比如int类型占用4个字节,地址仅仅能在0,4,8等位置上。例1:#include <stdio.h>struct xx{ char b; int a; int c; char d;};int main(){ struct xx bb; printf("...转载 2020-05-11 15:45:16 · 411 阅读 · 0 评论 -
gcc多版本安装
1、安装SCL源yum install centos-release-scl-rh2、安装GCC/GCC-C++yum install devtoolset-7-gcc devtoolset-7-gcc-c++yum install devtoolset-8-gcc devtoolset-8-gcc-c++yum install devtoolset-9-gcc devtool...原创 2020-05-07 11:44:54 · 3366 阅读 · 0 评论