杂项
文章平均质量分 88
Junkie0901
这个作者很懒,什么都没留下…
展开
-
Crypto++ 入门 AES
在我们上一篇文章中,我们介绍了如何安装Crypto++,以及用它完成我们第一个程序。这篇文章主要用来介绍上一篇中的AES程序。首先让我们来了解一下AES是什么。这部分是准备给对AES不熟的读者看的,了解的读者可直接跳到后文的程序部分。AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。1998年N转载 2015-09-10 15:11:07 · 1220 阅读 · 0 评论 -
Protocol Buffers 语法指南
作者信息石头儿和本声明。否则将追究法律责任。http://shitouer.cn/2013/04/google-protocol-buffers-tutorial/1. 概述前两篇文章,我们概括介绍《Google Protocol Buffers 概述》以及带领大家简单的《Google Protocol Buffers 入门》,接下来,再稍微详细一点介绍Protocol Buf转载 2015-03-12 18:33:18 · 510 阅读 · 0 评论 -
值得推荐的C/C++框架和库 (真的很强大)
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/转载 2015-03-27 17:30:14 · 9099 阅读 · 0 评论 -
xml入门
1.常见用途(1) 数据传送通用格式比如qq之间的数据传送做案例进行详细讲解,用xml格式来传送数据,具有良好的可读性性,可维护性。(2)配置文件xml文件做配置文件可以说非常的普遍,比如我们的tomcat服务器的server.xml ,web.xml 。 在比如我们的struts中的struts-config.xml文件,和hibernate的hibern转载 2015-01-28 09:28:30 · 863 阅读 · 0 评论 -
Vim插件管理利器——Vundle
Vundle是基于Git仓库的插件管理软件。Vundle将插件的安装简化为类似yum软件安装的过程,只要:BundleInstall插件就安装完了,:BundleClean之后插件就卸载了。一、Vundle的安装和使用1. Vundle的安装[ruby] view plaincopy$ git clone http://github.co转载 2014-08-25 11:37:23 · 683 阅读 · 0 评论 -
UML类图几种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特转载 2014-11-17 18:31:04 · 560 阅读 · 0 评论 -
使用openssl库实现RSA、AES数据加密
openssl是可以很方便加密解密的库,可以使用它来对需要在网络中传输的数据加密。可以使用非对称加密:公钥加密,私钥解密。openssl提供了对RSA的支持,但RSA存在计算效率低的问题,所以一般的做法是使用对称密钥加密数据,然后再把这个只在当前有效的临时生成的对称密钥用非对称密钥的公钥加密之后传递给目标方,目标方使用约定好的非对称密钥中的私钥解开,得到数据加密的密钥,再进行数据解密,得到数据。对转载 2014-10-28 14:56:12 · 763 阅读 · 0 评论 -
如何用 openssl 生成RSA双密匙;签名证书;加密文件邮件
网上已有好多关于openssl的帖子,但是基本上都很“实用”,只讲如何创建证书来用于数据的加密,如何你只需要这些,那么可以去 “流浪的脚步”的博客http://blog.csdn.net/darkstar21cn/archive/2005/06/11/392492.aspx 如果你需要多了解点openssl的,继续看下去吧 openssl 的功能:转载 2014-10-28 14:34:19 · 3366 阅读 · 0 评论 -
浅析静态库链接原理
静态库的链接基本上同链接目标文件.obj/.o相同,但也有些不同的地方。本文简要描述linux下静态库在链接过程中的一些细节。静态库文件格式静态库远远不同于动态库,不涉及到符号重定位之类的问题。静态库本质上只是将一堆目标文件进行打包而已。静态库没有标准,不同的linux下都会有些细微的差别。大致的格式wiki上描述的较清楚:Global header-------------转载 2014-09-29 11:09:51 · 641 阅读 · 0 评论 -
Google Protocol Buffer 的使用和原理
什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol转载 2015-03-12 15:48:30 · 717 阅读 · 1 评论 -
openssl简介
第一章 前言不久前接到有关ssl的活,结果找遍中文网站资料实在奇缺。感觉是好象现在国内做这个技术的人不多,所以有兴趣写点东西来介绍一下。我使用的ssl的toolkit是openssl,就用openssl做例子来讲解。openssl实在太大了,指令也多,API也多,更严重的是它的API没有说明。我打算漫漫说清楚其主要指令的用法,主要API的中文说明,以及使用/编程的方法。工作转载 2015-04-09 15:18:20 · 3326 阅读 · 0 评论 -
iptables 命令介绍
iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工作原理,你会发现其实它很简单。首先介绍iptables的结构:iptables -> Tables -> Chains转载 2015-05-05 18:33:41 · 470 阅读 · 0 评论 -
Nginx负载均衡
1.普通的Http代理: 注意:在upstream中不要使用http://backend1.example.com,而在proxy_pass中则要加上http://backend upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080;转载 2015-09-10 14:41:41 · 436 阅读 · 0 评论 -
HTTP协议详解
以下转自 cnblog 的小坦克1. HTTP协议详解2. HTTP协议 (二) 基本认证3. HTTP协议 (三) 压缩4. HTTP协议 (四) 缓存5. HTTP协议 (五) 代理6. HTTP协议 (六) 状态码详解7. HTTP协议 (七) Cookie以下转自农夫庄园1. 深入理解HTTP协议(一)转载 2015-09-10 16:34:47 · 396 阅读 · 0 评论 -
作为软件工程师,你必须知道的20个常识
作为一名优秀是软件开发工程师,以下的这些常识你知道吗?在实际工作中有没有总结过呢?小编就带大家一起分享这20个软件开发常识。1.针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发,简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。2.软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深刻的理解这一点。3.数据转载 2015-07-07 11:54:44 · 511 阅读 · 0 评论 -
libev 设计分析
此文主要分析libev 的设计架构与算法实现,阅读这篇文章之前,你需要对libev 的使用有大致的了解;libev 提供了很多watcher 供开发者使用 ,以下仅对最重要最常用的几个watcher 机制进行分析,从中我们可掌握整个libev的设计思想,如果你想了解更多,可查阅libev的相关代码或文档。ev_io_watcher如我们所知,新的fd总是系统可用的最小fd ,所以这转载 2015-06-12 17:57:00 · 447 阅读 · 0 评论 -
程序员都必须遵守的编程原则(仅供参考)
好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员, 这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。 不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环转载 2015-07-07 15:07:46 · 734 阅读 · 0 评论 -
netfilter/iptables全攻略
防火墙的简介防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做转载 2015-05-29 17:56:11 · 472 阅读 · 0 评论 -
iptable笔记
一、netfilter/iptable的理解 这个当初我理解不了,主要是没把netfilter理解清楚。 Netfilter是集成在内核中的,用来定义存储各种规则的。Iptalbe是修改这些规则的工具,修改后存在netfilter里面。数据包进入LINUX服务器时,先进入服务器的netfilter模块中进行判断处理。 Netfilter包含有三种表,三种表下共转载 2015-05-29 17:34:16 · 487 阅读 · 0 评论 -
Openssl 编程入门之 ssl编程
什么是 SSL?SSL 是一个缩写,代表的是 Secure Sockets Layer。它是支持在 Internet 上进行安全通信的 标准,并且将数据密码术集成到了协议之中。数据在离开您的计算机之前就已经被加密,然后只有 到达它预定的目标后才被解密。证书和密码学算法支持了这一切的运转,使用 OpenSSL,您将 有机会切身体会它们。理论上,如果加密的数据在到达目标之前被截取或窃听转载 2014-10-23 18:50:08 · 2849 阅读 · 0 评论 -
MDK中使用C++的发现
MDK中使用C++的发现 ·对象:MDK安装目录中的c++ 例程C:\Keil\ARM\Examples\C++\Example1·问题:例程中如何将标准输入cin、输出cout对象与硬件串口映射起来的?·发现:首先,main()前有一段说明上面说的是Serial.c里面的$Sub$$__rt_entry()做了串口初始化的工作,先不管是不是它说的那样,看main里面并原创 2014-09-15 17:44:45 · 2965 阅读 · 0 评论 -
【面向对象程序设计之CRC】CRC卡及其应用
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/1.什么是 CRC card?CRC (Class-Responsibility-Collaborator) Card是目前比较流行的面向对象分析建模方法。在CRC建模中,用户、设计者、开发人员都有参与,完成对整个面向对象工程的设计。CRC卡是一个标准索引卡集合,包括三个转载 2014-09-26 15:40:05 · 5318 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总2
一.找错题试题1:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );} 试题2:void test2(){ char string[10],str1[10]; int i; for(i=0; i10;转载 2014-04-17 14:32:49 · 564 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总
1.求下面函数的返回值( 微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用转载 2014-04-17 14:31:41 · 543 阅读 · 0 评论 -
Valgrind基本使用说明(具体说明见user manual)
Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,是公认的最接近Purify的产品,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务——调试,分析,或测试等。Valgrind可以检测内存泄漏和内存越界,还可以分析cache的使用等,灵活轻巧而又强大。 一 Valgrind概观Valgrind的最新版是3.2.3,该版本包含下转载 2014-04-16 14:00:12 · 830 阅读 · 0 评论 -
HTTP协议详解(真的很经典)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不转载 2014-03-28 19:34:30 · 635 阅读 · 0 评论 -
LINUX core dump详解
1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.2. gdb:有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字转载 2014-03-27 17:14:46 · 594 阅读 · 0 评论 -
ubuntu下开启SSH服务
ubuntu开启SSH服务SSH分客户端openssh-client和openssh-server如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-serversudo apt-get inst转载 2013-10-25 16:17:12 · 590 阅读 · 0 评论 -
Linux下的Source Insight -- KScope
相信很多人在做软件开发时都会碰到这样的情况:在Windows平台用SourceInsight编写和查看代码,然后再到Linux平台编译,翻来覆去的很麻烦。那么Linux平台有没有一种类似SourceInsight的代码查看和编写的工具呢?答案当然是肯定的,Kscope就是Linux平台的Source Insight。本人的Linux平台是Fedora 7,可以支持Kscope最新稳转载 2014-02-25 15:55:18 · 1546 阅读 · 0 评论 -
数据库“长连接”与“短连接”
什么是长连接?其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。通常的短连接操作步骤是:连接-》数据传输-》关闭连接;而长连接通常就是:连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接;这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了转载 2014-03-04 12:52:25 · 1062 阅读 · 0 评论 -
UC/OS-II的内存管理OSMemCreate()分析
我们在写应用程序的过程中通常都是采用一个malloc/free系列函数进行内存的管理,这样分配的内存空间是从应用程序的栈空间分配处理,一般而言我们在写程序的过程中要对内存空间进行适时的释放,才不至于导致栈空间的不足,当然这样也会导致内存垃圾的产生,因为不同大小的内存分配因为对齐等原因导致很多的内存不能再使用,进而使得系统的可用内存越来越小,因此在实时操作系统中通常都需要创建自己的内存管理操作。转载 2014-05-06 09:38:53 · 774 阅读 · 0 评论 -
MySQL远程访问权限,同时允许远程连接和本地连接
1、登陆mysql数据库 mysql -u root -p 查看user表 www.2cto.com mysql> use mysql;Database changedmysql> select host,user,password from user;+--------------+------+----------------原创 2014-05-16 14:47:32 · 5220 阅读 · 0 评论 -
centos/linux下网卡流量监测工具 iftop 安装及使用教程
在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。安装方法1、编译安装如果采用编译安装可以到iftop官网转载 2014-06-04 09:37:13 · 872 阅读 · 0 评论 -
CC3000 Smart Config - transmitting SSID and keyphrase
Initially TI clearly documented how the SSID and password were transmitted to a CC3000 enabled device in their "CC3000 First Time Configuration" document. However with release 1.10 they changed the转载 2014-08-13 11:40:38 · 1053 阅读 · 0 评论 -
广播相关知识
广播域首先我们来了解一下广播域的概念。广播域是网络中能接收任一台主机发出的广播帧的所有主机集合。也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的其它主机都可以收到该广播帧。广播域的计算如何知道一台主机是属于哪一个广播域呢?其实计算很简单,只要用主机的IP地址与子网掩码进行与运算即可知道该主机属于哪一个广播域。例如:一台主机的IP地址为192.168.23.15转载 2014-07-22 11:05:57 · 569 阅读 · 0 评论 -
Linux下高并发socket最大连接数所受的各种限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:[speng@as4 ~]$ ulimit转载 2014-05-27 15:29:27 · 542 阅读 · 0 评论 -
centos服务器抓马经历
第一给公司弄服务器没到一个星期就中转载 2014-06-09 10:54:47 · 1399 阅读 · 0 评论 -
scp命令使用
\svn 删除所有的 。svn文件find . -name .svn -type d -exec rm -fr {} \;linux之cp/scp命令+scp命令详解 2011-03-09 17:27:22| 分类: Linux | 标签:linux cp scp commond |字号 订阅转载 2014-06-09 13:46:56 · 1050 阅读 · 0 评论 -
CentOS 6 的安全配置(CentOS Linux服务器安全设置)
CentOS 6 的安全配置(CentOS Linux服务器安全设置)转载 2014-06-06 11:05:06 · 923 阅读 · 0 评论 -
wireshark 简明教程
正如您在Wireshark教程第一部分看到的一样,安装、运行Wireshark并开始分析网络是非常简单的。 使用Wireshark时最常见的问题,是当您使用默认设置时,会得到大量冗余信息,以至于很难找到自己需要的部分。过犹不及。这就是为什么过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。--捕捉过滤器:用于决定将什么样的信转载 2014-05-23 14:11:29 · 569 阅读 · 0 评论