自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冰冻三尺非一日之寒

冰冻三尺非一日之寒

  • 博客(118)
  • 资源 (21)
  • 收藏
  • 关注

原创 Error injecting: org.apache.maven.plugin.war.WarMojo

1) 在pom.xml文件中增加。然后重新mvn install。

2023-05-14 20:05:56 1531

原创 解决ABY编译的问题

在编译aby过程中遇到boost库版本问题和abycore找不到头文件的问题。

2022-10-08 23:26:32 1020

原创 webpack 插件实战笔记(一)

cnpm init111Air:webpackSerial1 i$ cnpm initThis utility will walk you through creating a package.json file.It only covers the most common items, and tries to guess sensible defaults.See `npm help json` for definitive documentation on these fi...

2020-06-26 18:00:21 1138

原创 webpack学习笔记

简介手写的typescript、less、jpg===》Loader===》js、css、png静态资源文件。webpack 里,一张图片、一个css、一个字体都会被称为模块。webpack 作用是处理模块间的关系,并把他们进行打包。举例加载 css 大多通过<link>标签引入 css 文件,而在 webpack 里,直接在一个.js 文件中导入,比如:import ’ src/styles/index . css ’;组成webpack 的主要适用场...

2020-06-14 16:19:30 404

原创 解决mac安装hexo报错

前言mac OS安装hexo 的时候报错。报错信息Error: EACCES: permission denied, mkdir ’解决方法sudo npm install -g hexo --unsafe-perm=true --allow-root

2019-11-09 11:35:26 627

原创 Java抽象类和接口的异同

                          Java抽象类和接口的异同小总结相同点:        1)接口不是类,不能使用new运算符实例化一个接口。抽象类也不能实例化。接口、抽象类能声明变量。不同点:        1)一个类可以实现多个接口。但是只能扩展一个类。接口不是类,抽象类是类。        2)接口不可以实现具体方法,抽象类可以实现具体的方法。   ...

2018-10-13 16:50:07 237

原创 -fpic 与-fPIC的区别

                                                    -fpic 与-fPIC的区别前言        在编译动态库的时候,我们应该需要使用-fpic 或-fPIC参数。如下所示:         然后,使用gcc或g++ 命令生成动态库pic 与PIC的异同        相同点:都是为了在动态库中生成位置无关的代码。...

2018-08-22 10:31:17 39933 1

原创 valgrind memcheck 检测机制学习总结

                                        valgrind memcheck 检测机制学习总结1、Valid-value (V) bits        作用:建立和维护值的有效性。        Memcheck实现了一个与真实CPU相同的合成CPU。 真实CPU处理,存储和处理的每一位(字面)数据在合成CPU中都有一个相关的“有效值”位,表示附...

2018-08-19 23:34:00 634

原创 gcc 编译优化标志说明

                                                     gcc 编译优化标志说明        在编译过程中我们经常会使用gcc及其相关的编译参数来编译源文件。编译Nginx编译debug版本使用的gcc 参数如下:        -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-paramete...

2018-08-19 23:16:00 2270

原创 memmove 与memcopy 的区别

                                                       memmove 与memcopy 的区别内存重叠的概念        顾名思义,重叠就是有重复的部分。在字符串拷贝的过程中,还没被拷贝就已经被覆盖了原来的值。内存重叠在拷贝的过程中指源指针开始的内存与目的指针指的内存有重叠。我们可以在同一个数组中模拟内存重叠的现象。        ...

2018-08-13 16:46:24 602 1

原创 fork 与vfork 的异同

                                      vfork 与fork异同总结前言        调⽤fork或vfork函数是Linux创建⼀个新进程的⽅法.fork        由fork创建的新进程被称为⼦进程(child process)。该函数被调⽤⼀次,但返回两次。两次返回的区别是⼦进程的返回值是0,⽽⽗进程的返回 值则是新⼦进程的进程ID...

2018-08-08 16:51:59 1143

原创 C程序的内存布局

                                                                               C程序的内存布局C程序的典型内存表示由以下部分组成:        1.文本段(CPU 执行的机器指令)        2.初始化数据段(数据段)        3.未初始化的数据段(也称bss段)        4.栈(自动变量...

2018-08-08 14:21:42 722

原创 在保证Nginx正常处理请求的情况下升级Nginx

                           在保证Nginx正常处理请求的情况下升级Nginx 前言        Nginx是一个功能强大的Web服务器,用于服务于世界上许多最受欢迎的站点。 在本博客中,我将演示如何在不丢失客户端连接的情况下升级Nginx可执行文件。 升级方法        Nginx通过在服务启动时生成主进程来工作。同时,主服务会启动一个或多个处...

2018-08-06 17:48:50 470

原创 linux 系统中比较重要的库

                                                                          linux 系统中比较重要的库在Linux平台开发过程中,有一些库很重要。因此在这里简单记录一下。librt 库的重要性librt库在Linux系统中很重要,这个库包括异步I / O,消息队列,进程调度,实时信号扩展,信号量,共享内存对象,...

2018-08-02 17:26:03 2812

原创 TCP、UDP协议学习总结

                                              TCP、UDP协议学习总结TCP/IP 协议族     互联网协议族(英语:Internet Protocol Suite,缩写IPS) 是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP...

2018-07-17 01:54:39 1116

原创 链表总结(一)

前言    链表在组织大量数据时候效率非常高,但是操作都是使用指针进行操作,比较容易出错。因此,掌握链表的操作很重要。测试例子及说明    下面的例子主要实现链表节点的插入、删除链表节点、追加节点到链表、遍历链表节点。#include <stdio.h>#include <stdlib.h>//定义链表节点 struct node {    int data;    str...

2018-07-05 02:37:12 628

原创 学习RSA 算法

学习RSA 算法概述    RSA 算法目前是非对称算法领域里家喻户晓的算法。因此很有必要学习。密钥的生成。    取p、q两个大的互质的数。 n = p*q 。e与(p-1)*(q-1) 互质。    n 和e 拿来作为公钥。    求得(p-1)*(q-1)最小公倍数为b. 且令 d為同餘方程式 ex≡1(mod  b) 中的最小正整數解。    在RSA中将n和e封装成公钥,n和d封装成私钥...

2018-06-28 02:24:14 306

原创 位移相关的算法举例

位移相关的算法举例问题:在一个unsigned int 变量查找位为1的个数。可参看:https://en.wikipedia.org/wiki/Hamming_weight 经过自己的思考我整理出如下程序:#include <stdio.h>int oneBitCount(unsigned long long n){ unsigned int c =0 ; wh...

2018-06-27 00:21:43 910

原创 OpenSSL 握手过程及重要操作

OpenSSL 握手过程及重要操作概述    大部分的网站都是支持SSL协议来保证数据在传输过程中的安全。因此了解OpenSSL握手过程及重要操作很重要。使用RSA密钥交换算法时的标准SSL握手主要步骤如下:1. Client Hello    客户端发送给服务器端需要的信息。 这些信息包括客户端SSL版本号,cipher设置,会话特定数据。对应于上图中的步骤【1】.2.Server Hello ...

2018-06-24 18:35:00 4691 2

原创 XSI IPC-共享存储总结(一)

XSI IPC-共享存储总结(一)XSI IPC-共享存储    有三种XSI IPC,它们分别是消息队列(msg)、信号量(semaphore)、共享存储(shm)。XSI IPC函数是紧密的基于System V的IPC,并且不使用文件系统命名空间,而是自行一派,定义了它们自己的命名空间。    共享存储允许两个或多个进程共享一个给定的存储区。进程之间数据的交换不需要复制到各自进程,因此共享存储...

2018-06-18 22:34:14 776

原创 管道PIPE_BUF说明

管道PIPE_BUF说明    FIFO被称为命名管道。PIPE也是管道。由于pipe和FIFO本质上都是管道,不同点就是创建方式不一样、FIFO多个进程使用(可以没有共同祖先)、FIFO多个进程通信。因此,FIFO的测试demo就不多介绍了。本博客主要记录管道的PIPE_BUF,即管道的缓存大小。PIPE——BUF    POSIX.1规定当写入管道的长度小于PIPE_BUF字节时必须是原子的:...

2018-06-17 00:10:42 4189

原创 进程通信—管道

进程通信—管道概述    pipe函数创建一个管道,一个可用于进程间通信的单向数据通道。 数组pipefd用于返回两个指向管道两端的文件描述符。 pipefd [0]指的是管道的读取端。 pipefd [1]指的是管道的写入端。 写入管道写入端的数据由内核缓冲,直到从管道的读取端读取。 接口说明#include <unistd.h>int pipe(int pipefd[2]);#de...

2018-06-16 16:32:01 824

原创 epoll 总结

epoll 总结epoll概述    在网络通信中,由于网络环境复杂、程序的健壮性不佳等因素的存在,会造成通信双方不能正常通信。        常见的不稳定因素如下:        1)服务器进程终止。客户端在不知道服务器进程已终止的情况下发送数据给服务器。如果客户端程序           没有处理SIGPIPE信号,客户端程序会崩溃。        2)客户端与服务器的网络不通。客户端发送的数...

2018-06-12 00:54:50 2124

原创 异步I/O(一)

异步I/O(一)概述    AIO可以一次性发出大量的read/write调用并且通过通用块层的IO调度来获得更好的性能,用户程序也可以减少过多的同步负载,还可以在业务逻辑中更灵活的进行并发控制和负载均衡。    POSIX异步I/O(AIO)接口允许应用程序启动一个或多个异步执行的I/O操作。应用程序可以选择以各种方式通知I/O操作的完成:通过传递信号,通过实例化线程或运行完后没有通知。    ...

2018-06-11 00:05:33 1247

原创 进程间数据共享--文件与内存的映射

进程间数据共享--文件与内存的映射前言    在运行strace  -c nginx的时候,我们可以看出mmap、mprotect和munmap使用的比例是很高的。因此可以看出nginx运行的时候有很大一部分时间在处理文件与内存之间的映射。接口说明mmap    mmap在调用进程的虚拟地址空间中创建一个新的映射。    #include <sys/mman.h>    void *m...

2018-06-09 12:13:03 1208

原创 调试神器之strace

调试神器之strace概述    strace是一个有用的诊断,调试工具。通过追踪甚至普通的程序,可以了解到一个系统和系统调用的很多事情。被跟踪中的每一行都包含系统调用名称,后跟括号中的参数及其返回值。每个系统调用的名称,参数及其返回值都打印在标准错误或用-o选项指定的文件上。strace 常用参数说明接下来我列出常用的几个参数并举例说明,-c 计算每个系统调用的运行时间,调用和错误,并打出报告。...

2018-06-07 01:01:38 371

原创 进程同步方式(一)--记录锁

进程同步方式(一)--记录锁记录锁定义    一个进程正在读或修改文件的某个部分时,可以使用记录锁锁定文件的一个区域(也可能是整个文件)。它是一个字节范围内的锁。接口声明    POSIX记录锁是使用fcntl 函数实现。Linux系统支持POSIX标准。    #include <unistd.h>    #include <fcntl.h>    int fcntl(i...

2018-06-06 19:35:19 1435

原创 阻塞IO与非阻塞IO

阻塞IO与非阻塞IO阻塞IO    默认情况下,Linux系统上的所有文件描述符都以阻塞模式开始。 这意味着I / O系统调用如读取,写入或连接可能会阻塞。   如果你在stdin上调用read,那么你的程序将被阻塞,直到数据实际可用,例如当用户实际上在他们的键盘上物理键入字符时。具体来说,内核会将进程置于“睡眠”状态,直到数据在stdin上可用。   网络传输中,如果你尝试从TCP套接字读取,则...

2018-06-02 11:41:29 506

原创 多级证书验签

多级证书验签#!/bin/shif [[ "$1" = "" || "$2" = "" ]]; then echo "certSignVerify.sh CAfiles(自签证书或多级证书) certfile " exit 0;fi#除了最后一个参数,其他参数为CA级证书touch tmpca.cercount=$#tmp=1for i...

2018-05-16 14:44:01 1164

原创 openssl 生成X509 V3的根证书及签名证书

openssl 生成X509 V3的根证书及签名证书在测试的时候有时需要使用证书。因此使用OpenSSL创建自签名根证书,使用根证书签发证书显得很重要。1、生成根证书及自签名证书1.创建根证私钥    openssl genrsa -out root-key.key 10242.创建根证书请求文件    openssl req -new -out root-req.csr -key root-ke...

2018-05-16 10:48:22 18777

原创 信号那点事(二)-信号集及相关操作

信号那点事(二)-信号集及相关操作前言    POSIX.1 定义了一个数据类型sigset_t用于表示信号集。    使用信号集处理信号的方式与原来的信号方式不一样。主要体现在sigaction函数上。一旦对给定的的信号设置了一个动作,那么在调用sigaction显示的改变信号的处理方式之前,该设置就一直一样。 信号集操作增加信号到信号集int sigaddset(sigset_t *set, ...

2018-05-10 13:28:24 268

原创 机器学习数学基础(二)

机器学习数学基础(二)前言     概率密度函数和分布函数是机器学习的回归中重要的基础。因此学习概率密度函数和分布函数很重要。随机变量的定义     设随机试验样本空间为S={e}。X = X(e) 是定义在样本空间S上的实值单值函数。称X=X(e)为随机变量。也就是要求对于任意实数x,集合{e|X(e) =< x}有确定的概率。否则x没意义。                离散型随机变量 ...

2018-05-06 12:36:43 1137

原创 机器学习之数学基础(一)

机器学习之数学基础(一)前言     统计学是机器学习重要的一门基础性学科。很多机器学习相关的模型都是基于统计学。由此可见统计学对机器学习的重要性。本文将总结统计概率学的相关概念,这对随后的机器学习的理解有很大的帮助。样本空间     将随机试验E的所有可能结果组成的集合称为E的样本空间,记为S。样本空间的元素,称为样本点。 概率    随机试验E,其中S为它的样本空间。对于E的每一事件A赋予一个...

2018-05-05 14:07:26 729

原创 信号那点事(一)

信号概念     信号是软件中断。很多⽐较重要的应⽤程序都需处理信号。信号提供了⼀种处理异步事件的⽅法。每个信号都有⼀个名字。这些名字都以三个字符SIG开头。 查看系统支持的信号    在Linux系统中可以使用kill -l命令来查看系统支持的信号。 信号发生的条件1)     进程调用kill函数或使用kill命令发送信号给其他进程。2)     系统内核异常产生的中断。如硬件损坏等等。 信号...

2018-04-30 11:27:14 231 1

原创 fork那点事

fork那点事fork 总结fork()通过复制调用进程来创建一个新进程。在Linux下,fork()是通过使用写时复制页面实现的,所以它唯一的缺点是复制父页表的时间和内存,并为子进程创建独特的任务结构。fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它有三种不同的返回值:    1)在父进程中,fork返回新创建子进程的进程ID;    2)在子进程中,fork返回0;    3...

2018-04-29 12:41:29 246

原创 挂载硬盘到Linux系统

挂载硬盘到Linux系统前言硬盘用一段时间后可能因为各种各样的因素导致硬盘的空间越来越少。为了防止没有硬盘空间而导致的数据丢失,我们可以增加硬盘。测试Linux系统识别硬盘插入硬盘到硬盘槽并检查硬盘是否被识别。下图红色显示的硬盘为最新的硬盘,表示硬盘已经识别。 对硬盘进行分区我们使用fdisk 命令来对/dev/sdb进行分区。下图是我分区的截图。 创建Linux文件系统硬盘在创建Linux文件系...

2018-04-26 15:21:46 603

原创 部署DNS 服务器

部署DNS 服务器前言    域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。部署DNS 服务器centos系统配置关闭防火墙# systemctl  stop  fir...

2018-04-22 19:37:36 1500

原创 fork后父子进程共享文件描述符

fork后父子进程共享文件描述符测试程序#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <time.h>#include <stdlib.h&g

2018-04-18 11:52:54 1266

原创 验证证书请求是否与秘钥匹配

验证证书请求是否与秘钥匹配验证脚本#!/bin/shif [[ "$1" = "" || "$2" = "" ]]; then echo "certRequestCheck.sh requestfile keyfile " exit 0;else value=`openssl req -text -noout -in $1 | grep "Public Key

2018-04-17 17:05:41 804

原创 验证公钥证书是否和秘钥匹配

验证公钥证书是否和秘钥匹配验证脚本#!/bin/shif [[ "$1" = "" || "$2" = "" ]]; then echo "certCheck.sh certfile keyfile" exit 0;else #certModuleMd5=`openssl x509 -noout -modulus -in $1 | openssl md5` #privateMod...

2018-04-17 16:56:05 3238

spark 非常好的资源

spark 非常好的资源

2019-03-10

Nginx 模块开发与架构解析

Nginx 模块开发 解析 。经典不可多得的好书

2017-03-30

saml2-profiles-deploy-x509

saml2 profiles deploy x509

2017-03-26

saml-metadata-2.0-os

saml-metadata-2.0-os

2017-03-23

SAML2.0 简介

wikipedia SAML2.0

2017-03-23

saml-profiles-2.0-os

SAML profile

2017-03-23

sstc-saml-tech-overview-2.0

SAML技术。主要用于单点登录、认证等场景。

2017-03-23

tftd 客户端 服务端工具

tftd 客户端 服务端工具

2016-11-22

搭建nginx+php+openssl+thinkphp时使用的证书

搭建nginx+php+openssl+thinkphp时使用的证书

2016-10-19

openssl book

openssl cookbook openssl官网指定文档

2016-10-10

Bulletproof SSL and TLS

For system administrators, developers, and IT security professionals, this book provides a comprehensive coverage of the ever-changing field of SSL/TLS and Internet PKI. Written by Ivan Ristić, a security researcher and author of SSL Labs, this book will teach you everything you need to know to protect your systems from eavesdropping and impersonation attacks.

2016-09-28

Ivan Ristic - Bulletproof SSL and TLS

Ivan Ristic - Bulletproof SSL and TLS - 2014。非常详细的https讲解和openssl讲解。

2016-09-28

openssl 编程

openssl 编程

2016-09-22

UNIX网络编程卷1:套接字联网API(第3版) 源码

UNIX网络编程卷1:套接字联网API(第3版)源码。

2016-08-21

C++ 经典代码大全

本书是图灵设计图书。书中的例子非常不错,适用于工作、学习。

2016-08-21

PKI 实现和管理电子安全

这本书描述了PKI的原理,是美国非常著名的安全领域专家写的著作。

2014-07-01

PKI基本原理与技术介绍

PKI基本原理与技术介绍 密码学基础部分 PKI应用

2014-05-16

acl库 (advanced c library)

该库跨平台的、支持常见数据算 法、有很好的服务器框架、支持线程池/进程池、支持同步/异步通信、简单易用可扩展、支持HTTP协议、ICMP协议、DNS协议等

2012-05-10

空空如也

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

TA关注的人

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