Powered By Blogger

2007年8月10日星期五

siverlight


这个要去 微软那边下浏览器插件
并且必须要IE才可以看到效果

siverlight 是 WPF的一个子集

2007年8月8日星期三

反省 与 反射

审查一个对象来了解更多信息的思想称为反省(introspection)
而进行审查的过程通常称为反射(reflection)


通常用于代码文档的生成
测试框架
.net的工厂模式

2007年5月22日星期二

Iframe的javascript




Javascript太强大了

父子窗体可以互相访问

简直可以建成客户端应用程序

不过要在同狱的页面才行

子访问父:alert(parent.window.yy);

父访问子:frames['Fson'].window.aaa();

2007年5月7日星期一

关于form

本来想用到 reset 的按钮的
其实是 form的一个方法

原来一个body可以有好几个form的
document.form[i].reset


不过这个和服务器是没有关系的
而且一个aspx 只能有一个 run=server的 form
所以 基本上想局部取消 就不好办了

2007年5月2日星期三

好久没有更新了

ondatebind 有无引用父类方法有什么区别吗



看来 css没有我想像中的那么强大

2007年2月7日星期三

系统架构

Webconfig的配置

configuration

必要的第三级别目录system.web

自定义Web.config文件配置节

分别关联到某一个config文件

httpmodule 表单身份验证 相结合

webconfig添加module节点,关联到处理类

httpmodule接口事件订阅方法

HttpApplication类 封装了程序 各个阶段的方法 接口

Moudule原来是有 操作global的功能

2007年2月3日星期六

开始我的php

想学php了
搞了半天却mysql 装不上了
好象原来是这样的

看了下代码
是冰冷的
好陌生

好了,慢慢学我的php+mysql吧
。。。

2007年1月27日星期六

关于SQL自定义函数

MS SQL允许用户自己定义函数 ,我们应当充分的利用这点 ,避免为了某功能而重复的输入代码,
下面是一个常用的自定义函数,作用是让我们输入名字的时候,自己生成拼音的首字母:


以前的提问

这个是c++ primter 3rd 的12.2里面的小例子
是要定义一个函数对象
#include
class GreaterThan {
public:
GreaterThan( int sz = 6 ) : _size( sz ){}
//这个就看不懂了,应该是构造函数吧,什么是_size(sz)

int size() { return _size; }

bool operator()( const string & s1 )
{ return s1.size() > _size; }
//这个是重载了运算符(),不会和上面的构造函数冲突吗
private:

int _size;
};
下面是函数对象的使用:
void process_vocab( vector<>*pvec )
{
int cnt = count_if( texts.begin(), texts.end(),
GreaterThan() );//怎么可以这样用呢
}
望高手指点一下。。。






这下是明白了,书快看完了
不过 大的方面好象都懂的样子
虽然还有关于类的几章没有看
谁怪 primter这么 全面呢

lei yu

类域中的名字必须在使用中必须被声明,这点很好理解的

但是有两种情况除外的:

为什么会这样呢,这个和名字解析机制有关系了

inline函数定义里面

class String {

public:

typedef int index_type;

char& operator[] ( index_type elem )

{

return _string[ elem ]; //看到没有,_string是在下面生成的

}

private:

char * _string;

};

这个让我想起了,以前在csdn上面的提问。 哈哈 原来是这个样子啊

该名字解析发生在类的完整域中就好像成员函数体是

在类体结束前被最后处理一样在这个点上类的所有成员都已经被声明了

被用做缺省实参的名字

class Screen {

public:

// bkground 指向在类定义中后来声明的静态成员

Screen& clear( char = bkground );//看到没有

private:

static const char bkground = '#';

};

不过缺省实参 必须是 静态的

2007年1月22日星期一

基于对象





传统的面向对象编程语言 例如 c++ java

对象是基于类的

对象是类的一个实例

比较而言,javascript是基于构造器函数的

这个函数 相当与构造函数

这个叫 :

构造器函数

更象是一个摸板 而不象类

与类的功能一样

封装了 属性 和 方法

一个“类”:

function Class1(x,y,z)

{

this.c_x =x;

this.c_y =y;

this.z_z =z;

}

实例化:

obj1 = new Class1(“11”,”12”,”123”)

obj2 = new Class1();

这里面的参数值是undefined

访问:

obj1.x;

对象扩展:

Obj1.q=”4567”;

这个 q的属性 只有Obj1对象有,其他同类的对象没有

类扩展:

Obj1.prototype.r =”ff”;

修改了class1

还好javascript 没有多继承

对象方法

定义一个方法:

function display1()

{alert();}

修改

function Class1(x,y,z)

{

this.c_x =x;

this.c_y =y;

this.z_z =z;

this.gg = display1;

}

调用:

obj1 = new Class1(“11”,”12”,”123”)

obj1.gg();

靠,方法是在外面定义的哦,但是要操作属性呢

2007年1月19日星期五

this 和 static

请看 函数 的连续调用

int main()

{

myScreen.clear().move(2,2).set('*').display();

bufScreen.reSize(5,5).display();

}

这些函数的共同特点是需要 返回自身的对象

也就是:

// 返回被调用的对象

return *this;

记住 this 是一个指针

Static

不需要对象只要 类名:: 就可以访问了

静态数据成员可以是其受属类

看好,不是引用也不是指针哦

class Bar {

public:

private:

static Bar mem1; // ok

Bar *mem2; // ok

Bar mem3; // 错误

};

缺省实参

可以直接做为缺省实参,而非的却不可以

extern int var;

class Foo {

private:

int var;

static int stcvar;

public:

// 错误: 被解析为非 static Foo::var

// 没有相关的类对象

int mem1( int = var );

// ok: 解析为 static Foo::stcvar

// 无需相关的类对象

int mem2( int = stcvar );

// ok: int var 的全局实例

int mem3( int = ::var );

};

静态成员函数可是没有this 指针的

2007年1月18日星期四

关于 const 的更深沉次

const函数竟然可以修改指针类型的数据成员

这个往往让c++初学者大吃一惊

这个是一种不良的程序设计风格,程序员要保持警惕

const与非const成员函数可以互相重载

const对象只能调用声明为const的成员函数

const修饰的是对象而不是类
声明为const往往是限制了好多东西

当然 构造函数和折构函数除外

因为const只在从构造完成时刻到析构开始时刻这段时间

volatile也是一样

volatile对象只能调用volatile函数

用于补救const 的mutable

mutable的成员函数是可以被修改的,即使是在const函数中

2007年1月10日星期三

友元函数的存在





我们知道一个类的成员函数一定有一个固有的参数,而且还是隐式声明的

没错 那个就是 this ,一个指向自身的指针

这个指针可以毫无障爱的访问自身的其他数据成员(这里说的是private的成员,当然public 就没有什么意义的)

但是 这个函数是在外部呢

我们要做的是 让外部的函数访问内部的私有成员??

我们可以声明,让这个函数成为这个类的友元函数

这个时候就在声明的地方 加上friend,记住一定有个对类的引用参数的

这个就是为什么要有友元函数了

顺便好所一下 ,c++里面有 有元类,我想这个是因为要把两个类合为一体吧

就象好朋友住在一起,完全共享自己的私有东西

2007年1月3日星期三

一篇不错的数据库测试文章(MYSQL)转网上的

http://www.greatlinux.com/service/stest1.htm 连接地址

另:祝大家在新年里.男生象Oracle般健壮;女生象Vista般漂亮;桃花运象IE中毒般频繁;钱包如Gmail容量般壮大,升职速度赶上微软打补丁 (引)

2007年1月1日星期一

元旦快乐!

C:printf("祝大家元旦快乐");
C++ : cout<<"祝大家元旦快乐";
QBasic : Print "祝大家元旦快乐"
Asp : Response.Write "祝大家元旦快乐"
PHP : echo "祝大家元旦快乐";
JScript: alert("祝大家元旦快乐")
VBScript:MsgBox "祝大家元旦快乐"
Jscript:document.write("祝大家元旦快乐")
Delphi: ShowMessage('元旦快乐!');
VB: Msg("元旦快乐!")
VC: MessageBox("圣元旦快乐!");
shell: echo 元旦快乐
perl: print '元旦快乐
java: System.out.println("元旦快乐");
powerBuilder:messagebox("", "祝大家元旦快乐")
C Sharp: System.Console.WriteLine("元旦快乐");
asm: .data
mess db '元旦快乐',0
.data?
StdOut dd ?

2006年12月28日星期四

共享数据

很多对象有共同的数据
那么就使用共享的全局变量
只能限于同类的所

2006年12月27日星期三

权限?权限!(一点体会)

关于权限问题 看了很多资料 觉的有很多方法可以弄好

不过数据库方面设计 基本的出发点还是另出一个授权表 在授权表里又可列出对于权限的分级和分类

而权限表里只要放权限名称就好 加个描述的字段 解释好权限所对应的功能就行

还有就是用户表或是资源表 (如果你是要对每一页加权限就建立资源表 资源表是把每页里的所有东西看做一种资源 这样你登入帐号后就只能看见你所拥有权限所包含的页 ),举个简单的例子:现在就只有两个帐号 ADMIN和aaa ADMIN被授权表的“最高管理员”授予了权限表的“1级管理员”,再从权限表和资源表的内联表里传给资源表 这样就让ADMIN拥有了“最高管理员”的权限 相同的方法让aaa有了个低级用户的权限

如果我在页面里设定了登入页是所有授权都可以看见的,那么ADMIN和aaa就可以都看见登入页而进行登入来确定他们的身份(这是必须的,不然怎么知道谁拥有什么权限啊,呵呵),接着进入首页(对网站而言)或控制主界面(对WEB管理软件而言) ,这儿就要有区别了,ADMIN可以看见的东西和aaa肯定是不一样的,ADMIN可以看见如添加管理员 修改管理员密码之类的高权限才能处理的东西 而aaa根本看不见 更不用说修改了,至于代码安全性处理这就要看程序员的习惯和水平了, 还有很多东西啊,还有点习惯就是 资源表是没问题的拉 但是用户表就要注意一点了那就是:名字! 一般来说(象我以前也是啊),就是把名字建成一个字段,好的习惯是把他们分成2个字段 姓和名 这也许是个小问题 ,但对于客户看到了感觉会不一样的,象雅虎邮箱里的称呼 “涛” ,让你亲切了不少吧 。。以后有什么新总结再说吧 ,反正就那6个表 对于权限设定就很全了。
PS 表为 权限表 授权表 资源表 用户表 授权和权限的内联表(即多表) 资源和权限的多表

提着包包上班

2006年12月26日星期二

简单的数据库


最基本的数据库
sequence : 是为自动增长而准备的表
logs: 日志表,valid可以控制属性
其他两个表是 角色和用户
应该还有个user-group 的表