转载
Thrift and protobuf
摘要:
最近工作需要保存一些结构化的数据。常规的思路,自然是选择xml。定义一个schema,然后再找个利落点的XML库(觉得tinyxml/tinyxml++ 就挺不错的)就算问题解决。这两天blog上比较热闹的话题,是从Google放出来的Protocol buffers ,一种用来部分替代xml的数据描述语言。Google就是Google,就算是推白菜出来,也一样能让人侧目。其实protocol buffers也不是什么新鲜的概念,且不说传统的ASN.1, ICE这些有点类似的东西,facebook一年前就推出了thrift ,应该说定位是非常的接近的。也有谣传说是先有了protocol buffers在google内部流行,然后google的人跳槽到facebook,就出了thrift这个东西
阅读全文
小创意
摘要: Milk 设计公司提供了一个超级简单的方法,将不用的塑料瓶、玻璃瓶变成一个优雅的花瓶,或者是任何容器。这个套筒由硅胶制作,可以容纳不同大小的容器。
阅读全文
posted @
2011-11-01 10:18 日需博客 阅读(2062) |
评论 (0) 编辑
(Chrome扩展)Google发布远程桌面控制扩展Chrome Remote Desktop BETA
摘要: 如果你迫不及待地想帮女同学修电脑,但又极不情愿到对方家里提供上门服务,你不用纠结了。Google给你提供了一个远程控制工具。
Chrome Remote Desktop BETA是Google刚刚发布的一个远程桌面控制工具,可以让你通过Chrome浏览器或者Chromebook上网本远程访问另一台电脑。
该测试版产品采用了“Chrome远程”技术,有了它,你可以访问另一台电脑,并与之分享内容,你所要做的就是输入一个一次性的授权码。
阅读全文
posted @
2011-10-10 09:17 日需博客 阅读(2565) |
评论 (0) 编辑
花78美元,人人都可以拥有一台智能手机驱动的机器人Romo
摘要: Romo将由硬件和软件组成。硬件包括上面图片中你可以看到轮子,电板,智能手机接口,锂电池等。软件将由一系列手机应用构成,也就是说开发者可以为智能手机开发相关的应用来延伸该机器人的功能。
目前初期Romo正在开发的应用包括3款:一款是RomoRemote——遥控该机器人,你可以通过手机上的摄像头查看机器人周围的情况,也就是具有了间谍功能。Romo Kart:攻击应用,通过该应用你可以向机器人发出攻击命令,主要可以用于和同伴比赛玩耍。Drag and Drop Programming Module:你可以直接在你的智能手机上编程,并看着该机器人执行你的命令。
阅读全文
posted @
2011-10-09 13:28 日需博客 阅读(2769) |
评论 (2) 编辑
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
摘要: 为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统。众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为LNMP(Linux+Nginx+MySQL+PHP with fpm),这是因为Nginx采用基于事件机制的I/O多路复用思想设计,在高并发情况下其性能远远优于默认采用prefork模式的Apache,另外,相对于Apache,Nginx更轻量,同时拥有大量优秀的扩展模块,使得在Nginx上可以实现一些美妙的功能。
阅读全文
posted @
2011-10-09 09:42 日需博客 阅读(1507) |
评论 (1) 编辑
加州大学:50美元+iPhone=350倍医学显微镜
摘要: 加州大学的一个研究小组进行的一项试验发现花不到50美元就可以将iPhone变成一个能放大350倍的医学显微镜。
他们是这样做的:将一个1毫米球透镜用胶带和橡皮筋附着到iPhone的透镜组外。虽然这个小小的球透镜只能产生5倍放大的效果,但是其却能创建一个很小的焦点使得我们能看清大约1.5微米的细节。然后经过失真处理并且结合多张图片的聚焦区域,你就可以得到比较清晰的放大到350倍的图像了。通过该图像你甚至可以鉴定细胞的类型,数量以及光谱读数。
阅读全文
posted @
2011-10-08 16:50 日需博客 阅读(2146) |
评论 (1) 编辑
VNC远程管理Linux服务器安全指导
摘要: 在开源领域,远程遥控技术的代表就是VNC了。VNC(Virtual Network Computer,虚拟网络计算机)是一套由AT&T实验室开发的可操控远程计算机的软件。根据主控端与被控端的不同,VNC软件可以分为两个部分,分别为VNC Server与VNC viewer。前者是安装在被控制端上,而后者被安装在主控端上。VNC软件不仅是开源的,而且是跨平台的。有不少系统管理员喜欢在Windows平台上使用这个VNC来作为远程管理Linux服务器或者客户端的工具。
阅读全文
posted @
2011-10-08 09:11 日需博客 阅读(1899) |
评论 (1) 编辑
我们的网站压力究竟在哪里
摘要: 目前网站架构一般分成负载均衡层、WEB层和数据库层,我其实一般还会多加一层,即文件服务器层,这样我们在后面的讨论过程中,我们可以依次对这四层进行讨论;这里为了更具有说服力,我将用三个并发较大的生产环境来说明下,一个是我现在维护的电子商务网站(并发最大值2000,日PV500万左右,此并发并不是总这么高的,只是最高峰是有2900,下面的网站类似)、我的一拍网网站(并发最大值500,日PV50万左右)、以前维护的大型CDN广告网站(并发最大值5000,日PV5000万左右)。
阅读全文
posted @
2011-10-08 09:08 日需博客 阅读(375) |
评论 (0) 编辑
使用iptables实现NAT转发功能
摘要: 本文案例中,我们假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是私网IP,通过该私网IP用户无法向外发布信息。但是,部分用户要求建立自己的WWW服务器对外发布信息。
我们可以在防火墙的外部网卡上绑定多个合法IP地址,然后通过ip映射使发给其中某一个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。
阅读全文
posted @
2011-10-08 09:02 日需博客 阅读(748) |
评论 (0) 编辑
细数那些运行在微软平台上的NoSQL数据库
摘要: 从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra。此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Redis。但目前仅有少量的NoSQL项目支持在Windows平台上运行,如果要说到生产应用那就更少了。
阅读全文
posted @
2011-09-30 09:42 日需博客 阅读(1837) |
评论 (0) 编辑
谈谈对于企业级系统架构的理解
摘要: 在我们刚开始学习架构的时候,首先会想到分层的概念,分层架构比较经典的是三层架构,那么,什么是三层架构呢?它包括表现层,业务层,数据访问层;而对于一个新手来说,从抽象意义上的三层架构,逻辑上就划分为三个层。
阅读全文
posted @
2011-09-30 09:26 日需博客 阅读(239) |
评论 (0) 编辑
C# HttpWebRequest 通用类(二)
摘要: using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
namespace HttpWeb
{
///
/// Http操作类
/// 阅读全文
posted @
2011-09-28 13:52 日需博客 阅读(4354) |
评论 (0) 编辑
C# HttpWebRequest 通用类(一)
摘要: /*
使用方法:
MyHttp loHttp = new MyHttp();
string lcHtml = "";
loHttp.HandleCookies = true;//操作Cookies
loHttp.Method = "GET";
lcHtml = loHttp.GetUrl("http://signin.ebay.com.cn/ws2/eBayISAPI.dll?SignIn&ssPageName=h:h:sout:CN");
loHttp.AddPostKey("Key", "Value");
loHttp.Referer = "http://signin.ebay.com.cn/ws2/eBayISAPI.dll?SignIn&ssPageName=h:h:sout:CN";
loHttp.Method = "POST";
lcHtml = loHttp.GetUrl("http://signin.ebay.com.cn/ws2/eBayISAPI.
阅读全文
posted @
2011-09-28 13:51 日需博客 阅读(2644) |
评论 (1) 编辑
C#三种模拟自动登录和提交POST信息的实现方法
摘要: 网页自动登录(提交Post内容)的用途很多,如验证身份、程序升级、网络投票等,以下是用C#实现的方法。
网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser、WebClient、HttpWebRequest这三个。以下就分别用这三种方法来实现:
阅读全文
posted @
2011-09-28 13:40 日需博客 阅读(909) |
评论 (0) 编辑
ASP.NET 也可以做得很好 2.XSLT初识 在ASP.NET中使用XSLT
摘要: 大家说我说的跟.net一点关系都没有,可是第一篇我也说了啊,仅仅是一个HELLO的例子啊。现在哪个人不忙啊。只能一点一点的写了。。
好了,废话少说,我们先看看实际的情况,然后根据情况来写一个小小的例子吧,这次有Demo下载喽。。。
现实项目中的情况:
阅读全文
posted @
2011-09-28 10:33 日需博客 阅读(423) |
评论 (0) 编辑
SLT 入门--实际应用
摘要:
把上面的代码加入web.config文件的appSettings节点中,别问为什么...
为Request写个扩展:
阅读全文
posted @
2011-09-28 10:27 日需博客 阅读(401) |
评论 (0) 编辑
ASP.NET 也可以做得很好 1.XSLT初识 一个HELLO例子
摘要: XSL 指扩展样式表语言(EXtensible Stylesheet Language)
万维网联盟开始发展 XSL 的起因是由于对基于 XML 的样式表语言的需求。
XSLT 指 XSL 转换。XSLT 将 XML 文档转换为其他文档,比如 XHTML
概念不多讲,这里附上W3C的网址 ,希望您一定要去看看!
老规矩,先写出个能运行的程序再说。
既然XSLT是将XML文档转换为其它文档,那么我们就先建立一个XML文档吧。(名为:HelloHtml.xml)
阅读全文
posted @
2011-09-28 10:24 日需博客 阅读(245) |
评论 (0) 编辑
ASP.NET性能优化之构建自定义文件缓存
摘要: ASP.NET的输出缓存(即静态HTML)在.NET4.0前一直是基于内存的。这意味着如果我们的站点含有大量的缓存,则很容易消耗掉本机内存。现在,借助于.NET4.0中的OutputCacheProvider,我们可以有多种选择创建自己的缓存。如,我们可以把HTML输出缓存存储到memcached分布式集群服务器,或者MongoDB中(一种常用的面向文档数据库,不妨阅读本篇http://msdn.microsoft.com/zh-cn/magazine/gg650661.aspx)。当然,我们也可以把缓存作为文件存储到硬盘上,考虑到可扩展性,这是一种最廉价的做法,本文就是介绍如果构建自定义文件缓存。
阅读全文
posted @
2011-09-28 09:43 日需博客 阅读(309) |
评论 (0) 编辑
WEB快速开发工具WebMatrix 2
摘要: WebMatrix是由微软的Web快速开发工具,它包含了构建网站所需要的一切元素。用上5分钟你的代码就能从无到有。
阅读全文
posted @
2011-09-28 09:35 日需博客 阅读(555) |
评论 (0) 编辑
裸眼3D搭配1.2GHz双核 HTC EVO 3D
摘要: HTC作为谷歌Android系统最忠实的支持者之一,为我们带来了包括G1、Desire、Desire HD等非常好用的GPhone,成功的将Windows Mobile打入冷宫,HTC也凭借Android,成为了全球最出色的手机制造商之一。
阅读全文
posted @
2011-09-28 09:26 日需博客 阅读(265) |
评论 (0) 编辑
单点登录在项目中的实现
摘要: 最近在做一个登录功能,纠结了好几天,一直在找一个能优雅的实现单点登录的功能。博客园有看到某人写了又臭又长的八股文式的文章,没看到有价值的东西。
其实单点登录最终要解决的是多个不同域名间共享cookie的问题。但是要在不同域名间共享cookie是一件很困难的事情,要在某个域名下面种cookie就必须访问该
域名。网上有很多方法,看到的有动态创建iframe实现,在iframe里面访问某个域名的页面种下cookie,该方法需要写一些js代码,写起来有点累,所以我最终
选择了用页面跳转来实现,想不到效果比我预期的好很多,浏览器几乎看不出来有跳转的痕迹。
阅读全文
posted @
2011-09-27 10:54 日需博客 阅读(800) |
评论 (0) 编辑
免费商业模式完全指南
摘要: 编者按:Future Simple是一家为小商户开发在线软件的公司,其创始人兼CEO Uzi Shmilovici撰写了这篇文章。这篇文章是基于芝加哥大学布斯商学院(University of Chicago Booth School of Business)经济学教授Eric Budish的一项研究,并结合了Andreessen-Horowitz的风险合伙人和斯坦福商学院教授Peter Levine的观点和意见所作。
阅读全文
posted @
2011-09-27 09:18 日需博客 阅读(235) |
评论 (0) 编辑
史上最佳十大游戏排名
摘要: 据国外媒体报道,随着游戏行业的不断扩大,每位玩家都能获取自己希望购买的心仪游戏。棒透了的独立游戏也总是不断出现。然而,那些系列性的游戏却能使我们成为永久的“回头客”。它们用一个接一个的好游戏不断轰击我们,在世界范围内赢得了无数玩家。
阅读全文
posted @
2011-09-27 09:15 日需博客 阅读(291) |
评论 (0) 编辑
教你如何在博客里加入分享功能——分享插件(HRshare)
摘要: 下面我要用到的插件是我自己写的,关于插件地址是:jquery.HooRay——自己做的一个jquery常用工具插件。关于分享插件的制作流程我也写了篇文章,有兴趣的可以看下:自己写的一个分享按钮的插件(可扩展,内附开发制作流程)
闲话不多说,进入正题吧,大家可以看下文章最后是不是有一排分享的按钮,那个就是最终的效果了,当然不止那一种效果,一共有以下几种效果,分别是:
阅读全文
posted @
2011-09-26 10:14 日需博客 阅读(1609) |
评论 (2) 编辑
.NET中的加密算法总结(自定义加密Helper类)
摘要: 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等)。我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很多人喜欢罗列每种加密算法的具体实现,假设我们要求实现AES和Triple DES加密算法,的确可以很多地分别给出它们的具体实现。
那我们真的有必要给出每个加密算法的具体实现吗?而且这样的设计不符合OOP设计思想,最重要的是我们要维护多个加密算法啊!OK接下来让我们实行一个可扩展和好维护的加密算法Helper。
阅读全文
posted @
2011-09-26 09:48 日需博客 阅读(1037) |
评论 (0) 编辑
CentOS 6下搭建Apache+MySQL+PHP+SSL
摘要: 网上的一些文章都已经比较老了,现在版本高了之后,其实配置是很省力的(不考虑什么负载的话)
分享全过程,出了文中提到的安装epel rpmfushion 源指令不同外,其他的过程也适用与Centos 5
1.安装CentOS 6 ,可以选择最小安装,也可以安装桌面
2.升级系统
yum update
阅读全文
posted @
2011-09-26 09:39 日需博客 阅读(330) |
评论 (0) 编辑
破解邮箱密码实例
摘要: 本文介绍了如何破解E-mail邮箱以及利用获取的一个配置文件来实施滲透。在无法直接进行攻击时,邮件木马攻击以及邮箱账号破解攻击无疑是一种最佳选择。邮件木马攻击成功有两个必要条件:一是木马不被查杀,二是用户打开邮件并执行了隐藏在邮件中的木马程序。邮件木马攻击随着网民对网络安全意识的提高,其攻击成功率将会大大降低,而邮箱账号破解在破解成功后,可以很方便地了解用户的行为、获取邮件中的资料以及获取邮箱主人的个人信息等。邮箱账号破解一般有三种情况:一是用户自己忘记了邮箱密码,通过邮件服务器的“忘记密码”模块无法重新设置或者获取原密码;二是出于商业竞争或者好奇,想知道对方邮件中内容,因此对邮箱账号进行破解;三是专业性攻击,攻击邮箱获取资料、掌握个人动态以及获取个人信息等。
阅读全文
posted @
2011-09-26 09:20 日需博客 阅读(818) |
评论 (0) 编辑
十五款免费的Windows管理工具推荐(附下载)
摘要: 毫无疑问,每当提起微软服务器端使用体验的优化,大家都会不禁将目光投向微软自己的产品货架。没错,这种思路在大多数情况下都是可取的。但事实上,开源工具队伍中同样存在着大量能够为Windows Server、Exchange、SQL以及SharePoint提供支持的软件。此类替代方案往往提供——而且是免费的——了优于任何其它第三方零售产品的强大辅助功能。
微软公司自己也承认上述事实,并通过其CodePlex网站帮助此类开源工具进一步推广。而当谈起免费工具时,微软总能在这拨队伍中找出几位令人肃然起敬的精兵悍将。
总而言之,目前微软环境下的开源工具阵容是史无前例的庞大。从网络故障排查到安全保障再到性能分析,我们将开源工具队伍中基于Windows系统的十大实用产品汇总成一份名单。如果大家没有在其中看到自己所喜爱的选项,不妨在评论栏中与我们分享您的经验。
阅读全文
posted @
2011-09-26 09:13 日需博客 阅读(1273) |
评论 (0) 编辑
中国黑客产业解密:一夜赚600万
摘要: “我那朋友一夜刷库曾获利600万,第二天就买了一辆跑车过来显摆。”Chown Group(COG)倡导者李麒向记者介绍了黑客暴富的经历,李麒网名Liwrml,是中国最早的黑客组织“绿色兵团”创始人之一。昨日,由以网络信息安全领域为焦点的非营利性研究机构Chown Group主办的COG-2011信息安全论坛在上海召开,近400名“黑客和信息安全从业人员”参与,包括中国最顶级的黑客组织领袖:绿色兵团创始人 Goodwell、鹰派代表万涛、红盟代表Lion和Knownsec代表李麒等人。
阅读全文
posted @
2011-09-23 10:24 日需博客 阅读(218) |
评论 (0) 编辑
Ubuntu 11.10 Beta 2 发布
摘要: Ubuntu 11.10 的第二个测试版本已经提供下载,是不是跃跃欲试其新功能了,这只是一个测试版本,所以不推荐作为正式版本使用。你可以制作一张Live CD 或者 usb 启动盘进行测试。
这是测试版本的主要改变有:
全新的Dash;
Lenses成为Dash的一部分;
Lense细化工具
camouflage 被建立在桌面壁纸基础上的Dash, launcher 与 Panel;
Unity 桌面以最新发布的 GNOME 3 不稳定版本为基础;
还有一些新的应用,如:邮件客户端Thunderbird、备份工具DeJa Dup;
全新的登录界面LightDM,默认安装的社交客户端Gwibber;
阅读全文
posted @
2011-09-23 10:11 日需博客 阅读(252) |
评论 (0) 编辑
Fedora 15上做主从、双主模型的集群
摘要: Fedora 15上做双主模型的集群
拓扑如下所示:
----------- ----------
| HA1 |____| HA2 |
|__________| |________|
HA1:
IP:192.168.1.78/24
HA2:
IP:192.168.1.151/24
VIP:192.168.1.110
阅读全文
posted @
2011-09-23 09:59 日需博客 阅读(2308) |
评论 (1) 编辑
八种主流NoSQL数据库系统对比
摘要: 虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。
但是NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别。这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库。针对这种情况,这里对 Cassandra、 Mongodb、CouchDB、Redis、 Riak、 Membase、Neo4j和HBase进行了比较:
(编注1:NoSQL:是一项全新的数据库革命性运动,NoSQL的拥护者们提倡运用非关系型的数据存储。现今的计算机体系结构在数据存储方面要求具 备庞大的水平扩 展性,而NoSQL致力于改变这一现状。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。 参见NoSQL词条。)
阅读全文
posted @
2011-09-22 14:02 日需博客 阅读(289) |
评论 (0) 编辑
最新基于HTML5的移动操作系统Carbyn
摘要: 基于HTML5的Carbyn最大的特点是无需安装任何东西,你只需打开一个浏览器然后登录到Carbyn,就可以开始使用了。Carbyn团队向我在iPad上和在黑莓PlayBook上演示了该系统,而且据他们说,很快在智能手机上也能用Carbyn了。
阅读全文
posted @
2011-09-22 13:37 日需博客 阅读(1797) |
评论 (3) 编辑
移动互联网的第二个苹果:HTML 5
摘要: 乔布斯的苹果重新定义了移动互联网,HTML5有望成为第二个苹果。它被公认为下一代的Web语言。它被喻为终将改变移动互联网世界的幕后推手。
2010年2月,苹果发布iPad时,就表示已支持HTML5。今年1月,其新官网上线,已完全使用HTML5。7月,苹果更是收购了html5.com的域名。谷歌的Youtube已部分使用HTML5,Chrome浏览器率先宣布全面支持HTML5的浏览器之一。前不久,微软也投入HTML5的怀抱,IE9开始对其支持。至此,世界三大移动互联网巨头都支持了HTML5。Facebook则在加紧移动Web应用商店的探索步伐。而UCweb的俞永福(微博)坚定地认为HTML5的到来将为手机浏览器带来新生。
巨头们都对HTML5顶礼膜拜,我们有何理由说不呢?
阅读全文
posted @
2011-09-21 15:24 日需博客 阅读(168) |
评论 (0) 编辑
SQLite3 C/C++ 开发接口简介
摘要: 1.0 总览
SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的:
l 支持UTF-16编码.
l 用户自定义的文本排序方法.
l 可以对BLOBs字段建立索引.
因此为了支持这些特性我改变了数据库的格式,建立了一个与之前版本不兼容的3.0版. 至于其他的兼容性的改变,例如全新的API等等,都将在理论介绍之后向你说明,这样可以使你最快的一次性摆脱兼容性问题.
阅读全文
posted @
2011-09-21 15:12 日需博客 阅读(1058) |
评论 (0) 编辑
用SELinux保护你的Apache
摘要: 你的Web服务器确实有可能遭受攻击,但是SELinux可以用来确保你的网站不用承受真正的伤害。
你可以运用SELinux类型来创建一个确切定义:一个服务可以做什么和它在哪里完成要做的事情。默认情况下,httpd_sys_content类型被设为/var/www,它规定httpd进程可以在该目录中工作。如果攻击者破坏了Apache Web服务器并尝试在别处写入,就像红帽和Fedora以及CentOS等相似Linux版本的默认/tmp,你需要知道你正在处理什么。如果你配置Apache来为/data目录中的内容服务,SELinux也会默认地防止这种情况。
由于这些默认设置可能造成复杂的情况,很多Linux管理员关闭SELinux。虽然关闭SELinux的确让你的服务器提供服务时更容易,但是它还是增加了安全风险。
阅读全文
posted @
2011-09-20 14:18 日需博客 阅读(277) |
评论 (1) 编辑
如何用iptables实现Linux下强大的NAT功能
摘要: 本文主要介绍如何使用iptbales实现linux2.4下的强大的NAT功能。关于iptables的详细语法请参考“用iptales实现包过虑型防火墙”一文。需要申明的是,本文绝对不是 NAT-HOWTO的简单重复或是中文版,在整个的叙述过程中,作者都在试图用自己的语言来表达自己的理解,自己的思想。
阅读全文
posted @
2011-09-20 14:11 日需博客 阅读(261) |
评论 (0) 编辑
轻量级Web服务器Nginx 1.1.2 发布
摘要: Nginx(发音同 engine x)是一款在BSD-like协议下发行的轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师 Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。Nginx特点是占有内存少,并发能力强,事实上 Nginx的并发能力确实在同类型的网页服务器中表现较好。
目前中国大陆使用Nginx网站用户有:新浪、网易、腾讯,另外知名的微网志Plurk也使用Nginx。
阅读全文
posted @
2011-09-20 14:01 日需博客 阅读(302) |
评论 (0) 编辑
完美安装CentOS + Nginx + PHP-FPM + MySQL
摘要: PHP 5.3.1
MySQL 5.0.89
Nginx 0.8.33 或 0.7.65 (可选)
现在,我们可以快速全自动搞定 CentOS + Nginx + PHP-FPM + MySQL 的安装了
这个可比网上流传的什么一键安装包要好得多,强烈推荐此法安装,适合所有菜鸟和高手
我服务器上全用的源代码编译安装,也好不到哪去,还很费劲
阅读全文
posted @
2011-09-20 13:49 日需博客 阅读(382) |
评论 (0) 编辑
国外十大黑客去向大揭秘
摘要: 俗话说,“如果你不能打败它,那就变成它。”对于很多管理人员来说,可以将这句话改为“如果你不能打败它,那就利用它。 ”有很多黑客以善于发现并利用漏洞而著称,他们被某些大型企业高薪聘请,帮助这些企业完善产品设计和发现问题。Facebook 拥有业界知名的“创意交流会”(hackathons)社区,人们夜以继日地编写代码,并相互之间展开深入讨论,Facebook也一度引 以为豪的成为黑客技术的交流平台之一。尽管后来有很多黑客成立了自己的安全咨询公司,但还是有不少黑客成为了政府、非营 利机构、私营企业的一分子。据估计,网络上的黑客有四分之一已经被美国政府说收买。不过,有些管理者对聘请黑客持谨慎态度,他们不仅担心会影响自身的声誉,同时还担心影响自身信息安全。有些人则认为,应该为这些才华横溢的特殊雇员提供足够 的挑战,以长久保持他们的忠诚度。下面,我们从国外网站上摘录汇总了一些为大名鼎鼎的企业机构卖命的黑客。
阅读全文
posted @
2011-09-20 09:14 日需博客 阅读(2656) |
评论 (1) 编辑
C#.net连接Mysql的类库
摘要: 微软的visual studio没有自带连接Mysql的驱动,要去网上下载一个mysql-connector-net-6.4.3驱动,然后安装就可以使用。
下面是我封装好的连接数据库的类,直接调用即可。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using MySql.Data.MySqlClient;
阅读全文
posted @
2011-08-24 00:09 日需博客 阅读(3147) |
评论 (0) 编辑
GDI+ for VC6 MFC
摘要: 五年前,笔者曾在C#中使用GDI+开发程序,对其颇有好感。这一段时间,在使用VC6作图时,深切感会到使用GDI的种种不便,不比GDI+好用。沉迷于VC6的高效与轻便,不想只为了一个GDI+而被迫安装沉甸甸的.Net,便产生了一个疑问,难道GDI+只能用于.Net中吗?
访问微软的MSDN网站后,随即解开了此谜。于是便有了此文 – 如何在VC6 MFC中使用GDI+。
阅读全文
posted @
2011-08-23 09:10 日需博客 阅读(2831) |
评论 (6) 编辑
用C#制作印章
摘要: 制作印章来说,主要是如何让字均匀的显示在弧线段上,那么一般的印章要么以圆或者椭圆为底图,不过这两者的算法大致相同,为了方便说明,如下就用相对简单的圆来举例说明,如果需要做椭圆的话,可以在我的基础上进行扩展,因为核心算法是一样的,相对于圆来说,椭圆求弧长以及各个字符的位置,这两点相对麻烦些,但是这两者都可找到相应的数学公式。
阅读全文
posted @
2011-08-19 17:45 日需博客 阅读(1625) |
评论 (1) 编辑
ARP欺骗 C++实现
摘要: 前段时间我们学校的的网络总是出现掉线的问题,后来说是ARP欺骗,要我们用ANTIARPSNIFFER。小弟不才,
也想搞清楚这个ARP欺骗到底是个什么东西。于是在网上查了点资料,看了点文档。也算是DIY了一个出来,而
且可以不被ANTIARPSNIFFER发现的让对方主机在网络中死掉。于是把这个小东西贴出来让大家一起把玩一下。
在下菜鸟一只,还请高手指教
参考资料:《TCP/IP详解II:实现》,《WINPCAP 3.0 DOC》,《交换网络中的嗅探和ARP欺骗》(一位叫RefDom
的大哥很久前写的帖子)
阅读全文
posted @
2011-08-19 11:55 日需博客 阅读(4843) |
评论 (0) 编辑
Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open处理
摘要: 之前已经在freebsd主机登陆到dreamhost.com的ssh密钥实验是成功的,参考网址
http://wiki.dreamhost.com/SSH#Passwordless_Login
但今天尝试把密钥放到debian系统的/root/.ssh/id_rsa中,然后在debian的终端界面输入
ssh xxxx@xxxx.dreamhost.com
这样就出现 Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open. 等错误显示了,经google查询下,原来只要把权限降到0600就ok了
输入命令
chmod 0600 /root/.ssh/id_rsa
然后再
ssh xxxx@xxxx.dreamhost.com
这样就可以密钥登陆了.
阅读全文
posted @
2011-08-19 01:42 日需博客 阅读(12702) |
评论 (0) 编辑
用OpenSSH构建SSH服务器
摘要: SSH服务和Telnet服务一样,通过远程登录登录到系统,在远程操控系统。但它与Telnet的不同点就是:Telnet在传输的过程中是平文传输,而SSH是将传输内容加密,在传送的过程中保证了传送内容的保密性,从而提高了系统的安全性。
在这里,我们不准备将SSH服务作为用户上传下载文件的工具。我们只用SSH服务的开通为远程管理系统提供方便。另外在用户认证方式上,为了服务器和用户的安全,禁止用户密码的认证方式,而基于“钥匙”的方式。
阅读全文
posted @
2011-08-16 18:54 日需博客 阅读(280) |
评论 (0) 编辑
C#中使用XSLT文件将XML文档转换为HTML
摘要: 1.创建XSLT文件,定义格式;
2.在C#中使用XslCompiledTransform对象的load()方法加载XSLT文件;
3.使用Transform()方法转换XML文档。
阅读全文
posted @
2011-08-15 09:53 日需博客 阅读(842) |
评论 (0) 编辑
Windows平台下的内存管理
摘要: 1. Windows平台下主要的内存管理途径
申请
释放
new
delete
malloc
free
CoTaskMemAlloc
CoTaskMemFree
IMalloc::alloc
IMalloc/free
GlobalAlloc
GlobalFree
LocalAlloc
LocalFree
HeapAlloc
HeapFree
VirtualAlloc
VirtualFree
阅读全文
posted @
2011-08-15 09:21 日需博客 阅读(458) |
评论 (0) 编辑
malloc,new,VirtualAlloc,HeapAlloc性能(速度)比较
摘要: 这里比较的VC++编译的C++代码中的性能
我用的是VC6.0测试的
就不介绍这几个的用法了
我写了一段简单的测试代码
测试结果是:
malloc:390
new:391
VirtualAlloc:454
HeapAlloc:47
阅读全文
posted @
2011-08-15 09:19 日需博客 阅读(1309) |
评论 (2) 编辑
IIS Express refuses to start
摘要: "Starting IIS Express...
Report ListenerChannel stopped due to failure; ProtocolId:http,ListenerChannelId:0
HostableWebCore activation failed.
Unable to start iisexpress.
The interface is unknown.
For more information about the error, run iisexpress.exe with the tracing switch enabled."
阅读全文
posted @
2011-08-12 22:05 日需博客 阅读(1574) |
评论 (0) 编辑
IIS Express 的配置、使用和注意点
摘要: VS2010的SP1引入了IIS Express支持,这是值得高兴的事情……因为自带的ASP.net Development Server只能单站点运行、不能设置虚拟目录、多少个项目就会出现多少个等等等等巴拉巴拉,我对它恨之入骨,总之,很长一段时间内我进行开发实际上都是用IIS的。但是用IIS有不方便的地方,就是必须开启IIS Admin服务,而且VS必须以管理员模式运行才能正常打开项目和调试。每次都以管理员模式启动已经比较麻烦了,比较郁闷的是,以管理员模式启动的vs处于特权状态,所以程序间的文件拖放就失效了……换句话说,如果我想从资源管理器中直接拖一个文件到vs中打开,就办不到了。
阅读全文
posted @
2011-08-12 21:38 日需博客 阅读(848) |
评论 (0) 编辑
LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)
摘要: 只在vps服务器搭建vpn线路,显然有些浪费。比如还可以在Linux的vps服务器上安装lnmp网站服务器。
LNMP是指在linux系统下安装Nginx服务器、Mysql数据库、Php (Phpmyadmin)。安装LNMP过程很简单,另外也有LNMP一键安装包,因此甚至不需要进行一些LNMP配置,网站服务器就可以工作了。但是lnmp一键安装的缺点是如果安装过程出现了问题,配置起来就困难很多了。
为什么不用lamp,即没有采用Apache服务器的原因是该VPS配置性能不高,跑apache服务器将会非常吃力。而Nginx是一个高性能的http、反向代理服务器,Nginx的特点就是轻便和高性能,非常适合低配置的VPS搭建网站服务器。下面是远方博客在CentOS系统下安装和配置LNMP、安装FTP服务器vsftpd、并搭建wordpress博客网站的过程,记录供备忘并交流。
阅读全文
posted @
2011-08-12 00:27 日需博客 阅读(2203) |
评论 (0) 编辑
VPS构建web服务器介绍
摘要: 廉价的VPS都不约而同的会提供Linux的系统,并在控制面板上也会提供各种Linux系统的Reinstall,比说说经典的Redhat、Debian、Centos、Fedora 还有Ubuntu。选择什么系统的话,还是因人而异,很多玩Linux服务器的老手都会推荐Centos,因为相对比入手简单特别是国内有关的中文教材比较多,个人比较喜欢Debian,Debian占用资源很少,稳定性也不错,可惜国内有关的教程不多。。而至于源于Debian 的 Ubuntu,虽然在使用上比Debian方便多,但是也存在很多问题,桌面版本的系统使用起来相当的舒服,就是服务器系统的使用,个人不倾向Ubuntu。理论上64位的系统要比32位的要快,但是在廉价VPS母机的有限硬件条件下,其实差别甚微。
阅读全文
posted @
2011-08-12 00:11 日需博客 阅读(270) |
评论 (0) 编辑
git命令快速参考
摘要: 1. 创建一个新的版本库
从一个压缩包中创建:
$ tar xzf project.tar.gz
$ cd project
$ git init #Initialized empty Git repository in .git/
$ git add .
$ git commit
阅读全文
posted @
2011-08-11 11:50 日需博客 阅读(419) |
评论 (0) 编辑
免费申请ssl证书,web服务器适用
摘要: 越来越多的企业需要使用SSL进行加密的web访问服务,如:webmail。
对于中小企业来说,如何能够拥有由正式的授权机构签发的证书,避免手动确认自签署证书的尴尬,而又能省去每年购买SSL证书服务的费用呢?
阅读全文
posted @
2011-08-10 00:14 日需博客 阅读(1983) |
评论 (0) 编辑
VC++下使用ADO编写数据库程序
摘要: 准备:
(1)、引入ADO类
#import "c:\program files\common files\system\ado\msado15.dll"
no_namespace
rename ("EOF", "adoEOF")
(2)、初始化COM
在MFC中可以用AfxOleInit();非MFC环境中用:
CoInitialize(NULL);
CoUnInitialize();
阅读全文
posted @
2011-08-09 14:21 日需博客 阅读(324) |
评论 (0) 编辑
GUI程序也能使用控制台窗口
摘要: 很多时候,调试GUI程序是很不方便的,通常的做法是使用MessageBox,但是作为一个模态窗口,它经常产生不必要的消息,比如killfocus, setfocus或者paint,从而影响调试的执行过程。当然,使用vc的调试器也不错,但是这样也很容易造成窗口切换从而产生干扰消息。
因此,如果能像在控制台程序里那样使用cin/cout对象或printf族函数,会使得调试过程方便得多。而通常,windows是不会为GUI程序产生单独的命令行窗口的。所以我们是看不到使用标准输入输出流输出的东西的。既然系统不提供,那就自己动手“造”出一个来吧!
下面是一个简单的控制台窗口对象,它可以为你的程序创建一个命令行窗口,并将stdout,stdin和stderr重定向到这个命令行窗口。在程序中建立一个这样的对象之后,就可以直接使用cin/cout/*printf来操纵这个新的命令行窗口了!5 f8 I$ l4 o- b3 L, m% h
阅读全文
posted @
2011-08-09 13:57 日需博客 阅读(594) |
评论 (0) 编辑
位运算的用处搜集
摘要: 位运算应用口诀
清零取反要用与,某位置一可用或
若要取反和交换,轻轻松松用异或
移位运算
要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。
2 " < <" 左移:右边空出的位上补0,左边的位将从字头挤掉,其值相当于乘2。
3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。
4 ">>>"运算符,右边的位被挤掉,对于左边移出的空位一概补上0。
阅读全文
posted @
2011-08-08 13:29 日需博客 阅读(261) |
评论 (0) 编辑
整合 Google 开源 C++ 代码
摘要: Google 开源了很多优秀的 C++ 程序库,本文介绍如何将其中几个整合到一起。
本文涉及的 Google 库有:
gflags - 命令行参数解析。可以完全用命令行来配置应用程序,省去配置文件。
gtest - C++ 单元测试框架
gmock - C++ 单元测试中用到的 mock
glog - 日志库
protobuf - 高效的网络协议格式
还有第三方的 libunwind 和 zlib。
阅读全文
posted @
2011-08-08 13:11 日需博客 阅读(558) |
评论 (0) 编辑
linux下automake用法
摘要: 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。
在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make install”就可以把程序安装到Linux系统中去了。这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的Toy程序,那么这个文章对你也会有很大的帮助。
阅读全文
posted @
2011-08-08 11:58 日需博客 阅读(2486) |
评论 (0) 编辑
介绍LuaPlus: 好用的Lua For C++扩展
摘要: LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。
LuaPlus目前版本为:LuaPlus for Lua 5.01 Distribution Build 1080 (February 28, 2004)。大家可以到http://luaplus.org/ 站点下载:
源码 (http://wwhiz.com/LuaPlus/LuaPlus50_Build1081.zip)
目标码 (http://wwhiz.com/LuaPlus/LuaPlus50_Build1081_Win32Binaries.zip)
介绍LuaPlus: 好用的Lua For C++扩展 沐枫网志
阅读全文
posted @
2011-08-08 11:36 日需博客 阅读(548) |
评论 (1) 编辑
非常优秀的vimrc设置
摘要: 非常优秀的vimrc设置。反正我很喜欢
" An example for a vimrc file.
"
" Maintainer: a18ccms
" Last change: 2010 03 12
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif 阅读全文
posted @
2011-08-08 11:21 日需博客 阅读(1433) |
评论 (0) 编辑
json格式入门和总结
摘要: 数据交换的格式,从结构上看,所有的数据(data)最终都可以分解成三种类型:
第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词。
第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海"。
第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如"首都:北京"。
阅读全文
posted @
2011-08-08 11:07 日需博客 阅读(399) |
评论 (0) 编辑
修改IAT实现本进程API HOOK
摘要: //修改IAT实现本进程API HOOK
//coded by xicao
//QQ:327062448
//E-MAIL:xicao54007@sina.com
#include
#include //ImageDirectoryEntryToData
#pragma comment(lib,"imagehlp.lib")
/************************************************************/
char *szModName = NULL ;
char *szHacked = "不好意思hook到了!" ;
DWORD dwHookFun ;
DWORD dwHookApiAddr;
PIMAGE_IMPORT_DESCRIPTOR pImportDesc ;
PIMAGE_THUNK_DATA32 pThunk;
U 阅读全文
posted @
2011-08-08 11:03 日需博客 阅读(1453) |
评论 (0) 编辑
经典编程书籍(C++, 网络, Windows, Linux)
摘要: 两年前就给自己列出了一个读书清单,但进展缓慢,看的经典书籍仍然寥寥可数,惭愧中......
现在将这个书单重新修改,一方面鞭策自己学习,另一方面也表达对大牛们有如滔滔江水般的敬仰之意。
书单中列举的都是相关领域的经典书籍,必读之作。此书单的编辑参考了很多网站,包括一些名家的推荐,例如侯捷,孟岩,荣耀,潘爱民等等,在此也向这些前辈表示感谢。^_^
阅读全文
posted @
2011-08-08 10:59 日需博客 阅读(580) |
评论 (0) 编辑
LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
摘要: UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。
MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文字母时就和ASCII一样(这也是我们容易把MBCS和ASCII搞混的原因),但表示其他文字时就需要用多字节。
WINDOWS下面的程序设计可以支持MBCS和UNICODE两种编码的字符串,具体用那种就看你定义了MBCS宏还是UNICODE宏。MBCS宏对应的字符串指针是char*也就是LPSTR,UNICODE对应的指针是unsigned short*也就是LPWSTR,为了写程序方便微软定义了类型LPTSTR,在MBCS下他就是char*, 在UNICODE下它是unsigned char*,这样你就可以重定义一个宏进行不同字符集的转换了。
阅读全文
posted @
2011-08-08 10:58 日需博客 阅读(607) |
评论 (0) 编辑
使用KeepAlive检测网络异常
摘要: #include "netinet/tcp.h"
int keepAlive = 1; //设定KeepAlive
int keepIdle = 30; //开始首次KeepAlive探测前的TCP空闭时间
int keepInterval = 30; //两次KeepAlive探测间的时间间隔
int keepCount = 3; //判定断开前的KeepAlive探测次数
if(setsockopt(sockfd,SOL_SOCKET,SO_KEEPALIVE,(void*)&keepAlive,sizeof(keepAlive)) == -1)
{
printf("Socket Option setting(SO_KEEPALIVE) fail !\n");
return FALSE;
}
if(setsockopt(sockfd,SOL_TCP,TCP_KEEPIDLE,(void *)&ke
阅读全文
posted @
2011-08-08 10:53 日需博客 阅读(532) |
评论 (0) 编辑
u盘/移动硬盘(usb hd)安装多种linux live CD
摘要: 如果U盘够大,可以在一个U盘安装slax,pclinuxos,Linux Mint,puppy Linux等多种live linux。移动硬盘原理相同,不做区分。
因为U盘常用来拷贝文件,fat格式在多种操作系统上通用,所以用grub4dos管理U盘引导。
把U盘格成HDD格式:
用DiskGenius 3.2把U盘格式化为USB-HDD格式,推荐使用FAT32分区;或者用U盘格式化工具(HPUSBFW.EXE )格式化为 HDD 格式。还有其它 工具如FlashBoot、 WIN PM 等。
将引导代码写入U盘mbr:
Win32下,运行grubinst_gui.exe ,在“磁盘”处选中U盘,在“选项”区选中“不保存原来的mbr”、“不引导原来的mbr”、“启动时不搜索软盘”、“输出详细信息”,点击“安装”即可。
拷贝grub4dos的grub.exe、grldr、menu.lst到u盘根目录。
现在,U盘已经可以用grub引导,把电脑设置为U盘优先引导,测试一下grub的引导。
安装linux live cd的过程分
阅读全文
posted @
2011-08-06 00:18 日需博客 阅读(1974) |
评论 (0) 编辑
Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
摘要: 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip):
最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后对一些数据进行一些加密解密的操作。
笔者之前没接触过任何加密解密方面的知识(当然,把每个字符的ASCII值加1之流对明文进行加密的“趣事”还是干过的,当时还很乐在其中。),甚至一开始连Crypto++的名字都没有听过,被BS了之后,就开始了Crypto++的入门探索过程。
最初,大概知道了要了解两大类算法中的几个算法——对称加密算法:DES、AES(后来因为人品好的缘故也了解了下非对称加密算法RSA,后文会详述何谓“人品好”);散列算法(需要通过Hash运算):SHA-256。
起初,笔者以为这样的知名算法在网上应该有很多现成的例子。笔者比较懒,对于自己不熟悉的东西,总希望找捷径,直接找别人现(在已经写)成可(编译运)行的代码然后施展ctrl + C,ctrl + V算法(咳,什么算法,是大法!!!)。
However,发觉网上的例子不是稀缺,就是只有代码没有解释。笔者觉得很难忍受这样的“莫名其妙”(奇怪的
阅读全文
posted @
2011-08-05 16:37 日需博客 阅读(1775) |
评论 (0) 编辑
Crypto++ 的使用方法
摘要: 从官方网下载的Crypto++库是开源的,只有源文件和几个可以生成lib、dll的工程,以及一个使用的例子工程,因此希望生成自己建的工程能使用的SDK。
1.编译链接生成cryptlib.lib
打开cryptest.sln,分别在Debug模式和Release模式下编译链接cryptlib工程,成功后会在cryptopp54\\Win32\\output\\debug和cryptopp54\\Win32\\output\\release下生成cryptlib.lib文件。作者当时用的是Crypto++ 5.4版本。
Build时方法是,右击Solution Explorer中的cryptlib工程,单击build。第一次时它会报错说“d:\\cryptopp54\\adler32.cpp(3) : fatal error C1033: cannot open program database ’d:\\cryptopp54\\win32\\cryptlib\\debug\\vc80.idb’”,没关系,按这样再build一次,就
阅读全文
posted @
2011-08-05 16:24 日需博客 阅读(5213) |
评论 (0) 编辑
人生第一篇博客文章,写写VAssistX的VA Snippet Editor
摘要: 首先,先上效果代码
1//********************************************************************
2// TESTCLASS.H 文件注释
3// 文件名 : TESTCLASS.H
4// 文件路径: J:\CODING\TEST\C++解疑\CYUYAN\
5// 作者 : RIPPLE
6// 创建时间: 2009/10/3 11:02
7// 文件描述:
8//*********************************************************************
9#ifndef _H_TESTCLASS_H_
10#define _H_TESTCLASS_H_
11
12#include
13using namespace std; 阅读全文
posted @
2011-08-05 09:12 日需博客 阅读(1726) |
评论 (0) 编辑
C++重载operator的示例
摘要: 以下示例中定义了一个class test, 重载了<, +, +=, =, ==, <<, >>等符号:
#include
#include
using namespace std;
class test{
public:
int v;
/*构造函数*/
test():v(0){}
test(const int &a):v(a){}
test(const test &t1):v(t1.v){}
/*以下重载小于号 < */
//比较两个对象的大小
bool operator<(const test &t1) const{
return (v < t1.v);
} 阅读全文
posted @
2011-08-04 14:35 日需博客 阅读(673) |
评论 (0) 编辑
Windows完成端口与Linux epoll技术简介
摘要: WINDOWS完成端口编程
1、基本概念
2、WINDOWS完成端口的特点
3、完成端口(Completion Ports )相关数据结构和创建
4、完成端口线程的工作原理
5、Windows完成端口的实例代码
Linux的EPoll模型
1、为什么select落后
2、内核中提高I/O性能的新方法epoll
3、epoll的优点
4、epoll的工作模式
5、epoll的使用方法
6、Linux下EPOll编程实例
总结
阅读全文
posted @
2011-08-04 13:49 日需博客 阅读(358) |
评论 (0) 编辑
C++类型转换总结
摘要: C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:
TYPE b = (TYPE)a。
C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。
const_cast,字面上理解就是去const属性。
static_cast,命名上理解是静态类型转换。如int转换成char。
dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。
reinterpreter_cast,仅仅重新解释类型,但没有进行二进制的转换。
4种类型转换的格式,如:TYPE B = static_cast(TYPE)(a)。
阅读全文
posted @
2011-08-03 13:57 日需博客 阅读(233) |
评论 (0) 编辑
Gina.dll登录功能的注册表实现
摘要: 本文主要介绍Gina.dll登录功能的注册表实现,在前文中,我们知道WlxLoggedOutSAS与WlxActivateUserShell函数分为登录之前的处理函数与登录之后的处理函数。于是,我们就可以结合注册表的一些功能来实现Gina.dll的登录。
阅读全文
posted @
2011-08-03 13:42 日需博客 阅读(1021) |
评论 (0) 编辑
Windows开机登录认证与Gina DLL
摘要: Windows的开机密码认证模块一般是由Gina DLL完成的。在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。
阅读全文
posted @
2011-08-03 13:41 日需博客 阅读(1268) |
评论 (0) 编辑
Kompex SQLite Wrapper for C++ - Examples
摘要: Here you can see some examples.
It shows a part of the functionality of the wrapper and how you can use it.
You can find more examples in the example application (contained in download package).
1. open a database and create a statement instance for sql queries/statements
// open database
Kompex::SQLiteDatabase *pDatabase = new Kompex::SQLiteDatabase("test.db", SQLITE_OPEN_READWRITE, 0);
// create statement instance for sql queries/statements
Kompex::SQLite
阅读全文
posted @
2011-08-02 14:12 日需博客 阅读(1691) |
评论 (1) 编辑
利用Google API快速生成QR二维码
摘要: 昨天发现很多网站都贴上了自己网址的二维码,我觉得这样挺有意思的,就研究了一下怎样生成二维码。结果发现,现在来说生成二维码最简单的方法是使用Google Chart API来实现,再次膜拜Google大神~
Google Chart API是一套可以让你在线生成报表图的系统,通过URL你可以得到各种图表。
举个例子:你在浏览器中输入
https://chart.googleapis.com/chart?cht=qr&chs=200×200&choe=UTF-8&chld=L|4&chl=http://Codeup.org
你将得到一个内容为本站网址的QR二维图。
回过头来我们再介绍一下二维码……好像这话放的位置不对,你们凑活着看吧……
阅读全文
posted @
2011-07-27 00:16 日需博客 阅读(5335) |
评论 (3) 编辑