欢迎来到麦麦的不老阁

记录一些关于自己在linux、网络应用、个人心情故事的文字...

关于我

我喜欢搬个小板凳坐在马路边看MM,喜欢把双手插裤兜...更多机密资料... »

Member Login

Lost your password?

麦麦的不老阁

关注互联网,爱生活爱拉芳!不扯谈客观,哥的博客哥做主,用低俗的文字来表述主观看法~
2006年十一月的日志归档

Bokee缺乏人性化元素

[space]今天,有一位使用bokee程序的网友说,她在她的blog上添加一段在线抠抠的代码,但能看到图片效果,没有点击激活程序效果。她还把代码发给我看了,代码没有问题。我到她的blog上看了一下,发现她把这段代码放在blog的公告里面了。第一个闪过的结论是:bokee上的公告里面屏蔽了部分代码。找了一下bokee的用户帮助资料,证明自己的想法是对的,bokee的公告使用帮助说明里明确写着“支持部分html标签”,开始我还问这位网友干吗不把代码编辑到模板里面去?这位网友说她不是太懂,请我帮忙添加一下,举手之劳,没有不帮的理由。
[space]因为没有玩过bokee的blog程序,所以就注册了一个ID看看,结果让我很失望,怎么都找不到在哪里可以编辑模板代码。在baidu上用“编辑bokee模板”为关键词搜索了一下,在搜索结果的第一个页面中看到“bokee老公社blog可以编辑模板,新公社blog不能编辑模板…”。
[space]晕,给我出难题啊,我可不知道什么新公社老公社的,根据玩blog的经验猜想,bokee的论坛上肯定有设立客服版块吧?!于是就到bokee论坛里去搞清楚什么是新公社、老公社先;连接到bokee论坛的客服版块,真是不看不知道,一看吓一跳,居然有N多的blogger称自己升级后丢了这个丢了那个功能的、说什么升级后的程序无法编辑模板、还有强烈建议不要升级程序的……反正是感觉到一片反抗声、痛苦声。点开一条置顶、粗体标题的帖子,是关于bokee升级的公告,公告里写着升级新blog程序的N条优点,还很“负责”的注明:升级只有一次机会,潜台词也就是说“升级了就不能退回来了,如果后悔,请不要找我们求助了,我们有言在先了”。看了一下发帖的时间,是2005年5月份,我推测这应该是那个什么什么新、老公社的交替的时间分段吧,问了一下刚才那位网友是什么时候注册的ID,她说是今年7月份,那我想她肯定用的是新公社的blog程序了,也就是宣布说没有办法编辑模板代码了。
[space]于是我很不客气的在刚才那个公告帖子里回复了一句“专夸升级后的好处,升级后的程序不能编辑模板了,这么大的改动怎么不说?!”
[space]各位blogger,哪个不希望把自己的blog装饰的有个性一点,连自己的模板代码都不能编辑的话,哪还有什么个性可言?用blog的人一大堆,模板就这几个,每个人都用差不多的模板,清一色,这样的好处也是有的,那就是一眼就知道是bokee的blog程序了,一块bokee招牌啊!看了一下bokee的帮助文件,了解到程序提供了一大堆的功能组件,让blogger们可以自己选择使用哪些,但这又有什么用啊?怎么排版都是清一色的,真是超级死板,就拿我刚才说的想插入一段在线抠抠代码,这样一个小小的功能都无法实现,郁闷!
[space]花了N多个脑细胞,试想了一下bokee把编辑模板的功能删减的原因:
[space]一、怕网友在模板里插入恶意代码。
bokee的程序设计者们你们就不能把代码过滤程序做的全面一点、考虑周全一点、仔细一点、用心一点吗?难道这还存在技术问题不成?
[space]二、减小数据库大小、节省数据存储空间。
假设每个人都可以编辑自己的模板的话,那肯定要把每个人的模板代码单独保存起来了;但是如果大家使用通用模板的话,那就可以只保存一个模板代码数据,其他人使用这个模板代码的时候,用moban1、moban2、moban3这样的数据字段调用就是了,因为一个模板的代码数据量肯定要比moban1、moban2、moban3这样的数据要来的大,所以使用通用模板肯定可以节省存储空间,于是,运营成本就剩下来了,虽然不是很多,我想也能给员工多发个苹果什么的吧!
[space]三、可以少招募几个客服人员。
如果可以独立编辑模板,那网友们在编辑模板遇到的问题肯定要比现在多的多,那肯定要更多的客服人员做解答。现在不能编辑模板了,遇到问题也肯定少了,也就可以减少几个客服了,这样每个月起码也节省个万把块的运营成本了吧?银子又省下来了,能买很多苹果了…
[space]四、最后一个可能性了,用bokee的用户都很菜。
bokee的设计者们认为使用bokee的blogger们不会玩这些代码,因为这些都是专业滴,所以留着也没有用,于是就取消了…我想,中国的计算机普及水平还没有落后到这种程度吧,现在blog模板代码编辑教程遍地都是,一搜就是一大把。
[space]做Bokee的员工应该很幸福吧?!因为经常有苹果吃…[20]其他…实在想不出有什么了,人越来越懒了,想问题是件辛苦的事情…
[space]写到这里,我想我基本上已经被bokee归属于敌人了,何况我还说“I’m not boke”,反正骂一句是骂,两句也是骂,也就顺便说一个我自己遇到的关于boke网志的事,真的对bokee很气愤 [11] :我使用SXNA做新闻聚合的时(见页首新闻聚合连接),定制朋友在bokee上的网志时,正常情况下应该在右边“我订阅的网志“中显示一个网志标题,但定制的bokee网志居然显示一个网志日期,真TMD的好笑,我要日期干吗啊?谁能从一个日期中看出这是不是自己感兴趣的网志啊。我定制的这么多网志中,在bokee上定制的都是这副德行,其他的blog都没有问题!
[space]就凭bokee不能编辑blog模板这一点,我就强烈建议再想玩blog的朋友们,千万不要挂到bokee上去了…
[space]Bokee的工作人员如果看到这则网志,可能会想“我们没有逼你用我们的程序,也没有逼你定制我们我们网志内容”,说实话,我也是有苦衷,没办法啊,谁让我有部分朋友在用你们的程序呢!你们也不用对我咬牙切齿,也不要在心里骂我,你们大人有大量,何必跟我一个小网民计较,那多掉你们的价啊?!
[space]想用户所想,提供大部分人需要的功能才是最重要的!看看bokee论坛的帖子就知道bokee程序设计者们违背了多少人的意愿,问一句:你们违背这么多人的意愿删除减掉重要的功能,你们到底图个啥?李某人早说过了:“水能载舟,……”,后面半句我忘记了…

打开article.asp文件,找到
<img src="<%=theCache.settings["imageFolder"]%>/utf8.png" class="meta-button" alt="UTF-8 Encoding" /> <b><%=lang["trackback_url"]%>:</b> <%=theCache.settings["baseURL"]+"trackback.asp?id="+theArticle.id%>
<%}%>
在后面添加:
<!– Search Google Start –>
<center>
<form method="get" action="http://www.google.cn/custom" target="google_window">
<tr><td nowrap="nowrap" valign="top" align="left" height="32">
<a href="http://www.google.com/">
<img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google Search" align="middle"></img></a>
<input type="text" name="q" value="<%=func.HTMLEncode(theArticle.title)%>" class="text search-field" style="width: 68%" /></input>
<input type="submit" name="sa" value="<%=lang["search"]%>" class="button" /></input>
<input type="hidden" name="client" value="pub-7945602143380763"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="hl" value="zh-CN"></input>
<input type=hidden [...]

对于许多人来说,DNS服务和WINS服务之间的关系还是一个神秘或者很模糊的概念,之前我自己对这两个服务的功能区别也很模糊,不过,我希望用这篇内容给自己和在看网志的朋友加深一个印象:两者到底有何区别?
首先,从全名来区别:DNS指的是“域名服务器(Domain Name Server)”,而WINS指的是“Windows互联网名称服务(Windows Internet Name Service)”。两者都是用来解析名称的,但是,使用的方法完全不同!(这里有一个概念需要强调,是解析主机名称,不是解析域名,很多文章都说解析域名,这是错误的)
为了帮助说明这个问题,我准备使用一个例子,保证让你正确地了解这两种服务的情况。
考虑一个名为“server”的文件服务器和下面两个指令:[quote]Ping server.im321.com
Net use * server mainshare[/quote] 上面两个指令看起来很相似。第一个指令是向“server.im321.com”这台主机发送一个ping (icmp echo)数据包,确认这台主机在工作。而第二个指令呼叫同一台主机(server),以便连接到一个名为“mainshare”的共享文件夹。
虽然这两个指令都指向同一台主机(server),但是,它们之间的区别是很重要的。
这里的“Ping”使用DNS服务把server.im321.com解析为一个IP地址,比如说为204.45.12.1。而“net use”指令使用WINS服务把NetBIOS名称“server”解析为一个IP地址。这样,你也许会感到疑惑,为什么有两种不同的服务实际上在完成同一个任务?
这个问题的答案是:这两种服务的每一种服务都依靠不同的协议。他们只是以不同的方式工作。
[...]

[space]原始的LBS只有使用login.asp页面登录时候,才可以选择设置cookie保存时间,但是在首页居然没有,这个功能对我这样的懒人来说绝对很重要,后来参照星辉一冷的说明,稍加修改,就可在LBS首页实现该功能了。
[space]在global.asp中查找到:(大概位置:默认在sidebar panelUser后面)
<input name="Login" type="submit" value=" <%=lang["login"]%> " class="button" />
</td>
</tr>
在它下面添加:
<tr>
<td align="right">
[...]

关闭Exchange循环日志功能

[space]很多Exchange管理员都碰到一个头痛的问题:日志文件霸占磁盘空间。
[space]磁盘空间是有限的;但是Exchange只要在运行,日志文件的产生就是无限的,虽然每个只有5M大小,但是日志文件的产量很惊人的,大部分的磁盘空间都被日志文件霸占了;微软在设计Exchange的时候,提供了一个“启用循环日志”功能,启用这个功能后,系统只会产生5个5M大小的日志文件,循环更替使用,日志文件霸占磁盘空间的问题是被解决了,不过从这一刻开始,你就向上帝祈求吧,祈求你的Exchange数据库在你的任职期间一路平安。如果有个三长两短,mount不上去的时候,你就找个地方哭吧!因为你有一段时间内的邮件丢了。
[space]我之这样肯定说丢了邮件是因为:
第一,我就不相信你有做到时时备份;
第二,除非你很幸运,你上次备份到现在,你的Exchange没有处理过一封邮件。
第三,数据库修复或恢复是需要日志文件的,你那5个循环日志能帮你多少?
[space]就凭借以上三个原因,我绝对是举双手双脚建议你关闭“循环日志”功能的。
依据一、我自己的教训与经验;
依据二、微软官方对Exchange数据库的说明。
[space]具体的原因,就请你看下面的内容,以下内容是根据微软官方资料说明以及自己对Exchange Server的管理经验整理出来的,供各位参考,以便更清楚的认识Exchange Server的存储系统,以及各部分的作用。
一、IS服务和ESE的层次关系
[space]IS服务我们一定很了解了,它是Exchange服务器中重要的服务之一,它控制着对MS(Mail Store)和PF(public Folder)的存储操作请求,如果这个服务没有启动,Exchange服务器就是名存实亡。我们也知道,Exchange服务器的存储实际上是由叫ESE的数据库引擎来管理的。这个ESE引擎是微软专门为保存非关系型数据而开发的,目前在微软的很多产品中都有广泛的应用,如:AD数据库、DHCP、WINS、SRS等等。
[space]Exchange的数据库是由EDB文件、STM文件和LOG文件组成的。在这些文件里,微软使用了“B+树”的内部数据结构。ESE的引擎的任务之一,就是当IS服务请求访问数据库的时候,把这些请求转化为对内部数据结构的读写访问。“B+树”的特点是能够对存储在硬盘上的数据提供快速访问能力。微软利用“B+树”作为ESE的后台结构的主要原因,就是尽可能的提高访问数据时I/O性能。当然,这些结构对于EXCHANGE STORE来说是透明的。
[space]另外,作为一个数据库系统,ESE有责任提供事务级别的操作的支持,并维护数据库的完整性和一致性。对数据库系统而言,我们提到事务时,一般用ACID来描述事务的特点:
A – Atomic(原子的):事务必须是全或全无的操作,要么全部成功更新,要么全部不被更新。
C – Consistent(一致的):一个成功提交的事务必须使数据库处于一个一致的状态。
I – Isolated(孤立的):所有未提交的更改都必须能够和其他事务独立开来的。
D – Durable(持久的):当事务一旦提交,所做的更改必须存储到稳定的介质上,防止系统失败导致的数据库不一致。(此点非常重要!)
Atomic这个词,我查字典是“原子的;原子能的;极微的”解释,好像这里用这样翻译很不大对劲,感觉解释为“绝对的”比较好懂,^0^寡人英国拉屎比较烂!
[space]二、EXCHANGE 2000/2003存储系统的新特点
[space]在EX5.5中,ESE的版本为ESE97,而在EX2000/2003里,ESE版本已经升级ESE98了。ESE引起在以下方面得到了改进:
* I/O性能进一步提高和优化;
* 对日志文件增加了计算校验操作;
* 提高了ESEUTIL等工具的维护速度;
[space]而IS也在以下方面有了更新:
* 在每个SERVER上提供最多5个SG(Storage Group)支持;
* 数据库STM文件格式的引入,提高了INTERNET邮件的性能;
* WSS的引入,用户可以使用多种协议访问数据库;
[space]三、EDB和STM的关系
[space]常有人问,EDB文件是数据库,那STM文件是做什么用的?可以删除吗?
[space]在EX5.5里,只有EDB文件,因为在EX5.5发布时,微软主推的是内部邮件系统,因此其主要协议为MAPI,这是微软的私有邮件协议,EDB文件是专门为此协议优化过的。因此在EX5.5中,为了支持INTERNET邮件,必须在每次处理INTERNET邮件时,做一个格式转换。这显然带来了性能的损失。
[space]在EX2000里,微软加大了对INTERNET邮件的支持,这就是STM文件的来源。MAPI格式是RPC和二进制标准的,而STM是纯文本加上一些MIME编码格式,这样的区别使得它们不可能存储在同一数据库里。因此EX2000中,微软开始使用EDB和STM两个文件来分别保存两种格式的邮件。并且在两个文件之间建立了引用和关联。对于用户来说,它的邮箱实际上是跨越了EDB和STM文件共同组成的。另外,需要注意的是,EDB文件中还保留着用户的邮箱结构。所以EDB文件更加重要。那么EDB和STM是怎么协同工作的呢?我们以几个情景来分析之。
情景一:用户使用OUTLOOK(MAPI)发送接收邮件
[space]在该情景下,用户将邮件通过MAPI协议提交给数据库,直接被保存EDB文件中。当用户通过MAPI访问邮箱里的邮件时,如果被访问的邮件在EDB里,直接返回,如果在STM里(如外来邮件),则执行转换,将STM转换为EDB文件格式,再返回用户。
情景二:用户使用标准SMTP/POP3/IMAP4等协议访问
[space]用户使用非MAPI协议提交的邮件,内容保存在STM文件里,但是由于EDB里有邮箱结构,STM没有,因此系统会把邮件的重要信息提取出来,放在EDB里。当用户用MAPI提取邮件时,过程同上,当用户通过标准协议访问时,同样需要进行格式转换,转换为STM文件格式返回。
[space]这些转换是在后台发生的。对用户来说是透明的。通过上面的描述,你会看到,这两个文件是紧密联系的缺一不可。所以,在任何时间我们都不要单独操作这两个文件,它们是一个整体。同时也要注意的是,无论用户使用何方式访问邮箱,都需要向EDB文件请求邮箱结构信息,这是需要注意的。
[space]看完上面两个情景解释,你对默认的“priv1.edb”、“priv1.stm”两个数据文件应该有区分和了解吧?!寡人刚接触Exhange的时候对这两个文件的区别也很感冒!
[space]四、LOG文件的重大作用
[space]前面提到过了,他是霸占磁盘空间的罪魁祸首,有些管理员一看日志文件很多的时候,于是开始删除日志文件,删到后来觉得烦琐了,于是就“启用循环日志”来减少烦琐的工作。我前面说了,你启用这个功能的话,你就可以向上帝祈求了…
[space]很多刚接触Exchange的管理员会提出疑问:日志文件到底有什么用?是不是多余的?那我们来看看日志的重大作用。
[space]对于一个SG来说,系统会产生一系列的日志,每个大小为5M,这些日志的扩展名为LOG,前缀一般是E00、E01……除了这些连续的日志文件外,还有一些特殊的日志文件(res1.log,res2.log,e0x.chk),它们又有什么用呢?如果对Exchange数据做完全备份(Full Backup)的话,备份后日志文件会自动删除的,然后重新产生。老实说,十个管理员有九个对备份工作都怕怕,因此对这些日志是痛恨不已啊。我自己也做系统管理,对数据备份这个麻烦的工作的确很感冒,但是说到最后:备份工作必须做!不得不做!话题好像扯远了,呵呵…
[space]那么微软在Exchange数据库系统中引入日志到底有什么作用呢?我们从以下几个方面来考察一下日志的作用:
1、作为一个企业级的邮件系统,必须要保证数据安全和完整。必须能够面对随时可能发生的意外灾难,把数据损失降低到最小。
2、必须提供高性能的邮件处理能力,对数据库中的邮件的事务操作在完成后必须马上(或是说立即)被记录在存储介质上(见前面的事务持久性说明)
3、灾难发生后,使用数据库备份恢复必须要返回到灾难发生前一刻的数据库状态(这是至关重要的!)
[space]现在我们来更进一步的看一下,当用户要修改邮箱中的内容时,被修改的内容首先被提取出来放到内存中,实际的修改是发生在内存里的,这是众所周知的,当修改完成后,这些内容必须被尽快写回存储介质,这样才表示一个事务成功完成了。
[space]从事务的描述中我们可以看到,事务是具有Atomic特性的,为了保证数据库的一致和完整,事务必须全部成功或全部失败,如果事务失败,则必须回滚到事务开始的状态。而当邮件在内存中修改完成后,此时事务并没有完成,因为还没有写到磁盘上。一旦系统崩溃,这些修改就丢失了。所以要确保事务修改完成,必须尽快将修改写回到数据库里去(也就是硬盘上),这也是事务的持久性要求。
[space]注意,这里说的第一时间或是尽快,是一个什么样的概念呢?如果我们直接修改EDB文件,由于EDB文件比较大,那么在硬盘上修改一个大文件,就需要花费大量的时间在等待和寻找数据存储块上(学过操作系统原理的人应该知道的),当系统出现高负载的繁忙状态时,这将是一个非常大的瓶颈,也就无法做到“尽快”了。那怎么办呢?所以数据库系统使用了日志文件,而日志文件只有5MB大小,向这些文件写入修改肯定是很快速的,因此当内存的修改完成后,这些结果就会立即写入日志中,以保证了事务的持久性。当成功写入日志后,该事务就成功完成了(现在在硬盘上了,不会因为当机丢失了)接下来,ESE引擎会在后台慢慢将这些日志里的修改记录写回真正的数据库里去(这对用户来说已经不是那么重要了,这时候可能你的邮件都已经到对方了),这就是日志的第一个作用:确保事务在第一时间(尽可能快的)保存到非易失存储器上(磁盘上),提供了事务持久性支持。我自己是变相的把他理解为邮件数据缓存的,不知道这样是否科学,呵呵!
[space]根据上面的描述,我们看到运行中的Exchange数据库,是由三个部分组成的:
* 内存中已经完成处理还没有写会到日志里的内容(Dirt page)
* 还没有写到数据库文件里的日志内容
* EDB和STM数据库文件
[space]对于第一个部分(内存中的),一旦掉电就会丢失的,是最不安全的。而对于第二部分的内容,系统通过检查点文件(CHK)来标记哪些日志已经被写入数据库了,而哪些还没有。CHK文件类似一个指针。我们可以用“ESEUTIL /MK”来检查CHK文件里的内容,在该命令的输出中的checkpoint:这样的东西就是检查点位置,它表示E0×00008的日志的页面序号已经被成功写入数据库了。大家可以自己看看。。:)
[space]前面提到过,Exchange系统在出现灾难时,应该能恢复到灾难发生前时刻的状态。这是非常重要的。我在最前面就说过了“我就不相信你有做到时时备份”,但即使是最勤快的管理员,也只能在指定的预定时间内做数据备份。那么在备份完成后到灾难发生之前的这段数据该如何保护呢?是不是就任由它丢失呢?显然是不可能的。那答案是什么呢?就是日志文件。从前面对日志功能的描述中知道,任何对数据库的更改都先写入日志里,再由日志写入数据库,这样我们只要找到日志文件,就可以重新进行模拟的操作来完成备份后的数据库文件的更改了,举个例子来看先:
[space]假设我在凌晨3点完成了一次FULL BACKUP,备份完成后,系统正常运行,到下午4点的时候,系统突然崩溃。我用凌晨3点的数据恢复了数据库,那么从凌晨3点到下午4点这段时间的数据哪里去找呢?这个时候就只能依赖于日志了。当完成数据库恢复后,系统会自动的跟踪到关联的日志文件,如果发现有比当前数据库还新的日志存在,系统就会自动的按照日志的顺序将更改写回到数据库中去。因此这样一来,从凌晨3点到下午4点的数据变更就被完整的恢复了。这就是日志的第二个作用:保证系统备份和恢复的完整性。当然前提是没有使用循环日志!
[space]看到了吧,启用循环日志的危害是多么的大啊?备份是多么的重要啊?…如果你看到这里还执迷不悟启用循环日志的话,寡人可就要骂你#%@¥*#%!@)$%^&*(%…
[space]说到这里,有人可能要问,如果数据库和日志同时损坏,如何办?答案是:你赶紧去买体育彩票吧,呵呵!我在这里也只能说“尽量避免这样的情况发生”。首先日志文件损坏的几率要远远低于数据库;第二,微软建议将数据库和日志分别存储在不同的磁盘上;第三,我是绝对相信你的Exchange服务器用了RAID的!要是这样还会同时坏,那就去买体育彩票吧,呵呵…对于管理员对日志文件的抱怨,合理的解决方法是定期做备份,虽然麻烦,但是公司付薪水给你就是让你做这个事情的。寡人再强调一次:启用循环日志是冒险的做法,当启用循环日志后,一旦系统或者数据库发生灾难,想要恢复时,你就抱头后悔或者跺脚吧!磁盘和数据谁更重要,相信你这位做系统管理的,应该很清楚的。
[space]五、ESE与IS服务的启动和关闭
[space]ESE引擎在加载数据库文件时,会去检查数据库文件的标志。这个标志保留了上次关闭数据库的状态,当状态为正常关闭说,系统将直接加载该数据库,当数据库标志为非正常关闭时,系统将先进行一个软恢复过程(你可以在事件里看到它),然后再加载。
[space]那么,正常关闭和非正常关闭有什么区别呢?一个正常关闭的数据库,表示所有的日志信息都已经正确的写入数据库了。反之一个非正常关闭的数据库,则表示至少有一部分数据未能正确的从日志写入数据库。要注意的是,非正常关闭的数据库并不等于已经被破坏的数据库。只表示有数据没有提交到数据库文件。
[space]使用ESEUTIL /MH命令可以看到数据库的该状态,其中的STATE字段标记的就是这个状态,“Clean shutdown”表示数据库正常关闭。当系统加载处于非正常关闭的数据库时,就会根据检查点文件确定日志文件的位置,并做重放操作。当检查点文件丢失或损坏时,系统将从最早的日志文件开始处理。有的时候,系统不能自动的修复数据库,这时我们也可以用“ESEUTIL /R”命令手工的恢复处于非正常关闭状态的数据库。强烈建议在系统异常关闭后执行此命令。在执行前最好前确定数据库文件的状态确实为非正常关闭,不要对正常关闭的数据库执行该恢复命令!
[space]由此可见,EXCHANGE系统对数据库有自我修复能力,能确保系统在发生意外后恢复正确的状态。但这并不是说我们可以随意的关闭系统,仍要UPS等必要的保护措施。关于具体的Exchange数据灾难恢复方法,请阅读我另一篇网志《Exchange数据库灾难恢复》。
[space]六、关于M盘
[space]在EX2000里,有一个M盘的映射。这个映射只是提供开发人员通过API访问邮箱和邮件用的。因此对M盘的手工操作都可能带来数据库的破坏,请注意,另外,有一种观点认为备份了M盘就备份了邮件,这是绝对错误的。M盘虽然是数据库的映射,但已经去掉了很多的关联和内在联系。因此备份M盘是不能恢复数据库的。所有的Exchange管理员必须按规定认真的备份系统状态和SG。切不可偷懒哦,偷懒的最终结果是让你加倍的付出时间去拯救数据。
[space]看到这里,你还认为日志文件是多余的吗?Exchange管理员,赶快取消循环日志,建立健全的备份计划吧,为了你的薪水或者提高在老板心里的重要度,学会备份,很重要!关于数据备份的种类与方法,如果你想做一个合格的系统管理员,那就该多花一点时间在这上面。。。

Exchange数据库灾难恢复

一、C1041724:试图装入 EXCHANGE 2000/2003 SERVER 数据库时发生错误
症状
当您试图在运行 Exchange 2000/2003 Server 的服务器上装入数据库时,可能收到以下错误消息:
An internal processing error has occurred.Try restarting the Exchange System
Manager or the Microsoft Exchange Information Store service, or both.
ID no:c1041724
Exchange System Manager
另外,应用程序日志描述指向丢失的日志文件。

google.ac被国人注册了…

[space]没有想到Google如此雄大的公司也犯了一个如此的低级错误,常人都会认为它在全球的google相关的域名估计都被注册完了,但是万万没有想到,漏掉了一个Google.ac。更有意思的是,这个Google.ac是国人注册的,具体可连接 google.ac,本该米农因为做了一个个中文RSS聚合器,网站首页赫然写着 注意:“这是一个私人网站,它与‘谷歌公司’没有任何关系。”如果您想搜索关键词,请访问谷歌网站…

[space]更加佩服站长写的“此域名出售,但不出售给“谷歌”公司的竞争对手,使域名所有者有任何扰乱‘谷歌公司’的行为。 ”不知道这句话是真的诚意,还是别有用心,想以取得Google的好感…寡人胡乱猜测中…哈哈~ [20]
[space]不知道该不知道Google的下一步动作是什么,是否会域名高价收购此域名还是学那腾讯强抢域名,财大气粗了,啥事情都干得出来的!一切都是未知之数。
说明:AC域名的归属地为Ascension岛(阿松森岛),位于大西洋南部,靠近非洲,是英国的殖民地. AC还可被理解为academic即“学术的”之意,很受英国,美国、澳大利亚和日本的喜爱。

LBS-增加天气预报功能

在自己的BLOG上加个天气预报,感觉不错,呵呵~ [no][03]
以下内容以weather.265.com的天气预报功能为例,因为该天气预报会根据IP显示你所在城市的天气情况,比较人性化。
首先,建立一个weather.js文件,代码如下:
document.write(’‘)
其次,打开global.asp,在合适的地方添加以下代码:我是添加在Login下面的!你自己看着哪合适就添加到哪

<div id="panelweather" class="panel">
<h5><%=lang["weather"]%></h5>
<div class="panel-content">
<div class="comment-text">
<script src="weather.js"></script>
</div>
</div>
</div>

最后,在lang/blog.asp文件中添加:
t["weather"]=”天气预报”;
刷新你的BLOG,就可以看到效果了…
买一送六,另外赠送6款天气预报代码: [13]
一:
<iframe width="150" height="240" frameborder="0" scrolling="No" src='http://appnews.qq.com/cgi-bin/news_qq_search?city=xxx'></iframe>

其中的“xxx”是每个城市的代码:比如武汉的就是%CE%E4%BA%BA
下面是其他的一些城市的编码: 具体可到他们网上去查询
   上海-%C9%CF%BA%A3
   北京-%B1%B1%BE%A9
   青岛-%C7%E0%B5%BA
   济南-%BC%C3%C4%CF
   武汉-%CE%E4%BA%BA
   福州-%B8%A3%D6%DD
二:
<iframe ID='ifm2' WIDTH='189' HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC='http://weather.qq.com/inc/ss258.htm'></iframe>

三:
<iframe ID='ifm2' WIDTH='260' HEIGHT='70' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' src="http://news.sina.com.cn/iframe/weather/130101.html"></ifreame>

四:
<iframe width="469" height="218" border="0" align="center" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" src="http://appnews.qq.com/cgi-bin/news_weather_search?city=厦门" [...]

[space]最近比较闲,于是就打算把LBS的一些变更资料整理出来,以备自己需要时查阅,先从简单的开始。
找到global.asp中的以下代码:
<div id=”panelLinks” class=”panel”>
<h5><%=lang["links"]%></h5>
<div class=”panel-content”>
<%=theCache.settings["links"]%>
</div>
</div>
<a href=”links.asp”><%=lang["more_link"]%></a><br /> //这一行代码是增加友情连接系统多出来的
删除以上代码。
然后打开default.asp找到:
<% sidebar(); %>
在后面添加上面删除的代码:如下

&lt;div id="panelLinks" class="panel"&gt;
&lt;h5&gt;&lt;%=lang["links"]%&gt;&lt;/h5&gt;
&lt;div class="panel-content"&gt;
&lt;%=theCache.settings["links"]%&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;a href="links.asp"&gt;&lt;%=lang["more_link"]%&gt;&lt;/a&gt;&lt;br /&gt;
提醒:
做了这个变动后,“panelLinks”就不属于sidebar的一部分了,如果浏览时候使用“hidesidebar(隐藏侧边栏)”功能的话,Links就会显示在foot上面…自己衡量吧!

不可不学的10句英语

What the fuck is going on?(他妈的到底怎么回事?)
通常此话出于黑人之口,且口气最宜为疑惑,不解,愤怒等等。若是白人则多数时候会说-What the hell is going on? 意义相同而适用于更多场合。说此话之人身份通常为上级,且相处较久。不过如果你出差回家时看见老婆身边躺着个赤条条的陌生人,那它可就派上大用场了!

You son of bitch!(你个狗娘养的!)
令人意外的是,最爱说这句话的往往是女性。越高贵,越端庄的女性越容易在压力达到一定值时便会脱口而出。万万不要和有文化的MM顶嘴,否则被骂了还以为受表扬了呢!

All rise!(全体起立!)
国产英语老师最误人子弟的就是口语太差,爱说想当然口语。从小学到高中英语课代表一直喊的是-Stand up!当然没什么不可以,但为什么不说标准的话呢?就象我们朗读中文时说普通话一样!

It’s bullshit!(胡说八道!屁话!)
这句话一旦学会,包你用的乐不思蜀。用途太广泛啦!最绝是和老妈抬杠时搬出来,用你的眼睛直视她,以忏悔的口气说出。

Damn it!(可恶!)
此句往往从某个孤胆英雄的嘴中冒出,发音要轻,然口气要重!此英雄往往正面临生死抉择,例如是先剪蓝线还是先剪红线等,说时要有壮士一去不复返的气势!此句适合用在被MM拒绝时,向MM的背影说出!万万不可忘记要配合以右手中指的朝天一刺!

It’s none of your business!(关你屁事!)
此句已接近经典!当你在网上浏览不健康网站遭到网吧老板的劝阻时,它往往能建下奇功!

Come on!
此句因拥有太多含义,所以注释欠奉。但它确实非常necessary,所有的鬼佬一天不说个十七八遍就会浑身发痒,它的经典之处你就好好体会吧!至于在目前的应用,这个句子基本是什么ABCDEF片的代名词了!
[20]
Ditto!
(俺也是!)
本不是常用语,不过看过“幽灵”一片的人都染上了男主角的坏习惯。从来不说I love you!总是“俺也是,俺也是!”的把MM们气得口吐白沫!实际上你也可以说“Me too!”或“Me also!”,不过总是不够文艺腔,差了那么一点点味道和情调。

How can I forget such a beautiful girl/sexy boy?
此句在重逢某个你早已心仪的MM或GG是不妨拿来用用。当对方还沉浸在陶醉中时,你可以利用这段时间好好想想对方的名字!

I had no choice! (俺也是被逼无奈啊!)
最常用此话的要数那些被男主角逼到悬崖边上的家伙们!俺真的不是有意出卖你老人家的,饶俺一命吧!

睡眠问题,不容小觑!

我发这个日志的初衷是想知道有什么办法可以治疗睡眠问题,告诉大家睡眠问题,不容小觑!后来看到的评论回复,感觉大家以为我在玩忧伤!干吗要这个样子呢!我的不落客有这么忧伤吗?开心才对,开心才对!所以我把日志标题也改一下,免得各位看官以为我在玩忧伤! [20]
现在,北京时间凌晨1:26…

2006年,上帝厕所蹲了一年

这段时间很混,除了在网上聊天打屁外,其他一件正经事都没做。时间就象比喻中的一样:流水一样的过去。
眼看又是年底,实在太快了,我还没来得及仔细看什么,一年的时光,就这么过去了。回顾一下已经逝去的近11个月里,感觉这么多个月里,没有在我身上发生过一件顺利的事情,还以为是“好事多磨”,结果没磨出什么好事,不开心的事情倒是磨出了一大堆。
这近一年里,上帝去哪了?这丫的一定去蹲厕所了,居然让我在这里自生自灭,什么都流走了,甚至连理想都快要流走了,还好,自己还剩下一点理智,把仅有的理想保存了下来,要不,要被上帝这丫的折腾一辈子了,所以说,一切得靠自己,上帝靠得住,母猪能上树。
2006年,对我来说绝对是个流年,啥都流走,流走就流走吧,通通地流走吧,留下一个全新的我,自要青山依旧在,还怕没柴烧不成?!
2007年,我要开心的过..

爱自己!爱自己!

感觉这几天特别懒,想在不落客上写点东西,却又不想打字,并非没有东西可写,而是大脑里的思绪实在是太乱太复杂了,不知道从哪里开始写才好!这才是痛苦的事情!
昨天才发现,原来自己根本不想在这个小城市里工作!之前之所以这样想回这里,原来都是因为Any,想着一些回忆。自从收到Any的最后一条短讯“我们还是少联系吧”以后,我就没有再联系过她,不是我不想联系,而是强迫自己不去主动联系。正在想这些事情的时候,Any打电话给我,问我过的好不好,寥寥几句,挂了电话,因为不想在自己刚刚稍微平静下来的心里再次荡漾起涟漪,对自己残忍一点,也就等于给自己更多的机会尽快从这个坑里出去。
这几天想了很多事情,想想以前,也看看现在,其实空守着一个已成为历史的回忆而荒废了现在、延误了将来,那是很不现实的,也不值得!
给自己找了一个不错的理由:好好爱自己!一定要把轻松和开心这些成分放进自己的每一天里!
该忘却都忘却,该面对的都面对,把自己变成烂泥,不值得!善待自己!好好爱自己!
就如赵传唱的:我很认真改变自己努力活着…

11月11号,这个无聊的日子

早上,收到朋友一条短讯,关于“11-11-光棍节”,苦笑一下,时间真快,今天已经是11月11号了…
去年的11月11号,有好事的同事用邮件发了一首关于单身的调侃诗给我,记得那时候还回复他说:这个节日对你来说有重要意义,晚上找个地方庆祝一下吧!对我来说就没有意义了,我的感情滋润着呢,羡慕了是吧?
时隔一年,我那位同事已经找到女朋友了,而我,却加入了这个种族。真想知道是哪位始作俑者想出了这个一个节日的,这至少把中国的一亿多人给戏谑了。这个世界上,总要有人单身的,不然谁来唱《单身情歌》,佛说:我不入地狱谁入地狱?
寂寞的日子终究是有的,可是人生在这世上谁不寂寞呢? 这些寂寞的日子里,懂得找节目来排遣,快乐的时候知道如何享受那快乐,有风驶尽。事实始终是事实,是无法回避的!就如kiki说的,要死要活最终还是要面对的。学会自嘲,虽然很阿Q,但是却能把自己的心情变的好一点,这才是重要的…
好好爱自己!
既然是所谓单生节(光棍节实在是太难听了),就先把《单身情歌》找出来听一听吧,重温一下意境。其实也不用重温意境了,因为自己已经在单身现实中了!
昨天收到Tina的短讯,她说她要结婚了。实在意外,意外中的意外,跟她男朋友分手不是没多久吗。怎么突然又说要结婚了,真是21世纪的高速度…

白天没水,晚上没电,发的工资只够买面.
打开邓选,找到答案:原来是社会主义初级阶段.再往后翻,我靠!还一百年不变!
好想有个太太,为我烧菜做饭。
现实却很无奈,让我仍需等待。
也因寂寞难耐,谈过几次恋爱。
谁知屡战屡败,轻轻松松被踹。
其实我也奇怪,为啥总被淘汰。
历尽打击伤害,总算知道大概。
嫌我不讲穿戴,嫌我长得不帅。
嫌我个头太矮,嫌我没有气派。
熊猫长得不帅,却受世人关爱。
丑是自然灾害,矮是因为缺钙。
做人只求正派,讲啥穿戴气派!
我们这个年代,注定缺少真爱。
女人不是太坏,就是心胸狭隘。
或许除此之外,还有部分可爱。
只怕时至现在,早已有了后代。
面对这种事态,不要气急败坏。
我们除了忍耐,至少还能等待。
只要相信真爱,她就一定存在。
要么咱就不爱,爱就爱个痛快。
没有爱的灌溉,生活百无聊赖。
只有好的心态,才能保持愉快。
爱情也有好赖,绝对不可草率。
我是愿意等待,哪怕青春不在———送给奋斗中的哥们儿们

ICP备案申请已通过审核

等了好多天,ICP备案申请审核总算通过了!
主办单位名称:寡人的大名隐去!备案序号:浙ICP备06051307号,审核日期:2006-11-09 17:25:26。
总算可以将原先难记的原始域名隐藏掉了!

移动-经典笑话

昨天还在抱怨移动怎么老是给我发一些垃圾短信,哎…移动一家独大到何时啊?想不到今天同学就为我发了下面这个笑话。严重支持一下!
[20] 移动老总上公厕,守门大爷说:进去三毛出来两毛.老总一愣:出 来还收费?大爷说:学习移动双向收费.老总出来又被拦住:你蹲 的是八号坑交一元选号费,超过三分钟再交一元超时费.厕所有 背景音乐收彩铃费两毛,你是外地人再加漫游费一元,如果你经 常来光顾,我劝你买个厕所套餐比较合算.老总一听勃然大怒:真 他妈的坑人,是哪个龟儿子立的规矩

LBS-常见问题集

以及你的浏览器是Microsoft Internet Explorer 5.5极以上版本
1、trackback 加入 GBK 和 UTF-8 双重支持.这个功能怎么实现??如何修改?
只要在 trackback url 的后面加上 &codepage=gbk 就行了
在 article.asp 的 outputArticle 函数里面加一行文本就行了. 复制现有的那个然后在后面加也行.

电信封锁Skype…

今天为了查找一些关于Skype资料,偶尔间看到“中国电信‘可能’封杀Skype”的消息。其实在这网络风靡的时代里,这则消息已经很古老了!
“中国电信(China Telecom)已经开始在深圳封锁Skype的通讯,最终是要在中国全面封锁”。———引用路透社的报导。
再查看了一些资料,简直让人愤怒,中国电信居然以“SKype无法监听,有可能危害国家安全等阿拉伯国家曾经使用的理由来封杀和屏蔽,也可以屏蔽曝光新闻的国外媒体”这样冠冕堂皇的理由来封杀Skype在中国的使用。

玩转Linux

把Linux当玩具

Wordpress

Wordpress 程序应用

游荡互联网

在网上做点啥?

业界资讯

互联网资讯

随笔小记

随笔小记

软件快递

收集软件资讯