摘要: 一个居于ASP.NET MVC Preview5的系列入门文章,有朋友提议说写一个示例程序来同步讲解,那样更加容易学习。所以就写选择了写一个Blog程序来作为示例程序。 本系列文章可能会是几位朋友来共同完成的。 阅读全文
posted @ 2008-10-05 00:33 Q.Lee.lulu 阅读(167910) 评论(91) 推荐(33) 编辑
 
摘要: 本文地址: jQuery Ajax 全解析本文作者:QLeelulu转载请标明出处!jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax... 阅读全文
posted @ 2008-04-21 00:03 Q.Lee.lulu 阅读(349328) 评论(122) 推荐(88) 编辑
  2017年4月22日
摘要: 前段时间很多数据库因为没有做好权限控制暴露在外网被删然后遭勒索的事件,而类似的有些内网的web服务也会被开放到公网并且没有做任何权限控制的,这样也会有一定的风险。所以就决定写篇文章简单介绍一个小工具。 aProxy是做什么用的 例如我们有很多服务,例如Hadoop、Aerospke、Riak等,都会 阅读全文
posted @ 2017-04-22 16:51 Q.Lee.lulu 阅读(5386) 评论(4) 推荐(0) 编辑
  2014年3月14日
摘要: 我们的DSP系统目前基本非凌晨时段的QPS都在10W以上,我们使用Golang来处理这些HTTP请求,Web服务器的前端用Nginx来做负载均衡,通过Nginx的proxy_pass来与Golang交互。由于nginx代理使用了短链接的方式和后端交互的原因,使得系统TIME_WAIT的tcp连接很多:shell> netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'TIME_WAIT 250263CLOSE_WAIT 57FI 阅读全文
posted @ 2014-03-14 23:33 Q.Lee.lulu 阅读(23506) 评论(3) 推荐(2) 编辑
  2013年4月14日
摘要: Cubieboard是块小的ARM开发板,硬件配置大概比树莓派高差不多一倍的样子。我在Cubieboard上装的系统是Linaro(ubuntu的arm版)。如果你要在cubieboard上挂移动硬盘的话,是需要3A的电源才能带得动的,我是在淘宝上买了个飚王 shu011的usb hub(带3.5A电源)。aria2aria2是个可以在命令行下载的工具,并且支持很多下载协议。安装aria2不建议用apt-get安装,版本太低,建议还是通过源码编译最新版的。$ wget http://downloads.sourceforge.net/project/aria2/stable/aria2-1.1 阅读全文
posted @ 2013-04-14 20:54 Q.Lee.lulu 阅读(14646) 评论(3) 推荐(0) 编辑
  2012年9月26日
摘要: (国庆快到了,方便大家在假期可以看些与IT相关的纪录片消磨时间。非技术,如果管理员觉得不妥,就从首页撤了吧)国庆长假,找些IT相关的记录片看下。独立游戏大电影 Indie Game: The Movie (2012)强烈推荐所有独立游戏(软件)开发者看这部记录片,其中的艰辛、坚持与寂寞相信你肯定感同身受社交网络 The Social Network (2010)这片大家应该都看过,讲述Facebook的专利的荒谬性:软件专利如何破坏专利体系 Patent Absurdity: how software patents broke the system (2010)这部纪录片由独立制片人Luca 阅读全文
posted @ 2012-09-26 22:31 Q.Lee.lulu 阅读(9822) 评论(5) 推荐(4) 编辑
  2012年8月12日
摘要: 去年的时候,曾经简单对比了一下golang和nodejs的http模块的性能,见:golang与node.js的http对比测试那时golang还没发布go1,http模块比nodejs差得很远。go1出来已经有一段时间了,我知道go的http模块性能已经有比较大的提升,但是最近依然见到有人提起去年写的那篇文章,为避免产生对golang的误解,对于go1的最新测试结果如下。测试是在Ubuntu 12.04 64位系统下进行的:qleelulu@nb:~$ uname -aLinux nb 3.2.0-25-generic #40-Ubuntu SMP Wed May 23 20:30:51 U 阅读全文
posted @ 2012-08-12 17:25 Q.Lee.lulu 阅读(35979) 评论(7) 推荐(3) 编辑
  2012年2月8日
摘要: 参考这篇文章:http://tech.idv2.com/2012/01/20/face-detection-with-python-opencv/python比较简单,只需安装 python-opencv 就行:$ sudo apt-get install python-opencvpython的实现也很简单,参考:http://opencv.willowgarage.com/documentation/python/objdetect_cascade_classification.html代码:#!/usr/bin/python# -*- coding: UTF-8 -*-# face_de 阅读全文
posted @ 2012-02-08 22:10 Q.Lee.lulu 阅读(8033) 评论(0) 推荐(1) 编辑
  2011年12月30日
摘要: 推荐使用dev版:http://www.sublimetext.com/dev先说说中文显示的问题:找一个支持中文显示的字体,然后修改配置 Preference - File Settings - user:{ "font_face": "DejaVu Sans YuanTi Mono"}注:只能改user的,改Default的没效的。Sublime Text的中文输入问题,困扰了我好久,今天终于在Zoom.Quiet周大妈的提点下,无意间搞掂了。装scim什么的就不说了,推荐安装scim-googlepinyin 。装好了配置是关键,在“系统-语言支持 阅读全文
posted @ 2011-12-30 22:31 Q.Lee.lulu 阅读(13819) 评论(5) 推荐(0) 编辑
  2011年9月7日
摘要: 注:本文对于新版本的golang并不使用,go1以后go的性能已经有了比较好的提升,具体测试见:http://www.cnblogs.com/QLeelulu/archive/2012/08/12/2635261.html听说Go是很不错的语言,了解了一下,一些特性确实很不错。顺便测试了一下http与node.js的性能对比。go的代码: (注:是用8g, 8l编译的)node.js的代码:ab测试结果:==** GO **==$ ab -c 100 -n 1000 http://127.0.0.1:8080/This is ApacheBench, Version 2.3<$Revis 阅读全文
posted @ 2011-09-07 19:46 Q.Lee.lulu 阅读(15507) 评论(11) 推荐(0) 编辑
  2011年8月28日
摘要: 【原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.html】在Google Chrome浏览器出来之前,我一直使用FireFox,因为FireFox的插件非常丰富,更因为FireFox有强大的Firebug,对于前端开发可谓神器。在Chrome出来的时候,我就喜欢上它的简洁、快速,无论是启动速度还是页面解析速度还是Ja... 阅读全文
posted @ 2011-08-28 21:17 Q.Lee.lulu 阅读(102514) 评论(116) 推荐(94) 编辑
  2011年8月10日
摘要: 按照sqlalchemy的文档中关于sqlalchemy的session在web应用上下文的生命周期应该是:Web Server Web Framework User-defined Controller Call-------------- -------------- ------------------------------web request -> call controller -> # call Session(). this establishes a new, # contextual Session. session = Session() # load so 阅读全文
posted @ 2011-08-10 21:24 Q.Lee.lulu 阅读(3906) 评论(1) 推荐(1) 编辑
  2011年8月5日
摘要: 需要下载大文件的时候,如果先将文件直接读入内容再返回,那肯定就很浪费内存,甚至会崩溃。所以我们需要读一些内容然后直接flush给客户端,但是web.py的文档里面却没有找到flush的方法。不过在web.py的cookbook中的How to Stream Large Files中看到可以直接yield返回内容。所以,我们可以使用yield来做flush做的事情。BUF_SIZE = 262144class download: def GET(self): file_name = 'file_name' file_path = os.path.join('file_pa 阅读全文
posted @ 2011-08-05 14:10 Q.Lee.lulu 阅读(5327) 评论(0) 推荐(0) 编辑
  2011年7月31日
摘要: 什么是尾递归?简单来说就是最后返回的只是一个函数的调用,而不用保存多余的局部变量。看一个简单的计算阶乘的例子(Lua代码):function fact(n) return n==0 and 1 or n * fact(n-1)end 改成尾递归的方式就是:function tail_fact(n, p) p = p or 1 if n==0 then return p end return tail_fact(n-1, n*p)end 关于尾递归的更详细说明请参考: http://en.wikipedia.org/wiki/Tail_call因为使用尾递归方式的时候,是不用保存局部变量的了,所 阅读全文
posted @ 2011-07-31 01:52 Q.Lee.lulu 阅读(6853) 评论(5) 推荐(1) 编辑
  2011年7月13日
摘要: 现在有3KW的数据,单条数据都很小的,如果按key-value来看的话,key就是32位的MD5字符串,value按平均算大概是100字节左右。现在需要将这些数据做缓存以在高并非的时候依然可以快速响应。因为这些数据基本没有冷热数据之分,所以需要将全部数据都放到缓存中。1、直接生成静态文件,利用nginx对静态文件的高效做静态缓存。当时服务器硬件资源有限,所以就采用这种方式,一直源用至今。服务器间通过NFS来共享太多小文件,不方便管理NFS不方便运维与扩展文件内容很小(100字节左右),3KW大概就是2.5G大小左右不过文件存储的时候和硬盘分区的族大小有关,在这里磁盘分区的族大小为8K,所以尽管 阅读全文
posted @ 2011-07-13 20:38 Q.Lee.lulu 阅读(5832) 评论(3) 推荐(0) 编辑
  2011年6月13日
摘要: 下面的代码,多久之后会弹出'end'? 为什么?var t = true;setTimeout(function(){ t = false; }, 1000);while(t){ }alert('end');这是以前在想有没办法实现阻塞javascript线程的时候(即实现sleep方法),想过的一种实现。很简单,是吧?是吗? 阅读全文
posted @ 2011-06-13 18:13 Q.Lee.lulu 阅读(8281) 评论(38) 推荐(2) 编辑
  2011年5月6日
摘要: node.js是基于Google V8的,而Google V8有一个Eclipse的调试插件,这个插件同样也支持node.js。1、安装Eclipse debugger for V8这个,用过Eclipse的应该都知道,不过还是简单说下吧: 选择“Install New Software” 点“Add” Location为: http://chromedevtools.googlecode.com/svn/update/dev/Name你喜欢,整一个方便你记忆的就好。 点击确定后,在“Work with“选择你刚才添加的站点: 然后选择“Chromium JavaScript Remote D 阅读全文
posted @ 2011-05-06 18:56 Q.Lee.lulu 阅读(16142) 评论(5) 推荐(4) 编辑
  2011年5月5日
摘要: 看到一句Javascript的代码:function test(){ var args = Array.prototype.slice.call(arguments);}第一感觉是这句代码不是多余么?这切分后不是返回一样的数组么?不过又感觉没人这么蛋疼做这么无聊的事情吧,于是Google,于是发现,我错了!因为arguments不是一个数组对象,虽然它有length属性,并且你在firebug或者Chrome的控制台log出来的结果和数组一样。function testArguments(){ console.log(arguments); console.log(arguments.leng 阅读全文
posted @ 2011-05-05 17:40 Q.Lee.lulu 阅读(4094) 评论(0) 推荐(0) 编辑
  2011年3月16日
摘要: Javascript的正则分组不支持命名,只好自己搞了一个。先把命名存入数组,然后匹配。唉~~~有更好的解决方案么?代码:var route = '/{controller}/{action}/{id}', url = '/home/index/2';groupRE(route, url); // ==> {controller:'home', action:'index', id:'2'}/** @re: string, e.g.: '/{controller}/{action}/{id}' 阅读全文
posted @ 2011-03-16 16:02 Q.Lee.lulu 阅读(2602) 评论(1) 推荐(1) 编辑
  2011年3月2日
摘要: 在新浪微群一天一技术分享里面看到一篇有童鞋分享的一篇fcgi vs. gunicorn vs. uWSGI的文章,文章的测试附图很是让人兴奋:于是自己在本地测试了一下,结果基本和上面的结果一致。(以下为简单的ab测试结果: ab –c 100 –n 1000 http://127.0.0.1/ )首先是 nginx + fcgi的结果(fcgi prefork 4 processors): 接着是nginx + uwsgi的结果(uwsgi 4 workers): 这个测试结果基本和我上次测试的node.js的结果差不多了。怎样安装uwsgi和部署,这里就不多说了,直接贴两个链接:http:/ 阅读全文
posted @ 2011-03-02 21:38 Q.Lee.lulu 阅读(13485) 评论(5) 推荐(3) 编辑
  2011年1月28日
摘要: Node让你可以用javascript编写服务器端程序,让javascript脱离web浏览器的限制,这也让一些熟悉Javascript的前端开发人员进军到服务器端开发提供了一个便利的途径。 Node是基于Google的V8引擎封装的,并提供了一些编写服务器程序的常用接口,例如文件流的处理。Node的目的是提供一种简单的途径来编写高性能的网络程序。本文会简单介绍下node.js,然后用node.js实现一个web mvc的框架。 阅读全文
posted @ 2011-01-28 02:06 Q.Lee.lulu 阅读(27168) 评论(27) 推荐(16) 编辑
  2010年12月5日
摘要: 2010.12.5 FaWave(发微)多微博版正式发布!发微(FaWave),Chrome上的微博插件,支持多微博,真正的实时同步发送微博,多微博发送不再烦。目前支持的微薄有新浪微博、Twitter、搜狐微博、饭否、做啥、嘀咕、人间网、雷猴。多用户、多微博支持,全部账号同时提示新信息,各个账号之前无缝切换。功能全面、强大,还可以发送图片。Simple is better!! FaWave(发微)的安装地址:https://chrome.google.com/extensions/detail/aicelmgbddfgmpieedjiggifabdpcnln FaWave的主界面: 发送微博界 阅读全文
posted @ 2010-12-05 00:16 Q.Lee.lulu 阅读(15106) 评论(45) 推荐(3) 编辑