自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大侃而谈

理想很丰满,现实很骨感

  • 博客(29)
  • 资源 (10)
  • 收藏
  • 关注

原创 又是快一年过去了……

又是快一年过去了,发生了太多太多的事情。母亲在前些日子去世离开了我。这个时候的那种想念无法释怀。生活简单而又实在,事事儿操心费力。工作无起色,公司混乱,研发无从着力。仅仅有的一些起色也是技术的学习了,近来多学习了一些基于单片机的编程,同时开始修炼模拟电路,这可真是一条不归路。难,真的很需要智力。软件学习了C和C++,最近可能需要用C++做一些项目了。------------

2013-07-05 14:24:26 1165 1

转载 四十以后的醒悟

四十以后才明白:朋友就像是水中的鱼,深水层和浅水层的鱼永远也不会走在一起;穷和富,官和民,草根和显贵都不可能成为真正的朋友,因为各自对人生的感悟不同,最关键是他们对待世界和自然的心不同。即使是富和富,官和官,显贵和显贵也不会成为真正的朋友。因为有利益,有分别,有取舍,有轻重,有顾虑,能分出三六九等,尘世利益纷争之心蒙蔽了真情,因此,也不会有真正的情义。四十以后才明白:青春年少让人艳羡,但成熟更

2012-11-15 16:42:37 2122 1

原创 Ninject 3 学习笔记 二.用场景说话之前,也落俗的简述一下

我的个人的学习方法,就是会列举我所需要的场景来学习,看框架如何来运用。我也看到网上大量的讲起Ninject的文章,都是极度入门级,实在用处不大。但我想我这个系列不讲这一段也不对,因为这一段是对Ninject的初窥吧。好了让我们从代码来看吧,我的介绍会都放在注释中。 public interface IPerson { } public class ZhangF

2012-11-11 22:56:15 3881 1

原创 Ninject 3 学习笔记 一.为什么使用Ninject?

最近在使用IoC进行一个较复杂的项目进行架构,在IoC的选择上让我很是纠结。首先我不喜欢大量的配置文件进行配置,那简直是噩梦,比学习一门编程语言还痛苦。我喜欢前一段时间看EF的CodeFirst的那种模式,一切尽在代码控制;其次要轻,框架里面的大多数功能我能用上多少呢?甚至于可能你永远都不会知道。尝试过自己实现了简单的IoC功能,也的确在很多项目用到了,但是对于自己的能力还是有所了解的,更希望还是

2012-11-10 19:23:11 13507 1

原创 单建的实例哪里去了?【Asp.Net MVC4】

今天在做架构的过程中,遇到这样的一个问题:单建的实例不见了!真的很奇怪,整整一个下午,想了无数的方法,做了N多的测试,可就是找不见。大致是这样的情况:在项目启动的初期,将一些选项值初始在一个单建的实例中,事情很简单吧?好了,开始实现,一会儿就完成了,建一个控制台程序测试,一切正常。好了,刚才做的这些事情是一个网站的服务部份。现在开始搭建网站。Asp.Net MVC4,一会儿也好了,

2012-11-09 22:27:59 1966

原创 MongoDb的时差,延伸到应用程序的本地化

这两天发现存入的MongoDb的时间,当取出时,时间均发生了变化,相差了8个小时。反复琢磨发现是因为时差问题。相对来讲,解决起来很容易。当输出时:Time.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss:fff")这时候就想到这些年来自已做的应用程序基本都是面向国内的,如果你的应用程序需要面向国际呢?国际化需要注意的地方很多,字符

2012-11-08 21:41:16 1707

原创 MongoDB C# / .NET Driver 中IMongoQuery的内部实现Query的用法

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。   最近做的项目中打算使用。Mong

2012-11-06 19:44:18 9117 1

原创 不能正确运行Enmbedded RavenDB。异常:Could not find transactional storage type: Raven.Storage.Esent.Transactio

今天下午开始就出现如题的异常。Google,Bing无法找到答案。事实上昨天做了一个测试项目运行非常正常。今天在项目中正常进行使用时,就出现这个异常。上网找答案,看源码,都无法定位。就开始想今天和昨天做的项目都到底有哪些不同?迷茫呀……直到现在才想明白了,昨天做测试时都在一个项目中,今天正式做项目,入口在单元测试的项目中。解决方案,在调用的入口项目添加引用:Raven.Storag

2012-11-02 22:27:20 992

原创 MVC4中当使用WebAPI时使用Filter的误区

这两天使用MVC4中的WebAPI,开始搭架子,一两天该使用Filter的时候,无论如何都没有办执行。大家都知道,ActionFilterAttribute中有4个时间点函数可以重载,可为什么就不进这些函数呢?反复研究,从午饭后一直到现在总算搞明白了。using System.Web.Http.Filters;注意,当WebAPI时,你的ActionFilterAttribute必

2012-10-27 00:23:21 4803

原创 懒了好久,不是不愿意写,只是太忙了。可是发现,忙并不一定被认同。

懒了好久,不是不愿意写,只是太忙了。可是发现,忙并不一定被认同。回归吧。还是认真的对待技术吧,总之走上了这一行,这点点本事不能丢。最近?最近,用.Net更有了一些心得,做了一些我认为有点水平的东西,同时开始做一些Android的工作。个人有一个基于“云”的概念正打算开始做,也放到这里记录一下吧。

2012-10-14 22:02:51 754

原创 WinForm加载时各事件的顺序

WinForm加载时各事件的顺序真是没有找到好的介绍,那就自己来试吧。

2011-02-22 23:03:00 3775

原创 强化与确认基础知识:try catch finally 的执行顺序

try catch finally中的finally不管在什么情况之下都会执行,执行的时间是在程序return 之前.

2011-02-21 13:43:00 780

原创 2011研发管理上的几点思考

<br />今年研发管理上的几点思考,在这里先记录一个提纲。考核并不看问题发生次数和严重程度很久没有更新的代码将会被提出来让新人了解业务用技术提升效率Hack Day监控应用服务粒度的合理性及垂直化设计没有任何文档最原始的优胜劣汰机制

2011-02-21 11:12:00 583

原创 JPA(Java Persistence API)学习总结

<br />具有ORM元数据的领域对象称为实体(Entity),按JPA的规范,实体具备以下的条件: 必须使用javax.persistence.Entity注解或者在XML映射文件中有对应的元素; 必须具有一个不带参的构造函数,类不能声明为final,方法和需要持久化的属性也不能声明为final;如果游离状的实体对象需要以值的方式进行传递,如通Session bean的远程业务接口传递,则必须实现Serializable接口; 需要持久化的属性,其访问修饰符不能是public,它们必须通过实体类方法进行访

2011-02-20 11:40:00 1268

原创 VS插件,好用,提高代码效率。Productivity Power Tools

用过Eclipse的朋友都知道,Eclipse插件数不胜数,有很多很实用、很高效的插件帮助我们提高生产率,改善代码结构。VS的代码铺助功能相对Eclipse要差太远了,插件也不太多。尤其是免费的插件少之又少。这个插件不错,提供了一些非常好用的功能,大大提高我们的编码效率。A set of extensions to Visual Studio Professional (and above) which improves developer productivity. In this third m

2011-01-21 23:05:00 12134 2

转载 戏说计算机编码规范的历史:ANSI、GB2312、UNICODE、UTF-8……

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动

2011-01-09 23:26:00 1380

原创 不同线程更新WinForm窗体的内容

常会在窗体中其他线程的事件什么的需要更新界面的内容,也自已发明各种各样的写法,今天看同事的这种写法,感觉最清晰,最实用。记录在此。

2011-01-07 12:40:00 878

转载 百万级访问量网站的技术准备工作

<br />当今从纯网站技术上来说,因为开源模式的发展,现在建一个小网站已经很简单也很便宜,所以很多人都把创业方向定位在互联网应用。这些人里大多数不是很懂技术,或者不是那么精通,而网站开发维护方面的知识又很分散,学习成本太高,所以这篇文章将这些知识点结合起来,系统的来说,一个从日几千访问的小小网站,到日访问一两百万的小网站,中间可能会产生什么问题,以及怎么才能在一开始做足工作尽量避免这些问题。<br /><br />你的网站因为努力经营,访问量逐渐升高,在升高的过程中,问题也可能开始显现了。因为带宽

2010-12-29 22:43:00 550

原创 重构 之代码的坏味道(Bad smell)

1、重复代码。2、过大的类或者方法。3、不合理的类封装。4、魔鬼数字……

2010-12-27 22:26:00 1032

原创 Java中,有关当前线程的一些知识点

当前线程的一些常用的方法:wait(),wait(long),notify(),notifyAll()等方法是当前类的实例方法,wait()是使持有对象锁的线程释放锁;wait(long)是使持有对象锁的线程释放锁时间为long(毫秒)后,再次获得锁,wait()和wait(0)等价;notify()是唤醒一个正在等待该对象锁的线程,如果等待的线程不止一个,那么被唤醒的线程由jvm确定;notifyAll是唤醒所有正在等待该对象锁的线程...

2010-12-21 23:18:00 947

原创 JDK中的队列接口:BlockingQueue详解

BlockingQueue 方法以四种形式出现,对于不能立即满足但可能在将来某一时刻可以满足的操作,这四种形式的处理方式不同:第一种是抛出一个异常,第二种是返回一个特殊值(null 或 false,具体取决于操作),第三种是在操作可以成功前,无限期地阻塞当前线程,第四种是在放弃前只在给定的最大时间限制内阻塞。BlockingQueue 不接受 null 元素。试图 add、put 或 offer 一个 null 元素时,某些实现会抛出 NullPointerException。null 被用作指示 poll

2010-12-21 21:27:00 3264

原创 C#,WinForm中的KeyDown,KeyPress 和KeyUp事件相关知识点

Windows窗体通过引发键盘事件来处理键盘输入以响应Windows消息,大多数Windows窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入。Windows窗体将键盘输入标识为由按位Keys枚举表示的虚拟键代码。使用Keys枚举,可以综合一系列按键以生成单个值,这些值与WM_KEYDOWN和WM_SYSKEYDOWNWindows消息所伴随的值相对应。另外,程序开发人员可通过处理KeyDown或KeyUp 事件来检测大多数物理按键操作。字符键是Keys枚举的子集,它们与WM_CHAR和WM_

2010-12-20 21:02:00 6990 1

原创 C#的Pen与Brush有哪些派生类

SolidBrush用一种单色填充图形。TextureBrush用一个位图填充图形。在构造这个画笔时,还指定了边框矩形和填充模式。边框矩形指定画笔使用位图的哪一部分--可以不使 用整个位图。填充模式有许多选项,如Tile平铺纹理,TileFlipX、TileFlipY和TileFlipXY指定连续平铺时翻转图像。使用 TextureBrush可以创建出非常有趣和富有想像力的效果。LinearGradientBrush封装了一个画笔,该画笔可以绘制两种颜色渐变的图形,其中第一种颜色以指定的角度逐渐

2010-12-20 20:56:00 4436

原创 国际象棋的常用英语术语

Chess set 国际象棋棋具; Color 棋色; White 白方; Black 黑方; Piece 棋子; King 王; Queen 后; Rook 车; Bishop 象; Knight  马; Pawn            兵; Bishop of opposite colors 异色格象; Bishop of the same colors 同色格象; Bishop ending 象残局; Board 棋盘; Square 方格; Rank 横线

2010-12-20 20:36:00 3137

原创 C#的Enum设计法则

Enum的运算通常涉及到位运算(AND、OR、XOR),按位运算, 常使用FlagsAttribute 自定义属性定义。FlagsAttribute 和 Enum 的准则: 只有要对数值执行按位运算(AND、OR、XOR)时才对枚举使用 FlagsAttribute 自定义属性。 用 2 的幂(即 1、2、4、8 等)定义枚举常量。这意味着组合的枚举常量中的各个标志都不重叠。 请考虑为常用标志组合创建一个枚举常量。例如,如果用于文件 I/O 操作的枚举包含枚举常量 Read = 1 和 Write =

2010-12-20 20:32:00 526

原创 考虑最周全的关于日期的正则表达式

验证日期的正则表达式加入闰年的判断以及思路分析1、什么是合法的日期范围? 2、关于闰年的阐释。用正则表达式验证日期的难点有二:一是大小月份的天数不同,二是闰年的考虑。

2010-12-20 20:28:00 813

原创 说说代码之美

模型的抽象能力的缺乏,估计是中国工程师的软肋,也是思维复杂化的原因。其实也是需求的分析能力,领悟能力。其实也是是否理解面向对象的本质的问题。《代码之美》这本书,刚好给了一些关于北美(但不限于)的顶级程序员的例子,与其说它是讲代码之美,到不如说是讲他们的思维方式,我们甚至可以窥见他们的价值观,个人的体会是,这本书里面的顶级程序员们体现了以一系列思维习惯值得国内同行参考。

2010-12-20 20:15:00 5500

原创 代码设计的一些原则

1,OCP(Open-Close Principle)开闭原则2,Liskov Subsitution Principle(LSP)里氏代换原则3,Dependency Inversion Principle(DIP)依赖倒转原则4,Interface Segregation Principle(ISP)接口隔离原则5,Composition/Aggregation Reuse Principle(CARP)组合/聚合复用原则6,Least Knowledge Principle(LKP

2010-12-19 23:31:00 2200

原创 常用Oracle数据类型

从网上的很多资料中收集整理,有自己修正补充的地方,说是原创也可以,说是转贴也行。当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型。ORACLE有许多种数据类型以满足你的需要。数据类型大约分为:character, number, date, LOB, 和RAW等类型。

2010-12-19 01:18:00 660

电源芯片L4970中文手册

L4970A是一个降压单片功率开关稳压器,提供最大10A输出电流,输出电压从5.1至40V的连续可变。该器件采用于BCD混合技术,功率输出级采用了DMOS输出晶体管来获得很高的效率和非常快速的切换时间。L4970A的特点,包括复位和电源故障处理的微处理器、前馈线路、软启动、限流和热保护。该器件采用一个15引脚的塑料功率 封装,仅需要很少的外围元件。最高可达500KHz开关频率的高效操作,使得外部的滤波器组件的尺寸和成本大大降低。

2013-02-27

USB电池充电规范与基础

USB为便携设备供电与其串行通信功能一样,已经成为一种标准应用。如今,USB供电已经扩展到电池充电、交流适配器及其它供电形式的应用。应用的普及带来的一个显著效果是便携设备的充电和供电可以互换插头和适配器。因此,相对于过去每种装置都采用专用适配器的架构相比,目前的解决方案允许采用多种电源进行充电。 毋庸置疑,USB电源的最大用途是能够为便携产品的电池充电。但是,无论是USB电源还是其它电源,电池充电都不仅仅是从电源取电这样简单。对于Li+电池尤其如此,充电不正确不仅会缩短电池寿命,而且存在安全隐患。设计合理的充电器可以优化安全性并增强用户体验,同时它还降低了退货、维修担保等风险,进而降低成本。 …… …… USB规范已经经历了几代电源管理技术。最初的USB1和USB2.0规范规定了两种类型的电源(分别是5V500mA和5V100mA),为所连接的设备供电。这些规范并非针对电池充电,而是用于小型外设供电,例如麦克风和键盘。但这并不妨碍设计人员设计出自己的USB电池充电装置。然而,如果没有统一指导,不同装置和充电器之间的互操作性就得不到保证。这种限制促使近期开发了USB规范补充说明:电池充电规范,1.1版,4/15/2009(BC1.1)¹,补充了充电知识和电源说明,最大电源电流可达1.5A。尽管标题为“电池充电规范”,但该文件几乎没有包括关于充电电池指标的任何信息,只是规定了应该从USB端口吸收多大功率充电。实际充电方法依然会留给设计人员。 …… …… 器件可利用自身软件检测接口,或采用独立于系统资源、通过USBD+和D-数据线之间的互动进行检测的接口IC。这些功能设计的划分具体取决于系统架构。例如,已经采用微控制器或专用IC管理电源的设备,可能更倾向于使用IC进行端口检测和电流选择。由于这些设备能够通过USB连接主机并进行通信,可根据枚举和配置结果选择充电。这些选择可以由应用处理器控制,或者是由负责电源管理及其它系统功能的独立微控制器控制。系统检测端口类型、枚举,并向充电器发送相应指令。充电器负责处理充电的硬件和安全事项,具有内置门限,使系统不会损害电池(图1)。 …… ……

2013-01-17

CEN/XFS标准(原名为WOSA/XFS)(中文版)-第1部份

CEN/XFS标准(原名为WOSA/XFS)-第1部份:服务提供程序接口(SPI);这是整个标准几十篇文档的最核心的部份,最重要的部份。 中文版,保证翻译质量。

2011-06-20

CEN/XFS MIB SDK

CEN/XFS定义的MIB(管理信息库Management Information Base)。 如果你留心的话,可能对MIB有所印象,因为各个行业都在建MIB,在新闻报道上也会见到这个名词。 其实很简单,如果你了解SNMP(简单网络管理协议)最好,MIB是里面一个重要的组成部分。MIB是个类似于数据库的东西,目的是用一种树型结构把某些相关的东西组织在一起。 ATM监控程序是通过报文来获取ATM现在的状态。典型的实现方式是:ATM不断会发送表示自己当前各个设备状态的数据包给前置机(比如打印机状态、钱箱状态、读卡器状态等),这个状态包的格式都已经定义好了,哪一位表示什么都是固定的,ATM监控程序收到数据包后进行相应的解包分析,就知道目前该ATM的状态了。 当然,不同的银行有不同的实现方式,但是目前大部分如此。这里面有个问题是各个银行的包格式不同,导致为一个银行开发的ATMC无法将监控这块直接搬到另外一个银行的环境中,另外,状态包能够定义的状态也不是很够,只能监控很少的内容。 是该考虑统一ATM终端监控软件的时候了。显然,这个责任放到CEN/XFS的头上是最合适不过了。 CEN/XFS换了种方式,将这种状态包的方式抛弃的九霄云外,或者CEN/XFS根本就没想到过还有人在用这种方式。CEN/XFS借鉴了SNMP的协议,实现了一个全新的监控软件架构的设计。 简单的看看CEN/XFS的监控软件设计架构: 每台ATM上放一个叫做SNMP Agent(SNMP 代理)的小软件,前置机(先只考虑在前置机管理)上面放一个叫做SNMP Manager(SNMP 管理器)的软件。有这两个软件就可以完成整个ATM的监控了。 下面看看具体的监控过程。SNMP Agent驻留在每台ATM上,它负责收集ATM的当前状态数据。当需要查看ATM的状态时,管理员在装有SNMP Manager的机器上,开始请求查看某台ATM的状态。则SNMP Manager会通知该ATM上的SNMP Agent程序,让其将以前收集的状态数据发送过来。同样,管理员可以用SNMP Manager主动控制SNMP Agent程序,达到控制ATM的功能。通过这个交互过程,就可以完成监控ATM了。 其实有个地方我们没有提到,这就是SNMP Agent和SNMP Manager之间是通过什么交互的,是ISO8583报文吗?显然不是,它们之间的交互是基于标准TCP/IP中的SNMP协议而来的。如果你想多了解一些,请查看SNMP的相关文章。 对于SNMP来说,其中的MIB是很重要的一块。CEN/XFS向IANA (Internet Assigned Number Authority)申请了一个root代码,为16213。所有的XFS里面提到的设备都在16213下面分配有对应的子树(sub_tree)和节点(node)。在MIB里面,可以通过一串类似于IP地址那样的以点分割的数字串(比如16213.2.2.2.1.3.8.80),唯一的标识某个设备(比如读卡器)的唯一状态(比如设备断电了)。 也就是ATM上每个需要监控的设备信息都在MIB中唯一的编码了,这种 编码叫做OID(Object Identifier)。例如对于读卡器Online状态有个OID的编码,通过该编码就知道读卡器的状态了,并且该编码是全球唯一的一串数字。

2011-06-15

CEN(WOSA)/XFS Manager SDK

CEN/XFS标准(原名为WOSA/XFS)是对ATM等金融机具硬件模块的软件调用接口进行统一规定。 WOSA/XFS规范目前使用广泛的版本有1.0、1.11、2.0、3.0、3.01、3.02、3.03一共7个版本,其中常说谁的SP(Service Provider)符合WOSA/XFS2.0还是3.0规范,就是指上面提到的WOSA/XFS本身的规范版本。如果你见到某些厂家的SP版本并没有上面提到的几个版本,那说明厂家的SP版本是自己厂家内部定的版本号,与WOSA/XFS规范的版本没有必然联系,但是厂家的SP版本一定可以对应到符合上面几个版本中的一个版本。目前最新的是WOSA/XFS 3.03规范。 对于WOSA/XFS,XFS Manager是一定要提到的。我们简单看看WOSA/XFS的架构,这个大家应该都比较熟悉了。中间是XFS Manager,上面是ATMC,下面是SP,其中XFS Manager对上面有API(Application Programming Interface)接口,对下面有SPI(Service Provider Interface)接口。 XFS Manager是WOSA/XFS规范的核心,它规定了API和SPI接口,从而达到统一上面的ATMC和下面的SP的功能,ATM软件能够实现所谓的跨平台是靠它来主要实现的。 XFS Manager实际上是三个DLL组成,在系统目录\Windows\System32下面,分别是MSXFS.DLL(基本的XFS API and SPI函数,在Include目录下的XFSAPI.H和XFSSPI.H中定义)、XFS_SUPP.DLL(一些支持函数,在Include目录下的 XFSADMIN.H中定义)、XFS_CONF.DLL(配置函数,在Include目录下的Xfsconf.h中定义)。 我们上面提到的7个版本,可以通过找到MSXFS.DLL文件,然后右键查看其文件属性,里面有个版本号,从而就知道某台机器运行的SP符合哪个版本的WOSA/XFS规范,这是个判断WOSA/XFS版本的一个有效办法。

2011-06-15

Enterprise Library4.1学习手册

Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。

2010-01-19

围棋xgf文件格式解析

围棋xgf文件格式解析. schema location: C:\Source\misc\xgf\xml-spec\xgf.xsd targetNamespace: http://xmp.net/xgf/namespaces/xgf/20020407 Elements Complex types GameCollection XGFGameType XGFGame

2009-08-18

C#中的委托和事件详解(含源码)

委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。

2009-08-18

[算法]位运算优化(以位域、位棋盘为例)

在冷战发展到顶点的时期,国际象棋是计算机科学的一个研究热点。原苏联和美国各自独立的提出了新的象棋数据结构——位图棋盘。美国团队——Slate和 Atkin,基于Chess 4.x软件出版了《人类和机器的国际象棋技能》一书,其中有一章讨论了位图棋盘算法,这可能是最早的关于位图棋盘算法的印刷品。 原苏联团队,包括Donskoy以及其他人员,开发了使用位图棋盘算法的程序Kaissa。

2009-08-18

国际象棋通用引擎协议(UCI)(universal chess interface)(中英对照)

UCI协议,全称是国际象棋通用引擎协议(Universal Chess Interface,直译作通用象棋接口)。它是开放的象棋引擎协议,所谓“开放的”引擎协议,指的是: (1) 协议内容是公开的,并且可以免费使用; (2) 你可以根据该协议自己编写象棋引擎,凡是支持该协议的界面,都可以使用你编写的引擎; (3) 你可以根据该协议自己编写象棋界面,凡是支持该协议的引擎,都可以被你编写的界面调用。 UCI协议的前身是象棋引擎SOS和Shredder使用的引擎协议,在他们的作者Rudolf Huber和Stefan Meyer-Kahlen对该协议的改进下,2000年11月28日UCI协议问世了。

2009-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除