摘要: 场景先讲下我当时遇到的一个应用场景:一份含有5万条数据的表,希望每次都能从中获取到一条未被使用过的数据,然后再标记该条数据已被使用。数据库时mysql,为方便起见,转化成sql的语义就是:一张表:valuestatusv11v21...1我们需要一次读取一行数据,再把该行的status字段改成0。它... 阅读全文
posted @ 2013-07-03 20:17 lengyuhong 阅读(2707) 评论(8) 推荐(3) 编辑
摘要: 遇到的问题先给大家看段ajax代码,大家觉得有没有什么问题?var xhr = new XMLHttpRequest();xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xhr.status === 302) { //to something } }};xhr.open("get", "/redirect", true);xhr.send();代码的本意很简单:就是发送ajax请求,如果返回的结果是状态码是302,就进行接下来的逻辑。看似没有问题吧,但我可以很负 阅读全文
posted @ 2013-06-09 15:59 lengyuhong 阅读(5182) 评论(0) 推荐(0) 编辑
摘要: 前阵子,在nodejs版本更新到v0.10.6(stable),isaacs宣布不赞成再使用require.extensions,这必然严重影响今后CoffeeScript的发展。所以这个版本一发布,大家就进行了激烈的讨论,有兴趣的读者可以看以下的几篇文章,比较典型,也是现在争论的焦点。nodejs更新说明what are the merits / demerits of require.extensions?module name resolution order insufficiently specified针对这个问题,我觉得是仁者见仁智者见智,大家都有点道理。而我写这篇文章的本意,就 阅读全文
posted @ 2013-05-18 18:48 lengyuhong 阅读(1906) 评论(0) 推荐(1) 编辑
摘要: 上周再做一个easyproxy的小项目,实现代码反向代理的工作,具体就是在tcp层对各个请求(只要遵循建立在tcp层之上的协议即可)进行解析,然后分发各个具体服务上。这中间遇到的一个问题就是HTTP中的长连接问题,重新去看了下具体的http协议,发现之前对这块知识还是存在盲点。这篇文章可以算是自己的学习笔记, 很多内容更是直接使用我看到和觉得讲得不错的资料,希望对大家也有所帮助。基础知识1. 名称维基百科中的介绍:“HTTP persistent connection, also calledHTTP keep-alive, orHTTP connection reuse, is the id 阅读全文
posted @ 2013-05-12 21:42 lengyuhong 阅读(7417) 评论(4) 推荐(6) 编辑
摘要: 《Web开发中的缓存》是自己最近在团队中做的一次技术分享,大致梳理下在web中可能用到的相关缓存内容和自己的一些使用心得。ppt重在整体的介绍,由于篇幅原因,细节没讲太深。ppt地址:http://wenku.baidu.com/view/132abd0476c66137ee0619e1.html网页版ppt地址(建议用chrome访问):http://jifeng.github.io/ppt/webcache.html 阅读全文
posted @ 2013-04-11 19:11 lengyuhong 阅读(2277) 评论(7) 推荐(1) 编辑
摘要: 在html页面中,footer是非常有用,我们用它来标识它的版权和页面的相关信息。比如淘宝指数中的版权信息它的一个特点就是会“固定”在页面的尾部,并不会随这页面主内容少而跑上面去,当页面内容过多,超过一屏幕时,会紧跟在内容尾部,具体效果如图(来自网络):那怎么实现呢?其实很简单,只用设置css样式即可。第一种方法HTML代码<div id="container"> <div id="header">Header Section</div> <div id="body" class=" 阅读全文
posted @ 2013-04-03 16:15 lengyuhong 阅读(2627) 评论(0) 推荐(2) 编辑
摘要: 在nodejs中,process.nextTick()可以说是个绕不开的地方,不然你都不好意思跟别人说你已经懂了nodejs的异步非阻塞特性了。简介首先开听听nodejs中对nextTick的解释:On the next loop around the event loop call this callback. This is not a simple alias to setTimeout(fn, 0), it's much more efficient可以清楚得看到,nextTick()达到的效果跟setTimeout(fn, 0)是一样,但为什么nextTick()会比setT 阅读全文
posted @ 2013-03-31 16:52 lengyuhong 阅读(7434) 评论(0) 推荐(0) 编辑
摘要: about朱佳墩淘宝花名:继风web开发工程师,现就职于淘宝数据平台与产品部,居住在人间天堂杭州。主要爱好研究研究NoSQL数据库,nodejs和web前端开发等技术。工程师中的文艺青年,代码,阅读,行走,电影,现在差不多是我现在生活的全部。联系方式微博:继风Jordan豆瓣:冷羽鸿github:jifengmail:wade428@163.com“路走对了,就不怕远” 阅读全文
posted @ 2013-03-24 16:52 lengyuhong 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 前阵子,接一个用户授权服务时,遇到一个关于cookie的诡异问题,折腾了一天才知道问题出在哪儿,虽然时候才知道这是个小白问题。遇到问题是这样子: 比如访问A地址(比如http://localhost/index,http://localhost/test/index)时需要登陆时会跳转到一个登陆页面,登陆成功后,跳转回原页面,这时将用户信息存入到session中,并通过response的Set-Cookie头信息,设置向对应的cookie值。具体如下:Set-Cookie:sid=Wnse42HlgkYBbLtAEOMRkXcWHSwkr9nRUS0WBFFHA4TCZUga; Max-Ag. 阅读全文
posted @ 2013-02-26 20:54 lengyuhong 阅读(9577) 评论(3) 推荐(2) 编辑
摘要: 作用域和this绝对是javascript中最容易让人栽跟头的地方之一,闲话少说,先问题个问题?var a = { b: 1, c: function() { alert(this.b.toString()); }}a.c();b = a.cb();思考下,再看后面的答案。是不是觉得是:11公布正确答案1function () { console.log(this.b.toString());}再看下面这段程序:var b;var a = { b: 1, c: function() { alert(b); }}a.c();b = a.cb();正确答案:undef... 阅读全文
posted @ 2013-02-04 17:56 lengyuhong 阅读(284) 评论(0) 推荐(0) 编辑