<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[游侠之魂的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/farrellcn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; farrellcn]]></copyright><item><title><![CDATA[SSL 证书格式普及，PEM、CER、JKS、PKCS12]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/119779348</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/119779348</guid><author>farrellcn</author><pubDate>Wed, 18 Aug 2021 14:23:05 +0800</pubDate><description><![CDATA[SSL 证书格式普及，PEM、CER、JKS、PKCS12

在我们收到的邮件中，有许多朋友咨询：你们这下载下来的证书是 PEM 格式的，但我的服务器不是用这种格式的，怎么办？那本篇文章就是来个大家普及一下证书的格式。

是的，根据不同的服务器以及服务器的版本，我们需要用到不同的证书格式，就市面上主流的服务器来说，大概有以下格式：

.DER .CER，文件是二进制格式，只保存证书，不保存私钥。
	.PEM，一般是文本格式，可保存证书，可保存私钥。
	.CRT，可以是二进制格式，可以是文本格式，与 .DER]]></description><category></category></item><item><title><![CDATA[给Jenkins加https证书]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/119778548</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/119778548</guid><author>farrellcn</author><pubDate>Wed, 18 Aug 2021 13:50:58 +0800</pubDate><description><![CDATA[一、步骤详解

1.生成CA私钥

openssl genrsa -out CA/cakey.pem2048

2.使用CA私钥生成CA证书

openssl req -new -x509 -key CA/cakey.pem-out cacert.pem （需指定一个密码）

3.生成服务器私钥

openssl genrsa -out CA/private/server.key2048

4.生成服务器证书请求文件

openssl req -new -key CA/private/ser...]]></description><category></category></item><item><title><![CDATA[zlib库WindowBits]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/100773548</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/100773548</guid><author>farrellcn</author><pubDate>Thu, 12 Sep 2019 15:24:18 +0800</pubDate><description><![CDATA[/*
ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
                                     int  level,
                                     int  method,
                                     int  wi...]]></description><category></category></item><item><title><![CDATA[从error LNK2019引出C++程序的构建过程]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/96706930</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/96706930</guid><author>farrellcn</author><pubDate>Sun, 21 Jul 2019 20:30:39 +0800</pubDate><description><![CDATA[最近在写一个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是不是要向动态库那...]]></description><category></category></item><item><title><![CDATA[静态库和动态库的区别]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/96756952</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/96756952</guid><author>farrellcn</author><pubDate>Sun, 21 Jul 2019 20:20:27 +0800</pubDate><description><![CDATA[阅读目录

什么是库？
	静态库：
	为什么还需要动态库？


正文



回到顶部

什么是库？

库是写好的现有的，成熟的，可以复用的代码。现实中每个程序都要依赖很多基础的底层库，不可能每个人的代码都从零开始，因此库的存在意义非同寻常。

所谓静态、动态是指链接。回顾一下，将一个程序编译成可执行程序的步骤：





回到顶部

静态库：

之所以成为【静态库】，是因为在链接阶段，会将...]]></description><category></category></item><item><title><![CDATA[一个著名的日志系统是怎么设计出来的？]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/94598550</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/94598550</guid><author>farrellcn</author><pubDate>Thu, 04 Jul 2019 10:46:55 +0800</pubDate><description><![CDATA[一个著名的日志系统是怎么设计出来的？

原创： 老刘  码农翻身  2017-10-23

1前言

Java帝国在诞生之初就提供了集合、线程、IO、网络等常用功能，从C和C++领地那里吸引了大量程序员过来加盟，但是却有意无意地忽略了一个重要的功能： 输出日志。



对于这一点，IO大臣其实非常清楚， 日志是个很重要的东西， 因为程序运行起来以后， 基本上就是一个黑盒子，如果程序的行为和预料的...]]></description><category></category></item><item><title><![CDATA[git和svn共存]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/89707255</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/89707255</guid><author>farrellcn</author><pubDate>Tue, 30 Apr 2019 12:59:24 +0800</pubDate><description><![CDATA[git svn init svn://xxxx

git svn fetch -r HEAD

git svn rebase

git remote add origin ssh://xxxx.xxx.git

修改内容时，先提交到本地git仓库

git commit

再提交到svn:

git svn dcommit

提交到远程git仓库

git push origin master
...]]></description><category></category></item><item><title><![CDATA[再谈select, iocp, epoll,kqueue及各种I/O复用机制]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/88973283</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/88973283</guid><author>farrellcn</author><pubDate>Tue, 02 Apr 2019 15:32:28 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/shallwake/article/details/5265287

上篇文章太过幼稚，一派胡言，希望没有误导大家。。我也是菜鸟，学习本身就是一个不断追求真理的过程，希望能谅解：）首先感谢kasicass GG指出错误（已经指导我很多次了，非常感谢~~），然后我又查阅了一些资料，再次整理，more seriously and detailedly...]]></description><category></category></item><item><title><![CDATA[FastMM报错]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/78426468</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/78426468</guid><author>farrellcn</author><pubDate>Thu, 02 Nov 2017 16:45:56 +0800</pubDate><description><![CDATA[这次的项目中用到同事写的一个ComboBox控件，以前项目中也用过没问题，但这次在界面上第二次点击控件的下拉按钮就报错，今天跟进代码看了下，定位在FreeNode时调用FreeMem报错。Node是一个Record，使用AllocMem分配的空间。FastMM弹出的提示是说在其它地方已经释放了这个内存，这里又释放了一下。在代码中找了半天也没看到什么地方提前释放了这片内存。又仔细看了看FastMM的]]></description><category></category></item><item><title><![CDATA[分层窗口（Layered windows）翻译]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77848626</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77848626</guid><author>farrellcn</author><pubDate>Tue, 05 Sep 2017 10:42:55 +0800</pubDate><description><![CDATA[Janky_H
 
contact me at Janky_H@hotmail.com
           
原文：https://msdn.microsoft.com/en-us/library/ms997507.aspx
 


Layered Windows
Windows 2000 introduces a new extended window style bit: ]]></description><category></category></item><item><title><![CDATA[Layered windows and UpdateLayeredWindow 分层窗口]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77845250</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77845250</guid><author>farrellcn</author><pubDate>Tue, 05 Sep 2017 00:04:16 +0800</pubDate><description><![CDATA[前段摘自MSDN的详尽介绍：

http://msdn.microsoft.com/en-us/library/ms997507.aspx



Recently I was playing with transparent (layered) windows in Windows XP.
The basic information about layered windows is ]]></description><category></category></item><item><title><![CDATA[https原理详解]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77673708</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77673708</guid><author>farrellcn</author><pubDate>Tue, 29 Aug 2017 15:51:35 +0800</pubDate><description><![CDATA[https的握手
之前以为所有基于TCP的连接都需要三次握手，https也不例外，但是查阅了大量的资料后，发现并不是这样。
http三次握手]]></description><category></category></item><item><title><![CDATA[传输层安全协议抓包分析之SSL/TLS]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77676760</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77676760</guid><author>farrellcn</author><pubDate>Tue, 29 Aug 2017 13:26:42 +0800</pubDate><description><![CDATA[1. 协议介绍


SSL/TLS是保护计算机网络通讯安全的一类加密协议，它们在传输层上给原先非安全的应用层协议提供加密保护，如非安全的HTTP协议即可被SSL/TLS保护形成安全的HTTPS协议。

SSL、TLS协议其实是有所差异的，TLS协议是继承了SSL协议并写入RFC，标准化后的产物。因此，通常使用SSL来指代SSL协议和TLS协议。


SSL (Secure Sock]]></description><category></category></item><item><title><![CDATA[TCP的ACK原理和延迟确认机制]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77512469</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77512469</guid><author>farrellcn</author><pubDate>Wed, 23 Aug 2017 21:59:29 +0800</pubDate><description><![CDATA[一、ACK定义

TCP协议中，接收方成功接收到数据后，会回复一个ACK数据包，表示已经确认接收到ACK确认号前面的所有数据。

ACK字段长度为32位，能表示0~2^32-1之间的值。

二、ACK作用

发送方在一定时间内没有收到服务端的ACK确认包后，就会重新发送TCP数据包。发送方收到了ACK，表明接收方已经接收到数据，保证了数据的可靠达到。

三、ACK机制

接]]></description><category></category></item><item><title><![CDATA[git init 与 git init --bare 的区别]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77500913</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77500913</guid><author>farrellcn</author><pubDate>Wed, 23 Aug 2017 10:25:30 +0800</pubDate><description><![CDATA[git init  和 git init –bare 的区别

使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的文件;而不会包含实际项目源文件的拷贝;所以该版本库不能称为工作目录(working tree);如果你进入版本目录,就会发现只有.git目录下]]></description><category></category></item><item><title><![CDATA[Centos搭建Git服务]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77481484</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77481484</guid><author>farrellcn</author><pubDate>Tue, 22 Aug 2017 17:37:26 +0800</pubDate><description><![CDATA[一、安装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]]></description><category></category></item><item><title><![CDATA[Chromium多进程架构简要介绍和学习计划]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77477931</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77477931</guid><author>farrellcn</author><pubDate>Tue, 22 Aug 2017 11:21:53 +0800</pubDate><description><![CDATA[Chromium以多进程架构著称，它主要包含四类进程，分别是Browser进程、Render进程、GPU进程和Plugin进程。之所以要将Render进程、GPU进程和Plugin进程独立出来，是为了解决它们的不稳定性问题。也就是说，Render进程、GPU进程和Plugin进程由于不稳定而引发的Crash不会导致整个浏览器崩溃。本文就对Chromium的多进程架构进行简要介绍，以及制定学习计划。]]></description><category></category></item><item><title><![CDATA[Windows共享内存示例]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77451119</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77451119</guid><author>farrellcn</author><pubDate>Mon, 21 Aug 2017 16:17:37 +0800</pubDate><description><![CDATA[共享内存主要是通过映射机制实现的。
　　Windows 下进程的地址空间在逻辑上是相互隔离的，但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping 创建命名的内存映射文件对象时，Windows 即在物理内存申请一块指定大小的内存区域，返回文件映射对象的句柄 hMap。为了能够访问这块内存区域必须调用 MapViewOfFile 函数]]></description><category></category></item><item><title><![CDATA[CEF3研究之javascript集成(四]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77337004</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77337004</guid><author>farrellcn</author><pubDate>Thu, 17 Aug 2017 17:34:20 +0800</pubDate><description><![CDATA[一、介绍

谷歌浏览器和CEF使用V8JavaScript Engine作为内容的JavaScript实现。在浏览器中的每个窗口都有它自己在的JS上下文提供作用域和在窗口中安全的执行JS代码。CEF暴露大量JS功能集成在客户端应用程序。
CEF3的Webkit和JS在单独的渲染进程中运行。在渲染进程的主线程中使用TID_RENDERER 作为唯一标识。所有V8的执行必须放置在这个线程中。]]></description><category></category></item><item><title><![CDATA[CEF3研究(三)]]></title><link>https://blog.youkuaiyun.com/farrellcn/article/details/77336197</link><guid>https://blog.youkuaiyun.com/farrellcn/article/details/77336197</guid><author>farrellcn</author><pubDate>Thu, 17 Aug 2017 17:07:07 +0800</pubDate><description><![CDATA[一、Off-Screen Rendering 脱屏绘制

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

 实现CefRenderHandler接口，所有方法]]></description><category></category></item></channel></rss>