- 浏览: 160779 次
- 性别:
- 来自: 上海
最新评论
-
sys234:
[u][/u]
Jquery的each循环和原生循环及html5foreach循环的效率比较 -
sscsacdsadcsd:
挺诡异的 promise/A为什么能写的这么多出来
HTML5之IndexedDB使用详解 -
zhanzhonggang:
if (db.version != "1 ...
HTML5之IndexedDB使用详解 -
rainsilence:
glchen 写道yaolifei 写道你好,请教几个问题:c ...
NodeJs中的非阻塞方法 -
glchen:
yaolifei 写道你好,请教几个问题:createServ ...
NodeJs中的非阻塞方法
文章列表
自Promise被纳入ECMAScript6标准后,各大浏览器几乎都实现了Promise标准。
以下是ecmascript6里promise的典型用法,为了解决一个线程的任务完成后,再去执行另一个任务。
var promise = new Promise(function(resolve, reject) {
$.ajax({
success: function() {
resolve();
},
failure: function() {
...
首先先上模拟代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here< ...
node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,一个模块可以通过module.exports或exports将函数、变量等导出,以使其它JavaScript脚本通过require()函数引入并使用。
现在有一个问题:到底应该用module.exports还是用exports呢?
console.log(module.exports === exports);
代码比较,其实两者是一样的
node在执行的时候,实际上是有一个全局变量module,但是,exports却是通过动态生成一个function,作为此functi ...
基本功能能用,但是很多地方还比较简陋
服务器端使用方法:
var Engine = require("./elf").Engine;
var http = require("http");
// 将模板位置传入引擎
var engine = new Engine({
"test": "./table.html"
});
var server = http.createServer(function(req, res) {
// 得到相应时,从modal这里 ...
首先我们利用NodeJs先构建一个基本的服务器。
index.js
var requestHandler = require("./requestHandler");
var server = require("./server");
var route = {
"/hello": requestHandler.hello,
"/upload": requestHandler.upload
};
server.start(route);
server.js
va ...
最近客户300个人同时按下一个按钮,在执行到一个业务模块的时候出现了脏读。
package org.test.thread;
public class Worker {
public void executeJob() {
// statement A check()
....
// statement B
....
//
dao.save();
}
}
比如上面的代码,第一个线程走到B了,第二个线程走到了A,check的地方。比如重复性check。如果第一个线程和第二个线程的查询主键相 ...
引子:(转载请注明出处)
今天测试人员向我报了个诡异的bug。在local跑程序的时候 webbrowser的time zone经过服务器端解析后,可以正确的得到GMT+8(Beijing),但是,一旦放到服务器上,跑出来的结果就变成了GMT+7。
开始百思不得其解,后来想想,会不会是夏令时(daylight saving time)引发的问题。
系统将client timezone转换为server 的TimeZone的流程:
1.new Date().getTimezoneOffset()取得browser的offset,并提交
2.服务器端接收到,并转换
int r ...
这是一篇研究计算机图形学的文章。而webGL(几乎没用他的特性)只是一种工具。用canvas2D也能实现相同的功能。
本文记录了研究的体会,难免有错。欢迎有识之士一起讨论研究,不吝赐教。
先上效果图:
(一)向量篇
向量是计算机图形学中最基本的元素。一般由三个坐标组成vector(x, y, z)。他的基本运算有:加法(add),减法(subtract),数乘(multiply),数除(divide),点乘(dot),叉乘(cross),归一化(normalize),length(模运算)。
下面给出vector运算的javascript代码
(fu ...
效果如上图:
1.google 的那个水雾不好看,所以就换了一个
2.用鼠标拖拽,水雾会消失
3.有飘雪
4.只支持google chrome15以上(仅用3小时做出来的东西呵呵)
snow1.1更新
前面有位朋友说太卡。原因在于本人写的时候太偷工减料了。没有用唯一的主循环。现在用唯一的ExecutorService统一进行线程管理。相信速度上会有一定的提高。但是飘雪的算法仍然采用以前写的落叶的算法。所以有点不真实。以后有空再改。
上图:
懒得去找图片,就找了个箱子来飘一下
大家直接看吧。不会运行webgl的看http://www.hiwebgl.com/
主要是index数组生成和sin函数。没什么高深的东西
GLSL版是利用了webgl规范中的特性,而不是使用opengl旧约的思想。渲染效率更高
前言:
好久没写文章了,今天看到webQQ又一次升级。我用的chrome的画面切换甚至用到了css 3d animation+3dtransform。
本系列文章用于介绍如何仅用css实现3d动画,这是本系列的第一篇文章,仅仅只介绍了动画。也许这篇文章也许过于超前,因为大部分的浏览器器,甚至包括FF,都还没有实现3d transform。涉及到animation的部分,你可以通过webkit内核的浏览器(Chrome or Safari)或者Firefox来浏览,但是涉及到3d transform的东西请用webkit的浏览器器浏览。
Css3 @KeyFrames Ru ...
好久没写blog了。刚才在论坛,有位兄弟问我,如果页面上有张图片,如果图片有瑕疵,如何画个圆来标注出来。存进数据库。
这个设计是可行的,而且思路非常好。
ie下需要注意:
透明canvas虽然能盖在图片上面,但是事件无法触发。必须用div来触发事件。
代码参考附件
当我们想用一个遮罩层div将整个页面罩住的时候,如果页面上使用了flash或者applet。那么applet会默认覆盖在div上面,无论我们在div上做什么手脚(zIndex设置到足够大)。但是如果在div的下面再套一层iframe,可以妨碍applet的默认效果,从而达到我们要的正常的效果(div覆盖在applet上面)
var iframe = document.createElement("iframe");
iframe.frameborder = "0";
iframe.src = "javascript:false; ...
前几天看到google为了纪念电吉他大师而作的电吉他应用。今天在论坛里看到有人讨论,就随便做了一个简化版。
跟google的电吉他应用有以下几点不同。
1.用古典吉他(我弹得。。。)代替电吉他
2.由于是简化版,只做了一根高音的3弦。(2.0beta2中已部分实现)
3.google发音用的是flash,可以保证不延迟和音质。由于做flash太烦了,用html5的audio代替发音的flash。所以大家不用放到web容器里,直接打开网页也能听到声音。缺点是浏览器对ogg的支持不是很好。(在2.0GA中尽可能做到不延迟)
4.弦的变色就不变了。这里的变色由于是2次曲线,没有难度,不 ...
js的new可以看成是一个代理模式的代理类。包裹了new 后面的函数
处理顺序为
1.创建一个function对象,并将prototype设置为传入函数
2.执行传入函数
3.判断传入函数返回值,如果为null,则返回第一步的function对象。
实现代码:
模拟一个new。封装在newInstance方法里。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&qu ...