上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 70 下一页
摘要: 概要开发中,经常会碰到一些基本逻辑相同,个别算法或处理行为不同的情况,这时如果把所有处理都耦合在一起,会增加模块的复杂度,同时给扩展带来一定难度。一种比较好的方法就是使用Strategy模式来对处理进行解耦,提高扩展性。同时Strategy模式还可以更好的支持"运行时"行为或算法的切换。目的对类行为进行解耦,使算法可以相对独立的变化而不至于对Client产生过多的影响。(每次写概要和目的都比较痛苦,因为这些内容相对比较抽象,自己的文字功底不够,有时要把自己的想法用抽象的文字真正说明清楚还是挺累的)实例看这样一个例子吧。设计一个绘图程序,会用到多个第三方绘图方法,首先我们需要 阅读全文
posted @ 2012-05-14 22:39 MXi4oyu 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 由于前端解决跨域问题的局限性比较大,对于 Ajax 跨域或是 iframe 跨域,建议用服务器端解决方案。此方案的原理是接受客户端发来的请求后,经由本域服务器代理向目标服务器发送请求,并将响应数据返回给客户端。用 apache 的 mod_proxy 模块开启反向代理功能来实现:1 修改 apache 配置文件 httpd.conf ,去掉以下两行前面 # 号 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so 2 在 server ... 阅读全文
posted @ 2012-05-11 22:42 MXi4oyu 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 组合数学中的全排列生成算法历来是组合数学考试的重要考察点,因此在这里我简单的介绍一下6种全排列生成算法的详细过程,并借此比较它们之间的优劣之处。不论是哪种全排列生成算法,都遵循着“原排列”→“原中介数”→“新中介数”→“新排列”的过程。其中中介数依据算法的不同会的到递增进位制数和递减进位制数。关于排列和中介数的一一对应性的证明我们不做讨论,这里仅仅给出了排列和中介数的详细映射方法。相信熟练掌握了方法就可以顺利通过这部分的考察。递增进位制和递减进位制数所谓递增进位制和递减进位制数字是指数字的进制随着数字位置的不同递增或递减。通常我们见到的都是固定进制数字,如2进制,10进制等。m位n进制数可以表 阅读全文
posted @ 2012-04-28 15:28 MXi4oyu 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 一,语言处理器1)一个集成的软件开发环境,其中包括很多种类的语言处理器,比如编译器、解释器、汇编器、连接器、加载器、调试器以及程序概要提取工具。2)编译器:把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快; 包括编译器,反编译器,交叉编译器3)解释器:能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。它的执行方式是一边翻译一边执行,因此其执行效率一般偏低,但是解释器的实现较为简单,而且编写源程序的高级语言可以使用更加灵活和富于表现力的语法 编译器产生的机器语言目标程序,比解释器快很多。解释器的错误诊断通常比编译器更 阅读全文
posted @ 2012-04-26 22:00 MXi4oyu 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 什么是C++ /CX? 首先要明白它跟C++ 0x/11以及C++ /CLR是完全不同的东西。C++ 0x/11是目前最新的C++标准库,而C++ /CX其实是微软在Win8开发平台下,对C++语言的一种扩展。C++ /CLR是微软为了C++能在.Net下运行,针对CLR,虽然也是对C++的扩展,但它编译后是托管于CLR的,属于Managed C++。而C++ /CX则属于Native C++,它不使用CLR也没有垃圾回收机制。虽然C++ /CX有些新语法特性是直接从/CLR借鉴过来的,但是从底层实现上来看,它们是完全不同的两种扩展。本文会简单介绍C++ /CX在语法上的一些扩展。1.值类型v 阅读全文
posted @ 2012-04-25 11:51 MXi4oyu 阅读(411) 评论(2) 推荐(0) 编辑
摘要: TCP状态: LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCP等待连接中断请求 CLOSE-WA IT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCP对连接中断的确认 LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认 TIME-WAIT:等待足够的时间以确保远程TCP接收到连接 阅读全文
posted @ 2012-04-25 11:37 MXi4oyu 阅读(226) 评论(0) 推荐(0) 编辑
摘要: Javascript是一种单线程语言,一旦运行一些耗时的处理,其他一切处理都会被阻塞。所以在Javascript中,异步处理显得尤为重要。由于Javascript只会运行在一个线程中,它的异步模式本质是把一些耗时的处理推迟到未来的某个时间点来运行,也正因如此,在Javascript的代码中往往充满了很多的回调处理。Windows Runtime中提供了Promise接口,利用这个接口可以很方便的实现异步处理和回调。看一段代码:var test = asyncFunc().then( function (result) { console.log("async comp... 阅读全文
posted @ 2012-04-24 16:03 MXi4oyu 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 前文中提到过,Concurrency::task支持异步处理,但是由于它不支持跟其他语言的交互,所以如果希望开发的组件能在其他语言,比如C#,Javascript,VB中使用的话,就需要多语言交互的API,它就是Concurrency::create_async。 我们把Concurrency::task和Concurrency::create_async两种处理方式对照来看。 如果我们的组件本身以及调用方都只可能是C++的话,我们会使用Concurrency::task来实现异步处理。因为它更直接,所以效率也更高。假设也许我们会设计如下这样的异步处理方法:Concurrency... 阅读全文
posted @ 2012-04-24 11:36 MXi4oyu 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 一,题目:(谷歌笔试) n支队伍比赛,分别编号为0,1,2……n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,下一轮由上一轮的胜者按照顺序,再依次两两比,比如可能是4对5,直至出现第一名编程实现,给出二维数组w,一维数组order 和 用于输出比.. 阅读全文
posted @ 2012-04-24 09:09 MXi4oyu 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一,题目:求一个矩阵中最大的二维矩阵(元素和最大).如:1 2 0 3 42 3 4 5 11 1 5 3 0中最大的是:4 55 3要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码二,分析:假设最大子矩阵的结果为从第r行到k行、从第i列到j列的子矩阵,如下所示(ari表示a[r][i],假设数组下标从1开始): | a11 …… a1i ……a1j ……a1n | | a21 …… a2i ……a2j ……a2n | ..... | ar1 …… ari ……arj ……arn |第r行 . . . .......... | V | ak1 …… aki ……akj ……a 阅读全文
posted @ 2012-04-23 18:44 MXi4oyu 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 70 下一页