2013年10月29日

mariaDB 数据库

摘要: MariaDB是一个向后兼容、替代MySQL的数据库服务器。它包含所有主要的开源存储引擎。MariaDB源代码公开存放于Launchpad项目托管平台,同时也提供了二进制和编译包供下载。目 录1简介2起源3特点4目标5兼容性1简介MariaDB logoMariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。2起源为何改了个名字呢,这其中是有些典 阅读全文

posted @ 2013-10-29 09:07 荣锋亮 阅读(642) 评论(0) 推荐(0) 编辑

2013年10月28日

字符编码

摘要: privatevoidbutton1_Click(objectsender,EventArgse){//汉字转为Unicode编码:stringhz=textBox1.Text.ToString();byte[]b=Encoding.Unicode.GetBytes**;stringo="";foreach(varxinb){o+=string.Format("{0:X2}",x)+"";}textBox2.Text=o;}privatevoidbutton2_Click(objectsender,EventArgse){//Unic 阅读全文

posted @ 2013-10-28 17:03 荣锋亮 阅读(225) 评论(0) 推荐(0) 编辑

2013年10月27日

How to Access a USB Device by Using WinUSB Functions

摘要: This topic includes a detailed walkthrough of how to useWinUSB Functionsto communicate with a USB device that is using Winusb.sys as its function driver.If you are using Microsoft Visual Studio2013, create your skeleton app by using the WinUSB template. In that case, skip steps 1 through 3 and proce 阅读全文

posted @ 2013-10-27 11:36 荣锋亮 阅读(1735) 评论(0) 推荐(0) 编辑

2013年10月25日

转 Greg Young谈以读模式使用Event Store

摘要: Greg Young是Event Store的首席架构师,他最近谈到了Event Store中的Projections Library,以及如何以读模式来使用它。Greg在讲座中解释了Projections Library及其主要用例。他还介绍了很多实用的例子。Projections Library是一种流式数据库,主要关注时间化查询(Temporal Query)。当要将发生的事情与时间关联起来时,比如希望在Twitter上找出一分钟内说过“生日”的人中提到“礼物”的,使用时间化查询。据Greg介绍,时间化查询是业务系统中一种常见的查询类型,Event Store可以轻松处理。而使用SQL来 阅读全文

posted @ 2013-10-25 17:08 荣锋亮 阅读(411) 评论(0) 推荐(0) 编辑

RavenDB 学习

摘要: RavenDB 是个新的.NET开源文档数据库。下面是一个简单的例子 阅读全文

posted @ 2013-10-25 16:08 荣锋亮 阅读(178) 评论(0) 推荐(0) 编辑

一个开源的event store 实现

摘要: event store 对于开发是比较方便的同时.net 环境下有这样一个比较方便的框架可以直接使用网址是:http://geteventstore.com有兴趣的可以进行学习了解官方的文档如下:Getting StartedGetting Started with the Atom HTTP APIGetting Started on Amazon EC2IntroductionEvent Sourcing BasicsRunning the Event StoreWindows / .NETLinux / MonoInternal Architectural OverviewReliabi 阅读全文

posted @ 2013-10-25 15:06 荣锋亮 阅读(708) 评论(0) 推荐(0) 编辑

转 Event Store介绍

摘要: 摘要: 游戏开发中,经常会越到千奇百怪的Bug。后台程序都是以demon 方式运行,要么GDB,要么Log。一些确定性的bug可以直接使用GDB调试,比如特定请求会Crash。如果是运行一段时间,Bug才会出现,无明显规律,那么也只能使用Log了。但是从成千上万条日志中Grep、分析、定位,然后修改代码、测试,这个过程效率极其低,有的时候挫折感倍强,想骂娘都。经过一些总结后,我们希望程序能够具有完整跟踪用户行为的功能。用户的行为被完整的记录下来,针对领域对象提供类似“快照”的功能,当程序出现问题时,我们可以从某个正确的“快照”为起点,回放用户的操作,这样Bug可以被重现,修复bug后也可以通. 阅读全文

posted @ 2013-10-25 14:57 荣锋亮 阅读(274) 评论(0) 推荐(0) 编辑

2013年10月24日

signalr 实验代码

摘要: signalr 是.net环境下的比较方便的进行实时通信的框架,有好多益处,可以进行数据的实时发送,可以进行消息的实时推送,同时可以当做websocket使用,较好的是它的客户端API有好多版本的,可以实现跨平台的调用,同时API也是比较容易使用的。 一下是演示的代码:server 端的代码创建如下:1,创建ASP.net MVC 空项目,项目结构如下 比较简单。2,添加signalr API 的引用,如图:3,创建类Startup 这是必须的同时也必须如下进行创建方法的名称: public void Configuration(IAppBuilder app) { app.MapConne. 阅读全文

posted @ 2013-10-24 20:29 荣锋亮 阅读(284) 评论(0) 推荐(0) 编辑

2013年10月23日

转 Visual Studio 远程调试的步骤

摘要: 使用场景常用的主要是在部署的机器上程序出现问题, 而一般的部署机器上没有开发环境,此时需要准确的定位出错的原因时使用。进行远程调试时,主机可以是任何支持 Visual Studio 的平台。远程计算机可以是 32 位或 64 位平台。安装远程计算机安装Visual Studio的安装光盘上的/Remote Debugger目录下有x86和x64的版本X86(rdbgsetup_x86.exe)用于调试 32位的程序X64(rdbgsetup_x64.exe)用于调试64位的程序默认安装在C:\Program Files\Microsoft Visual Studio 10.0\Common7\ 阅读全文

posted @ 2013-10-23 16:54 荣锋亮 阅读(233) 评论(0) 推荐(0) 编辑

SignalR Scaleout with Redis

摘要: In this tutorial, you will useRedisto distribute messages across a SignalR application that is deployed on two separate IIS instances.Redis is an in-memory key-value store. It also supports a messaging system with a publish/subscribe model. The SignalR Redis backplane uses the pub/sub feature to for 阅读全文

posted @ 2013-10-23 10:44 荣锋亮 阅读(1063) 评论(0) 推荐(0) 编辑

SignalR Scaleout with SQL Server

摘要: In this tutorial, you will use SQL Server to distribute messages across a SignalR application that is deployed in two separate IIS instances. You can also run this tutorial on a single test machine, but to get the full effect, you need to deploy the SignalR application to two or more servers. You mu 阅读全文

posted @ 2013-10-23 10:38 荣锋亮 阅读(798) 评论(0) 推荐(0) 编辑

转Redis使用起步

摘要: Redis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章:1.Redis简介 Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。2.Redis的性能下面是官方的bench-mark数据:The test was done with 50 simul 阅读全文

posted @ 2013-10-23 09:12 荣锋亮 阅读(157) 评论(0) 推荐(0) 编辑

转GetCallbackEventReference 实现回调

摘要: GetCallbackEventReference函数在 .NET Framework 2.0 版中是新增的。 MSDN解释:获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。此重载方法的客户端函数包含指定的控件、参数、客户端脚本和上下文。 函数原型: public string GetCallbackEventReference ( Control control, string argument, string clientCallback, string context )第一个参数指定了服务器端将要处理回调的目标对象,即处理客户端回调的服务器端控件。该控件 阅读全文

posted @ 2013-10-23 08:44 荣锋亮 阅读(162) 评论(0) 推荐(0) 编辑

转Comet 技术

摘要: 本comet技术主要用于数据库持久层的 穿越防火墙 远程访问。只要有一台中继网站,任意地点的数据库都能被访问。Comet概念介绍WebIM、网页的客服、meebo等大家听说过了。最近还有个兄弟开源了个网页客服叫,PowerTalk。各位可以搜索一下。这些最新最炫的技术,用了一个叫comet的架构。comet对于我来说= http长连接这个是一个通俗的解释。老外最擅长就就是发明概念,生怕别人忘了自己的存在。因此把一个很简单的东西搞了一个摸不着边的名词:Comet。Comet思想怎么来先抛开comet,给个案例分析:局域网(防火墙内)的客户端要与外界联系,如何做到?必然想到了客户端主动发出申请,穿 阅读全文

posted @ 2013-10-23 08:39 荣锋亮 阅读(238) 评论(0) 推荐(0) 编辑

转使用 SignalR 构建进度栏

摘要: 使用 SignalR 构建进度栏Dino Esposito下载代码示例在此专栏过去的两篇文章中,我曾讨论了如何构建 ASP.NET 解决方案,以解决从 Web 应用程序的客户端监视远程任务进度的持续问题。尽管 AJAX 取得成功并得到采用,但仍缺乏不借助 Silverlight 或 Flash 即可在 Web 应用程序中显示上下文相关进度栏的被广泛接受的综合解决方案。老实说,可实现此目的的方法不多。如果您愿意,可以构建自己的解决方案,但基本模式不会与我在以前的专栏中所提供的模式有所不同 — 专门面向 ASP.NET MVC。这个月,我重新讨论同一主题,但我将讨论如何使用以下仍在不断完善的新库构 阅读全文

posted @ 2013-10-23 08:29 荣锋亮 阅读(391) 评论(0) 推荐(0) 编辑

2013年10月22日

转 如何通过ildasm/ilasm修改assembly的IL代码

摘要: 作者: 周银辉来源: 博客园发布时间: 2011-05-16 22:36阅读: 4717 次推荐: 4 原文链接 [收藏] 这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望。所以到微软论坛提了个帖子,希望能得到些帮助。虽然论坛智能到能够判断楼主是否是MSDN订阅用户,以便尽快解决(传说MSDN订阅用户的问题能在两天内得到回复的,当时还很得意公司为我们购买的MSDN订阅账号),但得到的回复是“Could you file a bug report for this issue through Connect?”,绝望之后的又一次寒心啊。 看过paye.. 阅读全文

posted @ 2013-10-22 17:11 荣锋亮 阅读(309) 评论(0) 推荐(0) 编辑

[Tools].Net UI Spy工具:ManagedSpy

摘要: This article discusses:The new ManagedSpy utilityUnderstanding how ManagedSpy works and helps in debuggingA look at the inner workings of ManagedSpyLibUsing ManagedSpyLib for unit testingThis article uses the following technologies: .NET Framework 2.0Code download available at:ManagedSpy.exe(284 KB) 阅读全文

posted @ 2013-10-22 15:14 荣锋亮 阅读(1391) 评论(0) 推荐(0) 编辑

C#网络编码

摘要: 在网络通信中,很多情况下通信双方传达的都是字符信息。但是,字符信息并不能直接从网络的一端传递到另一端,这些字符信息首先需要被转换成一个字节序列后才能在网络中传输。将字符序列转换为字节序列的过程称为编码。当这些字节传送到网络的接收方时,接收方需要反过来将字节序列再转换为字符序列,这种过程称为解码。下面是编码与解码的例子:截图:完整代码:[csharp] view plaincopyprint?namespaceEncoderDecoderExample{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();txt_Enc 阅读全文

posted @ 2013-10-22 12:57 荣锋亮 阅读(155) 评论(0) 推荐(0) 编辑

.NET Framework 中的字符编码

摘要: 字符是可以通过多种不同方式表示的抽象实体。 字符编码是一个支持字符集中的每个字符进行配对值表示该字符的系统。 例如,摩尔斯电码是一种为罗马字母表中的每个字符与点的模式和短划线适用于在电报线路中传输的字符编码。 计算机的字符编码对一个支持字符集中的每个字符与表示该字符的数值。 字符编码具有两个不同的组件:编码器,将字符序列转换为数值序列 (字节)。解码器,将字节序列转换为字符序列。字符编码描述了编码器和解码器运行的规则。 例如, UTF8Encoding 类描述了编码的规则对和解密时, 8 位 Unicode 格式 (utf-8),使用表示单个 Unicode 字符的一到四个字节。 编码和解码还 阅读全文

posted @ 2013-10-22 12:49 荣锋亮 阅读(873) 评论(0) 推荐(0) 编辑

自动化 Windows 窗体

摘要: 摘要:您将在本文档中学习如何使用Name属性唯一标识 Microsoft Windows 窗体控件。本文档还将向您展示如何对 Visual Test 进行升级来处理 Windows 窗体。文档包括可供参考和应用的源代码,用于对现有自动化框架进行类似升级。文档还列举了一些 Windows 窗体本不支持的 Microsoft Win32 API。本文档未提供实现 Windows 窗体自动化的完全解决方案,未针对每个对 Windows 窗体控件不起作用的 Visual Test 方法提供替代方法,也未提供 Visual Test 所不具备的用于实现 Windows 窗体控件自动化的 Visual T 阅读全文

posted @ 2013-10-22 12:04 荣锋亮 阅读(519) 评论(0) 推荐(0) 编辑

C#进程通信

摘要: 进程之间通讯的几种方法:在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有使用内存映射文件通过共享内存DLL共享内存使用SendMessage向另一进程发送WM_COPYDATA消息比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法.(ZT)WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。Windows在通过WM_COPYDATA消息传递期间,不提供继承同步方式。SDK文档推荐用户使用SendMessage函数,接受方在数据拷贝完成前不返回,这样发送方就不可能删除和修改数据:这个函数的原型及其要用到的结构如下:SendM 阅读全文

posted @ 2013-10-22 10:23 荣锋亮 阅读(284) 评论(0) 推荐(0) 编辑

2013年10月20日

.net线程

摘要: 首先需要说明的是为什么需要线程功能同步。MSDN中有这样一段话很好的解释了这个问题:当多个线程可以调用单个对象的属性和方法时,对这些调用进行同步处理是非常重要的。否则,一个线程可能会中断另一个线程正在执行的任务,使该对象处于一种无效状态。也就说在默认无同步的情况下,任何线程都可以随时访问任何方法或字段,但一次只能有一个线程访问这些对象。另外,MSDN中也给出定义,成员不受多线程调用中断影响的类即线程安全类。 CLI提供了几种可用来同步对实例和静态成员的访问的策略(前面两边文章介绍了这其中大部分机制):同步代码区域:可以使用Monitor类或(编译器支持的语法,如C#中的lock关键字)来同步需 阅读全文

posted @ 2013-10-20 09:25 荣锋亮 阅读(419) 评论(0) 推荐(0) 编辑

2013年10月19日

YAML

摘要: YAML 简介及其与 XML 的不同之处自从有了递归定义,大家都爱上了这种起名方式,YAML 也是。YAML 的定义是:“YAML Ain ’ t a Markup Language”,即:YAML 不是一种标记语言的递归缩写。要问 YAML 到底是不是一种标记语言呢?答案:是的。有意思的是:在 YAML 开发的早期,YAML 其实参考了许多其他语言,如 XML, SDL 及电子邮件格式等等,并最终把自己定义为:“Yet Another Markup Language”。既然明明是标记语言,为什么后来又改名换姓,非说自己不是标记语言了呢?其实名字的更换正是为了强调 YAML 的与众不同:YAM 阅读全文

posted @ 2013-10-19 11:36 荣锋亮 阅读(2729) 评论(0) 推荐(0) 编辑

2013年10月18日

Ruby如何实现动态方法调用

摘要: 在Ruby中,有多种方法可以实现方法的动态调用。 1. 使用send方法 第一种实现动态方法调用是使用send方法,send方法在Object类中定义,方法的第一个参数是一个符号用来表示所要调用的方法,后面则是所调用方法需要的参数。 “This is a dog1″.send(:length) => 14 上面的代码中通过send方法去对一个字符串执行length操作,返回字符串的长度。class TestClass def hello(*args) ”Hello ” + args.join(‘ ‘) end enda = TestClass.new puts a.send :hello 阅读全文

posted @ 2013-10-18 16:42 荣锋亮 阅读(449) 评论(0) 推荐(0) 编辑

Ruby数据类型

摘要: 数字1、Ruby支持整数和浮点数。整数可以使任何长度。一定范围内的整数是Fixnum类的对象。范围之外的整数存储在Bignum类的对象中。这种处理是透明的。2、可以在一个ASCII字符前加一个问号来获得其对应的整数值。Ctrl组合键可以由?/C-x或?/cx(x&0x9f)来产生。Meta字符(x|0x80)可以由?/M-x来产生。3、一个带有小数点"或/和"指数的数字字面量被认为是Float对象。Float对象和本机上的double类型大小一样。4、Float精度有限,若需要更好精度的小数,可以使用标准库中BigDecimal,但效率会受影响。 字符串1、字符串字 阅读全文

posted @ 2013-10-18 11:58 荣锋亮 阅读(431) 评论(0) 推荐(0) 编辑

转 Memcache基础教程

摘要: Memcache基础教程发布时间:December 11, 2007 分类:Memcache《Windows下的Memcache安装》《今天是我滴生日,我滴中国!》Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 Memcache官方网站:http://www.danga.com/memc 阅读全文

posted @ 2013-10-18 09:56 荣锋亮 阅读(158) 评论(0) 推荐(0) 编辑

2013年10月17日

python动态获取对象的属性和方法

摘要: 首先通过一个例子来看一下本文中可能用到的对象和相关概念。01 #coding: UTF-802 import sys # 模块,sys指向这个模块对象03 import inspect04 def foo(): pass # 函数,foo指向这个函数对象05 06 class Cat(object): # 类,Cat指向这个类对象07 def __init__(self, name='kitty'):08 self.name = name09 def sayHi(self): # 实例方法,sayHi指向这个方法对象,使用类或实例.sayHi访问10 print self... 阅读全文

posted @ 2013-10-17 10:42 荣锋亮 阅读(465) 评论(0) 推荐(0) 编辑

根据函数名称动态调用

摘要: 根据函数名称动态调用"""defdo_foo():print"foo!"defdo_bar():print"bar!"classPrint():defdo_foo(self):print"foo!"defdo_bar(self):print"bar!"@staticmethoddefstatic_foo():print"staticfoo!"@staticmethoddefstatic_bar():print"staticbar!"defmain 阅读全文

posted @ 2013-10-17 10:34 荣锋亮 阅读(278) 评论(0) 推荐(0) 编辑

python 模块路径

摘要: 动态的添加库路径。在程序运行过程中修改sys.path的值,添加自己的库路径import sys sys.path.append(r'your_path')在Python安装目录下的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库路径。示例如下E:\\work\\Python\\http E:\\work\\Python\\logging 阅读全文

posted @ 2013-10-17 10:06 荣锋亮 阅读(177) 评论(0) 推荐(0) 编辑

2013年10月14日

.net 可拖动控件

摘要: privatePointmouse_offset;privatevoidlabel1_MouseDown(objectsender,MouseEventArgse)...{mouse_offset=newPoint(-e.X,-e.Y);//}privatevoidlabel1_MouseMove(objectsender,MouseEventArgse)...{((Control)sender).Cursor=Cursors.Arrow;//设置拖动时鼠标箭头if(e.Button==MouseButtons.Left)...{PointmousePos=Control.MousePosit 阅读全文

posted @ 2013-10-14 12:48 荣锋亮 阅读(288) 评论(0) 推荐(0) 编辑

2013年10月12日

C# 4.0 默认值参数

摘要: 在C#4.0以前我们设计的函数如果需要进行可选参数的设计一般得做法就是设计两个函数,然后进行调用比如:设计一个关于两个数相加的函数其中一个参数是可选的在4.0以前是一般是这样的: public const int defaultValue = 3; // 默认值参数的声明 public static int Add(int x, int y) { return x + y; } public static int Add(int x) { return x + defaultValue;// 或者 //return Add(x+defaultValue); }我们需要编写两个函数式比较费事的, 阅读全文

posted @ 2013-10-12 13:57 荣锋亮 阅读(234) 评论(0) 推荐(0) 编辑

.NET内存映射文件原理、创建及进程通讯

摘要: 操作系统很早就开始使用内存映射文件(Memory Mapped File)来作为进程间的共享存储区,这是一种非常高效的进程通讯手段。Win32 API中也包含有创建内存映射文件的函数,然而,这些函数都运行于非托管环境下,在.NET中只能通过平台调用机制来使用它们,用起来很不方便。幸运的是,.NET 4.0新增加了一个System.IO. MemoryMappedFiles命名空间,其中添加了几个类和相应的枚举类型,从而使我们可以很方便地创建内存映射文件。 1 内存映射文件原理 所谓内存映射文件,其实就是在内存中开辟出一块存放数据的专用区域,这区域往往与硬盘上特定的文件相对应。进程将这块内存.. 阅读全文

posted @ 2013-10-12 13:22 荣锋亮 阅读(491) 评论(0) 推荐(0) 编辑

.net 异常捕获

摘要: .Net 下未捕获异常的处理 随着.Net技术的发展,.Net技术被逐渐应用到很多大型的应用软件项目中。这些项目的规模越来越大,很多项目中除了自己的代码外还引用了很多第三方的.net组件。同时很多项目又被应用到很多关键的部门,软件系统的稳定性越来越至关重要。由于.Net 框架提供了非常强大的异常处理机制,同时对一些非托管代码很难控制的系统问题比如指针越界,内存泄漏等提供了很好的解决方案。相比非托管代码构建的系统,.Net构建的系统更加稳定。不过这并不是说.Net构建的系统就完全无懈可击,很多由于代码的不严谨或者系统问题引发的故障将会导致.Net应用程序产生未捕获异常,从而导致应用程序异常终.. 阅读全文

posted @ 2013-10-12 11:57 荣锋亮 阅读(652) 评论(0) 推荐(0) 编辑

Broker 模式

摘要: 使用Broker模式可以隐藏远程服务调用的实现细节,方法是将这些细节封装到一个与业务组件自身不同的层 [Buschmann96]。这个层为客户端提供一个接口,使客户端可以像调用任何本地接口一样调用方法。但是,客户端接口内的方法会触发要对远程对象执行的服务。这对客户端是透明的,因为远程服务对象实现了相同的接口。该模式将启动远程服务调用的业务组件当作"客户端",而将响应远程服务调用的组件当作"服务器"。图 1 显示没有进行任何分布的简单示例的静态结构。客户端直接调用服务器上的performFunctionA方法。仅当服务器对象与客户端对象驻留在同一台计算机上 阅读全文

posted @ 2013-10-12 11:04 荣锋亮 阅读(899) 评论(0) 推荐(0) 编辑

2013年10月11日

转 C++常用的类库

摘要: 1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C ++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是一个实用的程序库、框架集,还是一个典范的设计模式应用范例,非常值得学习。2、GUI库:Qt 传统上Qt被认为是可移植的GUI库,但实... 阅读全文

posted @ 2013-10-11 20:59 荣锋亮 阅读(558) 评论(0) 推荐(0) 编辑

使用模式创建一个面向服务的组件中间件

摘要: 引言在本文中,您将了解面向服务的组件中间件在用于资源有限的语音设备时,在设计阶段所应用的模式。它涵盖了项目的问题上下文,并被看成是一组决定因素,是对相关体系结构远景的一个简要概括。您还会得到一份描述,其中介绍了一些被用来解决问题和创建软件体系结构的模式,以及它们的应用方法和相互关系。本文重点关注在某一特定项目中应用各种模式的具体经验,而不是描述通过应用模式来解决问题的理想化方法。本文假定您已经熟悉了所讨论的各种模式。下列关于面向服务的体系结构的定义摘自Wikipedia,并被本文所采用:“面向服务的体系结构 (SOA),这个术语是指一个用来实现软件体系结构的业务驱动的方法,它支持将业务集成为一 阅读全文

posted @ 2013-10-11 12:01 荣锋亮 阅读(329) 评论(0) 推荐(0) 编辑

使用 libevent 和 libev 提高网络应用性能

摘要: 简介许多服务器部署(尤其是 web 服务器部署)面对的最大问题之一是必须能够处理大量连接。无论是通过构建基于云的服务来处理网络通信流,还是把应用程序分布在 IBM Amazon EC 实例上,还是为网站提供高性能组件,都需要能够处理大量并发连接。一个好例子是,web 应用程序最近越来越动态了,尤其是使用 AJAX 技术的应用程序。如果要部署的系统允许数千客户端直接在网页中更新信息,比如提供事件或问题实时监视的系统,那么提供信息的速度就非常重要了。在网格或云环境中,可能有来自数千客户端的持久连接同时打开着,必须能够处理每个客户端的请求并做出响应。在讨论 libevent 和 libev 如何处理 阅读全文

posted @ 2013-10-11 11:33 荣锋亮 阅读(193) 评论(0) 推荐(0) 编辑

2013年10月10日

Zato——基于Python的ESB和后端应用服务器

摘要: 概述Zato是一个用Python编写的开源ESB和应用服务器。按照设计,它用于构建后端应用程序(即仅是API)和在SOA中整合系统。查看Zato的项目文档点击这里,查看其GitHub页点击这里。Zato的目标用户是使用Python或者Ruby和PHP等其它动态语言的开发人员,或者是那些考虑在工作中尝试动态语言的技术团队,后者或是因为看到动态语言在其它地方使用,或是因为愿意尝试用其中一种动态语言编写的非前端系统。该平台是轻量级但完整的,它涵盖了架构师、程序员或者系统管理员的所有视角,对许多特性提供开箱即用的支持,包括HTTP、SON、SOAP、SQL、AMQP、JMS WebSphere MQ、 阅读全文

posted @ 2013-10-10 20:30 荣锋亮 阅读(1130) 评论(0) 推荐(0) 编辑

C语言集合的实现

摘要: C语言实现集合的交,并,差 作者:Raining_C 来源:http://blog.csdn.net/Raining_CN【问题描述】 编制一个能演示执行集合的并、交和差运算的程序 【基本要求】 (1)集合的元素限定为小写字母字符[ 'a'......'z' ] (2 )演示程序以用户和计算机对话的方式执行 【测试数据】【实现提示】 以有序链表表示集合 【代码过程】 1。先定义 集合的数据类型 notes.h //notes.h typedef struct LNode...{ ElemType data; LNode *next; }*Link, *Posit 阅读全文

posted @ 2013-10-10 17:36 荣锋亮 阅读(2198) 评论(0) 推荐(0) 编辑

C 编程规范

摘要: 目 录1 排版62 注释113 标识符命名184 可读性205 变量、结构226 函数、过程287 可测性368 程序效率409 质量保证4410 代码编辑、编译、审查5011 代码测试、维护5212 宏531 排版¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。¹1-2:相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if (!valid_ni(ni)){ ... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ 阅读全文

posted @ 2013-10-10 13:37 荣锋亮 阅读(407) 评论(0) 推荐(0) 编辑

导航