[MVC]this.ReadFromRequest读取的是Name的值

mikel阅读(844)

发现个问题,原来ASP.NET MVC 框架中的this.ReadFromRequest(string key)读取的是form中组件的name值,不觉得让我很是不解,难怪只定义了id不能获得到值呢
代码如下:

<form id="Area" method="post" action="<%=Url.Action("SaveArea") %>">
<div>
AreaName:<%=ViewData.AreaName %>
<label>地区名称:</label><input type="text" id="AreaName" name="AreaName"/>
<label><input type="submit" value="保存" /></label>
</div>
</form>

不过这样也可以理解,毕竟ID不能重复,而name可以重复,这样就可以用来读取radio的值了
代码如下:

<div class="qygr">
<label>
<input id="Enterprise" type="radio" name="radiobutton" value="2"  onclick="showCompany();"/>
</label>
企业
<label>
<input id="Person" type="radio" name="radiobutton" value="1" checked="checked" onclick="hideCompany();" />
个人</label>
</div>

[应用]Flair在线制作应用Flex

mikel阅读(841)

Flair允许使用者创建自己的Web或者是桌面的Flex应用程序,也就是说,是在Flair运行中,直接在里面添加控件,自定义程序各种UI以及事 件。相当不错的想法,Flair应该是刚刚被放出来没多久的项目,Demo已经上线,不过在Google Code的主页上还没有任何东西可以下载。Demo中基本的控件已经实现(双击进行添加),不过位置的移动等操作实现比较麻烦。有兴趣地可以去体验一下。
Google Code上主页:http://code.google.com/p/flair/
Demo地址:http://www.flairbuilder.com/FlairBuilder.html
Permalink:http://blog.minidx.com/2008/06/09/901.html
Related PostRuboss Framework:将Adobe Flex和AIR应用简单高效的与Ruby On Rails集成的开发框架AIR/Flex博客圈中居然也存在这种人利用Away3D快速创建Flex/Flash的3D应用的教程Flex中利用 Ruby on Rails解决超大文件上传问题Flex中通过设置fontFamily和labelStyleName样式在HSlider控件中使用嵌入字体的例子 Flex中如何通过设置tickLength样式设定HSlider控件上一个标记号(tick)长度的例子Flex中通过设置textAlign样式在 一个List控件中改变文本对齐方向的例子Flex中如何通过设置fontFamily样式在ComboBox控件中使用自定义嵌入字体的例子Flex中 如何通过prompt属性在ComboBox控件中添加一个提示项(prompt)的例子Flex中如何通过设定headerStyleName样式在 Accordion控件中使用嵌入字体的例子Flex中如何通过leading样式在一个text控件中设置文本铅框(text leading)的例子Flex中通过自定义Accordion容器头部来阻止用户点击Accordion容器头部的例子Flex中利用 firstDayOfWeek属性改变DateChooser控件日历(calendar)布局的例子作为一个Flash平台开发/设计者应该拥有的10 本书36款新鲜出炉的很酷的Flex/AS3组件,开发包和工具Flex中利用Repeater显示一组CheckBox控件的例子Flex中利用 Repeater显示一组RadioButton控件的例子Flex中如何通过borderStyle和borderSides样式设置 NumericStepper控件特定边框(上下左右边)的例子Flex中如何通过borderThickness样式设置NumericStepper 控件边框厚度的例子Flex中通过borderColor样式设置NumericStepper控件边框颜色的例子

[理论]世界第一张互联网虚拟大脑结构图

mikel阅读(878)

前 言:经过近一年的努力,我们详细探讨了互联网进化规律,并最终绘制了世界第一张互联网虚拟大脑结构图,我们相信这一推论将对预测互联网下一步的发展动向以 及研究人类大脑的组织结构都会起到重要作用。从威客理论到互联网进化论再到互联网虚拟大脑理论,它们将成为真正属于中国的互联网理论。
 
作者:刘锋,彭庚,刘颖  原创
转载或引用请标明作者
 
   在互联网繁杂混乱的现象背后,有两个问题始终摆在人们的面前,第一,互联网的发展有没有规律可循?第二,互联网的最终结局是什么?从2005 年开始,网络经济领域陆续涌现出的web2.0、长尾理论、维基经济学、海星组织等概念和理论,这从不同方面探讨和描述了互联网的一些发展规律。总体上 看,它们是对网络经济的表象和特征的描述,并不能有效地回答这两个问题:互联网发展的规律是什么?互联网发展的最终结果是什么?本文将围绕这两个核心问题 进行展开阐述
一,   互联网发展的规律是什么?
         从人类的发展史看,人类的进步就是器官不断延长和连接的历史。棍棒延伸了双臂,石头延伸了拳头,汽车延伸了双腿,望远镜延伸了眼睛,电话线延伸了耳朵,公 路、铁路使人类四肢最终实现联网。从1837年英国人库克获得了电报机专利到20世纪50年代数据通信的产生,从互联网的诞生到博客,威客,搜索引擎的出 现。历史表明人类大脑的延伸和联结一刻也没有停止。
       为了实现人类大脑的充分联网,科技的进步不断延长人的大脑与互联网接驳的时间。互联网早期,人们使用台式机登陆互联网,随后人们可以携带笔记本随时寻找联网接口,无线通信技术的广泛应用和手机的电脑化进程使人们可以随时随地与互联网进行接驳。
         互联网进化的终极目标是使人类的大脑充分联网,但是目前互联网不可能通过物理手段直接将线路和信号接驳到人的大脑中。互联网进化到这一阶段产生的解决办法 是用大脑映射(brain mapping)作为缓冲[3],即将人脑的功能映射到互联网中,图一就反映出这种映射关系。
            
图一 人脑功能在互联网中的映射
                如果我们将电子邮件的通讯功能和博客中的用户访问记录功能也描绘出来,可得到图二左图的形状,而这一图形与人类大脑神经元具有很强的相似性。因此我们将大脑映射定义为互联网虚拟神经元[4][5],
 
               
图二 互联网虚拟神经元与人类大脑神经元
 
           如果这些互联网虚拟神经元相互连接在一起,将形成互联网虚拟神经网状结构,如图三所示。这一结构目前在互联网中已经出现,如www.yahoo.com.cn的站长天下系统,www.witkey.com的 威客地图系统,一方面这些系统给用户提供个人空间,具备撰写博客,发布个人智力作品,发送电子邮件的功能。另一方面网站用搜索引擎的方式连接这些个人空 间。  通过对互联网虚拟神经元的深入研究。我们提出互联网进化的最终结果是成为一个与人类大脑结构非常类似的组织结构,我们称其为互联网虚拟大脑。
图三 互联网虚拟神经网状结构
 
二,互联网发展的最终结果是什么?
     我们提到互联网发展最终结果是形成一个与人类大脑结构非常类似的组织结构。为了证明这一点,我们将从互联网虚拟运动神经系统,互联网虚拟视觉神经系统,互联网虚拟躯体感觉神经系统,互联网虚拟听觉神经系统,互联网虚拟记忆系统等五个方面进行介绍。
 
                                                     图四 互联网虚拟大脑
            人体的躯体感觉又包括触觉,痛觉,温度决,体位觉,运动觉,和震动觉。躯体感觉是从感受器开始的,感受器指的的是分布 在机体上的用来接收机体外刺激的专门机构。下面我们看一下互联网虚拟躯体感觉系统的发展情况,目前已有些机构在河流,土地,空气中安放传感器,通过网络进 行汇总,实时监控温度,湿度,风速,气压等等。这是互联网虚拟躯体感觉系统的萌芽,随着互联网的发展,我们认为这些传感器将会安放在城市,海洋,太空,沙 漠,森林等世界每一个角落,他们将源源不断的向互联网虚拟大脑传送地球各个方面的感觉信息,供互联网虚拟大脑神经元进行处理,参见图四。
            互联网虚拟视觉系统和虚拟听觉系统都起源于安放在家庭、工厂、旅游区、交通路口的监视器和视频录制系统,它们将收集到时视频信号,音频信号通过互联网进行 汇聚。这一应用已经相当普及和发达,这些视频音频录制系统将发展为互联网虚拟视觉系统和虚拟听觉系统,收集来自城市、海洋、太空、沙漠、森林等世界每一个 角落的图像和声波(包括无线电波)。这些信息也会传送给互联网虚拟大脑供互联网虚拟大脑神经元进行处理,参见图四。
         互联网虚拟运动系统起源于机械设备的远程控制,目前人们已经可以通过局域网和互联网远程控制打印机、小家电、手术刀。随着互联网的发展这些远程设备将更加 灵敏和强大,互联网用户将通过各自的互联网虚拟大脑神经元经过互联网的虚拟神经系统远程操控挖掘机、潜水器、收割机、家用电器、工厂生产设备和仪器,参见 图四。
            
    从神经生物学角度看,大脑皮层是种系发生学上最新的部分,并管理一系列庞大的识别和认知过程,该过程与情感行为、运动功能、躯体感觉的感知、整合以及记忆功能有关[7]。神经生物学按功能将人类大脑皮层分为如下功能区,如图五:
 
                                  图五 人类大脑皮层的功能分区
         通过前面的介绍,我们注意到互联网虚拟神经元将处理虚拟感觉系统、虚拟视觉系统、虚拟听觉系统、虚拟运动系统的信息。根据处理信息的不同领域,这些虚拟神 经元可以划分和聚合成不同的区域。除此之外,互联网用户也会因为不同的兴趣聚合在一起,如新闻社区、学习社区、游戏社区的等等。这些区域同自然界人类大脑 皮层的功能性划分是一至的。目前互联网用户以博客为单位正在进行以兴趣和爱好进行聚合的社区化演变。人们在这些社区内认识朋友,交换个人信息,对共同感兴 趣的信息进行讨论。以互联网虚拟大脑神经元为单位的互联网区域就形成了互联网虚拟大脑皮层。随着互联网虚拟大脑神经元(互联网用户)的增多和互联网社区的 不断涌现,互联网虚拟大脑皮层将不断发育和增厚,如图六。

 
                                 图六 互联网虚拟大脑皮层
     有证据表明,人类记忆的巩固需要海马到大脑皮层的输入重复达一到三年之久[6],大脑皮层的记忆编码在三年后变得相当可靠而无须来自海马输入的进一步强化(海马是人类大脑结构中的一个组成部分)。
     当互联网虚拟视觉系统,互联网虚拟听觉系统和虚拟躯体感觉系统出现并逐渐完善后,他们收集的数据将首先存放在互联网信息处理中心服务器中进行筛选和整理。 这些服务器将担当互联网虚拟大脑的海马区功能。互联网用户通过各自的互联网虚拟大脑神经元从这个中央信息处理中心获得需要的信息,并转移到自己的虚拟神经 元以及所在的互联网社区和兴趣小组里,这个过程就实现了记忆信息从互联网虚拟海马区向互联网虚拟大脑皮层的扩散和转移,参见图四。
 
3,结论
           互联网的起源和进化的最终目标是为了实现人类大脑的充分联网,这一目标产生了强大的拉动力,不断引导互联网向前发展,这就是互联网发展的规律。互联网进化 的最终结果是,第一,实现人类大脑的充分联网。第二,形成一个与人类大脑高度相似的互联网虚拟大脑。
 
4。互联网目前仍处在发展的初级阶段
从互联网的进化论中我们可以推断出互联网最终将进化成一个非常类似于人类大脑的组织,那么当前互联网处在一个什么样的发展阶段。纵观目前世界互 联网发展状况。我们注意到互联网虚拟神经元还仅仅进化到可共享知识区(博客)繁荣的阶段,可交易知识区,问题区,即时通讯软件还没有大范围的与博客进行结 合。因此互联网虚拟神经元还处在进化的初级阶段。
互联网的虚拟视觉系统和听觉系统随着互联网视频和音频的兴起已经开始发育,人们已经可以把拍摄录制现实世界的景象和声音上传到互联网中,监控器直接把图像和声应传到互联网中供所有互联网用户查看的应用还没有普及,因此互联网的虚拟视觉系统和听觉系统也处在进化的初级阶段。
安放在世界各地的传感器把来自现实世界的温度,湿度,风力等参数传入到互联网中的应用还没有出现,这种现象目前还主要存在于国家相关部门和科技机构的局域网里。因此互联网的虚拟躯体感觉系统也处在萌芽阶段。
目前人们可以通过互联网远程操控打印机,计算机,医疗设备,但大规模的操控工作设备的情况还没有出现,因此互联网的虚拟运动神经系统也没有发育成熟。
目前分散在世界各地的互联网服务器接受和储存大量的数据,应该说互联网虚拟记忆神经系统已经存在,但这个系统十分分散,前文提到互联网虚拟海马区和互联网虚拟大脑皮层还十分分散和不成熟,因此互联网的虚拟记忆神经系统处在进化的萌芽阶段。
总体上看目前互联网还处在进化的初级阶段,离完整的互联网虚拟大脑结构还有相当远的距离。
 
5 ,互联网进化论进一步的研究方向
 
5. 1研究互联网进化论还需要解决的问题
1. 推动互联网进化的背后机理是什么?
2. 互联网进化过程中,哪些技术是过渡性产品,通过互联网进化规律,可以预见到哪些还未出现的技术和产品?
3. 通过对目前人类大脑研究成果的了解,我们可以预见到互联网还将会发生哪些变化?
 
5. 2研究互联网虚拟大脑对医学研究人类大脑的启示
1.  人类大脑神经元中是否同样具备共享信息区,问题区,隐私区的分区功能?
2. 人类大脑的是否拥有和互联网中一样的地址编码系统。即每个大脑神经元和功能区是否具有唯一的编码地址。
3. 人类大脑的是否拥有和互联网中一样的信息索引系统,一个类似于google或百度一样的信息搜索引擎?
4. 通过对互联网虚拟大脑组织结构的研究,我们还将发现人类大脑的哪些未知区域。
 
参考文献:
 
1.Dave Kristula[美],The history of the Internet,1997
2.Ben greenstein,Adam greenstein[英 ]原著,师蔚王芳茹主译, 神经科学彩色图谱,世界图书出版公司,2003,p254,p32
3. John.C,Eccles[澳大利亚]著,潘泓译, 脑的进化, 上海世纪出版集团,2007,p134,p194
4.徐科主编, 神经生物学纲要,科学出版社 ,2000,p16, p17,p209,p270
5..尹文刚著,神经心理学,科学出版社,2007,P92-
6.钱学森、于景元,戴汝为,综合集成的重要性,1990
7.顾基发,综合集成的重要性,2007
8.王众托著, 知识系统工程, 北京:科学出版社,2004
9.刘锋,张玲玲,顾基发,The Application of Knowledge Management in the Internet— Witkey Mode in China,International Journal of Knowledge and Systems Sciences,2008
10.刘锋,威客地图(witmap)的发明与定义,新浪科技频道,2007
11.刘锋,互联网的分裂与统一,互联网周刊,2008,2
12, 刘锋,互联网进化断代史,互联网周刊,2008,3

[教程]ASP.net中Master页面的子页面的标题设置

mikel阅读(906)

母版页共有三个文件 Master,Master.cs,Master.designer.cs
在Master中打开html源代码部分将其中的Untitled Page改成你想要的母版名称
另外在你引用的页面里应该有这样一段
<%@ Page Language="C#" MasterPageFile="~/引用的母板页" AutoEventWireup="true" CodeFile="当前页面.aspx.cs" Inherits="当前页面" Title="Untitled Page" %>
将这个位置的Untitled Page改成你想要的名称就好了

[代码]C#上传文件代码

mikel阅读(859)

注意一定要加runat=“Server”,否则无法执行服务器端代码
页面代码:

<form id="form1" runat="server">
<input id="uploadfile" type="file" size="9" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="Label">文件:</asp:Label>
</form>

Button1_Click代码:

protected void Button1_Click(object sender, EventArgs e)
{
DateTime now = System.DateTime.Now;
string strBaseLocation = "d:\\up\\";
string filename = now.DayOfYear.ToString() + uploadfile.PostedFile.ContentLength.ToString() + uploadfile.PostedFile.FileName;
//上传文件名
uploadfile.PostedFile.SaveAs(strBaseLocation+filename);
Label1.Text = "上传成功,文件名为:" + filename;
}

[教程]ASP.Net MVC中操作Cookie

mikel阅读(971)

网站免不了要保存用户状态,ASP.NET MVC 框架的Controller提供了对Cookie的操作
代码如下:

HttpCookie cookies = new HttpCookie("UserName", user.UserName);
//设置为永久Cookie 去掉则为临时cookie 用户关闭后自动清除,类似session
cookies.Expires = DateTime.Parse("03/24/2009");
this.Response.SetCookie(cookies);
RenderView("UserPanel", user);

页面Page_onload

Response.Write("Cookie:" + Request.Cookies["UserName"].Value);

[教程]神经网络教程

mikel阅读(747)

如果您有疑问,可以先参考 FAQ
如果您未找到满意的答案,可以在下面留言:)
首先向大家道歉,很长时间没有来更新文章了。最近杂事太多,不好意思。

1 介绍

上一篇文章中,我们已经看到了一个简单的关于ANN实际应用程序,这篇文章中,我将简单地介绍一下ANN的最最基础的知识以及上一篇文章中的程序原理的说明。

2 ANN的最最基础的知识

ANN算法起源于生物体的神经系统,相信大家对生物神经系统的工作方式都非常了解,这里我也就不详细介绍了,不过,为了后续说明的方便,给大家上一个截图:
 

 

 

图1

根据生物神经系统的工作过程,我们可以大概理解以下这个图所要表达的含义:

 

 

图2

大家可以想象这样一种情形:寒冷的冬天,我们伸手到火炉边烤火,慢慢地,你觉得自己快要睡着了,这个时候,突然发现自己伸在火炉边的手特别烫得疼, 然后马上将手缩回去。这就是一个神经网络的工作实例,火对手产生的温度就是图2的输入层(Input),而缩手或不缩手就是图2的输出层 (Output)。但是缩手只有在手的温度达到一定的程度才发生的,比如说40度。

用图2来表示上面所说的情形:

X1 = 火对手产生的温度

w1 =火对手产生的温度的权值(对火对手产生的温度的放大或是缩小,我们让这个值为1)

激活函数(Active Function)= 如果 x1 * w1 > 40 激活(缩手),否则抑制(不缩手)

这是单输入的情况,如果有多个输入,则输出为 f(x1 * w1 + x2 * w2 + x3 * w3 …)

其中,f(x)为激活函数。

下面,我们来看2个多输入的神经网络结构图:

AND运算

 

其中f(x) =

If (x >= 2) return 1;

Else return 0;

阀值为2

我们可以利用这个结构图来检验一下是否正确:

X1 = 0, x2 = 0, x = x1*w1 + x2*w2 = 0 f(x) = 0;正确

X1 = 0, x2 = 1, x = x1*w1 + x2*w2 = 1 f(x) = 0;正确

X1 = 1, x2 = 0, x = x1*w1 + x2*w2 = 1 f(x) = 0;正确

X1 = 1, x2 = 1, x = x1*w1 + x2*w2 = 2 f(x) = 0;正确

OR运算

 

其中f(x) =

If (x >= 1) return 1;

Else return 0;

阀值为1

我们可以利用这个结构图来检验一下是否正确:

X1 = 0, x2 = 0, x = x1*w1 + x2*w2 = 0 f(x) = 0;正确

X1 = 0, x2 = 1, x = x1*w1 + x2*w2 = 1 f(x) = 1;正确

X1 = 1, x2 = 0, x = x1*w1 + x2*w2 = 1 f(x) = 1;正确

X1 = 1, x2 = 1, x = x1*w1 + x2*w2 = 2 f(x) = 1;正确

上面2个实例,就是我上篇文章中所需要建立的一个神经网络模型。

但是我们如何确定w1,w2和阀值呢?

这就需要通过神经网络来学习,从而确定w1,w2和阀值。

2 学习

拿计算AND运算的模型来说,需要2个输入1个输出是肯定的。关键就是如何确定2个输入的权值和激活函数的阀值。

为了计算激活函数的阀值,我们可以增加一个输入层,变成这个样子

 

这样,我们只需让激活函数f(x)=

If (x >= 1) return 1;

Else return 0;

即可。至于阀值究竟是多少,可以让w3的值去确定。这样,原先的问题就转化成了求解w1, w2 ,w3的大小的问题了。

接下来,我们制定这样的学习规律:

W(i) =     W(i)    + (正确值-实际计算的值)*x(i).

通过一定次数的训练,我们就可以让    (正确值-实际计算的值)变得相当下,这样最后的结果也就稳定了,同时求出了我们需要的w1, w2 ,w3的近似值。

3实际执行过程

  • 得到训练集合(合理的输入和期望的输出(如:输入x1=1,x2=1输出1))
  • 随机给w1, w2,w3赋值
  • 执行一定次数的训练

4 预告
在下一篇文章中,我将介绍和一个多层的神经网络,用于计算XOR(异或)操作。

5 总结
在本文中,咱们介绍了神经网络的简单最最基本的原理和上一篇文章的实例原理。

[教程]log4net教程

mikel阅读(839)

一.概述

使用可靠地第三方类库,比自己重新编写好得多。Log4net是由Apache开发的.Net.日志类库。并且已经很稳定。网址是:。本文基于1.2.10版。
作为Apache的著名开源项目,它有.Net,Java,C++等多个版本.
但是一般来说它只适合作调试是的单行日志,大量的那种.不太适合作正规的,带有调用堆栈的详细日志.

二.第一次使用log4net

1.添加引用:Log4net.dll和using log4net;
2.在需要作日志的类中加入变量
private ILog log = LogManager.GetLogger(typeof(类名));
3.在程序的启动方法中加入这条语句
XmlConfigurator.Configure(new System.IO.FileInfo("配置文件名"));
4.将配置文件写在启动项目的/bin/Debug目录下.
5.配置文件的缺省内容如下所示:

<log4net>
 
<appender name="A1" type="log4net.Appender.ConsoleAppender">
  
<layout type="log4net.Layout.PatternLayout">
   
<conversionPattern value="%-4timestamp %level %logger – %message%newline" />
  
</layout>
 
</appender>
 
 
<root>
  
<level value="Debug" />
  
<appender-ref ref="A1" />
 
</root>
</log4net>

这个配置文件将日志输出到控制台上.
6.在需要将调试信息写入日志的地方,可以使用类似下面的语句:
log.Debug(String.Format("background at={0} last={1}", 变量一, 变量二));

三.功能设定

1.log4将日志功能划分为如下几个层次:
logger:日志信息的来源,缺省为root.可以设定为命名空间加类名的形式.
appender:日志的输出媒介,可以是控制台或者文件.
layout:日志的输出格式.常用的是log4net.Layout.PatternLayout.
Filter:把某些行日志从输出中过滤掉.

2.如果希望只在某个特定类中输出调试信息的话,可以加入特定的logger:

 <root>
  
<level value="Info" />
  
<appender-ref ref="A1" />
 
</root>
 
<logger name="StringGrid.CanvasView">
  
<level value="Debug" />
  
<appender-ref ref="A1" />
 
</logger>

3.如果想将日志写入文件,可以在配置文件中加入如下内容:

 <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  
<file value="example.log" />
  
<appendToFile value="true" />
  
<maximumFileSize value="100KB" />
  
<maxSizeRollBackups value="2" />
  
<layout type="log4net.Layout.PatternLayout">
   
<conversionPattern value="%level %thread %logger – %message%newline" />
  
</layout>
 
</appender>

4.也可以让一个源输出到多个记录中:

 <root>
  
<level value="Info" />
  
<appender-ref ref="A1" />
  
<appender-ref ref="RollingFile" />
 
</root>

5.如果想将日志写入windows的EventLog,可以使用EventLogAppender.