自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(167)
  • 资源 (3)
  • 收藏
  • 关注

原创 c++ 语言redis分布式锁的实现

main.cpp#include "redis.h"#include <unistd.h>int main(){ Redis *r = new Redis(); r->connectRedis("127.0.0.1",6379,5); while (r->tryLock(40) != 0) { /* code */ sleep(10); } return 0;}redis.h#ifndef

2022-01-09 14:18:15 936

原创 随记,关于使用共享目录挂载功能

服务器ip 10.20.8.40客户端ip 172.18.243.131第一步( 服务器)首先执行如下命令安装 nfs-utils rpcbind:yum -y install nfs-utils rpcbind启动 nfs & rpcbindsystemctl start nfssystemctl start rpcbind第二步( 服务器)创建要共享的文件夹,并设置权限(假设共享文件夹所在机器 IP 为:172.18.243.131)mkdir -p /home/s.

2021-02-19 11:02:25 345

原创 centos安装go语言步骤及示例

https://studygolang.com/dl 网址下载cd /home/softwgethttps://studygolang.com/dl/golang/go1.15.7.linux-amd64.tar.gztar -xvfgo1.15.7.linux-amd64.tar.gz 解压mv /home/soft/go /usr/local/go[root@localhost soft]# cd /usr/local/go[root@loc...

2021-02-01 16:50:15 535

原创 CentOS安装NodeJS

CentOS安装NodeJS1、从官网下下载最新的nodejs,https://nodejs.org/en/download/历史版本可从https://nodejs.org/dist/下载2、通过ftp工具上传到linux服务,解压安装包tar -xvf node-v10.16.0-linux-x64.tar.xz3、移动并改名文件夹(不改名也行)cd /usr/local/mv /var/ftp/pub/node-v10.16.0-linux-64 . //后面的...

2021-02-01 16:17:18 3138

原创 C 和 C++混合编译简述

在工作中,C、C++密不可分,做我们嵌入式方面的,当然更多的是C,但,有时候却少不了C++,而且是C、C++混搭(混合编程)在一起的,比如,RTP视频传输,live555多媒体播放等都是C++下的,他需要调用JRTPLIB库,再比如,我那邮件发送,我也用C++写的,定义了一个Email对象,包含了成员:收发邮件地址,用户名,密码等,以及方法:邮件头、Base64编码和邮件发送这些操作,很好用,所以,很多时候,C++还是蛮不错的。。。。但,*.c与*.cpp文件混搭在一起,不是那么的简单,知识总是:用时方恨.

2020-11-29 01:47:15 1366 1

原创 centos7安装redis随手笔记

​​​​​一、安装gcc依赖由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装[root@localhost local]# yum install -y gcc二、下载并解压安装包[root@localhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz[root@localhost local]# tar ...

2020-11-27 11:16:21 87

原创 ubuntu 下安装x264库

1).安装依赖的包:code:sudo apt-get updatesudo apt-get install build-essential git-core checkinstall texi2html libfaac-dev \libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev2.安装Yasm:

2020-11-23 16:31:42 1481

原创 Ubuntu中安装gcc4.9和g++4.9

sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install gcc-4.9sudo apt-get install g++-4.9sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20sudo update-alternatives --install /usr/...

2020-11-23 16:30:56 803

原创 使用gdb调用core dump文件小结。

什么是coredumpCoredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照。操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行堆栈等信息转储保存在一个文件里。 该文件也是二进制文件,可以使用gdb、elfdump、objdump或者windows下的windebug、solaris下的mdb进行打开分析里面的具体内容。 注:core是在半导体作为内存材料前的线圈,当时用线圈当做内存材料,线圈叫做core。用线圈做的内...

2020-11-05 19:39:38 1514

原创 PHP端Redis扩展安装过程。

php安装的版本为PHP-7.2.0Linux版地址:https://pecl.php.net/package/redis得到网址:https://pecl.php.net/get/redis-5.0.0.tgzwget https://pecl.php.net/get/redis-5.0.0.tgz[root@localhost soft]# wget https://pecl.php.net/get/redis-5.0.0.tgz--2020-11-05 15:3...

2020-11-05 15:55:33 313

原创 用PHP实现一个高效安全的ftp服务器

摘要:    本文主要阐述使用PHP的swoole扩展实现ftp服务器,同时扩展ftp服务器个性化功能和安全性。真正实现一个自己完全掌控的ftp服务器,可以个性化定制的ftp服务器。  正文:  FTP服务器想必大家都不陌生,使用起来,现成的软件也很多。不过免费的软件功能有时候并不符合自己需求,又无法二次开发,付费软件价格又比较高昂。PHP的swoole扩展,是PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,As

2020-11-03 15:31:53 897

原创 关于libevent在windows进行x64的编译,留作一个简单的记录

软件版本 :libevent-2.1.11-stable.tar.gzlibevent目录下:Makefile.nmakeLIBFLAGS=/nologo 此行修改成 LIBFLAGS=/nologo /MACHINE:X64 buffer.c#define EVBUFFER_MAX_READ 4096修改成 ,此处修改默认libevent只能收4096个字节,改成10m#define EVBUFFER_MAX_READ 1024*1024*10 ..

2020-10-23 23:17:27 469

原创 使用nginx以及haproxy进行tcp端口转发配置详解。

先使用nginx来配置。nginx有些高的版本是有tcp 转发功能,低版本是没有。安装nginx后,本人安装是nginx1.16版本 ./configure make && make install 全部默认cd /usr/local/nginx/confvim nginx.conf 最未尾一行加入此名 ,表示将在此目录下的tcp.d下创建conf的文件,进行识别include tcp.d/*.conf;mkdir tcp.d 创建此目录vim port...

2020-10-15 16:57:02 1316 1

原创 关于php操作redis操作函数手册

http://windows.php.net/downloads/pecl/snaps/redis/选择相应的版本http://windows.php.net/downloads/pecl/releases/igbinary/ 选择相应的版本**php.ini文件添加:extension=php_redis.dll 重启php, phpinfo可以看到redis则证明安装成功**php连接redis测试<?php$redis = new Redis(); ...

2020-10-14 20:28:53 186

原创 CentOS7安装gcc6.3

1.先安装依赖库以下3个和isl(isl找不到)yum install mpfryum install gmpyum install *mpc*2.安装c和c++的依赖库yum install glibc-static libstdc++-staticyum install gccyum install gcc-c++yum install wgetwget http://mirrors.concertpass.com/gcc/releases/gcc-6...

2020-10-12 14:32:54 840

原创 react+antd,关于使用loding的加载前后实现方式

发送请求时showLoading(), 请求失败hideLoading// 当前正在请求的数量let requestCount = 0// 显示loadingfunction showLoading () { if (requestCount === 0) { var dom = document.createElement('div') dom.setAttribute('id', 'loading') document.body.appendChil

2020-10-08 17:12:45 1505

原创 关于使用mount的文件系统进行远程机器的挂载功能、

环境:服务器:10.20.8.40 (CENTOS7.4)客户端:172.18.243.131(CENTOS7.4)一、服务端1、检查nfs服务rpm -qa|grep nfsrpm -qa|grep rpcbind2、启动服务systemctl start rpcbind.servicesystemctl start nfs.service3、创建共享目录mkdir /home/swoole/haoyue_websocket/uploadchm...

2020-09-29 17:41:17 513

原创 让nginx支持php7.2(包括nginx,mysql,php的安装等配置)

1 关于php7.2的安装 ,可以查看https://blog.csdn.net/jenie/article/details/1082233022 mysql源码安装,请查看https://blog.csdn.net/jenie/article/details/1087618913 nginx的安装 比较简单 ./configure make && make install 全部默认就好了。以下通过nginx来支持php.其原理就是通过fastcgi协议来调用p...

2020-09-24 00:57:24 1019

原创 centos下源码安装mysql5.7

之前一直用lnmp装个mysql因项目原因,客户不能上外网,于是研究一下如何源码编译安装mysql好了。顺便学习一下这个过程。后续有时间再自己搞一个简单的数据库项目,从零做一个简单的数据库出来,把数据结构,网络通信,练下手,温习一下废话少说。。进入正题下载一个mysql5.7https://www.centos.org/download/ 安装一下依赖包。主要bison,其实大部分数据库,都是应用这个库来做基础库实现的。yum install -y gcc gcc-c++ c.

2020-09-23 23:18:56 207

原创 centos安装udp,tcp的测试工具

1.下载安装包wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz2.解压缩文件tar -zxvf netcat-0.7.1.tar.gz -C /usr/local3.切换至/usr/local/netcat-0.7.1  1>查看编译配置文件  ./configure  2>编译安装  make && make install4

2020-09-22 20:58:03 2345

原创 关于centos8 安装php7.2源码安装 简单笔记

yum -y install libxml2 libxml2-devel gd gd-devel wget http://cn2.php.net/distributions/php-7.2.0.tar.gz tar -zxvf php-7.2.0.tar.gz //解压 cd php-7.2.0 //切换路径./configure --prefix=/usr/local/php --with-iconv-dir=/usr/local/libiconv --with-co...

2020-08-25 16:06:56 1032

原创 关于centos配置ftp服务器,简单笔记

由于工作需要,配置一下ftp服务器,做一个小总结FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。1.安装ftp服务

2020-08-20 23:24:47 221

原创 用户态协议栈实现笔记01

B树的增删查改,速度低于红黑树

2020-08-20 22:12:12 283

原创 关于centos如何配置IP地址和DNS等操作

centos配置ip,dns,之前比较零散因此,打算重新整理一下cd /etc/sysconfig/network-scripts/TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=no#BOOTPROTO=dhcpBOOTPROTO="static"#BROADCAST="192.168.1.254"GATEWAY="192.168.1.254"IPADDR="192.168.1.200"NETMASK="255.255.255.0"#D

2020-08-20 17:43:50 169

原创 redis源码分析笔记03

红黑树和跳表1)结构的区别 多层的有序链表, 二叉树2)搜索的区别,大概率的o(logn)3 ) 功能性的区别o(logn) zrange a,b logn*o(logn)4 ) 实现上的区别,简单,复杂...

2020-08-18 22:34:29 93

原创 redis学习笔记01

2020-08-15 22:48:23 90

原创 react如何渲染组件,简单的做个笔记

class InputGroup extends React.Component { state = { fileList: [{ name: 'xxx.png', status: 'done', }], }; render() { const { fileList } = this.state; const inputPile = []; //定义一个数组 for (let i = 0; i < fileList.l...

2020-08-13 18:17:22 407

原创 skynet的内容学习笔记01

强一致性和最终一致性。最终一致性 强调的是通知强一致性 强调的处理结果zookeeper服务协调问题1 配置项目管理2 集群管理 redis 哨兵redis使用setnx()实现分布式锁。 + 过期时间 (执行逻辑时间)setnx(key,唯一标识,timeout);问题。如果中间服务断了,对链路不敏感,需要用超时时间或是另外的进程或线程轮询。zookeeper可以解决此问题。如...

2020-08-04 22:36:39 301

原创 nginx学习笔记3

默认从这里开始从一个状态去执行多个handle,然后执行完成后,再进入下一个状态机如何reponse send给客户端包头和包体write-->epoll_wait-->fd-->fdout....

2020-08-01 22:05:57 63

原创 关于nginx的学习笔记02

一个进程可以listen多个端口多个进程listen一个端口。(实现方式,先listen再fork)epoll_wait之后才accept。当一个客户端有链接进来的时候。马上调用handler只保证同一时刻只有一个epoll来监听,避免惊群问题。二个listen都在epoll里,只有一个epoll是在挂起的。当一个链接过来了。当一个epoll还没有来得及解锁,另外一个链...

2020-08-01 21:17:39 187

原创 c语言实现split函数。用于http协议字符串解析比较有用。用\r\n分隔成不同的数组。

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct { char **str; //the PChar of string array size_t num; //the number of string}IString;/** \Split string by a char * * \param src:the string .

2020-07-30 00:03:27 457

原创 c语言实现基础的查找替换功能模块

常用字处理软件或者编辑器都提供字符串的查找和替换功能,本文描述如何借助C语言的字符串处理函数来实现字符串的查找和替换功能。 先说查找,字符串的查找主要使用strstr函数,其原型为:char * strstr(char * str1, char * str2),函数的功能是在str1中查找str2,如果str2是str1的子串,则返回str2在str1中第一次出现的位置,否则返回空指针。 str2可能在str1中出现多次,如果希望把所有的str2都找出来,调用一次strstr是不够的,必...

2020-07-30 00:01:24 910

原创 关于中文字符编码在linux下转换。随手笔记

字转换:wctomb、mbtowc,baiwc指Widecharactor,mb指Multi-byte。字符串转换:wcstombs、mbstowcs,wcs和dumbs的s指string。这4个函数zhi是C标准函数库函数中的。如果只是dao在Windows平台下编程,可直接调用WindowsAPI函数WideCharToMultiByte和MultiByteToWideChar实现。但是如果调用标准库函数的话,在Linux下也是有...

2020-07-29 17:54:31 435

原创 关于c语言通过epoll同步和异步方式请求http服务器的json数据

简单总结了下http client的使用。xhttp.h#ifndef MEDIA_XHTTP_H#define MEDIA_XHTTP_H#include <pthread.h>#define HTTP_VERSION "HTTP/1.1"#define USER_AGENT "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2\r\n..

2020-07-29 11:16:17 414

原创 c++封装mysql库,以简单方便调用之

DBMysql.h#ifndef DB_MYSQL_H#define DB_MYSQL_H#include <mysql/mysql.h>#include <string>#include <map>#include <vector>#include <iostream>using namespace std;typedef map<string,string > strMap;/*mysql操作类,封装了c语

2020-07-24 20:09:25 432

原创 c语言数据库libzdb库的安装以及使用

下载,注意版本,使用3.1版本,如果以上的,可以支持c++17,我使用的不需要支持,搞c++17环境有些麻烦wget http://www.tildeslash.com/libzdb/dist/libzdb-3.1.tar.gztar -zxvf libzdb-3.1.tar.gz./configuremakemake installldconfig以下直接调用#include <stdio.h>#include <stdlib.h>#in.

2020-07-24 20:04:30 849

原创 C语言中实现模板函数

qsort上.qsort的函数原型:void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) );快排时,只要自己实现相应数据类型的比较函数cmpare就可以了.如果比较int型时,一个典型的compare函数如下:int cmp(const void *a,const void *b){ return *((i...

2020-07-24 18:06:15 2398 1

原创 centos下安装weblogic的http服务器详情步骤

1 由于工作上用到solr全文搜索,准备把这个使用一下。由于solr是java写的,又要部署web服务器。tomcat只是练习用,所以生产环境还是得用上weblogic,以此来记录一下安装过程1、上传安装包至Linux服务器链接:https://pan.baidu.com/s/1q8kslvK9sJVxWLGYB7WI7A提取码:xcpk2、安装Weblogic前准备赋予Weblogic安装文件可执行权限chmod 777 /home/weblogic/wls1031_li..

2020-07-14 00:16:00 366

原创 c语言之实现fastcgi协议的代码完整实现

FastCGI协议是在CGI协议的基础上发展出来的,如果想了解CGI协议,可以看我另一篇文章:动态web技术(二) --- CGI,FastCGI程序本身监听某个socket然后等待来自web服务器的连接,而不是像CGI程序是由web服务器 fork-exec,所以FastCGI本身是一个服务端程序,而web服务器对它来说则是客户端。FastCGI程序和web服务器之间通过可靠的流式传输(Unix Domain Socket或TCP)来通信,相对于传统的CGI程序,有环境变量和标准输入输出,而FastC

2020-07-11 23:51:13 978 1

原创 c语言的this的精妙用法。类似实现c++ this的方法。

c语言的this的相关用法,细心体会。以后在c语言的数据结构和算法可以解耦使用。使用这个方法很强大 。先谈实现此方法的逻辑#ifndef _TEST_H_#define _TEST_H_typedef void Demo;//隐藏对外属性,模拟private限定符typedef struct test//定义类{ int mi; int mj;}Test;//定义类成员函数,通过参数可以看出来通过指针传递对象Demo* Creat(int i, int j);.

2020-07-11 23:40:18 4356 2

天书夜读(反汇编).pdf

天书夜读(反汇编),安全技术必读,极其重要的文档

2012-08-13

phpexecel

轻松把导出excel表的php类

2008-03-10

空空如也

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

TA关注的人

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