自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (6)
  • 收藏
  • 关注

原创 centos7创建samba

实现用root去访问共享文件夹:安装samba:yum -y install samba samba-client samba-common[root@localhost ~]# smbd -VVersion 4.10.4创建共享文件夹:mkdir -p /home/share配置/etc/samba/smb.conf配置:cp /usr/share/samba/smb.conf /etc/samba/smb.conf[root@localhost share]# vim /etc/sam

2020-06-25 18:57:10 375

原创 centos7解决samba提示NT_STATUS_ACCESS_DENIED

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入问题现象:[root@localhost share]# smbclient //192.168.241.143/shar

2020-06-25 18:10:12 9428

原创 5GC-1.核心网的构架和一些基础概念

1.5G无线接入网络架构主要包括5G接入网和5G核心网,其中NG-RAN代表5G接入网,5GC代表5G核心网。5G核心网主要包括哪些呢?先说一下关键的AMF/SMF/UPFAMF:全称 Access and Mobility Management Function,接入和移动管理功能,终端接入权限和切换等由它来负责。在AMF的单个实例中可以支持部分或全部AMF功能:-终止RAN CP...

2020-04-16 21:38:02 11411

原创 nginx架构-总结

nginx工程的目录结构:nginx├── _include├── signal├── misc├── net├── logic├── proc└── app@app:存放main函数和核心的源文件;@_include:存放各种头文件;@misc:存放杂合性的源文件;@net:存放和网络处理相关的源文件;@logic:存放和业务处理相关的源文件;@proc:存放和进程处...

2020-04-14 20:48:53 217

原创 12.Linux网络编程-POSIX线程

一:POSIX线程的优点POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段,体现在如下几点:1)线程拥有并发处理能力线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。2)线程间的共享内存机制对于大多数合作性任务,多线程比多个独立...

2020-04-14 19:34:38 213

原创 11.Linux网络编程-POSIX共享内存

一:POSIX共享内存在Linux中,POSIX共享内存对象驻留在tmpfs伪文件系统中。系统默认挂载在/dev/shm目录下。当调用shm_open函数创建或打开POSIX共享内存对象时,系统会将创建/打开的共享内存文件放到/dev/shm目录下。二:共享内存相关函数#include <sys/mman.h>int shm_open(const char *name, int...

2020-04-07 15:25:57 273

原创 10.Linux网络编程-POSIX消息队列

一:posix消息队列消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与System V消息队列的区别如下:1) 对Posix消息队列的读总是返回最高优先级的最早消息,对System V消息队列的读则可以返回任意指定优先级的消息;2)当往一个空队列放置一个消息时,Posix消息队列...

2020-04-06 22:33:01 337

原创 centos7安装freeswitch

https://www.cnblogs.com/Lewis302/p/10466936.html

2020-04-02 16:03:04 136

原创 3.nginx架构-日志

一:日志日志对于运行环境中系统的监控和问题定位是至关重要的,在系统设计、开发和实现的过程中必须时刻注意着log的输出,这将会对于日后的系统监控和异常分析起至关重要的作用。在系统日志实现上应该注意哪些问题呢?如何做到不滥用日志、减少大量无用信息,让日志记录足够精简明了?1)系统的哪些运行信息需要进行日志记录?   1、功能模块的启动和结束(完整的系统由多个功能模块组成,每个模块负责不同的功能,...

2020-03-25 21:32:08 240

原创 3.nginx架构-进程名称和内存检查工具

一:进程名称修改进程名称的目的是为了实现nginx名称自定义的功能:root@epc:~# ps -ef|grep nginxroot 1036 1 0 07:01 ? 00:00:00 **nginx: master process /usr/sbin/nginx -g daemon on; master_process on;**www-data ...

2020-03-23 20:08:54 308

原创 2.nginx架构-LINUX进程间通信知识

一:终端和进程的关系小工具:ps,kill,strace介绍:ps:用来显示进程信息的命令;kill:用于产生信号strace:用来显示进程收到的信号;通过小例子达到的目的:利用fork产生一个子进程;然后通过ps显示进程信息,通过strace跟踪kill掉子进程后父进程收到SIGCHLD信号;/*利用fork产生一个子进程*/#include <stdio.h>#...

2020-03-05 21:11:32 276

原创 1.nginx架构-基础环境搭建和nginx简介

一:系统Ubuntu16.04-server版本配置国内仓库源:mv /etc/apt/sources.list /etc/apt/sources.list.bakvim /etc/apt/sources.list更换为如下内容deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multivers...

2020-03-05 19:45:14 241

原创 10.Linux网络编程-system v信号量

一:信号量简介信号量本质就是一个计数器,用于统计临界资源数目的计数器,信号量是用来调协进程对共享资源的互斥访问,采用PV原语的原理。它的P(sv)和V(sv)行为是这样的:P(sv):要访问受保护的资源的进程或者线程试图对信号量的值减1,如果信号量的值现在不可用,即信号量为0,减1操作将被阻塞(休眠),直到信号量大于0时,才会得以继续执行;V(sv):要释放受保护的资源时,信号量的值将会加1...

2020-03-03 22:10:01 166

原创 ubuntu16.04安装openstack(ocata)

一、系统和openstack信息Liunx系统:ubuntu16.04 server 64位openstack版本:stable/ocata二、VMware配置1.处理器:数量1,核心数量2,虚拟化IntelVT-x/EPT开启;2.内存配置:4G3.硬盘容量:40G4.网卡:双网卡(必须能连接互联网),ens33配置成桥接(连接INTERNET),ens34设置成NAT(opens...

2020-03-03 14:31:02 1239

原创 9.Linux网络编程-SYSTEM V共享内存

一:内存映射文件1.基本原理mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间...

2020-03-02 20:56:50 289

原创 8.Linux网络编程-System V消息队列

一:消息队列消息队列是进程间通信的一种手段,进程产生的数据块以链表的形式存储在消息队列中,每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型。消息队列有以下的几个限制,每个消息有最大长度不能超过MSGMAX,每个消息队列的总的字节数不能超过MSGMNB,消息队列的总数不能超过MSGMNI。//查看消息队列限制的值root@epc:~# cat /proc/sys/ker...

2020-02-27 22:39:07 139

原创 7.Linux网络编程-UNIX域套接字

一:UNIX套接字用于同一台pc上运行的进程之间通信,它仅仅复制数据,不执行协议处理,不需要增加删除网络报头,无需计算校验和,不产生顺序号,无需发送确认报文。unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法。它提供两类套接字,字节流和数据报,分别类似于TCP和UDP。使用unix域套接字的三个好处:unix域套接字通常比通信两端位于同一个主机的TCP套...

2020-02-26 23:05:25 360

原创 6.Linux网络编程-epoll原理

一:对比select发现epoll的有点要比较epoll相比较select高效在什么地方,就需要比较二者做相同事情的方法。要完成对I/O流的复用需要完成如下几个事情:1.用户态怎么将文件句柄传递到内核态?2.内核态怎么判断I/O流可读可写?3.内核怎么通知监控者有I/O流可读可写?4.监控者如何找到可读可写的I/O流并传递给用户态应用程序?5.继续循环时监控者怎样重复上述步骤?搞清...

2020-02-26 22:32:03 188

原创 5.Linux网络编程-select实现超时API

/* * data.h * * Created on: 2020年2月21日 * */#ifndef SRC_DEMO_DATA_H_#define SRC_DEMO_DATA_H_#include <stdio.h>#include <unistd.h>#include <errno.h>#include <sys/soc...

2020-02-26 14:03:41 402

原创 4.Linux网络编程-select和poll模型

1.补充知识2.简易回射服务器/客户端的实现3.select模型实现4.poll模型实现

2020-02-25 20:05:28 180

原创 c++11多线程7-异步线程

异步线程异步线程的引入解决了线程有依赖关系的情景。c++11提供了std::async,std::packaged_task,std::promise,三种方法。1.std::asyncstd::async启动一个异步的任务,并返回一个std::future对象,可以通过future对象获取到异步任务的执行结果。async的第一个参数的选择:std::launch::deferred(默...

2019-10-22 21:20:30 948

原创 Centos6.5系统升级软件操作文档

为什么要用Centos6.5系统?答:因为计算板官方推荐Centos6.5。为什么要升级软件?答:软件需支持C++11相关库。1.系统信息系统版本:CentOS-6.5-x86_64-bin-DVD1下载地址:https://www.centos.org/download/注意:Centos6.5用U盘安装特别麻烦,我改用了光盘安装。可以用UltraISO工具制作系统光盘。2.更新...

2019-10-22 16:43:40 412

原创 C++多线程6-条件变量

1.条件变量std::condition_variable是多线程中经常用到的一个类,它的头文件为condition_variable。它常用的成员函数包括,wait,notify_one,notify_all等。它通过wait函数进行条件判断是否阻塞,当wait阻塞后由notify_one,notify_all函数进行唤醒。2.wait成员函数wait的函数它有两个形参,第二个形参可选(默...

2019-10-16 21:56:16 225

原创 C++多线程4-unique_lock详解

unique_lock和lock_guard都是可以自动解锁的类,但是lock_guard更加高效体现在永远在析构函数中解锁,而unique_lock更加灵活,但执行效率会比lock_guard低一些,它们都是有不同的应用场景。unique_lock是通用互斥包装器,允许延迟锁定、尝试锁定、递归锁定、所有权转移和条件变量一同使用;它可以移动mutex的所有权,但不可复制;1.unique_lo...

2019-10-11 15:50:32 487

原创 C++多线程3-共享数据操作保护

目录:1.多线程操作共享数据引出的问题2.解决多线程操作共享数据的方法:锁3.互斥量mutex的概念和用法4.lock普通锁的用法5.lock_guard类模板的用法6.死锁的概念和解决7.unique_lock的用法1.多线程操作共享数据引出的问题//我们用Test::set函数中作为多线程的回调函数,在这个回调函数中打印vector的size,发现它会出现段错误。#incl...

2019-09-24 23:21:36 602

原创 c++11-智能指针

c++智能指针为了更安全地管理动态内存,c++11引入了智能指针,提供了包括shared_ptr,unique_ptr,weak_ptr三种不同类型的智能指针。目录结构:一、三种指针介绍1.shared_ptr2.unique_ptr(待续)3.weak_ptr(待续)二、智能指针的基本使用1.创建shared_ptr对象的两种方法2.智能指针的使用3.引用计数4.复位引用计...

2019-09-24 09:26:24 451 1

原创 c++多线程2-线程参数传递需要注意的几个问题

一.线程的初始化参数需要注意一下几个问题:1.回调函数使用引用参数接收值时,必须声明为const,否则报错;(线程基于数据安全保护的考虑)2.回调函数必须声明为指针,才能修改实参;3.对象隐式转换是在子线程中进行的;4.回调函数参数为非引用时,对象的拷贝是在子线程中进行的;二.使用detach需要注意的问题由上四点可以发现,使用detach需要注意的问题:1.传递对象时,建议用引用的...

2019-09-22 23:05:23 1246

原创 c++多线程1-多线程的创建

什么是多线程?我们可以理解为一个线程执行一个代码段,所以多个线程就是执行多个代码段,当一个线程结束后,进程就退出了,这个线程我们称之为主线程。每个进程可以有一个或一个以上的线程,但只有一个主线程,我们暂且理解主线程为main函数。在多核CPU中,多线程的程序比单线程的运行效率高,因此开启线程的个数,理想情况下是根据CPU的核数来定。linux查看线程的命令:linux查看线程的命令:root...

2019-09-22 17:17:02 214

原创 C++多线程5-单例模式详解

单例模式:只允许创建一个类对象,实现的关键是将构造函数变为私有。单例模式有几种实现方式:懒汉模式饿汉模式线程安全模式局部静态变量模式1.懒汉模式当需要使用类对象时,才去申请堆空间,避免内存浪费,这样的方式会引入两个问题,一个就是在多线程的运用场景下有可能多次申请空间去创建对象造成异常,为了解决这个问题引入了线程安全模式;另外一个就是如何释放堆空间的问题,我们在线程安全模式下再讲解...

2019-09-20 21:07:13 585

原创 3.Linux网络编程-粘包处理

/* * visiopacket.h * * Created on: 2019年5月8日 * Author: hfeng.liu * * 粘包处理:由于TCP是基于流传输的机制,当发送多个间隔较小的小报文时,它会在缓冲区中缓存成一个报文发送给peer,这时peer * 无法区分一个报文的边界。 * 解决的办法:让peer知道一个报文的边界,即知道它...

2019-08-08 23:32:01 249

原创 2.Linux网络编程-socket函数和C2S实现

1.TCP客户/服务器模型TCP服务器:socket()–>bind()–>listen()–>accept()–>block直至客户连接到达---->read()–>处理请求–>write()---->read()–>close()TCP客户端:socket()—>connect()---->write()----->r...

2019-08-08 23:25:19 185

原创 1.Linux网络编程-字节序和地址转换函数

1.IPv4套接口地址结构IPv4套接口地址结构通常称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件<netinet/in.h>中struct sockaddr_in{ uint8_t sin_len; //整个sockaddr_in结构体的长度; sa_family_t sin_family; //指定地址族,必须设定为AF_INET(ipv...

2019-08-08 23:15:03 381

原创 代码注释规范

一、背景1、当我们第一次接触某段代码,但又被要求在极短的时间内有效地分析这段代码,我们需要什么样的注释信息?2、怎么样避免我们的注释冗长而且凌乱不堪呢?3、在多人协同开发、维护的今天,我们需要怎么样的注释来保证高质、高交的进行开发和维护工作呢?二、意义程序中的注释是程序设计者与程序阅读者之间通信的重要手段。应用注释规范对于软件本身和软件开发人员而言尤为重要。并且在流行的敏捷开发思想中已经...

2019-07-28 21:42:12 672

原创 gdb工具详解

一、 Linux命令行运行gdb -q 进入gdb,不打印版本信息gdb <program> 直接装载程序,但没有运行gdb <program> <core_file> 该core文件是该program非法执行后dump出的gdb -d <directory> 加入一个源程序搜索路径二、 挂接正在运行的程序 gdb  gdb a...

2019-07-25 22:31:41 839

word文档样式模板word.dotx

word文档样式模板,将此文件放置在C:\Users\liuhaifeng\AppData\Roaming\Microsoft\Templates,点击管理样式->导入导出->关闭文件->选中样式复制,完成样式的导入

2020-06-16

osf-openstack-training-master.zip

##项目说明 本项目主要用于开源力量《OpenStack应用实战解析及开发入门》 在线培训同步课程使用,请勿私自用于商业用途,欢迎个人随意转载,但是请保留源作者版权信息。 ##目录说明 code/ 上课用到的演示代码 installation/ 手动安装文档等 ##教学内容 ###初识OpenStack OpensSack 现场演示 详细介绍OpenStack涉及到的概念,并结合实际应用场景介绍相关概念的应用。 基本概念:Tenant、User和Role 高级概念:Region、AZ、Cell、Host Aggregate 如何结合实际应用场景来对应OpenStack中的概念 #

2020-05-16

my0511.tar.gz

epoll高并发通讯架构代码 项目技术: 1.epoll高并发通讯技术,用的是水平触发模式(LT); 2.线程池处理业务逻辑; 3.次要技术:信号,守护进程,多进程创建,超时计数; 4.延时回收客户端,避免客户端业务线程崩溃

2020-05-11

my20200508.tar.gz

epoll高并发通讯架构代码 项目技术: 1.epoll高并发通讯技术,用的是水平触发模式(LT); 2.线程池处理业务逻辑; 3.次要技术:信号,守护进程,多进程创建,超时计数; 4.延时回收客户端,避免客户端业务线程崩溃

2020-05-08

ubuntu-16-server系统离线安装手册.zip

由于项目组需要将部署环境移植到ubuntu-16-server系统中,但公司不提供内网,于是开始了寻找实现制作可安装系统镜像的方法,但发现很多方法都不能实现比如pinguy等,pinguy制作的live cd版的镜像只能在vmware中使用但不能够实现系统安装。于是为了以后方便在其他服务器中一键式安装好系统,制作了安装软件的脚本实现将下载好的基础软件库自动安装进ubuntu-16-server系统中。此资源包括了两个部分,一个是ubuntu-16-server系统离线安装手册文档,内容包括了: 1.U盘启动盘的制作 2.利用U盘安装ubuntu-16-server系统 3.ubuntu-16-server系统继承基础库软件 4.如何利用ubuntu-16-server系统提供的库安装基础软件的方法以及需要哪些基础软件 5.如何利用无线网卡实现在线安装方法 6.阐明了基础软件的依赖包关系 7.实现一键式安装开发环境的脚本 另外一个是安装的脚本。 总之,这个资源已经在我们项目的环境中已经部署,是一个成熟可靠的文档,保证不让你失望。

2019-09-18

scrapy 官方文档

对于一个python新手,要使用scrapy进行爬虫,简直是抓狂,不过一点一点的啃下来,慢慢的发现也挺有意思的,通过好几天的白天去公司实习,晚上熬夜到凌晨写爬虫,现在将自己的第一次爬虫经历记录下来,以备以后再学习,同时也希望可以帮助到广大热爱爬虫、热爱大数据的人;

2017-12-12

空空如也

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

TA关注的人

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