精华内容
下载资源
问答
  • 从全局看javascript

    2011-12-18 23:40:00
    对技术细节不做描述,太空中看地球一样,你的肉眼是不清你的女朋友或男朋友在哪里javascript简述: JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的...
    头部.jpg 
    对技术细节不做描述,从太空中看地球一样,你的肉眼是看不清你的女朋友或男朋友在哪里

    javascript简述:
        JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
    [1] Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。
        完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。 
    从语言的角度看javascript,你会发现真的是很简单,这门语言模块比较清晰,你或许会说:噢,原来如此

    javasc.jpg 
    看到了吧,结构清晰,感觉就是几块甜美的蛋糕让人垂涎三尺

    说明:

    • ECMAScript-----核心:定义了脚本语言的所有对象,属性和方法以及各种语法

    • DOM----文档对象模型:HTML和XML应用程序接口

    • BOM--浏览器对象模型:定义关于浏览器的属性和方法

    ECMAScript【核心javascript】

        ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为Javascript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。

        ECMAScript的工作是定义语法和对象,从最基本的数据类型、条件语句、关键字、保留字到异常处理和对象定义都是它的范畴。在ECMAScript范畴内定义的对象也叫做原生对象。其实上它就是一套定义了语法规则的接口,然后由不同的浏览器对其进行实现,最后我们输写遵守语法规则的程序,完成应用开发需求。

    ecmascript.png

     


    看到上面的图,可以领略到ECMAScript的家族是如此的庞大



    DOM【文档对象模型】

    2.jpg

     

    根据DOM的定义(HTML和XML应用程序接口)可知DOM由两个部分组成,针对于XML的DOM即DOM Core和针对HTML的DOM HTML。

    那DOM Core 和DOM HTML有什么区别与联系呢?

    DOM Core的核心概念就是节点(Node)。DOM会将文档中不同类型的元素(这里不元素并不特指<div>这种tag,还包括属性,注释,文本之类)都看作为不同的节点。


    节点结构图

    3.png

     

         上图描述了DOM CORE的结构图,比较专业,来看一个简单的:

    1. <div id="container">
    2. <span>hello world</span>
    3. </div>
    来看一下这段代码在标准浏览器里的DOM表现:
    4.png 

       div和span元素被展现成了一个元素节点,对应到节点结构图中的Element元素

       "hello world"和div与span之间的间隔,被展现成了文本节点,对应到节点结构图中的CharacterDate元素

        DOM CORE在解析文档时,会将所有的元素、属性、文本、注释等等视为一个节点对象(或继承自节点对象的对象,多态、向上转型),根据文本结构依次展现,最后行成了一棵"DOM树"

        DOM HTML的核心概念是HTMLElement,DOM HTML会将文档中的元素(这里的元素特指<body>这种tag,不包括注释,属性,文本)都视为HTMLElement。而元素的属性,则为HTMLElement的属性。

    再来看一个示例:

    从Node接口提供的属性

    •     myElement.attributes["id"].value;很明显myElement.attributes["id"]返回一个对象.value是得到对象的value属性
    •     Element实现的方法返回
    •     myElement.getAttributes("id");很明显此时id现在只是一个属性而已,这只是一个得到属性的操作。

      其实上DOM Core和DOM html的外部调用接口相差并不是很大,对于html文档可以用DOM html进行操作,针对xhtml可以用DOM Core。


    BOM【浏览器对象模型】


    bom.gif

       

     

    BOM与浏览器紧密结合,这些对象也被称为是宿主对象,即由环境提供的对象。

        这里要强调一个奇怪的对象Global对象,它代表一个全局对象,Javascript是不允许存在独立的函数,变量和常量,如果没有额外的定义,他们都作为Global对象的属性或方法来看待.像parseInt(),isNaN(),isFinite()等等都作为Global对象的方法来看待,像Nan,Infinity等"常量"也是Global对象的属性。像Boolean,String,Number,RegExp等内置的全局对象的构造函数也是Global对象的属性.但是Global对象实际上并不存在,也就是说你用Global.NaN访问NaN将会报错。实际上它是由window来充当这个角色,并且这个过程是在javascript首次加载时进行的。


    总结:

        javascript是一门自由的语言,自由到让你不知所措,函数式编程和面向对象编程的模式可以交叉使用,顺便选择合适的设计模式会让你对这门语言另眼相看,的确,后面会有更多让你意外的事情发生。

    转载于:https://www.cnblogs.com/youdoce/archive/2011/12/18/2292756.html

    展开全文
  • 从全局看数据库系统设计

    千次阅读 热门讨论 2013-10-03 18:04:34
    尽管对数据库有了一定的学习,但第一遍《数据库系统原理》这本书,还是感觉有些迷糊的,特别是看到关系模式、函数依赖,但这篇文章还不打算说这部分的内容,仅系统开发的角度来谈前面两章的内容: 信息...

    设计过程

    尽管对数据库有了一定的学习,但第一遍看《数据库系统原理》这本书,还是感觉有些迷糊的,特别是看到关系模式、函数依赖,但这篇文章还不打算说这部分的内容,仅从系统开发的角度来谈前面两章的内容:

    信息系统开发结构化开发方法

    当画完这张图,就产生了一种似曾相识的感觉,似乎以前学习过类似的内容,翻看了以前画的图,找出了类似的一部分:

    数据库应用系统过程中提及到了三层模式和两级映像的概念,听起来神乎其神,原来早已经接触过,无非是概括了一番。在《信息系统开发与管理》一课中,极具代表性的结构化开发方法也说了同样的主题。


    数据库应用系统开发    VS    信息系统开发

    1.相同点:两者都是系统开发,开发过程可以很巧的说一样:规划、需求分析、设计、实现、运维。

    2.不同点:前者着重介绍数据库在系统开发过程中涉及的内容,对数据库的设计过程分析较为详细,概念模型、逻辑模型、内部模型从应用系统至数据库的一步步映射,从抽象到具体的一步步实现,可以说这部分内容是结构化开发中数据库分析、设计阶段的放大。


    学习一样东西,应先摆正它的位置,明白所处的大环境,不至于我们在研究的同时出现迷茫的情况,尽管现在还是对FD的概念没有深入,我相信也只剩一盏茶的功夫了。


    展开全文
  • Discuz!NT代码阅读笔记(1)--从HttpModule开始:首页的显示Discuz!NT代码阅读笔记(2)--网站安装也能自动化:论坛程序安装及初始化过程Discuz!NT代码阅读笔记(3)--网站安装也能...NT代码阅读笔记(5)--从全局看看:各个

    Discuz!NT代码阅读笔记(1)--从HttpModule开始:首页的显示

    Discuz!NT代码阅读笔记(2)--网站安装也能自动化:论坛程序安装及初始化过程

    Discuz!NT代码阅读笔记(3)--网站安装也能自动化(2)--DNT安装时使用到的几个函数解析

    Discuz!NT代码阅读笔记(4)-- 一切皆可配置:页面的显示

    Discuz!NT代码阅读笔记(5)--从全局看看:各个模块功能摘要

     

    7Discuz.Config

    这个项目主要自定义了一些控件供其它模块使用.有些控件在其它项目中用的很多.模块化设计,似的DNT的各个页面风格统一.还有压根就不知道在哪里用的控件!不知道为什么放到那里.

    但有个问题是,这些控件在其它页面显示时,没有设计时支持,都是一串红字,看着很不爽.

    (8) Discuz.Data

    数据类.相当于DALBLL的说.这个项目中的DataProvider中的CS文件中包含了论坛常用功能的操作。

    DbProvider中的CS文件定义了数据访问接口,这些接口在该工程中的DbHelper.cs文件中实现。

    DbHelper.cs中封装了ADO.NET的常用操作,像ExecuteNonQuery()执行SQL指令,ExecuteCommandWithSplitter()方法运行含有GO命令的多条SQL命令,ExecuteDataset方法执行指定数据库连接字符串的命令,返回DataSetExecuteReader()数据阅读器方法,方法ExecuteScalar 返回结果集中的第一行第一列,FillDataset()方法填充数据集。

    这些方法使用了Config类中提供的方法,自己从配置中读取程序的配置信息。因为配置信息基本不会变化,用户在使用这些方法时不需要再单独提供这些信息。

    DbFields.cs非常有意思。它封装了常用数据表的字段。在组织SQL语句时,不必再一个个字段地输入了。程序员都是会偷懒的,呵呵。

    9Discuz.Data.SqlServer

    提供了管理操作使用的方法。相当于MVC中的C的一部分。暂时无法理解为什么不Discuz.Data和并,而是与单独放在一个项目中。难道这里的操作与数据库类型有关?

    10Discuz.Entity

    实体工程。相当于MVC中的M。这里定义来论坛和其它功能操作常用的实体描述,与数据库字段对应。其他类使用这些模型,处理和获取想要的信息。

    11Discuz.Event

    这个项目组定义了一些需要周期性自动处理的计划任务。到期自动触发,而不需要再手动调整。

    12Discuz.Forum

    程序的另一个BLL。这里定义的方法更贴近实际使用,它主要调用Discuz.Data中提供的方法蓝来处理论坛的操作。

    此外还定义来功能型类.比如前面提到的HttpModule等均在此项目中。

    13Discuz.Install

    论坛安装项目。前面已做介绍。

    14Discuz.Mall

    论坛商城模块。处理一些商品交易相关功能。

    15Discuz.Plugin

    DNT附加功能模块。定义了一些接口,实现这些接口后才可在论坛中添加这些功能。

    16Discuz.Plugin.Mail.SysMail

    仅定义来一个.net邮件发送程序。没有其他功能

    17Discuz.Plugin.PasswordMode

    定义了第三方密码加密算法。从动网论坛转过来的用户使用。

    这个模块基本上就是拉客户用的。。。。

    18Discuz.Plugin.Preview.Jpg

    生成Jpg图像预览功能。

    19Discuz.Plugin.Spread

    论坛扩展使用的功能模块。其中自定义了些配置信息。

    20Discuz.Space

    个人空间模块的UI。包含独立的配置功能、数据访问功能。

    21Discuz.Space.Modules

    空间模块的管理、配置等功能模块

    22Discuz.Space.Modules.Album

    个人相册模块

    23Discuz.Web

    个人认为最牛的模块。论坛的前台UI。强大的不敢看。。。以后会详细读读的。

    24Discuz.Web.Admin

    DNT后台管理模块。强大程度跟Discuz.Web 相当。

    这个项目里边有一个模板生成的功能,很值得参考。
    25Discuz.Web.Services

    最下边的一个项目了。具体实现了什么功能还没搞明白。

    小结一下:DNT官方论坛上看到它基本上是MVC结构,里边的很多做法值得学习参考。

    这几天下载了几个其他开源的论坛、博客代码,看看无论从功能上还是从代码的结构上真不如DNT的好。

    我最近做的一个东西,就参考了DNT的做法。我在一个不开源的ASP.NET程序中,通过注册HttpModule,添加了一些应用程序级的方法。只要网站启动,我的方法就要周期性地执行。同时,我的代码也优化了不少。以前,碰见访问数据库的时候,就开始定义SqlCommandSqlDataAddapter写连接字符串,现在习惯性地先添加SqlHelper类。方便多了。

    DNT引领我学ASP.NET,敬请关注。

    Technorati 标签: DNT
    展开全文
  • Discuz!NT代码阅读笔记(1)--从HttpModule开始:首页的显示 Discuz!NT代码阅读笔记(2)--网站安装也能自动化:论坛程序安装及初始化过程 Discuz!NT代码阅读笔记(3)--网站安装...NT代码阅读笔记(5)--从全局看看:各个...

    Discuz!NT代码阅读笔记(1)--从HttpModule开始:首页的显示

    Discuz!NT代码阅读笔记(2)--网站安装也能自动化:论坛程序安装及初始化过程

    Discuz!NT代码阅读笔记(3)--网站安装也能自动化(2)--DNT安装时使用到的几个函数解析

    Discuz!NT代码阅读笔记(4)-- 一切皆可配置:页面的显示

    Discuz!NT代码阅读笔记(5)--从全局看看:各个模块功能摘要

      

    7Discuz.Config

    这个项目主要自定义了一些控件供其它模块使用.有些控件在其它项目中用的很多.模块化设计,似的DNT的各个页面风格统一.还有压根就不知道在哪里用的控件!不知道为什么放到那里.

    但有个问题是,这些控件在其它页面显示时,没有设计时支持,都是一串红字,看着很不爽.

    (8) Discuz.Data

    数据类.相当于DALBLL的说.这个项目中的DataProvider中的CS文件中包含了论坛常用功能的操作。

    DbProvider中的CS文件定义了数据访问接口,这些接口在该工程中的DbHelper.cs文件中实现。

    DbHelper.cs中封装了ADO.NET的常用操作,像ExecuteNonQuery()执行SQL指令,ExecuteCommandWithSplitter()方法运行含有GO命令的多条SQL命令,ExecuteDataset方法执行指定数据库连接字符串的命令,返回DataSetExecuteReader()数据阅读器方法,方法ExecuteScalar 返回结果集中的第一行第一列,FillDataset()方法填充数据集。

    这些方法使用了Config类中提供的方法,自己从配置中读取程序的配置信息。因为配置信息基本不会变化,用户在使用这些方法时不需要再单独提供这些信息。

    DbFields.cs非常有意思。它封装了常用数据表的字段。在组织SQL语句时,不必再一个个字段地输入了。程序员都是会偷懒的,呵呵。

    9Discuz.Data.SqlServer

    提供了管理操作使用的方法。相当于MVC中的C的一部分。暂时无法理解为什么不Discuz.Data和并,而是与单独放在一个项目中。难道这里的操作与数据库类型有关?

    10Discuz.Entity

    实体工程。相当于MVC中的M。这里定义来论坛和其它功能操作常用的实体描述,与数据库字段对应。其他类使用这些模型,处理和获取想要的信息。

    11Discuz.Event

    这个项目组定义了一些需要周期性自动处理的计划任务。到期自动触发,而不需要再手动调整。

    12Discuz.Forum

    程序的另一个BLL。这里定义的方法更贴近实际使用,它主要调用Discuz.Data中提供的方法蓝来处理论坛的操作。

    此外还定义来功能型类.比如前面提到的HttpModule等均在此项目中。

    13Discuz.Install

    论坛安装项目。前面已做介绍。

    14Discuz.Mall

    论坛商城模块。处理一些商品交易相关功能。

    15Discuz.Plugin

    DNT附加功能模块。定义了一些接口,实现这些接口后才可在论坛中添加这些功能。

    16Discuz.Plugin.Mail.SysMail

    仅定义来一个.net邮件发送程序。没有其他功能

    17Discuz.Plugin.PasswordMode

    定义了第三方密码加密算法。从动网论坛转过来的用户使用。

    这个模块基本上就是拉客户用的。。。。

    18Discuz.Plugin.Preview.Jpg

    生成Jpg图像预览功能。

    19Discuz.Plugin.Spread

    论坛扩展使用的功能模块。其中自定义了些配置信息。

    20Discuz.Space

    个人空间模块的UI。包含独立的配置功能、数据访问功能。

    21Discuz.Space.Modules

    空间模块的管理、配置等功能模块

    22Discuz.Space.Modules.Album

    个人相册模块

    23Discuz.Web

    个人认为最牛的模块。论坛的前台UI。强大的不敢看。。。以后会详细读读的。

    24Discuz.Web.Admin

    DNT后台管理模块。强大程度跟Discuz.Web 相当。

    这个项目里边有一个模板生成的功能,很值得参考。
    25Discuz.Web.Services

    最下边的一个项目了。具体实现了什么功能还没搞明白。

    小结一下:DNT官方论坛上看到它基本上是MVC结构,里边的很多做法值得学习参考。

    这几天下载了几个其他开源的论坛、博客代码,看看无论从功能上还是从代码的结构上真不如DNT的好。

    我最近做的一个东西,就参考了DNT的做法。我在一个不开源的ASP.NET程序中,通过注册HttpModule,添加了一些应用程序级的方法。只要网站启动,我的方法就要周期性地执行。同时,我的代码也优化了不少。以前,碰见访问数据库的时候,就开始定义SqlCommandSqlDataAddapter写连接字符串,现在习惯性地先添加SqlHelper类。方便多了。

    DNT引领我学ASP.NET,敬请关注。

    Technorati 标签: DNT

    展开全文
  • NT代码阅读笔记(1)--HttpModule开始:首页的显示 Discuz!NT代码阅读笔记(2)--网站安装也能自动化:论坛程序安装及初始化过程 Discuz!NT代码阅读笔记(3)--网站安装也能自动化(2)--DNT安装时使用到的几个函数...
  • 从全局Spring

    2015-08-07 19:55:16
    将日志记录,性能统计,安全控制,事务处理,异常处理等代码业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。...
  • 先来c++源码: #include <iostream> using namespace std; class X { public: int i; public: X(int ii = 0) : i(ii) { } ~X() {} }; X xxx(1);//全局对象 int i = 2;//全局变量 ...
  • 从全局的眼光看待log的记录 1. 从整个系统的角度 进程内--异常 进程间--Error code,Message, Action 2. 从进程内各模块的角度 底层模块: dll - 一般不需要catch,尽量使用try-finally,除非是自己定义的...
  • 如何全局看数据

    2018-01-24 14:28:00
    要有意识地全局,要了解依赖的数据的来源,分类等。也要弄清楚数据的去向等等。 孤立地数据,只会造成思路闭塞,有些问题难以发现。 开发一个子系统,那么这个系统可能会依赖一些数据,那么这些数据要知道...
  • 从全局观思考

    千次阅读 热门讨论 2013-07-31 21:40:33
    做人做事要有全局观,才能正确把握方向,才不会埋在细节里,出不来,对人对事认不清,不明.  目前正在努力做到这点,也没掌握什么技巧,就是什么事都想着能不能这个事中站出来,好好的把握把握;学习知识的时候提醒...
  • 消息中间件选型分析——Kafka与RabbitMQ的对比来看全局
  • 原 消息中间件选型分析——Kafka与RabbitMQ的对比来看全局https://blog.csdn.net/u013256816/article/details/79838428版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 ...
  • 让编程变得好玩——至少对我来说是这样。只有感到编程是有趣的时候,才容易富有成效。好玩的编程(Playful Programming)是我发明的词,是极限编程(Extreme Programming,亦称XP)的非极限版本。... 策...
  • npm的包安装分为本地安装(local)、全局安装(global)两种,敲的命令行来,差别只是有没有-g而已,比如 npm install grunt # 本地安装 npm install -g grunt-cli # 全局安装 这两种安装方式有什么区别呢...
  • 如何让思维具有独创性、彻底性、观念之间逻辑的严密性,以及从全局观点问题? 追求企业家哲学智慧,请点击上方蓝色字关注,原创的新文章,追求思维缜密,方法得当,人生不再盲目 (注:本文摘编于美国作家...
  • 转载:消息中间件选型分析——Kafka与RabbitMQ的对比来看全局 一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。...
  • 不过如果要考虑全局的幂等,还需要与上下游方面综合考虑,即关联业务层面,幂等处理本身也是业务层面所需要考虑的重要议题。以下游消费者层面为例,有可能消费者消费完一条消息之后没有来得及确认消息就发生异常,...
  • 不过如果要考虑全局的幂等,还需要与上下游方面综合考虑,即关联业务层面,幂等处理本身也是业务层面所需要考虑的重要议题。以下游消费者层面为例,有可能消费者消费完一条消息之后没有来得及确认消息就发生异常...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,816
精华内容 1,526
关键字:

从全局看