-
我的第一个CAPTCHA
Securimage 是开源的PHP CAPTCHA脚本。利用Securimage,你可以很快的做出如图的校验码出来,简单的把人类和机器人分开(至少能把不太聪明的机器人挡住)。 Securimage 需要 GD2 图形程序库。
-
随感,珍惜现在
不管是什么操作系统,Linux、Windows、OSX……,都在不断的改进自己。我现在感觉人脑本身也是需要不断改进和升级的。“活到老学到老”,我似乎一直误解了这句话,以为学习的目的就是更先进的技术和更高深的知识;现在我明白了,任何事情都是需要学习的,不局限于技术和知识。 要珍惜现在。我既不能改变过去,也不能预知未来,但是我可以控制我的现在。如果现在的我因为过去的我的不作为而后悔不已,那么为了不让未来的我继续后悔,现在的我就必须有所作为而不是继续后悔。乌龟大师说了,这就是为什么我们把“现在”叫做“present”。 要控制情绪。低沉、焦虑、绝望这些负面情绪往往是于事无助的。我不明白为什么这些情绪没有在人类漫长的进化史中被淘汰下去。但是我不需要为此困惑,理智能够解答一切。 要用积极的眼光去看待别人。朋友也好,自己也好,都是有缺点的,同样,也都是有优点的。那么,还是让我们多关注一下别人的优点吧。 最后,感谢我的妈妈——我心中最伟大的人。
-
Python+Django笔记之三
关于urls.py 假设test项目下有一个应用模块notes,那么: test/urls.py: from django.conf.urls.defaults import * urlpatterns = patterns(‘ ‘, (r’^notes/’, include(‘notes.urls’)), … ) 这样所有匹配/notes/*的访问将转交给notes/urls.py处理。 test/notes/urls.py: … urlpatterns = patterns(‘ ‘, url(r’^list/$’, views.list_notes, name=’note_list’), url(r’^(?P<note_id>\d+)/$’, views.show_note, name=’note_show’), ) 首先,由于需要反向解析(页面名称->URL),所以要使用url(),而不是原来的tuple。对应url(r’^list/$’, views.list_notes, name=’note_list’), 将匹配/notes/list/的访问指向给views.py中的list_notes()方法,并将’note_list’名称反向解析到/notes/list/的URL,以便在webapp中生成链接。 第二行中的(?P<note_id>\d+)是一个参数定义,其中note_id是参数名,\d+说明此参数是一个数字。其实起到的作用就是将/note/123/这样的url解释成一个调用show_note(request, note_id=123)。如果参数不是数字而是字词,那么\d+应该改为\w+,具体定义可以参考regex规则。
-
带着小抄去上班
你上考场那年带小抄了么?带了也别说,那是作弊。不过上班跟考试不同,你要尽可能的用上一切能方便工作的工具。下面是我最近喜欢的几张小抄: 以上小抄来自 http://www.addedbytes.com/cheat-sheets Thanks Dave!
-
淘宝商城,有用!
恕我显摆一下,前些天老婆给我买了个E71作为生日礼物。E71是个不错的手机,也已经很出名了,我就不多说了。但是白玉微暇,E71附带的耳机真是让人惨不忍听(当然了,这个是对比森海塞尔耳机的结果)。而手机上2.5mm的插孔却无法配合常规的耳机。 我去苏宁的Nokia专柜询问是否有2.5mm/3.5mm的转换接头,得到的答复是没有。 回家之后,我在淘宝上一搜,不仅有,而且价格便宜。我以前在淘宝网上顶多买些充值卡什么的,因为这类产品无需担心其质量。不过换位思考一下,商家也不会希望因为这点钱换个差评在店铺上吧,于是订货了。 今天我已经收到了邮包。看这转接头,虽然质量不是很像Nokia原装,但也绝对对得起2.5元一个的单价了。我又给妈妈订购了一台手摇的压面机,希望不会有问题。
-
PS3 与 MKV
MKV是日渐流行的媒体容器标准,因为MKV是开放的而且理论上可以容纳无限的视频、音频、语音、字幕、菜单等等于一个文件内。目前,多数的HD媒体文件都是MKV的。 但是遗憾的是PS3不支持MKV标准,至少目前还不支持。我尝试把MKV的文件转为AVI,结果不仅非常耗时(n小时),而且还会因为某种原因依旧被PS3拒播。 于是,做一下功课吧。先看看PS3支持些什么(目前的): PS3:Types of files that can be played 可见,用于HD的常见的codec已经在那了:H.264, AC3, … 很多MKV中的codec恰恰就是H.264和AC3搭配的。也就是说,MKV中的H.264和AC3是可以被PS3解码的,但是MKV本身这个容器标准却是PS3不认识的,这个才是根本原因。 那么,可不可以……不要猜测了,答案就是MKV2VOB!!MKV2VOB可以把MKV中的视频音频重新按照mpg或者avi标准重新打包,尽可能的避免的转码过程,因此把一个nGB的MKV打包成avi可能只需要n分钟而已,并且保证PS3能够播放:) 注:PS3的系统要经常升级的,版本<2.53是不行的。 PS: P2P下载的电影或者剧集多数是盗版的!购买正版影视产品才是你对你心中偶像致敬的最好方式。不过,像我喜欢的Stargate、Lost、Battlestar Galactica等等剧集要什么时候才能通过“审核”进入咱的歌华有线或者正版DVD橱窗呢?
-
球,不是这么踢的;国,不是这么爱的
国耻,举世瞩目拍卖会上国人的公然欺诈 3149万欧元拍下圆明园兔、鼠首 福建商人蔡铭超说:我不付钱 礼仪之邦的人做出这么没礼且没理的事情,却被多数人当成英雄了。相信下次亚洲峰会上能打趴下日本代表的也一定是中国的英雄了。 类似的,很多人认为我们被西方列强抢过,所以我们要使用盗版软件作为报复。唉,怎么说呢…… 首先,圆明园是被抢了,但是圆明园是满清皇室的私家花园。哦,我们都是皇室后裔? 索赔也有个法律有效期,我们可以拿一百多年前的事去打官司?那欧盟可不可以找蒙古人民共和国算账呢? 我们真的确定八国联军成立了微软?或者是控股? 我们都是祥林嫂么?难怪中国就一个鲁迅呢。
-
Python+Django笔记之二
一个简单的select * 操作的Django方式: 首先配置urls.py from django.conf.urls.defaults import * from misc import views urlpatterns = patterns(‘ ‘, (r’^notes/$’, views.list_notes), ) 其中r’^notes/$’是regex,用于匹配url;views.list_notes是views.py中的list_notes 方法。 然后写list_notes: def list_notes(request): notes = Note.objects.order_by(‘-created_date’) conduit = { ‘notes’: notes } return render_to_response( ‘misc/list.html’, conduit, context_instance = RequestContext(request), ) 其中conduit这个词来自Mass Effect 🙂 最后就是把上面的misc/list.html写出来: {% extends “base.html” %} {% block title %}List Notes –…