`
rainsilence
  • 浏览: 158866 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
自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 ...
Global site tag (gtag.js) - Google Analytics