新加了以下功能:
- 密码功能(默认密码:password);
- 可以自定义标题;
- 可以将任务标记为“紧急”;
- 可以自定义状态;
- 可以在cookie中保存筛选的状态。
优化了以下功能:
- 状态的改变、排序的改变将在与服务器同步完成之后进行网页的更新;
- 加快表示状态的图片加载速度;
- 改变了排序的位置。
密码、自定义标题以及自定义状态的修改方法:
修改settings.php文件:
<?php
$PWD="password"; //引号中为密码
$TITLE=NULL; //NULL为默认标题“PHP ToDo List”, 把NULL改为其他文字以自定义标题,要用引号括起来
//下面是自定义状态,修改的话直接修改单引号中的文字即可,file指图片路径,text是状态描述;添加的话按照{file:'…',text:'…'}的格式添加即可
$FILTERS="{file:'pause.png',text:'未进行'},
{file:'working.png',text:'正在进行'},
{file:'tick.png',text:'已完成'},
{file:'stop.png',text:'已停止'}";
?>
地址:http://www.wanganran.com/todolist
源代码下载地址:http://www.wanganran.com/todolist/todolist.zip
终于用php编完了第一个东西。。姑且叫它ToDo List吧。。
提前说一句:传说中的网页版砸红一已经编完了,不过将在很长的一段时间内处于alpha阶段。。实在是bug太多了。这种交互性很强的网页游戏还是不应该用html+css+javascript来做,还是用flash/silverlight来的简单一点。。
php在win下的编程环境比.net麻烦多了。我是先下了个php5,然后安装了iis插件,然后调试了半天才行。暂时没装mysql,于是这个todo list用的是文件作存储。然后还得设权限。上传到linux虚拟主机上之后还得设权限为755才行。
ide也没有好用的,这次用的aptana,对html javascript支持相当好的它却对php支持的一塌糊涂。代码没有自动提示也就算了,连调试也调试不了(也没准是我没设置对)。最后用一句一句的注释来判断到底哪句出的问题。好在程序不难,没调几次就ok了。php看着就像是弱类型的c语言,其实还没c来得顺手。
说说正题。作为第一个php应用(hello world就不算了。。),我还是用了ajax,可以看看源代码,php文件里只有读取数据、存储数据这个功能,其他的渲染啊结构啊都是javascript的功劳,这主要是因为我对php不如对JavaScript熟悉。。不过反而有更好的效果。
怎么用呢?在文本框里输入该做的事,然后点发布,然后底下的表格里就添加上了这个计划。最左边那列是状态,状态有“未进行”(暂停形状)、“正在进行”(播放形状)、“已完成”(对勾形状)、“已停止”(停止形状)这四个,点击它就能更改状态。最右边是删除,在非ie6的浏览器中,移动到哪行哪行就会显示那个叉。中间的左边可以进行排序,点击两次可以逆序。中间右边可以筛选,有橙色背景的是显示的,没有橙色背景的是不显示的,但数据依然存在。
该放出地址了!http://www.wanganran.com/todolist/
源代码:http://www.wanganran.com/todolist/todolist.zip
重要提示:此地址仅作为测试用,请测试后主动删除添加的数据!若想自己使用请将源代码保存在自己的虚拟主机中并设置密码!
根据我之前的谷歌一下,貌似很多人都表示Application的各个事件(尤其是各种收尾事件)的触发十分诡异。
而且这些事件还十分有用。比如说如果用Application作缓存,用户输入的东西先不直接存储在数据库中而先保存到Application中,直到Application到达一定大小时再一起存储进数据库。如果Application在销毁时不利用事件将剩余的数据存储,那么那些数据就将丢失。
于是刚才做了个小程序尝试了一下。在global.asax里写下这个:
继续阅读 →
本着不得瑟的原则,已经一个多月没更新了。。直到前几天通知续费才知道这个博客的价值(价格)。不能浪费啊!所以前几天弄了个相册,今天更新篇博客。
离开学只有40天了,假期已经过了3/4了。。这3/4基本上由睡觉、睡觉和其他构成;其他由聊天、聊天和其他的其他构成;其他的其他由世界杯、世界杯和其他的其他的其他构成;其他的其他的其他由看英语、看英语和。。。构成;……简而言之,没干啥有用的事。
所以剩下这40天得干点有意义的事了。40天以后得考高等工程学院的试,虽然还没下正式通知。这个考试但愿不是娱乐而已,虽然保送生考试时我算NB的,但现在我可以说是所有北航学生里相当SB的了。好几个月没拿笔了都。这40天得多动换动换了,英语必须得看,数学也得看看,物理好歹看看就得了,公式决定一切的东西。。
能进高工更好,当然也更累。。不能进也没事,计算机系也可以忍。。
而且我得与时俱进了!大一几乎不学编程相关的东西,但我打算学学php,这个比asp.net王道多了,从价格上就能看出来。。c++的mfc暂时不想学,学了用处也不大。java也不想学,满大街的Java程序员找不着工作。还打算学学python,传说是个很漂亮的语言。。从现在开始继续编网页版砸红一。。争取8月之前编完吧,希望bug不要太多。。然后就要投身到数学物理英语事业中去了。。
当然还有学车。。明儿就得考倒杆了,但愿人品能爆发一点点,剩下的人品都留给大后天去爆发吧。。考完这两天的应该就得上路了,终于能不枯燥一点了。
我去学车显然有点不合群,去学车的人里数我话最少递烟最少年龄最小了,显得我特非主流似的。算了忍了忍了,反正现在啥是主流都不知道。
就写到这吧。把自动更新到人人给去掉了,这样能写的更自由点了。我这个博客还是小众一点的好。下次更新应该是砸红一编完的时候了。
还有,我期待蔡蔡的生日啊~
这或许就是我生活的世界吧。
那是地球,像一叶扁舟一样,孤独而不孤单的在她预定的轨道上,承载着我们渺小的世界,不知疲倦地飘啊飘。这世界对于我们来说却是那么熟悉而又陌生:我们已经在这个小舟上生活了数不清的岁月,却又不知道未来的她会不会渐渐老去。
这就是我们生活的世界。我们和她一起朝夕相处了几千年。我们日出而作日入而息,她默默地奉献着她的温柔与力量。那是大自然的气息:当鸟儿们在树林里高歌,草地上点缀着鲜花时,那种气息会不经意间让你沉醉。
可是,一切都在不经意间变化了:鸟儿们找不到家,却被困在笼子中被人赏玩;鲜花被车轮碾压,草地变成了笔直的马路……世界变了,她变得如此不堪重负而又如此的脆弱。高楼挡住了阳光,却没有挡住温度的升高,烟雾把天空染成了灰色,污水把河流染成了黑色……
当地震海啸频繁的发生,高温酷暑折磨着我们,这些就是大自然给我们的警告?当大自然和我不再是朋友而成为了敌人,而我们却还在寻找另一片殖民地,
这难道就是我生活的世界?
人定胜天,但是不能违反大自然的规律。2012的故事还在流传,但是谁都不希望它会发生甚至提前发生。面对日益严重的环境问题,唯一的解决方法还在我们自己。
我欣喜的看到,世界上绝大多数的人都已经意识到了这个问题,并且已经开始了行动。思科、IBM等等企业已经把研究重点放在了我们的生活环境上,各国领导人也把政治问题放在了环境问题的后面。我们可以看到,废物会越来越少,取而代之的是各种各样的再生材料,树木会越来越多,把多余的大气废物过滤得更干净……
闭上眼睛,我看到一个梦幻般的世界:在这个蓝色的星球上,河水不再肮脏,天空依然蔚蓝;海水不再上涨,沙漠不复存在……它依然在轨道上飘着飘着,不过它并不孤独,因为在它上面承载着那么多的生命,他们是永远爱着它的孩子。在他们眼中,它永远不会老去。
但愿,这会是我生活的世界。
发表在 学习点滴
|
标签为 作文, 我生活的世界, 高考
|
又将近一个月没更新了,忙啊忙啊。
这几天太没流了,几乎把所有能做的事都给做了。直到昨天做物理题才发现我已然完全忘掉了。当年考三校我物理可是78分啊,半年不到就虽成这样了。岁月不饶人啊!想起放在角落里的离散数学,我也就能记得目录了。这到大学不是纯找虐嘛!虽然说人生能有几回醉,像现在这样完全没有压力的日子这辈子都估计没有了,但是这样完全没流的日子也让我很没安全感啊。
能不能多看看书少打打牌,能不能多编编程少聊聊天,能不能多弹弹琴少听听歌,看来我是喜欢上那个避难的地方了。。
当别人跟我诉苦说和朋友闹别扭的时候,我可以“自豪”的跟他说这种事我一年以前就遇到过了,然后心里很不是滋味。
失去的就再也找不回来了,珍惜吧!
一周以后我就要去上海了。14个小时的硬座是够难熬的,zzm最好能搞到卧铺。。祝高考的同学们都能考上比北航好的学校,这样你们就能梦寐以求的鄙视我了。希望和我一起去上海的同学一帆风顺!在家宅着的同学就好好休息吧!
貌似很久没更新了,搞得google小蜘蛛们都不来了。
最近一直在想这个问题。寒假的时候看《编程之美》里的一道题:在windows里的扫雷里添加一个功能,按一个按钮可以把所有未打开的格子是雷的概率表示出来。
前几天突然想起了了这个问题,于是就开始想。。
显然深搜可以解决这个问题。把所有可以确定概率的格子(即所有已经打开的格子周围的格子)挑出来排成行,从第一个开始,只有0和1两种可能,同时兼顾已经打开的格子显示的周围雷数和剩余雷数,然后继续第二个格子。。直到某个格子不可能填上数,那么就回溯;或者到了最后一个格子,把每个格子的数据添加到一个记录中(一个分子数组一个分母数组,如果是1就把两个都+1,是零就只加分母),直到全部遍历完毕,两个数组中每一对数之比就是这个格子是雷的概率。耗时上,显然不会是最快的,但是人类玩的扫雷还是可以秒杀的,非人类玩的扫雷(比如1k*1k的格子数)还是留给非人类去解决吧。
但是还有没有别的方法呢?我一开始想到的是解方程组。
把所有可以确定概率的格子设成一个未知数,表示这个格子是雷的概率。然后通过打开的格子显示的周围雷数确定方程,然后解这个方程组。如果已确定的格子区域边缘都是直的(没有角),那么这个方程组显然可以解。而且和上面的那种方法所得结果相同。
但是如果已确定的格子区域是一个矩形,也就是说边缘左右已确定的格子数要小于未打开的格子数时,就会出现方程数量小于未知数数量了。
但是扫雷中会有等概率的格子。所以可以把所有在方程组中同时出现或不见的未知数当做同一个未知数,因为它们是等概率的。这样方程数量就可能等于未知数数量了。这样就可以解决类似这种的情况了:
(-表示未打开的雷,数字表示已打开的雷)
---
-2-
---
但是譬如这种情况还是解决不了:
----
-11-
-11-
----
还有我们可以把一定是雷和一定不是雷的格子先挑出来,这样也能减少未知数数量。还有由于方程右边的数字只可能是整数,方程左边的未知数只可能在[0,1]之间,这样也可以确定一些一定或一定不是雷的格子。
但是上面那种情况还是解决不了。
怎么办呢。。。。。我想了快一个星期了。
其实既然这两种方法所得结果一样,可以把这两种方法结合一下。第二种方法中方程数量为i,未知数数量为j,把前j-i个未知数用第一种方法进行遍历,然后带入后再解方程组,应该也可以解出这个问题。效率上要比第一种要高一些。
但是应该还是有纯数学的解决方法的。。我没辙了,还是等待牛人来解决吧。。