2012年6月11日
摘要: 根据google 公开的资料,猜测Google App Engine架构设计,下面简要学习记录App Engine 接受请求原理及流程。高手路过!若你有更详细的资料或其他的想法请分享。App Engine 基本架构比较简洁。如下图所示:进一步简化一下,可以抽象为即包括:web、Datastore和服务群1、webweb部分主要用于处理请求主要有如下模块:(1)、前端,即可以认为负载均衡(load balancer),也可以认为它是代理(proxy),主要负责负载均衡和将具体的web请求转发给应用服务器。对于一些静态文件(比如:图片、CSS和JS脚本等)的请求,前端会将这种请求转给对应的类似于C 阅读全文
posted @ 2012-06-11 17:37 陈国利 阅读(2348) 评论(1) 推荐(1) 编辑
  2012年6月6日
摘要: Google 搜索服务需要处理和存储海量的数据,并且每天需要对数以百万计的搜索请求,它的内部是一套强大的分布式系统。下面了解一下google的分布式系统。1、分布式设施分布式设施必备3样东西:分布式文件系统、分布式锁机制和分布式通信机制。而相对应google的分布式环境是GFS、Chubby、Protocol Buffer。(1)GFS GFS主要分为两类节点,其一是Master节点:它主要存储与数据文件相关的无数据,而不是chunk(数据块)。无数据包括一个能将64位标签映射到数据块的位置及其组成文件的表格、数据块副本的位置和哪个进程正读写特定的数据块等。 另外,Master节点会周期性.. 阅读全文
posted @ 2012-06-06 09:29 陈国利 阅读(3762) 评论(2) 推荐(2) 编辑
  2012年5月11日
摘要: (一) 常用p2p协议 1、napster:世界上第一个大型的p2p应用网络;中央集中式,倒闭了。napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在千千万万的个人电脑上,搜索到的文件通过p2p方式直接在个人电脑间传播共享。这种方式的缺点就是需要一台服务器,在mp3文件版权之争火热的年代,napster很快就成为众矢之的,被众多唱片公司诉讼侵犯版权而被迫关闭。当然服务器一关napster也就不复存在。 2、gnutella和gnutella2(gnutella2是对gnutella的改进和扩展):开.. 阅读全文
posted @ 2012-05-11 14:26 陈国利 阅读(11071) 评论(0) 推荐(1) 编辑
  2012年3月1日
摘要: Win8消费者预览版各语言版本下载地址 消费者预览者又称公开测试版,微软计划逐步推出开发者预览(去年9月发布)、beta测试版(消费者预览版)、最终发布候选版和Windows8生产商发布版(RTM)。截止到目前为止,微软官方已经放出包括中文在内的五个版本系统下载地址。英文版:64位下载地址:http://iso.esd.microsoft.com/WCPDL/BD1B8A49393E30CC9C4E5C88457D73E964F1F3B18/Windows8-ConsumerPreview-64bit-English.iso32位下载地址:http://iso.esd.microso... 阅读全文
posted @ 2012-03-01 02:08 陈国利 阅读(420) 评论(0) 推荐(0) 编辑
  2012年2月23日
摘要: 一、向提示框中添加图标在开发程序时,为了让用户熟悉操作,经常使用一些提示框,显示提示信息。默认情况下,提示信息框只包含提示信息,未免有些单调,如果在提示信息框中显示一个图标,程序或许就别具风格了。本实例实现了在提示框中添加图标的功能。技术要点要修改提示信息框的风格,首先需要了解C#中提示信息框的设计原理。在C#中,提示信息框是用ToolTip控件来实现的。ToolTip控件的ToolTipIcon属性可以设置提示时显示的图片,下面详细介绍一下该属性。ToolTip.ToolTipIcon属性用来获取或设置一个值,该值定义要在工具提示文本旁显示的图标的类型。属性值:System.Windows. 阅读全文
posted @ 2012-02-23 23:36 陈国利 阅读(1617) 评论(0) 推荐(0) 编辑
  2012年2月22日
摘要: 一、改变窗体的大小Windows窗体是可以随意改变大小的,然而对于一些要求严格的窗体,开发人员不希望用户随意的改变其大小,例如,定位准确的地图和游戏软件等。遇到这种情况必须对窗口的大小进行一些限制。本例设计一个限制了大小的窗体,用户虽然可以改变其大小,但是,大小的范围是受到限制的。技术要点在此C#中实现限制大小非常方便,只要设置窗体的最大和最小范围即可。下面介绍一下相关属性。Form.MinimumSize属性用来获取或设置窗体可调整到的最小大小,其语法格式如下:public override Size MinimumSize { get; set; }属性值:Size,表示该窗体的最小大小。 阅读全文
posted @ 2012-02-22 14:22 陈国利 阅读(7062) 评论(0) 推荐(0) 编辑
  2012年2月19日
摘要: 问题:一个根文件夹,底下包含多级目录,每一级又存在多个个子文件夹,每个文件夹里面又存在多个文件。如果要删除所有子文件又保存最顶级的目录文件夹,那采用什么办法处理好呢?处理方法 1、 直接删除根文件夹,然后再创建根文件夹。voiddeleteAllFile(stringpath){Directory.Delete(path,true);Directory.CreateDirectory(path);}2、遍历所有子目录文件夹的文件,逐个删除。 ///<summary>///遍历文件夹及子文件夹所有文件///</summaryd>///<c>stringdir= 阅读全文
posted @ 2012-02-19 23:43 陈国利 阅读(1578) 评论(0) 推荐(1) 编辑
  2012年2月17日
摘要: 工作之余,无聊了写一个isohu自动提交工具,下面谈谈编写这个小工具设计思路。1、通过写一个注册机注册isohu用户,注册地址:http://i.sohu.com/login/reg.do?bru=http%3A%2F%2Fi.sohu.com 。(注册选择sohu邮箱)2、拿到注册好的用户,假设已经注册好了N个用户, 导入到工具用户列表。3、准备好各种各样的文章,我这里是下载txt小说,大文章拆分成N篇小文章,然后导入工具的文章库,当作待发布文章库(发布文章时将各小文章组合成一篇待发布的文章,只要小文章的样本够大,随机组合后的重复性概率很低)。4、用百度关键词分析工具(网上下载)挖掘出最热门 阅读全文
posted @ 2012-02-17 15:57 陈国利 阅读(943) 评论(2) 推荐(2) 编辑
  2012年2月15日
摘要: 本文转自作者: iamsheldon 初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游 戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。 事实上,这种想法完全是没有必要且不符合实际的,作为能和苹果iOS分庭抗礼的Android(各种意义上),当然也会有相当数量的游戏引擎存在。仅仅因为我们处于这个狭小的天地间,与外界接... 阅读全文
posted @ 2012-02-15 11:08 陈国利 阅读(321) 评论(0) 推荐(0) 编辑
  2012年2月14日
摘要: 好久没有用C++写程序了,为了忘切的记过,在此简单记记在程序调试过程一些小问题。1、“=”: 无法从“const char [XX]”转换为“LPCWSTR” 如果程序在VC6.0调试没有问题,而到了VS却出现这个问题。那么有两种解决办法: 1)、工程使用的字符集在vs中做如下修改:project->xxx property(左边树形的Configuration properties|General)-> 右边的(Character Set) 改为(Use Multi-Byte Character Set) 2)、字符和字符串都要用wchar_t不能使用char,并且要使用L来定义 阅读全文
posted @ 2012-02-14 15:55 陈国利 阅读(1995) 评论(0) 推荐(0) 编辑
  2011年12月28日
摘要: 一、博客群建资源1、新浪博客 blog.sina.com.cn2、网易博客 blog.163.com3、和讯博客 blog.hexun.com4、搜狐博客 blog.sohu.com5、腾讯博客 blog.qq.com6、博客网 bokee.com7、51博客 51.com8、博客大巴 blogbus.com9、凤凰博报 blog.ifeng.com10、天涯博客 blog.tianya.cn11、博客大巴 www.blogbus.com12、百度空间 hi.baidu.com二、问答类网站1、百度知道 zhidao.baidu.com2、雅虎知识堂 ks.cn.yahoo.com3、天涯问答 阅读全文
posted @ 2011-12-28 13:50 陈国利 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 一、先关闭不需要的端口 我比较小心,先关了端口。只开了3389、21、80、1433,有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的 穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级-- 选项--TCP/IP筛选--属性--把勾打上,然后添加你需要的端口即可。PS一句:设置完端口需要重新启动! 当然大家也可以更改远程连接端口方法: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE \ S... 阅读全文
posted @ 2011-12-28 09:41 陈国利 阅读(315) 评论(0) 推荐(0) 编辑
  2011年11月7日
摘要: 网络蜘蛛,这是老钟常弹的话题,目前技术体系应用非常成熟。下面看看网络蜘蛛的原理:网络蜘蛛即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是 通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网 站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。 对于搜索引擎来 说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据来看,容量.. 阅读全文
posted @ 2011-11-07 22:49 陈国利 阅读(21213) 评论(7) 推荐(6) 编辑
  2011年9月2日
摘要: 最近在做一个项目,数据库需要用到Access,平时习惯了MYSQL、SQL server数据库,用起Access数据库还是有一些不习惯,特别是SQL系列数据库都能支持存储过程、自定义函数、视图、触发器等功能,而Access就不支持这些功能,而自带函数也极有限。下面小小总结一下在项目过程中遇到的几个问题 1、在查询中需要用到类似Substring函数的功能,Access不支持Substring函数。但可以用Mid函数代替这个功能。Mid函数原型:Mid(列名,起始位置,长度), 起始位置从1索引,这点与Substring一致。如: 用一个表(tArea)来存储一个区域多级层次,广东省 ID=0. 阅读全文
posted @ 2011-09-02 09:35 陈国利 阅读(2343) 评论(0) 推荐(0) 编辑
  2011年7月27日
摘要: .min_width{min-width:300px; _width:expression_r(document.body.clientWidth < 300 ? "300px" : "auto"); } .max_width{ max-width:600px; _width:expression_r(document.body.clientWidth > 600 ? "600px" : "auto"); } .min_height{ min-height:200px; _height:expressi 阅读全文
posted @ 2011-07-27 20:35 陈国利 阅读(1275) 评论(1) 推荐(0) 编辑
  2011年7月10日
摘要: 系统安装了QQ管理软件或者360工具,清理垃圾之后重新启动系统经常会提示“在系统启动时至少有一个服务或驱动程序产生错误...”。估计是这些系统工具把某些文件给删除了。对于某一个事件的发生,对于Windows 2000/XP/2003来说,会记录相关的日志信息。比如经常出现的启动后弹出一个对话框:“在系统启动时至少有一个服务或驱动程序产生错误,详细信息,请使用事件查看器查看事件日志”。其实很简单,操作系统已经告诉我们了,下面需要做的事情。控制面板-〉管理工具-〉事件查看器我们可以在事件查看器里面找到相关的事件。事件注意的顺序是:Error、Warning、OthersError(错误)事件的颜色 阅读全文
posted @ 2011-07-10 19:14 陈国利 阅读(1076) 评论(0) 推荐(0) 编辑
  2011年6月29日
摘要: 在winform程序设计中,有时需要在同一个窗口中创建多个pictureBox同时加载显示多个图片。然后鼠标点击每一个图片做出不同的事件处理。新建一个PictureBox控件 PictureBox pb = new PictureBox();为这个控件添加一个点击事件如: pb.Click += new System.EventHandler(this.pictureBox_Click);//添加Click事件有这个基础,那么动态创建多个控件也是一件容易的事情 代码如下: View Code ///<summary>///图片创建控件,并初始化一共是96个///</summa 阅读全文
posted @ 2011-06-29 17:00 陈国利 阅读(4123) 评论(1) 推荐(0) 编辑
  2011年6月28日
摘要: winform程序设计中,label,TextBox,ComboBox等几个控件几乎是用得最多的,在设计中经常会遇到一些小问题,如:comboBox控件绑定了数据源之后,如何设置默认值? combobox绑定数据源之后是这样的 北京 <----默认显示的就是这条 上海 深圳 .... 想要让它显示成这样 请选择城市 <--------要想默认显示这条 北京 上海 深圳 .... 尝试做法: 1、修改了DropDownStyle属性也不起作用。2、消去数据源直接用 combobox.Items.Add()的方法好像也可以,但就失去了SelectedValue绑定ID,Selected 阅读全文
posted @ 2011-06-28 10:39 陈国利 阅读(5587) 评论(2) 推荐(0) 编辑
  2011年6月23日
摘要: 在winform程序设计中经常会遇到一些设置性问题,在此记录总结一些经常遇到的小问题。 1.MDI多窗体程序中,子窗口点击最大化,会出现看到子窗口的icon显示在菜单中,而实际上正常状态下子窗口的showIcon属性是false的。但最大化之后就是出显示在父窗口的菜单栏上,默认icon看起来不太好看。 这情况怎么样出掉icon.就是子窗口最大化不是显示icon。做法:在父窗体的MenuStrip控件中添加一个ItemAdd事件 menuStrip_ItemAdded事件中添加如下代码:View Code ///<summary>///子窗口最大化时去掉主窗体菜单的icon图标/// 阅读全文
posted @ 2011-06-23 11:50 陈国利 阅读(2183) 评论(5) 推荐(1) 编辑
  2011年6月10日
摘要: 程序效率是一件很重要的事情,随着处理业务深入,问题的多样化,人们对计算机程序要求越来越高,而用户操作需要越来越简化。这个矛盾体,需要处理的东西要求越多,又要能越来越简单,虽然硬件资源越来越便宜,但如果除去硬件条件情况下,程序效率必须考虑的问题。因此,程序设计和性能越来越考验程序员的功力。程序如果太庞大太迟缓,不论它的功能有多么的强大,都难以被用户接受。虽然有些程序之所以变得更大,消耗更大的内存,是为了实现超大计算能力,但有太多的程序,其庞大的身驱和迟缓的脚步必须“归功”于懒散草率的编程习惯。这几天感觉非常郁闷,在做公司一个小项目,前人留下的代码非常杂乱,无设计可言,代码到处重复,变量随意命名, 阅读全文
posted @ 2011-06-10 13:40 陈国利 阅读(2242) 评论(0) 推荐(2) 编辑