分类: 沉思录

  • ASP不是简单、低能的代名词

    很多人错误地认为ASP是简单、低效的代名词,认为ASP是低能的,不足挂齿的,也很简单,一学就会,一琢磨就精通。

    有人讲ASP不安全,写ASP的程序的时候如果严格按照书写安全的代码的规范去写,写出来的程序也没有什么理由不安全。那些人说ASP不安全,好像PHP、JSP的程序就不会出现SQL Injection似的。

    有人讲ASP不高效,真的想要高效的话你可以结合COM,在Win32平台下COM的效率Java是永远追不上的。单纯讲速度有什么意义呢?Java的速度绝对算不上高,论速度的话好多技术方案的速度都比Java高,这一点学Java的人最清楚了,可是谁在乎过这一点了?Java的胜出绝对不是因为它的速度。抛开具体的应用环境单纯地讲速度是不理性的。

    有人讲ASP这个不能做,那个做不了,功能很局限。其实只要你明白Web的原理的话你就会明白,写ASP程序表面看是在玩一种脚本语言, (更多…)

  • 用GetString让ASP速度倍增

    许多ASP程序员都有过执行数据库查询,然后将查询结果用HTML表格的形式显示出来的经历。通常我们应该是这么做的: 

    <%
    ‘Create connection / recordset
    ‘Populate data into recordset object
    %>
    <TABLE>
    <% Do While not rs.EOF %>
    <TR>
    <TD ><%=rs(“Field1”)% ></TD>
    <TD ><%=rs(“Field2”)% ></TD>
    .
    </TR>
    <% rs.MoveNext
    Loop %>
    </TABLE>

    如果查询结果很多,服务器解释你的ASP script将花费大量的时间,因为有许多的Response.Write语句要处理. 如果你将输出的全部结果放在一个很长的字符串里(从<TABLE >到</TABLE >),那么服务器只需解释一遍Response.Write语句,速度就会快得多 . 微软公司里的一些能干的家伙已经将想法变成了现实. (注意,这是一个ADO 2.0以上才有 的特性. 如果你还在使用以前版本的话,请升级到最新版) (更多…)

  • mysql错误:Table XXX is marked as crashed and should be repaired[转]

    真的很感谢网络这个东西,还有那些无私的将自己的知识经验奉贤出来的人们!

    一日正在上班,朋友的QQ图标就激烈的闪亮起来,一看,原来是论坛出现问题了,具体报错如下:

    Table '.Tablenameposts' is marked as crashed and should be repaired

    提示说论坛的帖子表posts被标记有问题,需要修复。我记得以前也出现过类似的问题,但是只要点击Phpmyadmin上的repair按纽就自动修复了,但是这次很绝,什么都没有.于是赶快上网查找原因。最终将问题解决。解决方法如下:

    找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:

    myisamchk -c -r ../data/tablename/posts.MYI

    然后myisamchk 工具会帮助你恢复数据表的索引。好象也不用重新启动mysql,问题就解决了。 (更多…)

  • 抛弃WP-PageNavi,为WP自制分页导航功能

    WP-PageNavi是WP的一个优秀的分页导航插件,相信70-80%的P友,一定在用这个插件。

    翠花,上图,这个插件的显示效果,是十分的漂亮的。

    不过,作为骨灰级的WP狂热者,相信一定不愿意在自己WP站上,被一堆的插件插来插去的。你一定是以最精简作为你的终身目标的,或许你不是,但我是!

    废话少说,今天,在这里分享一个将分页导航功能直接写入WP主题的方法,希望对各位骨灰级朋友有用。

    第一步,找到所用模板中的function.php文件。打开后。将下边代码用力的插进去!注意!要插在<?php………………?>中省略号处,别插错地方了!

    
    function wp_pagenavi($before = '', $after = '') {
    global $wpdb, $wp_query;
    if (!is_single()) {
      $request = $wp_query->request;
      $posts_per_page = intval(get_query_var('posts_per_page'));
      $paged = intval(get_query_var('paged'));
      $pagenavi_options = get_option('pagenavi_options');
      $numposts = $wp_query->found_posts;
      $max_page = $wp_query->max_num_pages;
    
      if(empty($paged) || $paged == 0) {
       $paged = 1;
      }
      $pages_to_show = intval($pagenavi_options['num_pages']);
      $pages_to_show_minus_1 = $pages_to_show-1;
      $half_page_start = floor($pages_to_show_minus_1/2);
      $half_page_end = ceil($pages_to_show_minus_1/2);
      $start_page = $paged - $half_page_start;
      if($start_page <= 0) {
       $start_page = 1;
      }
      $end_page = $paged + $half_page_end;
      if(($end_page - $start_page) != $pages_to_show_minus_1) {
       $end_page = $start_page + $pages_to_show_minus_1;
      }
      if($end_page > $max_page) {
       $start_page = $max_page - $pages_to_show_minus_1;
       $end_page = $max_page;
      }
      if($start_page <= 0) {
       $start_page = 1;
      }
      if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
       $pages_text = str_replace("%CURRENT_PAGE%", $paged, $pagenavi_options['pages_text']);
       $pages_text = str_replace("%TOTAL_PAGES%", $max_page, $pages_text);
       echo $before.'<div >'."n";
       switch(intval($pagenavi_options['style'])) {
        case 1:
         if(!empty($pages_text)) {
          echo '<span >'.$pages_text.'</span>';
         }     
         if ($start_page >= 2 && $pages_to_show < $max_page) {
          if(!empty($pagenavi_options['dotleft_text'])) {
           echo '<span >'.$pagenavi_options['dotleft_text'].'</span>';
          }
         }
         previous_posts_link($pagenavi_options['prev_text']);
         for($i = $start_page; $i  <= $end_page; $i++) {      
          if($i == $paged) {
           $current_page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['current_text']);
           echo '<span >'.$current_page_text.'</span>';
          } else {
           $page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['page_text']);
           echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'">'.$page_text.'</a>';
          }
         }
         next_posts_link($pagenavi_options['next_text'], $max_page);
         if ($end_page < $max_page) {
          if(!empty($pagenavi_options['dotright_text'])) {
           echo '<span >'.$pagenavi_options['dotright_text'].'</span>';
          }
          $last_page_text = str_replace("%TOTAL_PAGES%", $max_page, $pagenavi_options['last_text']);
          echo '<a href="'.clean_url(get_pagenum_link($max_page)).'" title="'.$last_page_text.'">'.$last_page_text.'</a>';
         }
         break;
        case 2;
         echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="get">'."n";
         echo '<select size="1" = this.options[this.selectedIndex].value;">'."n";
         for($i = 1; $i  <= $max_page; $i++) {
          $page_num = $i;
          if($page_num == 1) {
           $page_num = 0;
          }
          if($i == $paged) {
           $current_page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['current_text']);
           echo '<option value="'.clean_url(get_pagenum_link($page_num)).'" selected="selected" >'.$current_page_text."</option>n";
          } else {
           $page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['page_text']);
           echo '<option value="'.clean_url(get_pagenum_link($page_num)).'">'.$page_text."</option>n";
          }
         }
         echo "</select>n";
         echo "</form>n";
         break;
       }
       echo '</div>'.$after."n";
      }
    }
    }

    第二步:找到你想加入分页导航的页面,如首页、分类页等。再用力的插入如下代码:

            

      

    第三步:找到你的CSS文件,再次用力的插入如下代码:

    /* Page Navigation
    ---------------------------------------------*/
    .navigation {
    padding-top:15px;
    padding-bottom:2px;/*visivility-IE*/
    border:1px solid #fff;
    }
    .alignleft {
    float:left;
    }
    .alignright {
    float:right;
    }
    .aligncenter, div.aligncenter {
    display: block;
    margin:0 auto;
    }
    .wp-pagenavi {
    text-transform:uppercase;
    }
    .wp-pagenavi a {
    text-decoration:none;
    border:1px solid #b3b3b3;
    color:#212236;
    margin:2px;
    padding:2px 6px;
    }
    .wp-pagenavi a:hover {
    color:#fff;
    background-color:#9c0;
    }
    .wp-pagenavi span {
    border:1px solid #b3b3b3;
    margin:2px;
    padding:2px 6px;
    }
    .wp-pagenavi span.pages {
    color:#777;
    margin-left:0;
    color:#000;
    word-spacing:0.2em;
    }
    .wp-pagenavi span.current {
    color:#212236;
    background-color:#e8edef;
    }

    至此,WP分页导航大法修炼成功。注意:功夫一定要做足,一定要插三次,一次都不能少!

    转自:毒龙的世界

  • 迎接新年,迎接元旦 祝福短信 祝福语 特别策划

    迎接新年,迎接元旦 祝福短信 祝福语 特别策划
      http://sms.king51.com

  • 网页排序问题&百度对网站SEO的态度

    1. 我的网站首页被收录了,但搜索网站名称却排不到第一个,怎么办?
    答:排序算法非常复杂。我们的目标,即在于通过算法改进,让用户以最小的成本,搜索到所需要的信息。这个过程中还是会有各种各样不尽如人意的地方。我们会非常欢迎您把您遇到的困惑和问题,反馈给我们。我们的工程师,对每一个问题都会有细致的跟踪和分析,以期将之最终解决。百度搜索结果页下方的搜索框右侧,有“与百度对话”链接,您可以在那里提交您的问题,以协助我们改进。我们一直在改进搜索算法,以使得百度的搜索结果更加符合用户的搜索需求。

    2. 搜索某关键词,我的网页在百度搜索结果的排序短期内变化剧烈,这正常吗?
    答:通常情况下,这是正常的变化。一般来说,有三类原因导致排序发生变化:
      A. 特定关键词所涉及的您的网页发生了变化
      B. 特定关键词所涉及的其他网页发生了变化
      C. 百度的排序算法发生了变化 

    3. 搜索某关键词,我的网页在百度的排序位置,和在其他搜索引擎的排序位置,差异非常大,这正常吗?

     答:通常情况下,这是正常的现象。因为不同搜索引擎的算法,都是不同的。 

    4. 我请一些“SEO”来为我的网站或者网页做优化,会有什么后果?
    答:合理的搜索引擎优化,参见百度的“给站长的建站指南”。
    外界很多打着SEO旗号的公司或者个人,也许能为您的网站带来短期的排序收益,但是,这会使您将面临更大损失的风险。在您把网站资源交托给别人之后,很多SEO甚至会利用您的资源进行他们个人的运营项目,最终导致您的利益受损。

    不要因为SEO们以下的说法,而冒险将自己的网站托付给他们随意处置:
    A. 我和百度的人很熟,想怎么干就怎么干,没风险
    B. 我是搜索引擎专家,对百度的算法一清二楚,玩玩火也不要紧
    C. 我把xxx、yyy、zzz这些关键词都搞到第一了,所以我是牛人啊

  • 百度SEO:百度对建站的建议

    有当搜索引擎、站长、互联网用户之间,能有一种默契的利益均衡,这个行业才会顺畅发展。竭泽而渔式的网站建设,只会使您与用户、与搜索引擎越来越远。搜索引擎与站长之间,宜和谐发展,共同拥抱美好的愿景。

     
    以下是百度给出的一些建站建议: 
     
    1. 站点结构宜简洁明晰
    答:不要让你的用户一进你的站点就因为纷繁s芜杂而不知所措。从某种意义上来说,百度的Spider也是一个相对特殊的访客而已。每一个子域名,每一个目录,都最好有明确的内容区隔,避免不同子域名或者目录对相同内容的互相串用。
       
    2. 创造属于您自己的独特内容
    答:百度更喜欢独特的原创内容。所以,如果您的站点内容只是从各处采集复制而成,很可能不会被百度收录。 
     
    3. 保持经常的更新
    答:经常的更新,蜘蛛程序就会经常的光顾;而长期不更新的网站,蜘蛛到访会日趋减少。 
     
    4. 谨慎设置您的友情链接
    答:如果您网站上的友情链接,多是指向一些垃圾站点,那么您的站点可能会受到一些负面影响。参与各类以SEO为目的的自助链接活动,很可能“过犹不及”。 
     
    5. 把自己的网站做成常青树
    答:如果没有搜索引擎,你的网站仍然访客盈门,那么你的网站就属于“常青树”了。面向用户做网站,而不要面向搜索引擎做网站,这是成为常青树网站的真谛。

  • 放下过去,活在当下

     

        放下过去,活在当下。

        既然不能山盟海誓,那就放下过去吧,给自己也给他人一个机会。我又何苦这样苦苦的的执着!

        人生中有很多无奈,但你却不得不做出这样或是那样不得已的选择

        我也在学着慢慢变得理智,慢慢成熟。

         我承认-我是被你宠坏了,将来也不会有人像你如此般的纵容我了。

        希望将来一切都好。

  • asp读取XML

    ASP文件: 
     程序代码

    
    
    read xml
    
    
    第  条记录:
    
    书名 出版社 价格

    XML文件《data.xml》: 
     程序代码

    
    
    48
    Dreamweaver
    上海科技出版社
    img/dw.jpg
    
    
    61
    Flash
    铁道出版社
    img/flash.jpg
    
    
    48
    Firweorks
    教育出版社
    img/fw.jpg
    
    

    ==========================
    js读取::
     程序代码

    var source=   new   ActiveXObject('Microsoft.XMLDOM');   //创建一个MSXML解析器实例   
    source.async=false;   
    source.load("xml.xml")        //载入xml文档。
    nodes = source.documentElement;
    var ItemN = source.documentElement;       //设置文档元素为根节点元素 
    var j = ItemN.length;//获取item节点个数
    
    var array1=new Array();
    var array2=new Array();
    var array3=new Array();
    for(i=0;i<j;i++)
    {
    array1[i]=ItemN[i].selectSingleNode("name").text;//获取name内容
    array2[i] = ItemN[i].selectSingleNode("publisher").text;//获取publisher内容
    array3[i] = ItemN[i].selectSingleNode("img").text;//获取img内容
    }