- 博客(28)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
转载 C++中的Boost智能指针详解
详解C++中的Boost智能指针2010-12-17 10:07 sld666666 博客园 我要评论(0) 字号:T | T今天我们要介绍boost中的智能指针的使用。对于内存管理,C++中有两个实现方案: 垃圾回收机制和智能指针。而智能指针被认为是解决C++内存问题的最优方案。AD:2013云计算架构师峰会超低价抢票中这篇文章
2016-10-31 23:29:59 355
转载 C++虚函数实现原理
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我
2016-10-31 23:15:52 294
转载 字符那些事
一、编码是什么编码为了某种目的把信息从一种形式集合转换为另一种形式集合的过程,古时的鸣金收兵,从某种意义上讲也是一种编码,将帅发出了退兵的命令,为了让更多的人能够知道这个命令,传令兵把这个信息转换为了锣声,传递了出去与编码相对的还有解码,解码是根据某种规则将信息恢复到原状的过程,士兵之前都接收过训练,在听到锣声之后,明白到锣声代表退兵,便开始执行这一命令。旗语,电报中的莫斯电码等等,这
2016-10-21 21:35:02 414
原创 AES CBC方式下补齐方式
AES一般是16个字节为一块,然后对这一整块进行加密,如果输入的字符串不够16个字节,就需要补位,当然如果你使用NoPadding就木办法了填充方式需要比较下 才更加清楚: AES加密模式和填充方式(其实还有还几种填充方式没写上,开始时候也在这里绕了一下) 算法/模式/填充 16字节加密后数据长度 不满16字节加密后长度AES/CBC/NoP
2016-10-21 00:44:47 11736
转载 AES 五种加密方式ECB、CBC、CTR、CFB、OFB
From: http://www.cnblogs.com/starwolf/p/3365834.html?utm_source=tuicool&utm_medium=referral分组密码有五种工作体制:1.电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式(Cou
2016-10-21 00:08:02 7532 1
转载 本地存储密码的安全设计
有些应用需要把用户密码保存在本地,本方案设计了一种较为安全的密码本地存储的方案。1 安全要求1.1 要实现的防止攻击者得到用户密码的明文防止攻击者拿到自动登录token后,一直都可以登陆即使两个用户的密码相同,服务器保存的密文密码也不一样可在服务器端清除salt,让用户的自动登录token失效,需手动登录用户在多个终端登录同一个帐号,各终端的自动登录功能都生效1.2
2016-10-16 09:50:45 2722
转载 IP、NAT、DNS、CDN
有段时间我面试程序员时,喜欢问这个问题:局域网IP有哪些IP段?由这个问题再追问NAT(网络地址转换)。 为什么不是每个设备一个公网IP?先说个关于QQ的小故事,最早开发QQ时,小马哥他们也没想到QQ会发展成中国互联网基础设施,就用4字节整形表示QQ号了。早期内部的一些项目有用int表示QQ号,能表示的最大值是2^31-1,即21亿多。在QQ号发放近20亿时,腾讯内部搞了个22亿QQ号
2016-10-15 23:30:33 1159
转载 简单的文本协议、二进制协议
写网络程序躲不过协议,协议其实就是定义了消息的格式,以及消息是如何交换的。协议可简单可复杂,复杂精密如TCP协议,简单奔放如HTTP的协议。这里将我所接触到的协议稍微总结一下,最后抛出一个个人设计的简单通用的文本协议。设计一个协议不是一件很容易的事情,尤其是当对设计的要求包含很好的描述性和可扩展性的时候。如果再将效率考虑在内,则更是件耗脑力的活。在继续讨论下去之前,先看看现有的一些
2016-10-15 22:46:17 2475 1
转载 Linux系统下挂载Windows分区的方法和技巧
有两种方法访问WindowsXP系统下分区,可以进入Linux后进行手工配置,也可以配置系统脚本,每次系统启动后自动挂接Windows分区,这样每次进入Linux后就可以直接看到WindowXP分区。一、手动配置方面:1、进入linux后,打开shell终端,也就是命令行。2、为你即将挂接的windows分区指定一个文件夹,因为所有的系统分区在linux内都是以文件形式记录和查看的。所
2016-10-15 22:37:05 4206 2
转载 GZIP数据格式讲解
背景:协议解析时,碰到二进制数据,有些内容可以识别的,比如说带着特征1F8B08:代表着gzip数据出现了故想了解下gzip是怎么回事!From:http://www.tuicool.com/articles/YRzqUvGZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是
2016-10-15 21:58:07 5624
转载 ProtoBuf解析介绍
Protobuf是Google开源的一款类似于Json,XML数据交换格式,其内部数据是纯二进制格式,不依赖于语言和平台,具有简单,数据量小,快速等优点。目前用于序列化与反序列化官方支持的语言有C++,C#, GO, JAVA, PYTHON。适用于大小在1M以内的数据,因为像在移动设备平台,内存是很珍贵。使用方法也比较简单:定义用于消息文件.proto使用protobuf的编译器编译
2016-10-14 00:38:33 1037
转载 ProtoBuf入门
From:http://www.open-open.com/lib/view/open1418518348136.html背景:碰到一个协议,使用了ProtoBuf,就想对此做个了解!:)正文:protobuf全称Protocol Buffers,是google推出的一种高效,快捷的数据交换格式,和XML,Thrift一样,都是一种数据交换协议(当然thrift还提供rpc的功能)
2016-10-14 00:32:37 1479
原创 获取linux系统电脑网卡mac地址
Reference:http://blog.itpub.net/291731/viewspace-694141/借鉴下别人的内容出于工作中涉及到需要获取linux系统的 也就是我的大老婆的mac地址,所以整理了下1. ifconfig -a 其中 HWaddr字段就是mac地址 结果表明:并没啥卵用 引用的论文需要更新了 当然windows下你试试 i
2016-10-13 23:42:08 451
原创 kali 配置apache CGI运行失败记录
首先得说 用了菜鸟教程的cgi python3程序实验了下 完蛋 没成功!好吧 得先找错!一、cgi相关1、Content-type: text/html需要一个这样的头! 二、python使用1、meta charset 后面的值因为有“需要转码 一时疏忽给忘了 报internal server error!三、apach
2016-10-13 00:10:58 1171
转载 对于str.translate的介绍 python
translate的用法如下: bstr = astr.translate(strtable,delete) astr是一个需要被转换的字符串,strtable是一个翻译表,delete包含的字符在astr中需要被移除,移除后剩下的字符经过翻译表得到bstr。 翻译表是什么呢?翻译表是通过maketrans方法转换而来,其原型如下:
2016-10-11 21:40:55 730
翻译 MQTT协议中信息长度MSG len字段分析
截图自:主要是说数据字节长度的计算:每个字节由1个持续位和7个数据位组成:如果持续位为1,表示接下来的一个字节仍然表示长度的一部分7个数据位表示的数据 0-127 共计128个数字所以如上图的表格所示 1个字节,2个字节,3个字节,4个字节的数据范围切记:MQTT长度的表示范围 最多使用4个字节 故这里存在着数据长度的限制 (不过真心牛掰! 试试QQ你就知道,Q
2016-10-11 21:07:34 11213
转载 linux下软件安装的一般步骤(转)
目录一、解析Linux应用软件安装包二、了解包里的内容三、搞定使用tar打包的应用软件四、搞定使用rpm打包的应用软件五、搞定使用deb打包的应用程序一、解析Linux应用软件安装包(回目录)通常Linux应用软件的安装包有三种: tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。rpm包,如softwa
2016-10-09 22:46:28 507
转载 python IDLE的执行py文件
Import在IDLE下也可以用import来运行文件。如运行test.py文件:improt test但是对于一个文件,improt只能在第一次导入时运行文件。在第一次导入之后,其他的导入都不会再工作,甚至在另一个窗口中改变并保存了模块的源代码文件也不行。实验了下,发现重启IDEL后依然不行。这是有意设计的结果。导入是一个开销很大的操作以至于每个程序不能够重复多于1次。Reloa
2016-10-08 22:21:47 3429
转载 Python IDLE入门
IDLE是Python软件包自带的一个集成开发环境,初学者可以利用它方便地创建、运行、测试和调试Python程序。一、IDLE的安装实际上,IDLE是跟Python一起安装的,不过要确保安装时选中了“Tcl/Tk”组件,准确地说,应该是不要取消该组件,因为默认时该组件是处于选中状态的。(linux系统下安装命令 apt-get install idle)二、IDLE的启动
2016-10-08 22:18:00 804
转载 程序猿媳妇儿注意事项
十一年前我和程序猿第一次见面,还是大一军训期间。我甚至不确定程序猿是否记得那是第一次见面。当时不小心装伪文艺参加了吉他社,想借一本吉他入门书,然后同在吉他社热心的海哥说他一同学有,就带着我去拿书了。于是我们第一次“见面”了,我只看见一个对着电脑,佝偻着背的背影......严重怀疑程序猿根本没抬头看一眼那个已经晒得像反转熊猫一样的妹子,因为他递过来书以后,又迅速投入到了电脑的怀抱,相对应的,我也不记
2016-10-08 22:02:49 271
原创 安装kali linux 之疯狂折腾
1、安装kali 先去官网下载镜像 注意下的对应自己的机型 amd64的就下amd64的版本的 https://www.kali.org/2、下载好了 就写入镜像 随你用光盘还是U盘 我用的U盘 制作启动盘软件用了好几种 都差点把我u盘给烧坏了 心疼下 推荐两种吧 一个win32diskImager、还有一个ultr
2016-10-07 21:33:36 5147
原创 win10 gpt分区+uefi引导 卸载双系统ubuntu
1、首先暴力卸载ubuntu在win10里面磁盘管理中找到对应的linux磁盘分区 删除卷OK2、重启 出现下面(根据机型不同界面可能不一样 )3、exit 退出grub引导 进入uefi引导 选择win10引导项4、进入win10 下载easyUefi工具 清楚多余的ubuntu引导选项
2016-10-06 17:58:44 29892 10
转载 epoll和select区别
先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:1.使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创
2016-10-03 00:39:27 347
转载 select poll epoll之间的区别比较
select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到
2016-10-03 00:36:42 203
转载 TCP可靠传输详解
TCP提供了可靠的传输服务,这是通过下列方式提供的:分块发送:应用数据被分割成TCP认为最适合发送的数据块。由TCP传递给IP的信息单位称为报文段或段(segment)定时确认重传:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几
2016-10-03 00:24:13 4778
转载 序列号SYN+确认号ACK
处于对于wireshark中的SYN和ACK如何计算出来的疑惑 找的这篇译文!From: http://blog.csdn.net/a19881029/article/details/38091243原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/
2016-10-02 22:46:37 6397
原创 kali linux的一些软件源
网易debian源:deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http://mirrors.163.com/debian/ jessie-updates main non-free contribdeb http://mirrors.163.com/debian/ jessie-backpo
2016-10-02 22:40:35 747
原创 kali linux的安装以及后续操作
目的:想学下网络安全等方面的知识 所以安装了kali linux 因为里面集成了 很多有用的工具 非常方便1、应为想要安装VMware里面的虚拟机 所以找一个虚拟镜像就行下载url: https://www.kali.org/downloads/ 这里面可以找到你想要的 我直接下了最新版的2、下载完了需要验证下iso是不是正确的shasum kali-linux_XX
2016-10-02 21:31:28 1004
cv3.4.4.cache.tar.gz
2020-01-17
notepad++的插件
2016-11-02
http协议传输的数据是二进制的 怎么将其解析出来
2016-10-10
C#怎么将大量的数据存放进MSSQL数据库中
2016-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人