自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 收藏
  • 关注

转载 SSL 证书格式普及,PEM、CER、JKS、PKCS12

SSL 证书格式普及,PEM、CER、JKS、PKCS12在我们收到的邮件中,有许多朋友咨询:你们这下载下来的证书是 PEM 格式的,但我的服务器不是用这种格式的,怎么办?那本篇文章就是来个大家普及一下证书的格式。是的,根据不同的服务器以及服务器的版本,我们需要用到不同的证书格式,就市面上主流的服务器来说,大概有以下格式:.DER .CER,文件是二进制格式,只保存证书,不保存私钥。 .PEM,一般是文本格式,可保存证书,可保存私钥。 .CRT,可以是二进制格式,可以是文本格式,与 .DER

2021-08-18 14:23:05 2252

原创 给Jenkins加https证书

一、步骤详解1.生成CA私钥openssl genrsa -out CA/cakey.pem20482.使用CA私钥生成CA证书openssl req -new -x509 -key CA/cakey.pem-out cacert.pem (需指定一个密码)3.生成服务器私钥openssl genrsa -out CA/private/server.key20484.生成服务器证书请求文件openssl req -new -key CA/private/ser...

2021-08-18 13:50:58 2904

原创 zlib库WindowBits

/*ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, int level, int method, int wi...

2019-09-12 15:24:18 1277 1

原创 从error LNK2019引出C++程序的构建过程

最近在写一个C++静态库,就叫a.lib吧,a.lib编译一切正常,另一个程序b.exe使用a.lib,但在编译b.exe时,编译器报“error LNK2019: unresolved external symbol “”public CMyClass::AddField“””错误。因为之前没写过静态库程序,对于a.lib编译正常,但b.exe编译不通过,首先想到的是a.lib是不是要向动态库那...

2019-07-21 20:30:39 183

转载 静态库和动态库的区别

阅读目录什么是库? 静态库: 为什么还需要动态库?正文回到顶部什么是库?库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:回到顶部静态库:之所以成为【静态库】,是因为在链接阶段,会将...

2019-07-21 20:20:27 178

转载 一个著名的日志系统是怎么设计出来的?

一个著名的日志系统是怎么设计出来的?原创: 老刘 码农翻身 2017-10-231前言Java帝国在诞生之初就提供了集合、线程、IO、网络等常用功能,从C和C++领地那里吸引了大量程序员过来加盟,但是却有意无意地忽略了一个重要的功能: 输出日志。对于这一点,IO大臣其实非常清楚, 日志是个很重要的东西, 因为程序运行起来以后, 基本上就是一个黑盒子,如果程序的行为和预料的...

2019-07-04 10:46:55 664

原创 git和svn共存

git svn init svn://xxxxgit svn fetch -r HEADgit svn rebasegit remote add origin ssh://xxxx.xxx.git修改内容时,先提交到本地git仓库git commit再提交到svn:git svn dcommit提交到远程git仓库git push origin master...

2019-04-30 12:59:24 1431 1

转载 再谈select, iocp, epoll,kqueue及各种I/O复用机制

转自:https://blog.csdn.net/shallwake/article/details/5265287上篇文章太过幼稚,一派胡言,希望没有误导大家。。我也是菜鸟,学习本身就是一个不断追求真理的过程,希望能谅解:)首先感谢kasicass GG指出错误(已经指导我很多次了,非常感谢~~),然后我又查阅了一些资料,再次整理,more seriously and detailedly...

2019-04-02 15:32:28 126

原创 FastMM报错

这次的项目中用到同事写的一个ComboBox控件,以前项目中也用过没问题,但这次在界面上第二次点击控件的下拉按钮就报错,今天跟进代码看了下,定位在FreeNode时调用FreeMem报错。Node是一个Record,使用AllocMem分配的空间。FastMM弹出的提示是说在其它地方已经释放了这个内存,这里又释放了一下。在代码中找了半天也没看到什么地方提前释放了这片内存。又仔细看了看FastMM的

2017-11-02 16:45:56 487

转载 分层窗口(Layered windows)翻译

Janky_H contact me at [email protected]           原文:https://msdn.microsoft.com/en-us/library/ms997507.aspx Layered WindowsWindows 2000 introduces a new extended window style bit:

2017-09-05 10:42:55 1976

转载 Layered windows and UpdateLayeredWindow 分层窗口

前段摘自MSDN的详尽介绍:http://msdn.microsoft.com/en-us/library/ms997507.aspxRecently I was playing with transparent (layered) windows in Windows XP.The basic information about layered windows is

2017-09-05 00:04:16 3222

原创 https原理详解

https的握手之前以为所有基于TCP的连接都需要三次握手,https也不例外,但是查阅了大量的资料后,发现并不是这样。http三次握手

2017-08-29 15:51:35 394

转载 传输层安全协议抓包分析之SSL/TLS

1. 协议介绍SSL/TLS是保护计算机网络通讯安全的一类加密协议,它们在传输层上给原先非安全的应用层协议提供加密保护,如非安全的HTTP协议即可被SSL/TLS保护形成安全的HTTPS协议。SSL、TLS协议其实是有所差异的,TLS协议是继承了SSL协议并写入RFC,标准化后的产物。因此,通常使用SSL来指代SSL协议和TLS协议。SSL (Secure Sock

2017-08-29 13:26:42 1708

转载 TCP的ACK原理和延迟确认机制

一、ACK定义TCP协议中,接收方成功接收到数据后,会回复一个ACK数据包,表示已经确认接收到ACK确认号前面的所有数据。ACK字段长度为32位,能表示0~2^32-1之间的值。二、ACK作用发送方在一定时间内没有收到服务端的ACK确认包后,就会重新发送TCP数据包。发送方收到了ACK,表明接收方已经接收到数据,保证了数据的可靠达到。三、ACK机制接

2017-08-23 21:59:29 2157

转载 git init 与 git init --bare 的区别

git init  和 git init –bare 的区别使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的文件;而不会包含实际项目源文件的拷贝;所以该版本库不能称为工作目录(working tree);如果你进入版本目录,就会发现只有.git目录下

2017-08-23 10:25:30 534

原创 Centos搭建Git服务

一、安装Git-bash-4.1#yum install git安装完成后二、服务器端创建git用户,用来管理Git服务,并未git用户设置密码-bash-4.1#id git // 查看git用户是否已存在id: git: No such user-bash-4.1# useradd git // 新增用户git-bash-4.1# passwd git

2017-08-22 17:37:26 317

转载 Chromium多进程架构简要介绍和学习计划

Chromium以多进程架构著称,它主要包含四类进程,分别是Browser进程、Render进程、GPU进程和Plugin进程。之所以要将Render进程、GPU进程和Plugin进程独立出来,是为了解决它们的不稳定性问题。也就是说,Render进程、GPU进程和Plugin进程由于不稳定而引发的Crash不会导致整个浏览器崩溃。本文就对Chromium的多进程架构进行简要介绍,以及制定学习计划。

2017-08-22 11:21:53 364

转载 Windows共享内存示例

共享内存主要是通过映射机制实现的。  Windows 下进程的地址空间在逻辑上是相互隔离的,但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping 创建命名的内存映射文件对象时,Windows 即在物理内存申请一块指定大小的内存区域,返回文件映射对象的句柄 hMap。为了能够访问这块内存区域必须调用 MapViewOfFile 函数

2017-08-21 16:17:37 382

转载 CEF3研究之javascript集成(四

一、介绍谷歌浏览器和CEF使用V8JavaScript Engine作为内容的JavaScript实现。在浏览器中的每个窗口都有它自己在的JS上下文提供作用域和在窗口中安全的执行JS代码。CEF暴露大量JS功能集成在客户端应用程序。CEF3的Webkit和JS在单独的渲染进程中运行。在渲染进程的主线程中使用TID_RENDERER 作为唯一标识。所有V8的执行必须放置在这个线程中。

2017-08-17 17:34:20 294

转载 CEF3研究(三)

一、Off-Screen Rendering 脱屏绘制CEF的脱屏渲染并不创建源生的浏览器窗口,而是CEF提供主应用程序在无效区域和像素buffer里渲染,然后主应用程序通过鼠标、键盘和焦点事件通知CEF。脱屏渲染现在不支持图层混合加速图层混合加速。脱屏渲染要窗口浏览器一样接受相同的通知,包括生命周期通知等,为了使用脱屏渲染: 实现CefRenderHandler接口,所有方法

2017-08-17 17:07:07 920

转载 CEF研究(二)

应用程序结构每个CEF3应用程序都有一个相同的结构:提供一个入口函数以初始化CEF和运行每个子进程逻辑和CEF消息处理提供一个CefApp子类处理某个进程的回调提供一个CefClinet子类处理某个浏览进程的回调调用CefBrowserHost::CreateBrowser()函数创建浏览进程实例并使用CefLifeSpanHandler来管理浏览生命周期     2.

2017-08-17 17:04:59 535 1

转载 CEF3研究(一)

一、基本概览C++ WrapperC++Wrapper(包装类)就是将C结构包装C++类。 这是C/C++API转换层通过translator tool自动产生的。进程    CEF3用多进程运行。     主(浏览)进程 ——处理窗口创建,绘制和网络访问,会产生相同的进程作为主应用程序,及处理主应用程序的逻辑。渲染进程——处理闪烁渲染和JavaScript

2017-08-17 16:55:35 667

转载 Windows程序员需要学什么

转自:http://www.cnblogs.com/pugang/archive/2011/11/26/2264107.html经常发现有人在网上提出这样的问题,现实中也确实有不少人在经历了3-5年的Windows开发之后就开始迷失方向,每天浑浑噩噩混日子,可能是因为这个问题粒度太大,没人愿意花时间回答,希望本文可以抛砖引玉,给大家节省些时间,同时也希望园子里面的兄弟们能尽力的补充,从而使

2017-08-17 09:34:10 556

原创 Windows客户端开发技能树

2017-08-16 17:35:30 4574

原创 TCP自带心跳keepalive

今天去hj面试,面试官问了一个网络方面的问题,TCP有心跳包功能,为什么我们一般在写程序时还要在应用层加心跳功能? 以前我写的通信程序,都在应用层加了心跳功能,虽然TCP是可靠传输,某一端断开连接的话,是会通知到另一端的,但对于断电、拔网线、路由器故障这种突发情况,就无法通知到网络上的另一端了,所以需要心跳功能隔一段时间来帮我们检测当前连接是否可用。之前接触别人和自己写的代码都在应用层实现

2017-08-16 12:02:44 2180

转载 主线程退出后,子线程会不会退出

额,好吧,这是个标题党,其实所有的线程都是平级的,根本不存在主线程和子线程。下文所述为了方便,将在main函数中的线程看做主线程,其它线程看成子线程,特此说明。先考虑以下代码:        [cpp] view plain copy#include   #include   #include     void* thrd_s

2017-08-10 16:09:22 932

原创 Windows消息机制

消息送到正确的线程消息队列大家都知道在键盘输入或点击鼠标时,Windows会将这些消息事件送入系统消息队列,再由系统消息队列送入相应程序的线程队列,那么Windows是如何知道这些鼠标或键盘输入是在哪个窗口发生,又是如何将消息送入正确的线程队列的呢?当用户键盘输入时,系统会找到当前的激活窗体;而根据用户点击鼠标的坐标,系统也可以找到是在哪个窗体区域内点击了鼠标,从而拿到窗体句柄。操作系统在

2017-08-10 13:49:54 260

原创 pyenv常用命令

1.查看当前可安装的python版本列表pyenv install -l2.安装指定版本的pythonpyenv install 2.7.33.查看当前已安装的所有python版本pyenv versions4.查看当前设为默认的python版本pyenv version

2017-03-01 14:03:44 1473

原创 github删除敏感信息

最近写了个爬虫程序,用于爬取某些网站的二手房售卖信息https://github.com/farrellcn/ScrapyHouseSales,为了维护方便,把代码传到了GitHubnok上,传完了才想起来一些配置文件里包含了很多个人信息,包括邮箱用户名密码,赶紧修改了再commit上去,但这时在GitHub上已经留下了修改记录了。于是开始找方法将历史记录从github上删除,搜了一下,找

2017-02-22 11:11:55 2700 1

原创 几种python隐藏源码工具的用法

Pyinstaller1.输入pip install PyInstaller2.进入需要打包的程序目录3.输入pyinstaller + 需要打包的程序(脚本)名称Py2exe(目前只支持到py3.4)1.新建一个Setup.py的文件,输入以下代码from distutils.core import setup import py2exe setup(cons

2017-02-08 17:17:22 8505

转载 Python安装pymssql

Python安装pymssql (v2.1.3)pymssql下载地址: https://pypi.python.org/pypi/pymssql/python2.7 x32版本下pymssql的安装:如果使用2.1.1版本:https://pypi.python.org/pypi/pymssql/2.1.1#downloads,下载时选择pymssql-2.1.1.w

2017-02-07 17:36:40 4199

转载 类似py2exe软件真的能保护python源码吗

类似py2exe软件真的能保护python源码吗背景最近写了个工具用于对项目中C/C++文件的字符串常量进行自动化加密处理,用Python写的,工具效果不错,所以打算在公司内部推广。为了防止代码泄露就考虑不采用直接给源码方式,而python二进制脚本pyc和pyo,虽然提供的不是源码,但可以通过uncompyle2直接得到源码。通过网上资料发现有Windows下的py2exe、Ma

2017-02-07 13:32:12 676

原创 VCL对象内存分布之偏移常量

{ Virtual method table entries }{$IF defined(CPUX64)} vmtSelfPtr = -176; vmtIntfTable = -168; vmtAutoTable = -160; vmtInitTable = -152; vmtTypeInfo

2017-01-19 11:30:38 435

转载 VCL线程的同步方法 Synchronize(用消息来同步)

看本文时,可以同时参考:Delphi中线程类 TThread实现多线程编程(事件、临界区、Synchronize、WaitFor……) 先说一下RTL和VCL  RTL(Run-Time library),运行时库,包括System、SysUtils、Math三个单元,提供的函数与语言、编译器、操作系统及进程有关  RTL提供类之间继承于 TObject 和 RTL

2017-01-18 11:34:17 383

原创 VCL对象内存分布之虚表指针

定义了两个类:TBase和TChild,TChild是TBase的子类,TBase有两个虚函数foo和foo1,在TChild里重写了这两个虚函数。我们创建了一个对象LTom,该对象类型为TChild,从下图可以看到,LTom对象存放在地址为$25333C0的内存上。我们打开内存查看器,查看地址$25333C0的内存,看到从该地址开始的5-8字节为成员变量FStr字符串所在的内

2017-01-15 21:48:39 376

转载 12306为什么要安装根证书

本文想简单谈谈那个所谓的“根证书”。在访问铁道部网上售票官网 www.12306.cn 后,有一个醒目的提示,为保证顺畅购票,需要下载安装根证书。那么什么是根证书?为什么买火车票的时候需要下载和安装,在淘宝等在线交易网站购物时候为什么就不需要这样做?今年开始,人民群众们终于可以通过互联网购买火车票了。虽然说在线买的难度不比以往排队购买低多少,但这总算是一次值得鼓励的尝试。不过在线购票系统一

2016-07-28 20:07:44 2591

转载 Jackson json 处理全大写或不规范的JSON

面对不遵守驼峰命名规则的接口咋办?当然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但还是得去适配,比如cardNumber,他返回的叫{CARDNUMBER:''}。通过对API的研究可以通过@JsonProperty以及@JsonAutoDetect来实现。先看代码@JsonAutoDetect(JsonMethod.FIELD)public class MemberA

2016-06-30 21:18:51 6032 1

转载 利用Nginx做负载均衡

最近正在研究Nginx,Nginx作为反向代理服务器,可以对Web服务器提供加速,并且具有负载均衡的功能。     首先我要在官网下载Nginx(http://nginx.org/en/download.html),目前最新稳定的版本为1.0版本,Linux和Windows版本我都下下来了,在两台服务器上做网站负载均衡。在Windows版本中,将压缩包进行解压,执行命令:

2016-06-30 20:44:11 427

转载 负载均衡,会话保持,session同步

一,什么负载均衡一个新网站是不要做负载均衡的,因为访问量不大,流量也不大,所以没有必要搞这些东西。但是随着网站访问量和流量的快速增长,单台服务器受自身硬件条件的限制,很难承受这么大的访问量。在这种情况下,有二种方案可以选择: 1,对单台服务器的硬件进行更新,由双核的变成四核的,内存加大等。 2,增加服务器的台数,来分担服务器的负担。以实现增加网络带宽,增加服务器的处理能力的目的。

2016-06-30 16:52:45 497

转载 ReSharper 配置及用法

1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示2:快捷键。是使用vs2010的快捷键还是使用 Resharper的快捷键呢?我是使用re的快捷键3:Resharper安装后,会做几件事情,这几件事情对于除此使用者,比较麻烦,因此归纳总结一下,以资参考。(1)、会将选项——

2016-06-02 12:21:48 1241

空空如也

空空如也

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

TA关注的人

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