'未分类' Category

  • 全面优化ASP应用程序的性能

    五月 5, 2010

    ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了。虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情。 
      现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了。那就跟随我来一同加速你的ASP程序吧! 
    一. 有关操作数据库的优化方法 
      我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速的完成这些动作呢? 
    1. 不要任意使用“Select  *  ……” 
      请尽量拾取你所需要的那些字段,比如,一个Table中有10个字段,但是你只会用到其中的一个字段(name),就要使用“select name from yourtable”,而不是用“select * from yourtable”。你或许会说,我是这么做的阿,但是,如果一个table中有50个字段,你需要用到其中的23个字段的时候,你会怎么做呢?为了节省打字以及查找对应字段名称的麻烦,你就不一定会老老实实的用“select name,sex,age… from yourtable”了吧! 
      实际证明,尽量拾取你所需要的那些字段来使用select语句将会是你的ASP程序至少加快5%左右。 
    2. 尽可能使用系统存储过程(针对MS SQL Server) 
      有的时候完成一个读取操作,使用SQL语句和存储过程同样可以完成,但是使用存储过程将会大大加快完成读取操作的速度,也就提高了你的ASP程序运行的速度。 
    3. 注意你的游标使用方法 
      如果你仅仅是对一个table进行读取操作,那么请你使用forward-only,read-only游标,因为这种游标读取数据库是最为快速的,尤其是你的读取数据量很大的情况下。 
    4. 不要打开无用的独立记录集 
      也许你在笑了,我会打开没有用的记录集吗?是的,你当然会,比如在生成一个树型记录集的时候,你不得不打开父记录集以及对应的子记录集,甚至还有孙记录集,其实你可以使用ADO提供的Data Shaping技术来替代打开多个独立的记录集,那样会加快程序的运行速度。(关于Data Shaping的用法可以参考ADO帮助) 
    5. 一定要记着关闭打开的记录集对象以及连接(Connection)对象 
      有些朋友总是奇怪为何自己的ASP程序刚开始的时候运行速度很快,可是多运行几遍就越来越慢了呢?甚至出现服务器死机的情况。发生这种情况,就很可能是你打开了太多的记录集对象以及连接(Connection)对象而最后却没有关闭他们引起的。使用如下方法进行关闭: 
     程序代码
    YourRecordSet.close 
    Set YourRecordSet=Nothing 
    Set YourConnection=Nothing 
    6. 取得数据库数据的方法比较 
      你是如何得到记录集的数据的呢?是不是用YourRecordSet(字段编号),还是YourRecordSet(“字段名称”)?其实还有其他的使用方法,现在我们就比较一下吧(100条记录): 
     程序代码
    Rs(“字段名称”) 
    Rs(“字段名”).Value 
    Rs(“字段编号”) 
    Set方法 
    数据库回应时间 
    2.967秒 
    2.936秒 
    1.650秒 
    0.586秒 
    2.824秒 
    2.914秒 
    1.611秒 
    0.602秒 
    2.893秒 
    2.943秒 
    1.613秒 
    0.594秒 
    平均回应时间 
    2.895秒 
    2.931秒 
    1.625秒 
    0.594秒 
      这下知道了吧,前三种方法大家都可以看的明白,我就说说第四种方法(Set方法)如何使用: 
     程序代码
    Dim strSQL 
    StrSQL=”select name,sex,age from yourtable” 
    Dim rs 
    Set rs=server.createobject(“ADODB.RECORDSET”) 
    Rs.open strSQL,conn,1,1 
    Const fieldsOrder=2 
    Dim objOrder 
    Set objOrder=rs(fieldsOrder) 
    Response.write objOrder  ’Set方法 
    二. 有关ASP内置对象使用方面的优化方法 
    1. 尽量减少Session对象和Application对象的使用 
      虽然ASP中提供的这两个对象对我们的编程提供了很大的帮助,但是,对这两个对象要合理的使用,不要滥用。因为大量的使用这两个对象将会极大的增大服务器的负担,严重消耗系统资源。也将使你的ASP程序运行慢如老牛。 
    2. 要及时的关闭不再使用的对象(尤其是Session和Application) 
      不及时的关闭你所使用的对象会导致系统运行速度变得缓慢。也许你会问,Session和Application不是可以自动消失的吗?完全正确,系统默认30分钟内用户如果没有任何操作就自动触发Session_OnEnd和Application_OnEnd事件,但是大量的用户频繁的读取服务器,服务器将在很长的一段时间保持那些已经没有用的Session,Application对象,如果不及时关闭使用完的Session和Application后果将不堪想象了。 
    关闭的方法是: 
       Set 对象=Nothing 
    三. 合理使用Include文件 
      我们这里说的是指用<!–#include file=”xxx”–>形式包含进来的文件,并且文件内容全是ASP程序,也就是说你将一些公共的函数放到一个文件中,并在其他有可能调用其中函数的页面包含进来。 
    建议你不要将所有的函数放到一个包含文件中,因为你在其他页面包含这个文件的时候,服务器端是要进行预编译的,很可能在一个包含文件里面有上百个函数,而你只是想要使用其中的一个函数,这样就得不偿失了。所以,尽可能的分割你的包含文件成为多个小的包含文件。这样也可以提高程序的运行速度哦。 
    四. 有关VBScript语言方面的优化方法 
    1.尽量使用系统函数代替自己编写的函数 
       比如要想分割一个有规律的字符串(”sss,ddd,fff,ggg”),就不必自己使用什么Mid(),Instr等等函数来分析了,其实VBScript就提供了一个函数 Split(),这样既省时间,又提高了速度,何乐而不为呢? 
    2.减少动态数组的使用 
    3.尽可能的养成提前声明变量的习惯 
       不要小看了这一条,提前声明变量会加快程序的解释执行时间。相反,从不声明变量,不但程序难以阅读,整个程序在服务器的执行效率也会大打折扣的。 
    五. 其他方面的优化方法 
    1. 在ASP文件中尽量使用<%%>嵌入到HTML标签中,而不要使用Response.write的方式,比如: 
     程序代码
    <html> 
    <body> 
    <%If ok =1 then %> 
      Hello!&nbsp;World! 
    <%End If%> 
    </body> 
    </html> 
    就远远比: 
    &nbsp;程序代码
    <% 
    Response.write ”<html>” 
    Response.write ” <body>” 
                If ok =1 then 
      Response.write ”Hello! World!” 
                End If 
    Response.write ” </body>” 
    Response.write ”</html>” 
    %> 
    的运行速度要快,尤其是你的ASP文件比较大的情况下。因为,第二种方式增加了服务器端的解释时间,因而也就降低了ASP程序的性能。 
    2. 尽量用一个ASP文件完成一个动作 
      很多人喜欢在一个ASP程序中同时完成诸如添加,删除,查找等等多个动作,不要认为这样是有效的利用了文件,相反,这样做的结果是使得应用程序的运行速度减慢很多。 
    应当将添加,删除,查找等分割成单个的独立的ASP文件来完成。这样使得文件不会过于庞大,降低服务器端解释执行的负担,并且阅读程序也很快捷。 
      好了,经过我们的全面优化,你的ASP应用程序是不是运行的更加稳定,更加快速了呢?

  • XP的IIS5.5建立多个站点[iisadmin.NET汉化版]

    五月 5, 2010

     XP 有个最大的问题就是 IIS5.5 只支持一个站点,如果每次修改不同网站都要到 Internet 信息管理里面更改一下一下站点主目录无疑是太麻烦了。
    IIsAdmin.NET 是一个专门可以在 XP 的 IIS 下面建立多个站点的小工具
    提醒:这个小工具需要 .NET 2.0 运行环境。
    汉化修改版:点击下载    
    作者:Loveyuki
    截图:

  • SQL Server 2005 服务管理器

    五月 5, 2010

    SQL Server 2005 相对于 2000 的进步非常大,特别是有了免费的 SQL Server 2005 Express 版本以后,就可以免费使用了。但是 2005 有个比较麻烦的就是找不到跟 2000 一样的服务管理器了。停止运行服务显得有些麻烦,每次都要进配置管理器进行操作,很不方便。
    不过不怕,有了这个小工具以后你就可以拥有跟 2000 一样的服务管理器了。启动和停止 SQL Server 服务方便很多。提醒:本程序需要 .NET 2.0 运行环境。
    点击下载

  • 把 SQL Server 存储的层级数据读出成树显示

    五月 5, 2010

    前两天我们介绍了一种新的存储无限级分类方法,但是读出分类的时候怎么实现树形显示呢?方法很简单,我们自己定义一个树形的数据结构,然后根据数据库存储的节点的深度来插入到树里面,当然显示的时候需要用递归来显示一下,不过这里的递归只是在内存里面递归,效率是相当高的。
    2008-11-17 更新为不使用树结构,使用排序和深度来做文章。
    在数据库读出数据的时候直接按照 LID 来进行 ASC
    排序就可以了,默认的排列顺序就是按照树走的,大家可以插入一些数据,并读取一下就可以很明了的看到顺序了,插入树循环的时候只需要对深度进行运算就可以了。
    下面我只写出了一些关键地方的代码,具体的代码自己试着多写写在纸上多画画应该就明白了。
    另外就是想说下,这种分类算法只适用于一般的树形分类,并不适用于插入数据比较频繁的树形结构,比如说无限次回复的评论,无限次回复的评论有另外一种更适合的算法。
    新的方法:
    Response.Write(”
    “);
    Response.Write(”

  • SQL Server 存储层级数据实现无限级分类

    五月 5, 2010

    由于数据库存储的数据都是以平面方式存储,所以目前大部分论坛和其他程序都是用递归来展现层次数据的,如果分类的层次十分深的话那么使用的递归次数相当可观,对性能的影响也非常大。最近要做一个分类信息的平台就遇到这个问题了,那么如何实现快速的展现分层数据呢?MYSQL 的开发者帮我们想到了一个算法,这个算法目前唯一的问题就是尚未实现分类排序,我们可以通过右值的反向排序实现先入先出的排序。在这里我们需要了解的是如何用 SQL Server 来实现,我们就以省市县数据库为例来实现:

    如图所示我们将一个树节点的左右各编上号码,就可以看出一些规律,山西的左右值为(8,17),那么所有左值大于8,右值小于17的节点都是属于山西的子节点。稷山先的左右值为(14,15),那么他的所有父节点就是左值小于14,右值大于15的节点,怎么样,用这个方法实现的无限级分类性能绝对是顶呱呱的。一次查询就可以查出属于某个节点的数据以及他子节点的数据。这个算是我见过性能最高的无限级分类算法。其他算法跟这个对比基本没有任何优势。
    我们先建立一个数据表,结构如下图(LID 为左值,RID 为右值,Tree 为节点深度,Name 和 ID 就不多说了,节点的索引和名称)

    我们可以使用下面的存储过程来获得一个节点和其子节点:

    CREATE PROCEDURE CLSP_ZoneSelect  
    (  
        @Root INT,  
        @Tree INT 
    )  
    AS 
        SELECT Z.ID,Z.Tree,Z.Name  
        FROM CL_ZoneData AS Z,CL_ZoneData AS P  
        WHERE   P.ID = @Root  
             AND Z.LID >= P.LID AND Z.RID <= P.RID  
                AND (@Tree = 0 OR Z.Tree <= P.Tree + @Tree)  
        ORDER BY Z.LID ASC 
    GO 

    我们可以用下面这个存储过程来在一个节点下插入新的子节点:

    CREATE PROCEDURE CLSP_ZoneInsert  
    (  
        @Root INT,  
        @Name NVARCHAR(50)  
    )  
    AS 
        DECLARE @RID AS INT,@NID AS INT,@Tree AS INT 
     
        SET @RID = 1  
        SET @NID = 0  
        SET @Tree = 1  
     
        IF @Root = 0  
        BEGIN 
            SELECT TOP 1 @RID = RID + 1  
            FROM CL_CateData ORDER BY RID DESC 
        END 
        ELSE 
        BEGIN 
            SELECT @RID = RID, @Tree = Tree + 1  
            FROM CL_ZoneData WHERE ID = @Root  
        END 
     
        IF @Root = 0 OR @RID > 1  
        BEGIN 
            UPDATE CL_ZoneData SET RID = RID + 2 WHERE RID >= @RID  
            UPDATE CL_ZoneData SET LID = LID + 2 WHERE LID > @RID  
     
            INSERT INTO CL_ZoneData(LID,RID,Tree,Name)  
            VALUES (@RID,@RID + 1,@Tree,@Name)  
     
            SET @NID = SCOPE_IDENTITY()  
        END 
        SELECT @NID  
    GO 

    删除一个节点可以用下面的存储过程:

    CREATE PROCEDURE CLSP_ZoneDelete  
    (  
        @ID INT 
    )   
    AS 
        DECLARE @LID AS INT, @RID AS INT, @WID AS INT, @DID AS INT 
        SET @DID = 0  
        SELECT @DID = ID, @LID = LID, @RID = RID, @WID = RID - LID + 1 FROM CL_ZoneData WHERE ID = @ID  
        IF @DID != 0  
        BEGIN 
            DELETE FROM CL_ZoneData WHERE LID BETWEEN @LID AND @RID  
            UPDATE CL_ZoneData SET RID = RID - @WID WHERE RID > @RID  
            UPDATE CL_ZoneData SET LID = LID - @WID WHERE LID > @RID  
        END 
        SELECT @DID  
    GO  

  • 推荐在 ASP.NET 中使用 SQLite

    五月 5, 2010

    SQLite 是一个轻量级的数据库引擎,相比一般我们用 JET 引擎访问 Aceess 优点很多,ASP.NET 可以使用 System.Data.SQLite 这个 .NET Wrapper,我在本机测试了一下 Bitrac 程序使用不同引擎的速度,目前数据量很小的情况下可以提高一倍的速度,数据库越大提高肯定越多的。就是不知道 System.Data.SQLite 能否在这个服务器上使用,毕竟我所使用的服务器的 .NET 权限是有所限制的。
    今天把 Access 到 SQLite 的转换程序已经写完了。明天测试一下服务器是否支持,不管支持不支持,Bitrac 都会多一个 Database Provider。写 Database Provider 真麻烦。每种数据库的 SQL 语句都不太一样,数据类型也要考虑好,真头疼。

  • ASP之GetRows(),能提高读取数据库的速度?

    五月 5, 2010

    现有10W条数据,Access数据库保存
    通过正常提取:
    <%
    Set conn= Server.CreateObject(“ADODB.Connection”)
    connstr = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”&Server.MapPath(“db2.mdb”)
    conn.Open connstr 
    Set rs = Server.CreateObject (“ADODB.Recordset”)
    sql = “Select * from people order by id desc”
    rs.Open sql,conn,1,1
    Do While Not rs.EOF
        Response.write rs(“id”)&” | ”
        rs.MoveNext
    Loop
    %>
    地址:http://www.cnbruce.com/test/getrows/show1.asp耗时3,250.000毫秒,总测试平均值在3秒左右
    使用存储过程提取:
    <%
    Set conn = Server.CreateObject(“ADODB.Connection”)
    Set cmd = Server.CreateObject(“ADODB.Command”)
    conn.Open “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=” & Server.MapPath(“db2.mdb”)http://www.cnbruce.com/test/getrows/show2.asp以上两种均不能彻底解决执行时间漫长的问题,主要原因即是循环每次都须向数据库抽取记录(Command速度相对较快)
    cmd.ActiveConnection = conn
    cmd.CommandText = “Select * from people order by id desc”
    Set rs = cmd.Execute
    Do While Not rs.EOF
    Response.write [...]

  • jQuery可以保护邮件地址

    五月 5, 2010

    保护邮件地址的方法为数众多,随便一搜就能找出大把。若是刚好有使用 jQuery 框架,这里有个用 jQuery 保护邮件地址的方案。此方案的优点在于:邮件地址分段存储在 JS 之中,链接被点击以后,邮件地址才会从 JS 中调出并写入 HTML 页面,目前再厉害的机器人拿它都没办法,除非开着浏览器点击。缺点嘛,访客的浏览器不支持 JS 的话会被当作机器人对待XD。
    另外需要说明的是,代码本来很简单,但是考虑到大众的审美需求,多数人都会喜欢稍稍华丽的过渡效果,
    所以先提供一个所谓的”华丽版”(演示地址):
    html:
    <p>我的邮箱:<a href=”javascript:void(0)”>点击查看</a></p>
    js:
    $(document).ready(function(){
    $(“.email”).click(function(){
    var A=”admin”
    var B=”domain.com”
    var C=A+”@”+B;
    $(this).parent().append(“<img src=’loading.gif’ />“);
    $(this).hide();
    setTimeout(function(){
    var D=$(“.email”);
    D.next().hide();
    D.text(C);
    D.attr(“href”,”mailto:”+C).unbind(“click”);
    D.fadeIn(1000)
    },3000)
    })
    })
    使用时,红色字体是你需要修改的部分,然后将 JS 保存为一个文件在网页上引用。链接被点击后,浏览者需要等待三秒才会看见邮件地址,既然假装异步我们就假装到底。其中用到了一个 loading 图片,你可以换成你自己的。
    最后再来个朴素版:
    $(document).ready(function(){
    $(“.email2″).click(function(){
    var A=”admin”
    var B=”domain.com”
    var C=A+”@”+B;
    $(this).text(C);
    })
    })

  • jQuery 页面载入进度条

    五月 5, 2010

    在网页的</body>标签前插入下面两条的任意一条:
    <script type=’text/javascript’
    src=’http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js’></script>
    <script type=’text/javascript’
    src=’http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js’></script>
    在网页的<body>…</body>之间插入<div
    id=”status”>LOADING…</div>
    CSS 文件可以这样写
    #status{
    background:none repeat scroll 0 0
    #27BCEF;
    border-bottom:1px solid #888888;
    border-right:1px solid
    #888888;
    color:#FFFFFF;
    float:right;
    font-size:11px;
    left:45%;
    letter-spacing:2px;
    padding:6px
    12px;
    position:fixed;
    text-align:center;
    top:20%;
    z-index:999;
    _position:absolute;
    _bottom:auto;
    _top:expression(eval(document.documentElement.scrollTop));
    _margin-top:20%;
    }
    JavaScript 文件这样写(务必放在 jQuery 库后面):
    <script
    type=”text/javascript”>
    $(‘#status’).fadeOut(800);
    $(“a[rel!='nofollow']a[rel!='external'][target!='_blank']a[class!='load']“).click(function()
    {
    $(“#status”).fadeIn(400);
    setTimeout(function()
    {
    $(“#status”).fadeOut(400)
    },
    4000)
    });
    $(“a[href*='#'],a[rel='external
    nofollow'],a[href='javascript:void(0)'],a[href='javascript:reset_captcha('')']“).click(function()
    {
    $(“#status”).fadeOut(400)
    });
    </script>
    err…代码我也不多解释了,如果不会的话可以直接复制、粘贴,原因是你不熟悉 JavaScript 跟正则表达式;如果你会自然也不用我多解释了。

  • 国产基于jQuery的优秀XHTML在线编辑器xhEditor

    五月 4, 2010

    说起xhtml在线编辑器,我们可能会想起大名鼎鼎的FCKeditor、TinyMCE……,不过它们都是老外开发的。今天要向大家推荐的是一款国产的优秀XHTML在线编辑器xhEditor。 xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHTML编辑器,基于网络访问并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。
    从最初的0.9.1版的发布,到现在的1.0.0 beta2版,经过9个多月的开发更新,xhEditor编辑器已经越来越完善,并得到了大量的用户认可和支持。xhEditor团队这种持续改进的态度,也是我对它认可的重要原因。
    【xhEditor特色】

    小巧:初始加载4个文件,包括:1个js(46k)+2个css(9k)+1个图片(5k),总共60k。若js和css文件进行gzip压缩,可以进一步缩减为21k左右。
    快速:基于jQuery引擎开发,提供高效的代码执行效率
    简单:简单的调用方式,加一个class属性就能将您的textarea立马变成一个功能丰富的可视化编辑器。
    支持Word:实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,但是却不丢失任何细节效果。
    支持UBB:提供完美的UBB可视化编辑解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷

    【在线示例】

    默认模式:http://xheditor.com/demos/demo01.html
    自定义按钮:http://xheditor.com/demos/demo02.html
    皮肤选择:http://xheditor.com/demos/demo03.html
    其它选项:http://xheditor.com/demos/demo04.html
    Javascript交互:http://xheditor.com/demos/demo05.html
    非utf-8 编码网页调用:http://xheditor.com/demos/demo06.html
    UBB可视化编辑:http://xheditor.com/demos/demo07.html
    Ajax文件 上传:http://xheditor.com/demos/demo08.html
    插件扩展:http://xheditor.com/demos/demo09.html
    iframe 调用文件上传:http://xheditor.com/demos/demo10.html
    异步加载:http://xheditor.com/demos/demo11.html

    访问官方网站及下载:http://code.google.com/p/xheditor/

  • 网页底部无论内容的短始终都在浏览器的最下面,贴住

    五月 4, 2010

    老外是很“无聊”D
    这都弄个网站….我喜欢
    http://www.cssstickyfooter.com
    看这个网页的底部,为什么会跑到那儿去呢?即使内容很少的情况下,它也始终在页面的底部。
    否则页面底部将留下大量空白。
    下面是它实现的代码:
    html, body, #wrap {height: 100%;}
    body > #wrap {height: auto; min-height: 100%;}
    #main {padding-bottom: 150px;} /* 必须使用和footer相同的高度 */
    #footer {position: relative;
    margin-top: -150px; /* footer高度的负值 */
    height: 150px;
    clear:both;}
    兼容性Hack:
    .clearfix:after {content: “.”;
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;}
    .clearfix {display: inline-block;}
    /* Hides from IE-mac \*/
    * html .clearfix { height: 1%;}
    .clearfix {display: block;}
    /* End hide from IE-mac */

  • 蒲公英新版首页

    五月 4, 2010

    主色调改为墨绿,还是走一贯的简洁线路。LOGO修改为最新的LOGO,比起以前的更好看了!呵呵!

  • 工作的“激情”

    五月 4, 2010

    还记得3年前的“激情岁月”,我是那样的激情澎湃,如今,我有时却需要在“平淡”中,挤出那点“激情”。
    幸好的是,我会自欺欺人;
    幸好的是,我会做梦;
    幸好的是,我很傻;
    幸好的是,…………….
    这也算是对自己的在“平淡”岁月中的一种自己我安慰吧…
    PS:   `-`  变诗人了哟…………….

  • 我们一定要节约时间

    五月 4, 2010

    为了节约更多有用的时间,加把劲,把手头的工作都做完吧!

  • 什么是adodb?

    五月 4, 2010

    ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取数据库的中间函式组件。
      虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的应用程序接口(API)。为了填补这个缺憾,因此才有 ADODB 的出现。一旦存取数据库的接口予以标准化,就能隐藏各种数据库的差异,若欲转换至其它不同的数据库,将变得十分容易。
      目前 ADODB最新版本是V4.62,支持的数据库种类非常地多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 以及一般的 ODBC (其中 PostgreSQL、Informix、Sybase 的driver 是由自由软件社群发展之后贡献出来的)。
      使用 ADODB 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用,转移数据库平台时,程序代码也不必做太大的更动。
      其实 ADODB 这样的发展理念,并不是首创的,DBI 比 ADODB 出现得更早,它提供 Perl 存取数据库时,使用一致的 API 呼叫接口。相信用过 Perl + DBI 的朋友,再来用 ADODB 时,会有一种似曾相识的感觉。
      另外,ADODB 对用过 [...]

  • 小P孩时代

    五月 4, 2010

    在爷爷家楼下的金鱼池的几个纯B……

  • 国内小说系统真少啊!

    五月 2, 2010

    无论是PHP/.NET/ASP
    不过,以上三种语言都有出名的产品….只有ASP的免费开源的!其他都收费不开源。
    奇文小说系统 .net开发
    杰奇小说系统和08CMS php开发,这个08CMS功能是很强大,但是总觉得它不是真正的小说系统,而且有点小复杂,要用点时间去理解里面词语的意思…….但免费开源。
    终点小说系统 ASP开发
    呵呵!好用的收费,一般好用的免费!网站开这个块的需求还是很高的哦!
    不过都喜欢小说小偷类程序

  • Axure RP-快速原型制作软件 – 线框图,原型,规格文档

    五月 2, 2010

    如果你是网站产品经理、项目经理、网站策划、原型设计师、交互设计师,甚至急切想表达想法验证想法的Boss. 一起认识它…Axure下载与相关资源 Axure RP英文正式版下载如果你还在因为使用了Word、Visio、PowerPoint、Dreamweaver或Photoshop等工具,在表达想法和原型时感到制作缓慢、效果粗犷、不易理解、无交互体现、修改困难等问题而头痛不已……那么你肯定正在寻找一款可以快速实现、准确表达、带有交互效果且易于上手的原型设计利器。
    如今 Axure RP 正在帮你实现这一心愿,将你在内心踌躇已久的种种想法带进可以准确传递、快速验证的原型呈现阶段。甚至你不需要了解一行程序代码即可轻松做到这一切。
    从这儿开始…Axure RP 快速原型制作软件,由美国Axure Software Solutions, Inc.公司开发。 RP 是 Rapid Prototyping (快速原型缩写) 。Axure (ak shûr) 音标:(本页面即是由Axure RP输出的Html原型) Axure RP 能让操作它的人快速准确的创建基于Web的网站流程图、原型页面、交互体验设计、标注详细开发说明,并导出Html原型或规格的Word开发文档。
    (通过扩展还会支持更多的输出格式)• 网站架构图 (Site Structure)
    • 示意图 (Wireframe)
    • 流程图 (Flowchart)
    • 交互设计 (Interaction Design)
    • 原型设计 (HTML Prototype)
    • 规格文档 (Specification)

  • XHTML标签的嵌套规则

    五月 2, 2010

    XHTML 的标签有许多:div、ul、li、dl、dt、dd、h1~h6、p、a、addressa、span、
    strong……我们在运用这些标签搭建页面结构的时候,是可以将它们无限嵌套的,但是,嵌套也需要有一定规则,不能任由网站设计师的个人习惯胡乱嵌套——XHTML 必竟不是
    XML。
      在 XHTML 的语言里,我们都知道:ul 标签包含着 li、dl 标签包含着
    dt 和 dd——这些固定标签的嵌套规则十分明确。但是,还有许多标签是独立的,它们没有被捆绑在一起,比如
    h1、div、p……那么这些标签的嵌套规则到底是怎样的?今天就来说说这个话题。
      提到 XHTML 标签的嵌套规则,我们先得知道有这么二类 XHTML 标签,一类叫做
    块级元素(block),一类叫做
    内嵌元素(inline,也有许多人叫它:内联、行内、线级等)。
      块级元素 和 内嵌元素 的划分标准很简单,请把下面二行代码放进 body 标签里:
    <div style=”border: 1px solid red;”>div1</div>
    <div
    style=”border: 1px solid red;”>div1</div>
    浏览器的呈现效果:
    div1
    div1
     
      页面呈现的这二个 div
    占据了二行空间,除非让它们浮动(float)或是进行其他设置,否则谁都不挨着谁,它们都很霸道的占领属于自己的那一行空间——但凡看到某个标签有此现象,你就可以叫它:块级元素(block);
      再把下面二行代码也放进 body 标签里:
    <span style=”border: 1px solid red;”>span1</span>
    <span
    style=”border: 1px solid red;”>span2</span>
      浏览器的呈现效果:
    span1
    span1
      这一次,两个 span
    并列在一行,它们之间睦邻友好、亲切和谐……像这样的标签行为,我们可以称它们为:内嵌元素(inline);
    块级元素和内嵌元素的区别:
      · 块级元素 一般用来搭建网站架构、布局、承载内容……像这些大体力活都属于块级元素的,它包括以下这些标签:
    div、ul、li、dl、dt、dd、h1~h6、p、address……
      · 内嵌元素
    一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:
    a、span、strong、sub、sup、img……
      · 块元素 和 内嵌元素 是可以互相转换的,转换的代码如下:
    display: block; /* 转成块元素 */
    display: inline; /* 转成内嵌元素 */
      · 块元素 和 内嵌元素 [...]

  • 工作杂事

    四月 28, 2010

    客户的游戏币交易网终于BUG修改的差不多了,剩下俩功能比较复杂。
    一、充值卡系统
    二、预付款交易的独立密码
    加快速度吧!可别让客户等急,听说已经崩溃了一次…..

  • 今天下午开会效果不错

    四月 27, 2010

    每个人都落实了工作,分工合理,希望能好好的落实各项工作。

  • 呼吸大哥上《交换空间》咯~!

    四月 27, 2010

    5月8日(周6)晚7.30分,中央2台《交换空间》到时候一定要看哦!

  • 晚上和小赵同志加班

    四月 26, 2010

    公司一个项目,加了班,一起去做一个东西还真是开心,虽然我不懂编程,但是我站在小赵旁边看着,我想这是一种鼓舞,能给伙伴动力!
    修改客户的意见差不多后,我们去人工湖吃宵夜,谁知看到了喝醉酒的斧头帮成员追砍踢他车的醉大虾。。。
    PS:做人,别那么冲动

  • 我以为…..

    四月 25, 2010

    把方向定了,把产品做了,把那些做成半成品的BUG处理了,那就行了!

  • 无助

    四月 23, 2010

    无援军来吗?来点吧………..

  • Say NO~

    四月 22, 2010

    那谁,你主要任务不是寻找机会而是对机会说NO,机会太多,只能抓一个。抓多了,什么都会丢掉。

  • 为什么我没有想到淘宝

    四月 19, 2010

    这么一棵大树~哎~

  • 我想拥有一款简单的记账软件,所以自己画了一下图

    四月 16, 2010

    理财是个好习惯,但市面上的记账软件要不就是太专业,要不就界面不简洁….所以自己弄了一个自己喜欢的类型。
    但还是有些不如人意,不如分页那里,是否不要分页呢?直接按时间段查询是否还方便点呢?

     

     

     

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org