摘要: 对于广大的Web开发人员,维护Web访问日志是一件经常性的工作,随着时间和访问量的提升,Web日志所占用的空间也会越来越大,如果将旧日志文件进行压缩会大大提升服务器硬盘空间的利用率,也方便日志文件的下载,手工操作总是比较繁琐的所以就写了下面的自动化程序,给大家分享一下代码 Code highlighting produced by Actipro CodeHighlighter (freeware...阅读全文
posted @ 2010-02-09 10:21 星痕 阅读(201) 评论(1) 编辑

1、安装依赖包:

sudo apt-get install g++ curl libssl-dev apache2-utils

sudo apt-get install git-core

 

2、下载Node.js安装包:

wget http://nodejs.org/dist/v0.6.6/node-v0.6.6.tar.gz

3、解压:

gzip -d node-v0.6.6.tar.gz
tar -xvf node-v0.6.6.tar.gz
 
4、开始编译安装node.js
cd node-v0.6.6
./configure
make
sudo make install
posted @ 2011-12-28 11:01 星痕 阅读(7) 评论(0) 编辑

在终端窗口之行:

sudo gedit /etc/default/grub

将代码:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

改成:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"

执行:
sudo update-grub
cd /etc/rc2.d
sudo mv S30gdm K30gdm

这样就将开机默认进入字符界面了,要恢复开机默认进入图形界面,把K30gdm改成S30gdm就是了。

如果要在命令行界面进入图形界面直接输入:

startx

这样就可以进入图形界面了

 

posted @ 2011-02-14 15:28 星痕 阅读(101) 评论(0) 编辑

解决方法一:

前台按钮:

<asp:Button   ID="Button1"   runat="server"   OnClick="Button1_Click"   Text="Button"   OnClientClick="this.form.submit();this.disabled=true"   UseSubmitBehavior="False"   />

后台代码:

protected   void   Page_Load(   object   sender,   EventArgs   e   )
      {
          if   (Page.IsPostBack)
          {
              Button1.Attributes.Add("disabled",   "disabled");
          }  
      }


关键是红色部分OnClientClick="this.form.submit();this.disabled=true"   UseSubmitBehavior="False" 。


解决方法二:

          this.btnSubmit.Attributes["onclick"] = this.GetPostBackEventReference(this.btnSubmit) + ";this.disabled=true;";     //防止重复提交


posted @ 2011-01-12 11:36 星痕 阅读(223) 评论(0) 编辑
    对于广大的Web开发人员,维护Web访问日志是一件经常性的工作,随着时间和访问量的提升,Web日志所占用的空间也会越来越大,如果将旧日志文件进行压缩会大大提升服务器硬盘空间的利用率,也方便日志文件的下载,手工操作总是比较繁琐的所以就写了下面的自动化程序,给大家分享一下
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Timers;

namespace WinCodeTest
{
    
/// <summary>
    
/// Web日志文件备份
    
/// </summary>
    class FileZip
    {

        
static List<string> listFile = new List<string>();

        
public static void ZipLog()
        {
            
//   Create   a   new   Timer   with   Interval   set   to   10   seconds.   
            System.Timers.Timer aTimer = new System.Timers.Timer(1000);
            aTimer.Elapsed 
+= new ElapsedEventHandler(RunZip);
            
//   Only   raise   the   event   the   first   time   Interval   elapses.   
            aTimer.AutoReset = true;
            aTimer.Enabled 
= true;

            Console.WriteLine(
"The Task Is Running... write 'q' exit");
            
while (Console.Read() != 'q') ;
        }

        
/// <summary>
        
/// 遍历文件夹将所有文件进行压缩
        
/// </summary>
        private static void RunZip(object source, ElapsedEventArgs e)
        {
            
//存放日志文件的目录
            string filePath = @"D:\WebLog\";

            DateTime formatDate 
= Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            DateTime startTime 
= Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 02:10:00"));
            
//定时执行时间判断
            double ts = (formatDate - startTime).TotalSeconds;
            
if (ts == 0)
            {
                GetAllFiles(filePath);
                
foreach (string file in listFile)
                {
                    Console.WriteLine(DateTime.Now
+"-=|备份:" + file);
                    ZipFile(file);
                }
                Console.WriteLine(DateTime.Now 
+ "任务结束");
            }
        }

        
/// <summary>
        
/// 遍历目录下所有文件
        
/// </summary>
        
/// <param name="filePath"></param>
        private static void GetAllFiles(string filePath)
        {
            
//递归遍历所有子文件夹
            string[] dir = Directory.GetDirectories(filePath);
            
for (int n = 0; n < dir.Length; n++)
            {
                GetAllFiles(dir[n]);
            }

            
//保存文件夹内的文件路径 log文件
            string[] file = Directory.GetFiles(filePath,"*.log");
            
for (int i = 0; i < file.Length; i++)
            {
                FileInfo fi 
= new FileInfo(file[i]);
                //将两天前的日志加入压缩文件列表
                
if (fi.LastWriteTime < DateTime.Now.AddDays(-2))
                {
                    
                    listFile.Add(file[i]);
                }

                
            }

            
//删除25天前的备份文件 rar文件
            string[] fileRar = Directory.GetFiles(filePath, "*.rar");
            
for (int i = 0; i < fileRar.Length; i++)
            {
                FileInfo fi 
= new FileInfo(fileRar[i]);
                
                
if (fi.LastWriteTime < DateTime.Now.AddDays(-25))
                {
                    Console.WriteLine(DateTime.Now 
+ "-=|删除:" + fileRar[i]);
                    fi.Delete();
                    
                }


            }
        }

        
/// <summary>
        
/// 根据文件路径压缩[删除源文件(-df);不包含文件路径(-ep)]
        
/// </summary>
        
/// <param name="str">文件路径</param>
        
/// <returns></returns>
        private static string ZipFile(string strFileName)
        {
            
string fullFileName = strFileName;

            System.IO.FileInfo fi 
= new System.IO.FileInfo(fullFileName);
            
            
string FileName = @"C:\Program Files\WinRAR\Rar.exe";   //Winrar软件的安装目录,也可以将'rar.exe'放在程序的运行目录,不过需要更改一下路径
            
//执行压缩的命令,可以查看winrar软件的帮助文档,里面有详细的说明
            string command = "-df -ep -tl -or a " + fi.Directory + @"\" + fi.Name.Replace(fi.Extension, ""+ ".rar " + fullFileName;
            
            System.Diagnostics.Process p 
= new System.Diagnostics.Process();
            
string ResultStr;
            p.StartInfo.FileName 
= FileName;
            p.StartInfo.Arguments 
= " " + command;
            p.StartInfo.UseShellExecute 
= false;
            p.StartInfo.RedirectStandardInput 
= true;
            p.StartInfo.RedirectStandardOutput 
= true;
            p.StartInfo.RedirectStandardError 
= true;
            p.StartInfo.CreateNoWindow 
= true;
            p.StartInfo.ErrorDialog 
= false;
            p.StartInfo.WindowStyle 
= System.Diagnostics.ProcessWindowStyle.Hidden;
            
try
            {
                p.Start();
                ResultStr 
= p.StandardError.ReadToEnd();
                p.Close();
                
return ResultStr;
            }
            
catch (Exception ex)
            {
                
return ex.Message.ToString();
            }
        } 
    }
}

 

posted @ 2010-02-09 10:21 星痕 阅读(201) 评论(1) 编辑

默认的属性值都是static,静态。就不用多说了。最关键的是
relative(相对)以及absolute(绝对)。
往往我们如果是COPY别人的代码,会把absolute属性与left、top配合起来制作相关的“悬浮层”效果。然而有时候我们需要针对某一个容器的悬浮效果,而不是针对窗口的。这时候通过高度、宽度的计算不但麻烦,而且几乎无法完美实现效果。我一开始也无能为力,后来发现只要把其上一级的样式属性position设置为relative就可以了。

也就是说,position的属性值的效果,直接受其容器样式中position属性值影响。
例如如下A-B的嵌套结构

<div id="A">
 <div id="B">
 </div>
</div>

当A的position为relative时,B的position为absolute才有效。这时候left:0、top:0就不再针对窗口文档,而是针对id为A的这个div了。

这样在开发一些基于B/S应用程序的时候,就能很方便的添加一些UI元素,例如某一个活动层的关闭按钮等。

posted @ 2009-04-23 13:33 星痕 阅读(36) 评论(0) 编辑
摘要: IE下默认是不允许iframe,script跨站写入cookie(FF下可以),除非把浏览器隐私设置到最低,但是操作是在客户端,程序员们也无能为力,这里给大家介绍一种方法可实现跨站写入cookie,即p3p标准(一种个人隐私保护策略),详细可查看http://baike.baidu.com/view/722330.htm,废话不多说了(也不知道说什么了),直接给代码:Response.AddHea...阅读全文
posted @ 2009-03-11 14:20 星痕 阅读(218) 评论(0) 编辑
摘要: using System.Security.Cryptography; /// <summary> /// 3DES加密 /// </summary> /// <param name="str"></param> /// <param name="key"></param> /// <returns></re...阅读全文
posted @ 2009-03-10 15:27 星痕 阅读(461) 评论(0) 编辑
摘要: 一般事件 事件 浏览器支持 描述 onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick IE4|N4|O 鼠标双击事件 onMouseDown IE4|N4|O 鼠标上的按钮被按下了 onMouseUp IE4|N4|O 鼠标按下后,松开时激发的事件 onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件 onM...阅读全文
posted @ 2008-10-29 16:36 星痕 阅读(535) 评论(0) 编辑
摘要: 拖延等于死亡(改变千万人生的一堂课)你打算什么时候实现梦想呢?你在等什么?还有什么没准备好?你在等待别人的帮助还是等待时机成熟?    最消磨意志、摧毁创造力的事情,莫过于拥有梦想而不开始行动。    年轻人最容易染上的可怕习惯,就是遇事明明已经计划好、考虑过、甚至已经做出决定了,却仍然畏首畏尾、瞻前顾后、不敢采取行动。对自己越来越没有信心,不敢决断,终于陷入失败的境地。    很多人喜欢订计划,...阅读全文
posted @ 2008-08-30 23:26 星痕 阅读(34) 评论(0) 编辑
摘要: 1.firefox不能对innerText支持,也不知道为什么。firefox支持innerHTML但却不支持innerText,所以上网查了一下,原来它改支持textContent来实现innerText,不过实现得没有那么好,默认把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替2.禁止选取网页内容:在IE中一般用js:obj....阅读全文
posted @ 2008-05-30 11:03 星痕 阅读(88) 评论(0) 编辑