CSS World Awards Winners 2006

星期一, 七月 17th, 2006

cssmania.com搞了一个CSS World Awards,选出了几些采用css构建的web网站精品,很不错的网站。

Site Of Year

UX Magazine

Veerle’s Blog 2.0

Vitamin

更多内容可见http://awards.cssmania.com/2006/07/07/css-world-awards-winners-2006.php

SQL Server 2005 中的分区表和索引

星期三, 七月 5th, 2006

http://www.microsoft.com/china/msdn/library/data/sqlserver/sql2k5partition.mspx?mfr=true

mount – linux下如何访问fat分区

星期一, 六月 19th, 2006

我google了一下如何在linux上访问fat分区,找到了如下文字。

mount使用指南

在Linux中,如果你要使用储存设备(Mo、硬盘、光驱等),就得先将它挂上(Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。

在使用mount这个指令时,至少要先知道下列三种信息:

  1. 要Mount对象的文件系统类型?(Filesystemtype)
  2. 要Mount对象的设备名称?(/dev/????)
  3. 要将设备Mount到哪个目录去?

一、获得系统支持的文件系统类型

就第一点来说,用户可以执行
cat/proc/filesystems

来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型,那你可能需要重新编译内核以使其增加对该种文件类型支持。关于如何编译内核请参照LinuxAid在线培训栏目中的相关文章。

常用的文件系统有:

  • Win95/98常用的FAT32文件系统:vfat
  • WinNT用的文件系统:ntfs
  • OS2用的文件系统:hpfs
  • Linux用的文件系统:ext2
  • 光盘片用的文件系统:iso9660

其中虽然vfat是指FAT32系统,但事实上它也兼容FAT16的文件系统类型。

二、确定设备的名称

在Linux中,设备名称通常都在/dev里。这些设备名称的命名都是有规则的,我们可以用”推理”的方式把设备名称找出来。

譬如说/dev/hda1这个IDE设备。hd是HardDisk(硬盘)的意思,sd是SCSIDevice,fd是FloppyDevice(或是FloppyDisk?)。a则是代表第一个设备,通常IDE接口可以接上四个IDE设备(例如四块硬盘)。所以要识别IDE硬盘的方法分别就是:hda、hdb、hdc、hdd。此外,hda1中的”1″代表hda的第一个硬盘分区(partition),hda2代表hda的第二个分割区,依此类推。

此外,你可以直接检查/var/log/messages这个文件,在该文件中可以找到计算机开机后,系统已辨认出来的设备代号。

三、查找挂接点

最后我们要决定将设备挂接到哪里,先查看一下你的计算机是不是有个/mnt的空目录?该目录就是专门用来当作挂载点(MountPoint)的目录。建议您在/mnt里多建这几个目录:/mnt/cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。

举例而言,如要挂载下列五个设备的话,其执行指令可能是(假设都是Linux的ext2系统,如果是WinXX的话,请将ext2改成vfat):

  • 软盘>> mount -t ext2/ dev/fd0 /mnt/floppy
  • MO>> mount -t ext2 /dev/sda /mnt/mo
  • cdrom>> mount -t ext2 /dev/hdc /mnt/cdrom
  • SCSIcdrom>> mount -t iso9660 /dev/sdb /mnt/scdrom
  • SCSIcdr>> mount -t iso9660 /dev/sdc /mnt/scdr

这是假设,如果你的设备的名称跟这个不同的话请自行修改。

最后需要注意的是:
1.执行mount动作时先打一下pwd看看现在的目录是不是在挂载点,如果现在目录在挂载点的话,mount(或umount)不会成功(会显示devicebusy)。
2.想卸载某设备的语法是umount目录名,例如umount/mnt/cdrom等。

linux! go go go !

星期一, 六月 19th, 2006

想搞linux很久了,但是进度一直缓慢,基本上前一次看书掌握的内容已经快忘完了,所以基本上也可以说没有进度。

我觉得人在很多时候表现不自爱…你要好好的计划按步骤实施,到最后总是没有结果,非得要外部有很大的压力以后,才会屁颠屁颠的向前跑…

没办法,昨天一狠心…把windows2003格了,装上了FC5。

感觉界面上貌似pp了很多,和前几版相比,至少登陆界面改观较大。但是骨子里,linux仍然不是一个服务于最终用户的桌面操作系统,软件的操作总的来说两个字-“难用”…甚至一些软件压根用不了,例如“Add/Remove Soft”,软件的信息到15%左右就加载失败了,重复了n次。如果这是发生在windows上面,估计早就被骂死了…

倒是yum命令行工具用的蛮爽,但是对一般用户来讲,这是不可能接收的…

基于我以前和昨天的经验,总的来说,linux还是一个适用于开发人员的操作系统,要走向桌面还有很长的路……

Dive Into Python

星期四, 五月 18th, 2006

Dive Into Python 是为有经验的程序员编写的一本 Python 书。

http://www.woodpecker.org.cn/diveintopython/

构造当前页面完成的URL

星期三, 三月 9th, 2005

简单的技巧,以前没有这么用过。

可以这样构造当前页面完成的URL:

“http://” & Request.ServerVariables(“HTTP_HOST”) & Request.ServerVariables(“PATH_INFO”) &”?” & Request.ServerVariables(“QUERY_STRING”)

取得了这个字符串后,我们在写有关“主/明细表”程序的时候,当在明细表页面经过了多次操作后,最后仍然可以回到主表中,查询参数和页码都保留了。当然如果明细表操作在新开窗口中进行,那就不用我在这儿叽里咕噜了。

具体怎么实现呢?例如我们有学生列表,通过班级或者年龄等条件查询出来,并且翻到了中间页码。我们可以在页面顶端加上:

Response.Cookies(“MySite”)(“URL”)=”http://” & Request.ServerVariables(“HTTP_HOST”) & Request.ServerVariables(“PATH_INFO”) &”?” & Request.ServerVariables(“QUERY_STRING”)

把当前页面的URL写入Cookies中,在点击姓名到明细表,并且经过了编辑更新或者删除等等操作后,通过语句:

Response.Redirect(Request.Cookies(“MySite”)(“URL”))

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY

星期五, 一月 21st, 2005

SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。

1) IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。它不受作用域和会话的限制,而受限于指定的表。
2) @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
3) SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值

SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。

例如,有两个表 T1 和 T2,在 T1 上定义了一个 INSERT 触发器。当将某行插入 T1 时,触发器被激发,并在 T2 中插入一行。此例说明了两个作用域:一个是在 T1 上的插入,另一个是作为触发器的结果在 T2 上的插入。

假设 T1 和 T2 都有 IDENTITY 列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的 INSERT 语句的最后返回不同的值。

@@IDENTITY 返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值,该值是插入 T2 中的值。

SCOPE_IDENTITY() 返回插入 T1 中的 IDENTITY 值,该值是发生在相同作用域中的最后一个 INSERT。如果在作用域中发生插入语句到标识列之前唤醒调用 SCOPE_IDENTITY() 函数,则该函数将返回 NULL 值。

而IDENT_CURRENT(‘T1′) 和 IDENT_CURRENT(‘T2′) 返回的值分别是这两个表最后自增的值。

可靠的 OnPropertyChange

星期三, 一月 5th, 2005

我们经常需要判断一个表单状态或者属性,例如当在一个文本框中输入字符时,使提交按钮可用,这是我们通常会用onkeypress。

但是如果用户把表单清空呢?或者按后退键清除输入,那么在这时候如何触发事件?

答案是onPropertyChange ,更改文本框的任何属性(包括从键盘、鼠标或脚本向文本框输入的内容)时,该事件都会激发。

原文:http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/nacwebteam11042002.mspx

禁止页面缓存

星期二, 九月 28th, 2004

web程序中有时候更新非常频繁,这时候往往页面缓存会出来捣乱,让你分不清是否程序真实响应页面。

禁止页面缓存

<meta http-equiv=Pragma content=no-cache>
<meta http-equiv=Cache-Control content=no-cache>
<meta http-equiv=Expires content=0>

asp  <% Response.Expires = 0 %>

我试了一下,似乎不是百分百管用……都用上好了 :)

去掉VS.NET项目中的VSS代码控制

星期二, 六月 29th, 2004

好多vs.net下的工程是用source safe进行版本控制的,但是经常会有种种问题。比如换机子或者把文件拷贝回家做的时候,有时候修改了代码还保存不了……

等等琐事,很是让人厌烦,所以想把他去掉。

要做如下操作:


·去掉项目中的.scc、.vssscc和.vspscc文件;

·去掉C#项目文件(.csproj)里面几行标签:
SccProjectName =”SAK”
SccLocalPath =”SAK”
SccAuxPath =”SAK”
SccProvider =”SAK”

·去掉解决方案文件(.sln)中的下面节点
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 4
SccLocalPath0 =

CanCheckoutShared = false
EndGlobalSection

5 of 7«first...34567