置顶随笔

     摘要: 对于你我来讲,所需要的仅仅是一点点时间,利用手中的技术,脑子里面的火花稍微释放一点,然后的结果呢?  阅读全文
posted @ 2007-05-31 15:32 waitu 阅读(3309) | 评论 (30)编辑
1.把网站模式做简单,能用最短的时间赚到第一分钱的网站模式就是好模式;
2.能干什么最重要,想干什么是扯淡;
3.做网站,只有在满足别人之后,才能得到自己想要的;
4.美工很重要,没有美工也没关系,访客是冲着内容来的,没有人会拒绝白底黑字;
posted @ 2007-05-23 09:58 waitu 阅读(437) | 评论 (5)编辑
     摘要: 关于如何开启ClearType。效果很明显,嘿嘿,看网页爽啦~ 爱护你的眼睛!   阅读全文
posted @ 2006-09-08 14:36 waitu 阅读(2399) | 评论 (1)编辑

2009年5月31日

setTimeout (表达式,延时时间)
setInterval(表达式,交互时间)
延时时间/交互时间是以豪秒为单位的(1000ms=1s)

setTimeout   在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setInterval 在执行时,它从载入后,每隔指定的时间就执行一次表达式

虽然表面上看来setTimeout只能应用在on-off方式的动作上,不过可以通过创建一个函数循环重复调用setTimeout,以实现重复的操作:

File: settimeout_setinterval.js

showTime();

function showTime()

{

      var today = new Date();

      alert("The time is: " + today.toString());

      setTimeout("showTime()", 5000);

}

一旦调用了这个函数,那么就会每隔5秒钟就显示一次时间。如果使用setInterval,则相应的代码如下所示:

File: settimeout_setinterval2.js

setInterval("showTime()", 5000);

function showTime()

{

      var today = new Date();

      alert("The time is: " + today.toString());

}

这两种方法可能看起来非常像,而且显示的结果也会很相似,不过两者的最大区别就 是,setTimeout方法不会每隔5秒钟就执行一次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函 数。这意味着如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。而setInterval却没有被自己所调用的 函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。

如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。

 

如果对计时函数不加以处理,那么setInterval将会持续执行相同的代码,一直到浏览器窗口关闭,或者用户转到了另外一个页面为止。不过还是有办法可以终止setTimeout和setInterval函数的执行。

当setInterval调用执行完毕时,它将返回一个timer ID,将来便可以利用该值对计时器进行访问,如果将该ID传递给clearInterval,便可以终止那段被调用的过程代码的执行了,具体实现如下:

File: settimeout_setinterval3.js (excerpt)

var intervalProcess = setInterval("alert('GOAL!')", 3000);

var stopGoalLink = document.getElementById("stopGoalLink");

attachEventListener(stopGoalLink, "click", stopGoal, false);

function stopGoal()

{

      clearInterval(intervalProcess);

}

只要点击了stopGoalLink,不管是什么时候点 击,intervalProcess都会被取消掉,以后都不会再继续反复执行intervalProcess。如果在超时时间段内就取消 setTimeout,那么这种终止效果也可以在setTimeout身上实现,具体实现如下:

File: settimeout_setinterval4.js (excerpt)

var timeoutProcess = setTimeout("alert('GOAL!')", 3000);

var stopGoalLink = document.getElementById("stopGoalLink");

attachEventListener(stopGoalLink, "click", stopGoal, false);

function stopGoal()

{

      clearTimeout(timeoutProcess);

}

posted @ 2009-05-31 09:07 waitu 阅读(81) | 评论 (0)编辑

2008年9月26日

mysql网站下载 mysql-connector-net-5.2.3.zip

using MySql.Data.MySqlClient;

MySqlConnection conn = new MySqlConnection("Server=localhost;Database=bible;Uid=root;Pwd=;CharSet=utf8;");

注意:CharSet=utf8 。没有这个操作数据库会出现乱码。
posted @ 2008-09-26 16:57 waitu 阅读(327) | 评论 (1)编辑

2008年9月4日

Life is not the amount of breaths you take, it's the moments that take your breath away. 

生命的真谛,不在于你活了多久,而在于那些另你怦然心动的瞬间。


Never lie, steal, cheat, or drink. But if you must lie, lie in the arms of the one you love. If you must steal, steal away from bad company. If you must cheat, cheat death. And if you must drink, drink in the moments that take your breath away.

绝不说谎、偷窃、欺骗或喝酒,真要说谎,在心爱的人怀中说;真要偷窃,偷那些坏人的东西;真要欺骗,就骗死神;真要喝酒,就为心动的时刻畅饮。

 

无论何时、何地、何人,任何男人都有机会亲近他喜欢的女人,他只是需要恰到好处的点拨。

 
她需要一个真实的你,但并不是一次全都展现出来。你不能一次性地以热情去压倒对方,这是一个尺度和分寸的问题,几个世纪以来都是如此。

 

posted @ 2008-09-04 11:11 waitu 阅读(1279) | 评论 (1)编辑

2008年8月29日

python的list和dictionary与json格式的[],{} 一样

 

list: []   数组

dictionary:{key,value} 字典

 

Tuple 是不可变的 list。一旦创建了一个 tuple,就不能以任何方式改变它。

如:(1,2,3)

 

>>> a,b=(1,2)

>>> a
1
>>> b

>>> a = {"a":1,"b":2}

>>> a["a"]
1
>>> arr = [a]
>>> arr
[{
'a'1'b'2}]
>>> arr[0]
{
'a'1'b'2}
>>> arr[0]["a"]
1
>>> arr.pop()
{
'a'1'b'2}
>>> arr
[]
>>> a
{
'a'1'b'2}
>>> arr.append(a)
>>> arr
[{
'a'1'b'2}]
>>> print "%s%d" % ("abc",20)

abc20

>>> print "%(name)s %(v)d" % ({"name":"dany","v":2})

dany 
2
 

>>> a1 = [1,2,3,4,5]
>>> a1[:3]
[
123]
>>> a1[-1:]
[
5]
>>> a1.insert(6,6)
>>> a1
[
123456]
>>> a1.insert(-1,7)
>>> a1
[
1234576]
>>> a1.insert(0,8)
>>> a1
[
81234576]
>>> for i in a1:
    
print i

8
1
2
3
4
5
7
6
>>> a1.remove(8)
>>> a1.remove(7)
>>> a1.remove(6)
>>> a1
[
12345]
posted @ 2008-08-29 12:35 waitu 阅读(299) | 评论 (0)编辑

2008年8月25日

json的常用数据格式

 

{ name:value }  Object , 键值对形式的对象

[ Object,Object ] 对象数组

 

示例:

var  o=[{"f1":7},{"f2":4},{"c":[{"id":1,"name":"a1"},{"id":2,"name":"a2",}]},{"d":[{"id":3,"name":"a3"},{"id":4,"name":"a4"}]}];

 

o[0].f1 == 7
0[1].f2 == 4
o[2].c[0].id == 1
o[2].c[0].name == "a1"
o[3].d[1].id == 4
o[3].d[1].name == "a4"

posted @ 2008-08-25 17:45 waitu 阅读(368) | 评论 (0)编辑

2008年6月5日

先说什么是GAE。GAE是google打造的在线平台,允许开发者使用google的资源来发布自己的程序(目前仅支持python)。其实就是相当于一个虚拟主机,google提供了免费的空间和流量,当然是有一定限制的。

某日,漫友告诉大家可以去注册 Google App Engine的账号了。之前申请了多次均未果。然后就是群情激奋,群众纷纷表示要去申请一个账号玩玩。

需要GMAIL的账户才能注册,然后还需要手机来接受验证码。我的联通的手机号,被鄙视了多次也没有收到验证码。后来借用了同事的移动手机才OK。

每个帐户可以新建3个项目,项目建立之后不能删除。

很奇怪的一件事情是,如果你想出来一个很长的名字,然后你会看到已经被注册了。比如:wowinsider,然后我弄了个wower。想来老外都比 较喜欢有意义的名字(就像域名一样,很有数字,杂牌的数字+字母混合的老外都不喜欢,反而会选择几个有意义的词组连到一起,很长但是意思完整),而且如果 这里的项目可以绑定域名的话,什么样的项目名字都是一样的。(域名的绑定和google的企业套件是一起的,所以国内可能已经不能使用了)。

项目的建立首先需要安装Python2.5GAE的SDK

GAE的SDK安装之后,会将安装目录加入到WIN的环境变量,然后需要使用命令行上传项目。

本来要弄个上传的截图在这里,不过想想还是删掉了。去试验下就知道了,不动动手,再怎么截图也看不懂。

每个项目都需要一个配置文件,里面涉及了项目名称,版本号(必须从1开始?不然会出错),文件的访问权限和ReWrite方式,还没有完全搞清楚。

还有怎么使用数据库,数据的备份?待研究文档。

也许弄个blog的程序在这个上面写博客是个不错的主意。俺的Hello World!

PS:这玩意是给程序员的玩具,不打算做程序的童鞋们就不要参合了。

PS2:俺的python相信也会因为这个继续下去。。

--EOF--

posted @ 2008-06-05 10:06 waitu 阅读(797) | 评论 (0)编辑

2008年6月3日

执行一个复杂的查询语句的时候发现这个问题,提示查询的阀值(700+)超出了设定值(100),导致程序出错。只得进一步优化查询语句,把查询的排序条件改成按照主键排序,立即就好了。

给了我一个教训,一定要记住,排序的时候使用尽量主键字段。索引所带来的效率提升是极大的。

数据库的阀值设定,如图:















使用查询控制器防止查询长时间运行。把默认的数字改成200是合适的。

PS:问了同事才知道这玩意,特意记下。惭愧。
posted @ 2008-06-03 14:15 waitu 阅读(567) | 评论 (0)编辑

2007年9月5日

几种方法:

1
驱动原因

2
计算机主板电源不足,要把移动硬盘接在主机后面USB!

3
可能已经识别了,但是你看不到盘符:
解决办法:控制面板---管理工具---计算机管理--磁盘管理---你会看到的你移动硬盘了---右击磁盘----更改驱动器名和路径---添加--确定---ok了

4
电压不足,即使绕到电脑的后面插上也是一样不行。
解决方法:连接电脑和移动硬盘的接线是一个1对2的插线。即连接电脑的一边是两个插口连接移动硬盘的一边是一个插口。那么将连接电脑一边的两个插口全部同时都插到电脑机箱的后面就应该可以提供足够的电压了。

呵呵,费了半天劲。百度知道了一下,总算找到了答案,使用方法4解决了问题。
posted @ 2007-09-05 16:34 waitu 阅读(1429) | 评论 (0)编辑

2007年6月30日

     摘要:   阅读全文
posted @ 2007-06-30 15:39 waitu 阅读(1018) | 评论 (3)编辑

2007年6月9日

1 一个页面里面加载了两个JS文件,两个文件中同时都有一个名为del()的方法,结果造成冲突。考虑如何使用类的方

式来封装JS,JS命名方式和结构要规范。

2 不要在使用AJAX方式的时候,犯一些低级的错误:
    不要在使用异步加载数据的时候,使用 window.location.reload()方法
    不要在AJAX的服务器方法里面使用Request[""],调用全局的方法
    Session["name"]要写成HttpContext.Current.Session["name"];同时要注意看方法是否允许读取或者写Session
[""],Cookies[]
    Application[""]亦然
    注意方法的安全性,服务器方法要判断数据的正确性
    注意文件和JS脚本的放置的位置,加载的顺序
3  new SqlParameter("@chrSorts",    SqlDbType.VarChar,100)
   注意那varchar参数的大小(100)给写上,默认为1



在产品即将发布的时候更改底层的结构,和功能的大调整真是一件要命的事情。。。。

posted @ 2007-06-09 20:42 waitu 阅读(377) | 评论 (0)编辑

导航

公告


you have to be an expert of something, then you can find the way to succeed!

统计

与我联系

搜索

 

留言簿

随笔分类(280)

友情链接

资源

积分与排名

最新评论