Fork me on GitHub

2012年9月12日

摘要: YQBlog 1.1 发布【开源】在上一篇文章中,已经对该博客系统的架构,功能设计做了一些介绍。点击查看:YQBlog - 基于Asp.Net MVC3的个人博客系统分享【开源】这里对新增的部分做一些分享。博客预览后台预览(屏蔽了增删改)源码下载(请下载最新版YQBlog1.1)【注:分类信息跟网站配置信息都涉及文件修改,如果修改失败证明目录权限不够,需要添加下网站文件夹目录(至少是content目录)的net service用户组控制权限】新增功能:1.用户中心。2.用户在页面中对于所发评论/留言的修改,删除。3.系统邮件发送(留言、回复email通知提醒)4.简单的ubb编辑器主要知识点: 阅读全文
posted @ 2012-09-12 14:03 HackerVirus 阅读(1145) 评论(0) 推荐(0)
摘要: 分享两套MVC3开源程序:YQBlog个人博客系统以及YQCMS通用建站系统开发环境: Visual Studio 2010(MVC3+EF4.0) + SQL2005运行环境: .net framework 4.0 + SQL2005预览源码下载1.为什么有两套程序?YQBlog之前已经发布了两个版本,现在是1.2版本,YQCMS则是首次发布的1.0版本。目前很多流行的博客程序,除了用作博客网站外,很多人还会把它进行改造来做企业站。虽然实质上都是内容管理,但基于业务的偏差还是会有不少程序上的需求差异。企业站的需求千差万别,如果我们想要去适用这些需求,则会导致程序的不断增长而变得庞大。如果仅仅 阅读全文
posted @ 2012-09-12 13:56 HackerVirus 阅读(822) 评论(0) 推荐(1)
摘要: 架构架构描述在biztalk和不同系统之间传递的消息的结构。当然,这种也被称为协定的架构必不可少的,因为没有协定传递的消息就不能进行验证,这将会导致一个不一致的、无法预测的系统。如果biztalk无法确定输入的有效性,那么他也无法保证输出的有效性。很明显这不是我们所期望的。当双方协商确定了架构以后,你就可以轻松的解决失败消息和确定发送者是否发送了无效的消息或者接受者拒绝了一个有效的消息。同时,一个详细的、准确的协定允许你拒绝无效的传入消息,让开发者可以确定biztalk解决方案的所有其他部分的输入的有效性。基于架构,biztalk会产生一个消息类型。这个消息类型在订阅中使用,它对Message 阅读全文
posted @ 2012-09-12 09:21 HackerVirus 阅读(192) 评论(0) 推荐(0)
摘要: 这是个自己总结的架构,半领域驱动。实际项目结构:1.Sample.Web:表示层2.Sample.App:应用程序层3.Sample.Core:业务逻辑层4.Sample.Impl:各个具体实现5.Frameworks:常用组件图表示层代码:1.NewsApplicationnewsApp =newNewsApplication(this.contextUserId);a.new一个ApplicationLayer的News对象,传入当前用户ID2.PostNewsRequestrequest = GetUserInput();a.根据用户的输入,生成Request对象(如同消息一样,分Req 阅读全文
posted @ 2012-09-12 09:20 HackerVirus 阅读(955) 评论(0) 推荐(0)

2012年9月11日

摘要: 1.异步方法的实现原理异步方法不需要多线程,因为一个异步方法并不是运行在一个独立的线程中的。异步方法运行在当前同步上下文中,只有激活的时候才占用当前线程的时间。异步模型采用时间片轮转来实现。2.使用异步编程模型的优势:避免性能瓶颈,提升应用程序的整体响应性。3.关键字 全新的异步编程模型使用“async”和“await”关键字来编写异步方法async:用来标识一个方法,lambda表达式,或者一个匿名方法是异步的;await:用来标识一个异步方法应该在此处挂起执行,直到等待的任务完成,于此同时,控制权会移交给异步方法的调用方。4.异步方法的参数和返回值异步方法的参数:不能使用“ref”参数和“ 阅读全文
posted @ 2012-09-11 20:17 HackerVirus 阅读(264) 评论(0) 推荐(0)
摘要: 如何编写高质量的python程序目录代码规范空白项目模版单元测试文档打包小结代码规范首先阅读下面的两份规范,并深入理解。Python社区官方建议采用的Python编码风格:PEP8中文版Google SoC 建议的 Python 编码风格:Google Python Style Guide中文版写出规范的代码是写出高质量代码的第一步,并且有助于培养仔细的习惯。为了培养规范写代码的习惯,可以安装flake8这个工具,它不仅可以检查代码风格是否符合官方建议(PEP8),而且还能找出潜在的隐患(用Pyflakes做语法分析),更逆天的是还能检测到你有些函数写的太复杂(代码圈复杂度)了,更更逆天的是可 阅读全文
posted @ 2012-09-11 20:16 HackerVirus 阅读(228) 评论(0) 推荐(0)
摘要: 一、 C语言编译过程C语言的编译过程可分为四个阶段:1、预处理(Preprocessing)对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程。伪指令包括:1)宏定义指令; 2)条件编译指令; 3)头文件包含指令;2、编译(Compilation)编译就是将源程序转换为计算机可以执行的二进制代码。说明: 在Linux下,目标文件的缺省后缀为.o 编译程序将通过词法分析和语法分析,将其翻译成为等价的汇编代码。 在使用gcc进行编译时,缺省情况下,不输出这个汇编代码的文件。如果需要,可以在编译时指定-S选项。这样,就会输出同名的汇编语言文件。3、汇编(Asse... 阅读全文
posted @ 2012-09-11 10:30 HackerVirus 阅读(209) 评论(0) 推荐(0)
摘要: FFLIB 框架Broker 之Master/Slave 模式 在FFLIB的两篇介绍中,已经介绍了FFLIB是基于Broker模式构建的框架,核心组件关系图如下: http://www.cnblogs.com/zhiranok/archive/2012/07/30/fflib_framework.html http://www.cnblogs.com/zhiranok/archive/2012/08/08/fflib_tutorial.html 这种情况,比较明显的瓶颈是Broker 只有一个。在Client 和 Service 节点不断增多的情况下,单个Broker 将... 阅读全文
posted @ 2012-09-11 09:06 HackerVirus 阅读(214) 评论(0) 推荐(0)
摘要: 简介:排行榜是游戏组件中必不可少的组件,设计一个可重用的排行榜是必不可少的,一个排行榜系统需要满足如下要求:排行榜一般是限制名次的,比如只为前100 名进行排名排行榜一般会有多种,比如等级排行榜、金币排行榜等有时排行榜需要定时更新,有时需要实时更新排行系统组件关系图:创建排行榜 rank_obj_mgr_t rank_obj_mgr; rank_system_t rank_system(&rank_obj_mgr); enum { LEVEL_RANK = 1 }; //! 等级排行榜, 排名前一百个 rank_system... 阅读全文
posted @ 2012-09-11 09:05 HackerVirus 阅读(305) 评论(0) 推荐(0)

2012年9月10日

摘要: 先创建HTML(显示)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>jQuery 三级地市级联菜单_http://www.codefans.net</title> < 阅读全文
posted @ 2012-09-10 23:39 HackerVirus 阅读(229) 评论(0) 推荐(0)