Fork me on GitHub

2012年4月26日

摘要: 前言:由于身边也没什么学习资料,也就一边利用网络一边自己理解整理,慢慢地步入神秘的反射机制。 反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。简而言之, 反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。使用Assembly定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。使用Module发现以下信息:包含模块的程序集以及模块中的类等。您... 阅读全文
posted @ 2012-04-26 09:35 HackerVirus 阅读(178) 评论(0) 推荐(0)
摘要: 本版本最大的改进就引入强大的调试机制。如果一个框架使用了模块加载后,迎来的最大问题莫过于调试。由于有了模块化,因此不需要担忧体积的问题,因此大放手脚伸入前端各个领域去,JS文件暴涨,也意味着API数量瀑涨,就像jQuery那一点儿API有的人都记不全,更别说像EXT,YUI,dojo这样的巨无霸了。对于这个方法是在A模块还是B模块,我们在调用时还可以查一查,但出错时,就未必出A模块或B模块内,A模块还可能依赖于C模块与D模块,D模块还有依赖,这样一级级下去,我们很难追溯到出错的源头。特别是,如果这个JS文件是动态加载的,然后又删掉了,连firebug也查不了!因此强化调试机制势在必行,这也是本 阅读全文
posted @ 2012-04-26 09:34 HackerVirus 阅读(196) 评论(0) 推荐(0)
摘要: 所谓“动态组”,就是在服务器内存中动态创建的组,不需要序列化存储到比如数据库或磁盘中,更像是一个临时的东西,需要的时候就创建一个,然后加入多个成员进行组内沟通,当不再使用的时候,就直接从内存中销毁了。在阅读本文之前,请务必先掌握ESFramework 开发手册(05) -- 好友与组一文中介绍的关于组关系的基础知识以及相关API的用法。 本Demo主要演示以下功能:(1)创建动态组(2)加入动态组(3)在组内广播消息。(群聊)(4)退出动态组(5)销毁动态组一.公共定义 对于一个C/S系统来说,客户端和服务端必需在某些定义上达成一致,比如信息类型的定义、协议类的定义等。DynamicGrou. 阅读全文
posted @ 2012-04-26 09:33 HackerVirus 阅读(165) 评论(0) 推荐(0)

2012年4月25日

摘要: “请对我的代码指手划脚”是我们群内搞的一个不定期的常规性活动,以代码审阅和细节重构为主线,大家可以自由发表自己的意见和建议,也算得上是一种思维风暴。感觉到这个活动很有意义,有必要总结并记录下来。今天我发起了4短代码,都有一定的代表性。今天我就其中的一个代码片段的重构做一个简单的总结和分享。首先我们看看目标代码: 1 public static string TestA(List<string> items) 2 { 3 var builder = new StringBuilder(); 4 5 foreach (var item in items) 6 { 7 ... 阅读全文
posted @ 2012-04-25 21:18 HackerVirus 阅读(246) 评论(0) 推荐(0)
摘要: 这是在斯坦福大学的Greg Sell 和 Scott Cannon 在2005年冬天做的一个简单的音频编码器。性能经分析和MPEG1 层1层2差不多。码率基本控制在256~384kbps给出源代码和文章链接Gss Project Paper在线链接Gss Project Paper本地链接代码在线链接本地链接测试流在线链接测试流本地连接但是这个工程有些问题注意:1.decoder 在decoder.c加一行代码n = fread(&long_block , 1, sizeof(short), enc_fp);n = fread(&output_fp.info.srate , 1 阅读全文
posted @ 2012-04-25 21:17 HackerVirus 阅读(290) 评论(0) 推荐(0)
摘要: 《JavaScript 每周导读》第五期继续向大家分享最新的 JavaScript 重点资讯、技术文章、开发工具以及新出炉的各种开发框架,让 JavaScript 开发人员了解领域内的技术发展趋势。本期头条是《jQuery Mobile 1.1 发布》和《免费电子书:JavaScript 启蒙》,详细内容如下:本期头条jQuery Mobile 1.1 发布jQuery Mobile 用于创建针对智能手机和平板电脑的跨设备Web应用。jQuery Mobile 1.1 版本实现了工具栏完全固定、更流畅的页面切换和AJAX加载等。另外,为了使开发者能方便的从1.0版本升级到1.1版本,jQuer 阅读全文
posted @ 2012-04-25 21:16 HackerVirus 阅读(322) 评论(0) 推荐(0)
摘要: 使用 MonoTouch 做 iOS 开发, 由于 MonoDevelop 和 VS 2010 相比, 功能差的太多, 通常会相应的建立两个项目, 一个是 MonoDevelop 项目, 在 OSX 下使用, 一个是 VS 项目, 在 Windows 下使用, 在 Windows 系统下进行编码, 之后再在 OSX 下进行调试。 不过, 默认的 VS 项目在添加 MonoTouch 项目的 CS 源文件之后, 经常编译出错, 而且如果安装了 Resharper 之类的插件之话, 也会得到一大堆错误信息, 令人感觉非常恶心。 经过一番研究发现是因为 VS 不能引用 MonoTouch 的几个核心 阅读全文
posted @ 2012-04-25 21:15 HackerVirus 阅读(198) 评论(0) 推荐(0)
摘要: 曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了;诚然,SSMS和Profile足够强大,工作的大部分内容都能通过它们搞定,但是MS、第三方公司甚至是个人开发者为SQLServer提供了很多其他的工具,如果你能充分的掌握这些工具,无疑会给我们数据库的管理、优化、测试和排错节省大量的时间和精力,下面就来介绍除SSMS和Profile之外的其他有用的工具。NO1:PD(PowerDesigner)功能:SysBase公司提供的数据库设计工具,功能很强大,是做数据库设计时必备的工具;下载:http:/ 阅读全文
posted @ 2012-04-25 21:14 HackerVirus 阅读(589) 评论(0) 推荐(0)
摘要: 快找工作了,要整整算法之类的东西了,先把内功练好了才会有更好的发展,从今天起开始写些数据结构的东西。东西可能会比较简单,作为入门,大家可以也学习学习。并提出些修改意见。排序算法之一:冒泡排序(Bubble Sort)冒泡排序算法是可用的最慢的排序算法之一,但是是最容易理解和实现的一种排序算法。这种排序的得名是由于数值"像气泡“一样升至队列的顶端或者底端而得名,通过多次遍历整个列,并且比较相邻的数据,如果左边的数值大于右边的数值就进行交换(升序)。实现代码如下:Bubble Sort Code 1 public static void BubbleSort(int[] arr) 2 . 阅读全文
posted @ 2012-04-25 21:12 HackerVirus 阅读(262) 评论(0) 推荐(0)
摘要: 引言:前面一章简单介绍了关于epoll 的使用方式,这一章介绍一下一个简单的反应堆模型,没有实现超时机制的管理。最主要的是要介绍一下关于异步事件反应堆的设计方式。反应堆的模型图在上一张可以看到,但是那个是盗来的一张图,twisted 的反应堆。今天给不熟悉这个部分的朋友介绍一下基于 epoll 的反应堆,过程类似于libevent.反应堆可以提供几个操作:(0)创建一个反应堆:?mc_event_base_t * mc_base_new(void) ;返回一个操作句柄. (1)为某一个需要监听的文件描述符加入回调函数,并注册事件类型。?123456int mc_event_set( mc_e. 阅读全文
posted @ 2012-04-25 21:11 HackerVirus 阅读(326) 评论(0) 推荐(0)