稍微谈一下 javascript 开发中的 MVC 模式
随着前台开发日益受到重视,客户端代码比重日益增加的今天,如何在javascript开发里应用MVC模式,这个问题似乎会一直被提到,所以偶在这里粗略的谈一下自己的看法吧。
MVC模式的基本理念,是通过把一个application封装成model, view和controller三个部分达到降低耦合,简化开发的目的。这么说很空洞,大家可以实际看个例子:
1<select
http://www.cyqdata.cn/cnblogs/article-detail-38014
深入剖析引用参数Ref和Out
学过C/C++的人,对C#的关键字Ref和Out应该都很好理解。它们都提供了一种可以在被调用函数内修改传递的参数的值的方法。因为这一功能很类似C/C++的指针。对于没学过C/C++的,也应该可以明白这两个参数的作用。虽然Ref和Out都提供了修改参数值的方法,但它们还是有一点点小的区别。1、Ref在作为参数调用函数之前,变量一定要赋值,否则会得到一个常规编译错误:使用了未赋值的变量。2、在被调用函
http://www.cyqdata.cn/cnblogs/article-detail-38013
.NET面试题(二)
1.面向对象的思想主要包括什么?
答:任何事物都可以理解为对象,其主要特征: 继承。封装。多态。特点:代码好维护,安全,隐藏信息
2.什么是ASP.net中的用户控件
答:扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中
加载的功能块,只是用户控件不能单独作为页面运行,必须嵌入到*.aspx页面或其它用
户控件中使用 。
3.什么叫应
http://www.cyqdata.cn/cnblogs/article-detail-38012
VSFTP+MySQL虚拟用户配置过程讲解
VSFTPD是一种在 UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用。VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中。VSFTPD称这种形式的用户为虚拟用户。相对于FTP的本地(系统)用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获
http://www.cyqdata.cn/cnblogs/article-detail-38010
C# Design Patterns (1) - Factory Method
Simple Factory Pattern (简单工厂模式)
特性:
把类的实例化工作,集中到一个「工厂类」去处理,亦即将 new instance 的工作,都交给一个「工厂」去处理,而不要分散写在各个类中。
客户端程序,与创建实例 (对象) 的工作必须隔离,亦即「解耦」,客户端程序只要专注于自己的业务逻辑。适用于客户端程序在开发过程中,尚无法预知要创建的具体类型。
产品具体的实现能和客户端隔
http://www.cyqdata.cn/cnblogs/article-detail-38009
Silverlight中二维变换详解
Silverlight 为常见变换变换包括旋转 (RotateTransform)、缩放 (ScaleTransform)、扭曲 (SkewTransform) 和平移 (TranslateTransform)。
还有一个MatrixTransform 类可以创建 RotateTransform、ScaleTransform、SkewT
http://www.cyqdata.cn/cnblogs/article-detail-38007
SharePoint 2010 技巧系列: 控制Ribbon菜单权限(SiteActions的例子)
上一篇写了一个关于快速开发Ribbon菜单的例子,这次我们共同探讨一下Ribbon菜单权限的控制. 如果你已经阅读了 “”, 我相信你已经能很快的开发一个Ribbon菜单,这时我们就需要去关注Ribbon菜单其它更深的东西,比如给Ribbon添加链接,Ribbon脚本,Ribbon权限控制等等.
当我们创建一个默认的SharePoint站点的时候,我们通过Site Acti
http://www.cyqdata.cn/cnblogs/article-detail-37998
Direct2D教程(二)来看D2D世界中的Hello,World
引子
任何一门语言的第一个教程几乎都是Hello,world。我们也不例外,但是这里不是教大家打印Hello,world,而是编写一个简单的D2D绘制程序,让大家对Direct2D的程序结构及编程方法有一个基本的认识。下面我们来看如何一步一步绘制一个矩形。
基本概念
在开始之前,还是先介绍一些基本的概念,有助于大家理解程序,这些概念包括,Brush(画刷),Render target(渲染目标),
http://www.cyqdata.cn/cnblogs/article-detail-37997
步步为营 .NET 代码重构学习笔记 五、移动函数和移动值域(Move Method And Move Field)
Move Method 概述 程序中,有个函数与其所驻class之外的另一个class进行更多交流,调用后者或被后者调用 动机(Motivation) 如果一个class有太多行为,或如果一个class与另一个class有太多合作而形成高度耦合(highly coupled),我们就会搬移函数。通过这种手段,我们可以使系统中的classes更简单,这些classes最终也将更干净利落地实现
http://www.cyqdata.cn/cnblogs/article-detail-37996
QWrap Selector解密之三:matchSelector
QWrap Selector解密之三:matchSelectorw3c的selector-api2标准已经提供了matchSelector的相关条文:http://dev.w3.org/2006/webapi/selectors-api2/#matchtesting
module dom { [Supplemental] interface Element { bool
http://www.cyqdata.cn/cnblogs/article-detail-37995
步步为营 .NET 代码重构学习笔记 四、分解函数和替换算法(Replace Method And Substitute Algorithm)
Replace Method with Method Object 概述 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的值域(field),然后你可以在同一个对象中将这个大型函数分解为数个小型函数. 动机(Motivation) 小型函数优美动人,只要将相对独立的代码从大型函数中提炼出来,就可以大在提高代码的可读性. 示例 public int Gamma(
http://www.cyqdata.cn/cnblogs/article-detail-37994
奔三了,悲催的IT职业生涯仍然没找到方向
今天看到朋友QQ签名是:没有目标注定不会有成就。 想到自己这么多年的IT打工经历不禁怅然若失 惆怅不已,自己正是没有目标才白混了这么多年。 回想从1998年接触电脑,2000年开始喜欢做个人主页那时候的个人主页主要是以炫耀JS为主,找几张自觉酷酷的图片写几句外加一堆JS特效就堆砌成一个个静态页面了。不记得哪年起有了网页三剑客,于是学了点FLASH更是迫不及待地应用到自己个人主页上
http://www.cyqdata.cn/cnblogs/article-detail-37993
我也要学C语言-第五章:编码(1)-"补码"
原码:
因为CPU只能做加法,于是人们想到了用这样的办法来实现减法:
1 - 1 = 1 + (-1)这样的话:二进制就是(00000001)原 + (10000001)原 = (10000010)原 = -2 /*原码的二进制最高位0表示正,1表示负*/
这样做显然结果是不正确的。不正确的原因是在进行加减运算时需要同时考虑数的符号和幅值这两个因素!!!而且,这样做还会带来两个0的
http://www.cyqdata.cn/cnblogs/article-detail-37992
WP7 Isolated Storage详解(5)-通过XmlSerializer读写XML文件
首先创建一个Windows Phone 7项目,然后在MainPage.xaml.cs(或其他页面文件)中引入命名空间:
using System.Xml;
using System.Xml.Serialization;
using System.IO.IsolatedStorage;
using System.IO;
提示:你需要在项目中添加System.Xml.Serialization引用。
http://www.cyqdata.cn/cnblogs/article-detail-37990
《.NET4.0 面向对象编程漫谈》读书笔记 ——第10章 异步编程模式
第10章 异步编程模式
【摘要】:异步编程充分利用多线程技术带来的好处,而不需要程序员了解多线程开发中的复杂细节。本章讲述了基于IAsyncResult的异步模式、基于事件的异步模式。
第1节 程序的同步执行和异步执行
1、同步概念:若在代码中调用了一个方法,需要等待此方法所有的代码执行完毕之后,才能回到原来的地方执行下一行代码,这种程序运行方式称
http://www.cyqdata.cn/cnblogs/article-detail-37988
《inside the cpp object model》 阶段性阅读总结(4)
第四章 函数的语义
章前阅读 c++支持,静态,非静态函数成员,虚函数,不同的函数调用,会产生不同的效果。
第一节 不同种类的成员调用
非静态成员函数。在挑选函数实例的时候,是没有花费的,这个是通过内部的转换,将成员函数变为非成员函数而实现的。包括以下三步:参数表中添加this指针,函数体内成员变量增加this指针,重写函数为外部函数并进行名字分解。
名字分解。成员函数的名字被改为唯一
http://www.cyqdata.cn/cnblogs/article-detail-37986
《模式——工程化实现及扩展》(设计模式C# 版)《桥模式 Bridge》——“自我检验"
转自:《模式——工程化实现及扩展》(设计模式C# 版) http://www.cnblogs.com/callwangxiang/ 1、 项目中,依赖关系主线和旁支的关系如图所示,请根据本章介绍
http://www.cyqdata.cn/cnblogs/article-detail-37985
ActiveSupport 源码探索 -- aliasing
前言
ActiveSupport 是 Ruby on Rails 的主要模块之一。它通过 hack 一些 Ruby 的内建类来提供一些通用方法,它还自定义了一些有用的通用功能模块,如 memoize,callback等。研究 ActiveSupport,是因为它在 Rails 的诸多模块中相对底层,依赖较少,而且元编程技巧处处可见。作为第一篇文章,我这次选择分析 ActiveSupport的 al
http://www.cyqdata.cn/cnblogs/article-detail-37982
Velocity 加减运算
因为在做的一个项目里用的是velocity,以前一直没用过,一直都是用的框架自带的标签,如struts2等,做了一段时间感觉差不多都一样的,无非就是if..else...,foreach等,但是网上说freemaker要强大的多,我也没用过,所以就没资格说那个好,但是用velocity有点让我不爽,velocity不能用索引访问数组,也就是访问数组不能用 list[i]这样访问,只能用foreac
http://www.cyqdata.cn/cnblogs/article-detail-37971
跳表SkipList
1.聊一聊跳表作者的其人其事
2. 言归正传,跳表简介
3. 跳表数据存储模型
4. 跳表的代码实现分析
5. 论文,代码下载及参考资料
<1>. 聊一聊作者的其人其事
跳表是由William Pugh发明。他在 Communications of the ACM June 1990, 33(6) 668-676 发表了Skip lists: a probab
http://www.cyqdata.cn/cnblogs/article-detail-37965