GPG入门笔记

0. 简介
GPGGNU Privacy Guard的简写,是GNUPGP技术的实现。PGPPretty Good Privacy的简写,是一套用于加密的软件。
PGP加密过程如下(来自维基百科 PGP):

PGP同时利用了对称加密和非对称加密,对文件内容的加密用的是对称加密,对称加密的密钥是每次加密时生成的。由于对称密钥要随密文一起传输,采用了非对称加密算法给对称密钥进行了加密。
继续阅读 »

SSL 认证之后,request.getScheme()获取不到https的问题记录

通过浏览器输入https://www.xxx.com,request.getScheme()获取到的确实http而不是https
通过request.getRequestURL()拿到的也是http://www.xxx.com
分析原因,是因为用nginx+tomcat部署web服务,tomcat接受到的请求都是来自于nginx的http请求。

继续阅读 »

解决nginx部署https后,原tomcat部署的javaweb项目http不能正常加载js、css资源问题

公司做的小程序项目到部署的时候发现必须要用https协议,这个时候就在阿里云上申请了免费版本的SSL证书,这里证书的申请就不做介绍了,下面直接看怎么处理资源加载问题,从nginx和tomcat的配置文件入手。
1.nginx配置vhost.conf
继续阅读 »

vc++6.0 远程调试

VS2005 vs2008 vs2010 vs2012 远程调试上篇已经讲过,这里再讲下VC++6.0开发环境下的远程调试能力,仅需下面4步即可,更方便的就接着后面的5-6步。

因为目标程序需要在有采集卡等相关硬件支持下的工控机上工作,工控机上面一般没有调试环境也不会放置源代码(出于保密)。假如工控机上的目标程序运行中出了问题,就需要有调试环境却无法安装采集卡等硬件的笔记本上进行远程调试。 

一。远程调试条件

1.两者之间使用有线或无线连网。

2.目标机器与本机的调试机器连接通讯,需要四个文件:MSVCMON.EXE、DM.DLL、TLN0T.DLL和MSDIS110.DLL。它们可在VC6安装文件夹的Common/MSDEV98/Bin下面找到。
继续阅读 »

VS2005 vs2008 vs2010 vs2012 远程调试

一 远程端的设置

1. 远程机器端 的安全选项
在远程机器上,开始——设置——控制面板——管理工具——本地安全策略——本地策略——安全选项,在右侧找到网络访问:本地帐户的共享和安全模式,双击它,将“进来宾 – 本地用户以来宾身份验证”,改为:“经典 – 本地用户以自己的身份验证”  

2.远程端 运行VS 远程调试监视器
将本地文件夹下远程调试监视器所在文件夹(具体位置见后面 四。注意事项)下的所有文件,全部复制到远程计算机中,比如到 E:\remote\x86下。这里以vs2005为例,其余只是版本不同,操作都一样。
双击启动其中的msvsmon.exe,在其菜单,工具——选项 中,更改身份验证方式。
2.1  选择 无身份验证(仅限本机),并勾选“允许任何用户进行调试”。“服务器名”将显示 tu:4015, 其中的tu是远程计算机的名称,4015是端口号。
2.2  选择 Windows身份验证。“服务器名”,将显示 BT\lk@tu, 其中,BT 是局域网的域名,lk是登陆的用户名称,tu是远程计算机的名称。如无登录域,则显示为:lk@tu,其中,lk是登陆的用户名称,tu是远程计算机的名称。
继续阅读 »

Codeblocks更改编译器为VC++6.0

有时C/C++代码在Codeblocks上不能很好的运行,这是由于代码不标准造成的,Codeblocks编译器默认是GNU GCC,GCC遵循C++标准,而VC++是不太一样的。这篇文章介绍在Codeblocks下如何编译、调试VC 6.0的项目。(有错误的话请指正^_^)
条件
1、安装好Codeblocks16.01带MinGW
2、安装好VC++6.0(路径C:\Program Files (x86)\Microsoft Visual Studio)
步骤
1、打开Codeblocks,选择”Settings” – Compiler”,按图中步骤进行,C:\Program Files (x86)\Microsoft Visual Studio\VC98在VC++安装目录内

继续阅读 »

git配置代理命令

// 查看当前代理设置

// 设置当前代理为 http://127.0.0.1:1080 或 socket5://127.0.0.1:1080

// 删除 proxy git config –global –unset http.proxy

对大端小端的研究

简单的来说,通俗理解:
比如数据0x12345678
大端:地址由低到高,先放数据的高位,就是0x12,0x34,0x56,0x78;
小端:地址由低到高,先放数据的低位,就是0x78,0x56,0x34,0x12;
继续阅读 »

_beginthread和CreatThread的区别

我们知道在Windows下创建一个线程的方法有两种,一种就是调用Windows API CreateThread()来创建线程;另外一种就是调用MSVC CRT的函数_beginthread()或_beginthreadex()来创建线程。相应的退出线程也有两个函数Windows API的ExitThread()和CRT的_endthread()。这两套函数都是用来创建和退出线程的,它们有什么区别呢?

很多开发者不清楚这两者之间的关系,他们随意选一个函数来用,发现也没有什么大问题,于是就忙于解决更为紧迫的任务去了,而没有对它们进行深究。等到有一天忽然发现一个程序运行时间很长的时候会有细微的内存泄露,开发者绝对不会想到是因为这两套函数用混的结果。
继续阅读 »

赛车游戏最快记录中由亡父“幽灵”保持,xbox玩家不忍打破纪录

英美等国家的父亲节是6月的第三个周日,国外一名6岁时丧父的网友,日前找出小时候与父亲一起玩的Xbox游戏机,在“拉力赛”游戏中发现“亡父的身影”,他的文章也感动许多往网友。

美国电竞节目PBS上月22日在YouTube询问“电子游戏能成为心灵体验吗?”网名为“00WARTHERAPY001”的网友在视频底下留言说,4岁时父亲买了一台Xbox,父子俩因此度过一段美好的日子,但6岁时父亲不幸去世。

图为赛车游戏截图,“幽灵”车为父亲在网友幼时的游戏记录。

“往后10年我没办法碰这台游戏机”网友表示,直到最近他才发现,父子俩过去常玩的《越野挑战赛》(Rally Sports Challenge)中,父亲是最佳纪录保持人,在这款游戏的中,纪录保持者将以“幽灵车手”之姿与玩家竞赛。

经过多次在游戏中与父亲竞赛后,网友终于有机会能打破父亲纪录,但他最后选择在终点线前停下来,避免破纪录后再也看不到父亲,让父亲的身影永远保存在游戏中。

继续阅读 »