找到相关内容 311
Gamemonkey编程---高级进阶3
这些东西是平时遇到的, 觉得有一定的价值, 所以记录下来, 以后遇到类似的问题可以查阅, 同时分享出来也能方便需要的人, 转载请注明来自RingOfTheC[ring.of.the.c@gmail.com]      继续翻译GameMonkey脚本语言的文章, 这些文章都是在GameDev网站上找到的. 在翻译的过程中, 更加深了我对GM的了解和兴趣, 它的协程机制确实比Lua的协程在原生支持方面争强了很多, so enjoy! 上次GM参考手册的翻译放在了一篇文章, 感觉显的太长了, 所以这次我决定将这些长篇翻译分成多篇文章, 这样阅读起来比较方便, 而且可以避免一次信息过大 原文地址: http://www.gamedev.net/reference/programming/features/gmScriptAdv/page2.asp &nbs
http://www.cyqdata.cn/cnblogs/article-detail-289 
.NET 4.0网络开发入门之旅——我在“网” 中央
.NET 4.0网络开发入门之旅--    我在“网” 中央(上)注:     这是一个针对网络开发领域初学者的系列文章,可作为《.NET 4.0 面向对象编程漫谈 》一书的扩充阅读,写作过程中我假设读者可以对照阅读此书的相关章节,不再浪费笔墨重复介绍相关的内容。     对于其他类型的读者,除非您已经有相应的.NET 技术背景与一定的开发经验,否则,阅读中可能会遇到困难。     我希望这系列文章能让读者领略到网络开发的魅力!     另外,这些文章均为本人原创,请读者尊重作者的劳动,我允许大家出于知识共享的目的自由转载这些文章及相关示例,但未经本人许可,请不要用于商
http://www.cyqdata.cn/cnblogs/article-detail-288 
C#基础之进程管理
今天 我们来讲一个很基础的东西--进程,我们知道一个Win32程序都会被分配到一个进程里面,进程之间是相互独立的个体,一个进程出现了问题停止工作不会影响其它的进程。那我们怎样用C#来获取当前系统中运行的进程呢?我们来看看下面这段代码   Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> Process[] ps = Process.GetProcesses(); foreach (Process p in ps) { Console.WriteLine("{0}, {1}", p.ProcessName, p.Id); }  
http://www.cyqdata.cn/cnblogs/article-detail-287 
写在项目开工之前--一些心得
新的项目马上就要开始了,我一个人负责Android平台,这是第一次自己完全掌控一个软件的开发,心里有些忐忑,怕自己能力不够,做不好,但是没有办法,只好咬紧牙关迎头赶上。回想以前的项目经历,有些感悟,总结一下。 1. 在进行界面布局的时候,一定要考虑到横竖屏的切换,尽量做到后期不用适配很多的机器。 2. 对于Activity的生命周期的控制,一定要严谨,考虑周全,什么时候查询,什么时候移除监听器,activity的三种生命周期的切换,保存界面信息,恢复界面信息,都要在代码编写之前尽量考虑周全,切不可跟着bug走。 3. 经常整理代码,类中用不到的属性,方法,一定要删除,不要想着以后可能用到,99%的情况是以后绝对用不到,这样做可以避免以后代码整理的混乱 4. 工作台的编码和工程的编码统一使用utf-8,同时将家里的电脑上的工作台与之同步,避免乱码。 5. 要做好工作记录,公司小,没有开
http://www.cyqdata.cn/cnblogs/article-detail-286 
canvas的魔法,X光效果
一 图片预览 HTML5给web开发带来很多好东西,可以说,它将开创新一代web开发。 其中canvas就是它带来的东西之一,canvas非常强大,可以做到很多东西,不过我觉得学习canvas几乎等于在学习一种独立的技术了。这里只是展示一个简单的canvas效果。如下图: 二 原理介绍 我在代码中通过ctx.getImageData(0,0,width,height);获取canvas里面的imagedata对象,而这个对象就是这个效果实现的关键。 我们可以通过imagedata.data来获取一个数组,这个数组的length是canvas像素数量的四倍,其中每四个项代表一个像素。在每四个项里,他们一次代表rgba,rgb就很明显了,而a就代表透明,当a为255的时候完全不透明,当a为0的时候就是透明的。而这次的效果无需用到透明,所以没对这个进行操作。 最后我通过ctx.putImage
http://www.cyqdata.cn/cnblogs/article-detail-284 
mongodb分片集群(sharding with replica set)配置
一共有4台机器,各自挂接一个存储,希望实现: 尽量节约存储 高可用性 存储大量数据 配置方案: 每一台机器做一个分片的主数据库 每一台机器做一个分片的后备数据库 每一台机器做一个分片的仲裁服务 两个两个一组交叉作对方的后备 有三台机器开配置服务 有一台机器开路由服务(生产环境可以在每一台Windows App服务器上开路由服务,App服务器集群做负载均衡) 这样的话,任何一台服务器完全离线(或者交叉的两台服务器离线),都能保证整个系统正常运行。不过在服务器和服务器起来之后需要: 在升级成为主数据库的那个后备数据库上运行rs.StepDown(100)来让它让出主数据库的位置,因为每一个分片的活动数据库都应该由独立服务器担当,以获得最好的性能 配置服务和后备数据库起来之后不需要做任何调整   192.168.129.142 mkdir -p /usr/data/shar
http://www.cyqdata.cn/cnblogs/article-detail-283 
自创用于节点操作的API,颠覆原生操作HTML DOM节点的API --- 敏捷开发
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。第一次看到敏捷开发的定义,我就被敏捷开发迷住了。通俗来说,敏捷开发可以让我们用过的代码可以再次重用,因为是再次重用,所以相对安全,再次调试也没有第一次那么费心,省时省力。不断重用代码的过程中把存在的bug不断的修复,也因为不断的去重用, 这个模板变得起越来越独立,适用的情况越来越广范,最后在安全方面达到铜墙铁壁,在开发方面达到随心所欲,在维护方面达到从容面对。敏捷开发的确是利害,但如何练就这种深奥的武功呢?就我自身的情况靠人传授武功是不可能了,因为公司就我一个做开发的,苦思幂想之后,决定从开源的优秀框架入手,把它一行一行代码看懂,然后再为我所用。因为是一个人开发,前台和后台都得包办,哪从那一面做起呢? 之前有过一二个月的开发经验,觉得前台的
http://www.cyqdata.cn/cnblogs/article-detail-281 
GSM蜂窝基站定位基本原理浅析
位置服务已经成为越来越热的一门技术,也将成为以后所有移动设备(智能手机、掌上电脑等)的标配。随着人们对BLS(Based Location Serices,基于位置的服务)需求的飞速增长,无线定位技术也越来越得到重视。GSM蜂窝基站定位,以其定位速度快、成本低(不需要移动终端上添加额外的硬件)、耗电少、室内可用等优势,作为一种轻量级的定位方法,也越来越常用。本文简单介绍一下各种基于GSM蜂窝基站的定位方法及基本原理,给开发人员作为参考。我将尽量尝试用开发人员熟悉的方式来描述问题。 预备知识:GSM蜂窝网络基础结构 我们知道,GSM网络的基础结构是由一系列的蜂窝基站构成的,这些蜂窝基站把整个通信区域划分成如图所示的一个个蜂窝小区(当然实际上,一个基站往往不并不只是对应一个小区,但是这个与我们讨论的主题关系不大,我们不做深究)。这些小区小则几十米,大则几千米。如下图所示,我们用移动设备在G
http://www.cyqdata.cn/cnblogs/article-detail-280 
PowerShell 2.0在远程主机上运行命令和脚本
在前面的文章里关于持久远程线程的讨论中,曾经介绍了如何在本地主机上进入远程线程并执行命令。如果没有显式的终止线程的情况下,用户能在本地计算机上执行远程主机的命令,而PowerShell的提示符能够直接反映当前所使用线程的状况。在本章将会介绍PowerShell的内置特性,这些特性能够使用户在远程主机上运行命令和脚本。 通过使用交互式远程管理可以克服使用Invoke-Command的一些缺点,然而这种方法也是有其局限性的。在交互式远程管理中,用户需要显式的进入或退出远程线程,这就意味着,同时只能连接到一个远程主机上,而且只能访问对应远程主机上的cmdlet和模块。如果需要让不同的cmdlet在不同的主机上都可以执行,这就做不到了。 比如,有两台主机分别各自安装了Exchange 2010和SharePoint 2010,如果用户需要访问两台主机上各自可用的cmdlet,两台主机和本机
http://www.cyqdata.cn/cnblogs/article-detail-279 
告别aspx,高性能快捷开发 — JQuery Smart UI 快捷开发实例应用(一)入门【后篇】
上篇把服务端Bll层的内容完成了,下面就开始UI层的开发,打造简洁而“清爽”的功能页面. 第四步,配置Fncode   与BLL后台方法对应,在UI层进行FnCode的配置,位置在:Config/FnCode.xml中。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <Module name="UIDemo"> <BR name="BRNews"> <Fn no="fn_ns01"></Fn><!--查询--> <Fn no="fn_ns02"></Fn><!--保
http://www.cyqdata.cn/cnblogs/article-detail-278 
Spring.Net实现AOP以及AOP相关概念(学习笔记四)
Spring的重要应用是在AOP(Aspect- Oriented programming面向方面编程)编程方面。Spring.Net是如何进行AOP的呢?下面是我在学习Spring实现AOP的例子以及我个人的一些浅显的理解,若有不妥之处,还望大侠们指出。   本节重点分如下两部分:   1、Spring实现AOP。   2、AOP相关概念。   先介绍如何实现AOP,然后再通过使用过程中的用法,谈谈我自己对AOP概念的理解。   首先还是介绍一下开发环境以及软件版本:   VS版本:VS2008 SP1、Spring版本:1.3.0。   在我使用Spring.Net实现AOP的例子中有两个部分:1、使用编程方式实现。2、使用配置方式实现。实际在应用中,应用配置实现AOP还是相对更好点。实现AOP除了之前用到的程序集以外,还需使用程序集Spring.AOP。   1、Spring实现AO
http://www.cyqdata.cn/cnblogs/article-detail-277 
【web开发】Javascript点点小技巧
1、特性检测而非浏览器检测 因为某某特性某浏览器不支持,我们经常的做法是在代码中直接先做浏览器判断如:   if(Broswer.isFirfox){ //do something }   其实这样做是不科学的,因为很可以其它浏览器上可以支持你要用的特性,所以,比较好的做法为是直接做特性判断。 如:   if(window.localStorage){ //使用本地存储功能 }     2、使用方括号来访问属性或方法 这一点到不是强制的,只不过如果使用方括号来访问可以享受一些动态特性带来的好处,而且命名方面有少了许多限制。 如:   for(var i=0;i<9;i++){ obj["method"+i](); }     3、表单的那些事 这里主要提两个很有用的属性
http://www.cyqdata.cn/cnblogs/article-detail-276 
SharePoint安装后修改计算机名称的问题
安装了SharepointFoundation2010后,完成了配置并开发部署了webpart,由于之前计算机名称一直没有改过,特别长,就顺手修改了一下机器名称,这下问题来了,Sharepoint居然打不开了,一直提示数据库连接错误,很纳闷为什么修改一个机器名会影响到数据库的访问呢?到网上查了一下才找到解决办法,原来是修改机器名的方法不对。 如果想在安装了Sharepoint之后修改计算机名称,一下三步可以解决: (一)在SharePoint3.0管理中心中修改“替代访问映射”: 进入SharePoint管理中心 找到“备用访问映射”链接 修改URL (二):用stsadm命令中的renameserver选项: cmd进入命令行,进入目录:C:\Program Files(x64)\Comm
http://www.cyqdata.cn/cnblogs/article-detail-275 
Linux设备模型 (1)
随着计算机的周边外设越来越丰富,设备管理已经成为现代操作系统的一项重要任务,这对于Linux来说也是同样的情况。每次Linux内核新版本的发布,都会伴随着一批设备驱动进入内核。在Linux内核里,驱动程序的代码量占有了相当大的比重。下图是我在网络上搜索到的一幅Linux内核代码量的统计图,对应的内核版本是2.6.29。 我们可以很明显的看到,在Linux内核中驱动程序的比例已经非常高了。 Linux 2.6内核最初为了应付电源管理的需要,提出了一个设备模型来管理所有的设备。在物理上,外设之间是有一种层次关系的,比如把一个U盘插到笔记本上,实际上这个U盘是接在一个USB Hub上,USB Hub又是接在USB 2.0 Host Controller (EHCI)上,最终EHCI又是一个挂在PCI Bus上的设备。这里的一个层次关系是:PCI->EHCI->USB Hub->
http://www.cyqdata.cn/cnblogs/article-detail-261 
PowerShell 2.0 远程管理之启用和执行命令
PowerShell 2.0的远程管理功能很强大,为了方便读者学习这里首先介绍学习环境的设置,便于读者在理解原理的同时有相对形象的体验。在本文中,将会分别介绍了如何启用和禁用powershell的远程管理,以及如何在工作组和混合域环境下配置计算机。以及如何使用Invoke-Command cmdlet用于在远程主机上执行命令,创建持久线程,在多个命令间同一线程传递的变量和参数。用户还可以在执行较费时的命令时以后台任务的形式实现,并在执行完毕后使用命令回调执行结果。 1 启用和禁用远程管理 PowerShell 2.0中能通过在PowerShell提示符下执行下列的cmdlet启用远程管理 PS C:\> Enable-PSRemoting 该cmdlet会向用户询问几个问题如下图1所示 当执行该cmdlet时执行了以下操作,其中包括: 1. 启动或重新启动
http://www.cyqdata.cn/cnblogs/article-detail-260 
30天敏捷结果(20):好的问题可以获得好的结果
“There are no right answers to wrong questions.”–Ursula K. Le Guin  错误的问题是得不到正确的结果的   你的结果: 学会如何问关键的问题来帮助你立即改善你的结果     在30天敏捷结果:开篇中说到接下来我们将进行敏捷结果练习,前一篇学习了19:你在为谁做事?,今天我们要进行Getting Result练习的第20天:好的问题可以获得好的结果(Day 20 — Ask Better Questions, Get Better Results)     问问题是一个需要自己不断发生的事情,你问的越好对你来说可以获得更多。通过改善你问自己的问题,你可以改善你生活中不同热点区域的生活质量。 为什么要问问题 问对问题可以帮助我们平衡、聚焦,做出
http://www.cyqdata.cn/cnblogs/article-detail-259 
一个.net客户端通讯框架的设计(二)---准备FastBuffer和BOConverter
  在网络编程中,我们会频繁用到两个东西,一个是buffer。一个是bit-order。把数据填充到buffer中,然后通过buffer读写我们所需要的基本数据,还好.NET为我们提供了BitConverter这个非常好用的util,方便我们编写自己的Buffer和字节序转换器。 IBuffer 通常Buffer会有如下几个概念;position,limit,capacity,flip,mark,reset,free position:即将读/写的位置 limit:有效读/写的极限位置 capacity:buffer的最大长度 flip:limit设为置position,position设为0 mark:记录当前的position,对应reset操作 reset:将position设置为之前mark的位置 free:将缓冲标识为空闲,可在入池前调用。 比
http://www.cyqdata.cn/cnblogs/article-detail-258 
对不能用using的成对操作,快速扩展IDisposable的方法
日常操作中有很多需要打开/关闭   加锁/解锁的成对操作 有时候一些操作原生支持  IDisposableMonitor 可以用Lock(){}   但是ReadWriteLock 就难了。 还有WCF Channel等)。这种情况就要用  try/catch/finally,很是丑 封装成IDisposable可能很烦,因为多一个对象要多好多文档。 虽然AOP可能解决一些问题, 但是又没办法精确定位  scrope.  还是 IDisposable +using最爽   所以写了一个缺省实现。 /// <summary> /// 销毁帮手,生成可以支持using的自定义IDisposable实例 /// </summary> public str
http://www.cyqdata.cn/cnblogs/article-detail-257 
设计模式系列-适配器模式
一、上篇回顾         通过上篇的简单讲解,我们知道了,组合模式意图是通过整体与局部之间的关系,通过树形结构的形式进行组织复杂对象,屏蔽对象内部的细节,对 外展现统一的方式来操作对象,是我们处理更复杂对象的一个手段和方式。本文以查询控件为例,说明了,查询控件内部的组成元素,及如何操作内部的组 成元素,包括添加元素,删除和处理相应事件的Handler,当然组合模式的作用远比这些强大,后面我们肯定会在一些实例代码中运用到组合模式的。组合 模式如果在条件允许的情况下,我们尽量使用组合模式来处理复杂对象,远比通过继承出来的对象来的有效。         组合模式-强调的是如何组织整体和局部之间的结构,将整体和局部之间的关系,通过树形这样的结构来组织这种
http://www.cyqdata.cn/cnblogs/article-detail-255 
WPF企业内训全程实录(下)
摘要   WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,中篇WPF企业内训全程实录(中)主要讲解开发模式、团队协作及应用框架,起着承上启下的作用,主要讲解开发模式、团队协作及应用框架。这篇作为该实录的下篇——终结篇,起着总结的作用,主要讲解其他技术的引用、WPF项目及性能优化、部署与更新等议题。   其实如果大家仔细看目录,可以发现我安排的顺序是首先讲解最基本的概念和基础内容、然后过渡到开发模式及框架、最后结合其他技术和项目实际运用,这也是学习并应用一门技术最好的流程。上篇实际上主要有两个侧重点:一则就是理清脉络——历史渊源、概念引入及基本阐述;二则是讲解WPFBasic——主要细究WPF的每个知识点,基本涵盖了WPF的方方面面;如果大家感兴趣,可以下载代码并
http://www.cyqdata.cn/cnblogs/article-detail-254