- 浏览: 1165711 次
- 性别:
- 来自: 北京
最新评论
-
a2320064997:
请问博主,排序的动图是怎么做出来的?
排序算法一览(二):归并类排序、分布类排序和混合类排序 -
你的微笑我得阳光:
试试验证码
reCAPTCHA项目 -
mack:
一般采用json
对象转换的问题 -
fly_hyp:
我也做了一个中文编程软件,叫趣智思成
一些中文编程语言 -
facingSun:
受教了
前端解耦的一个最简单示例
文章列表
没有一款浏览器能比IE6给前端开发更带来困扰了,IE6的Bug和对标准的无视(其实IE各个版本都习惯于对标准的无视)已经到了令人发指的地步,
比如IE6的JavaScript解析在GZip压缩下问题一堆,微软自己都说没有办法,换浏览器吧;
比如IE6对样式的规定乱七八糟,看这个;
比如IE6上使用PNG还要加上一个带来N多挂死问题的滤镜……
终于微软也忍不住了,要专门给IE6清理全球最困难的钉子户中国开小灶了:
http://theie6countdown.cn/
微软自己都说了:
“
能为大家服务十年,已付出了我毕生的心血,尤其感谢中国,中国人民最可爱,因为直到 ...
FireFox 5.0 发布
- 博客分类:
- News & Commets
Firefox 5 于6月21日正式发布,这是火狐启动快速发布计划以来发布的第一个正式版本。
以下摘自官网 http://firefox.com.cn/features/:
Firefox 全新特性
全新的界面、更易用的功能、更快的速度、更强的安全防护、更多的开发者工具. ...
IE6终极备忘:修复IE6下 25+ Bugs
[译]IE6终极备忘:修复IE6下 25+ Bugs
2010年01月08日 | HTML/CSS, JavaScript
去年就想将IE的bug系统地整理下,但一直都忙于工作、学习没有完成,看到这篇E文后,我毫不犹豫的放下了手中的工作将之翻译出 ...
1、Peterson 算法(Dekker算法的演化),这个算法设计得很巧妙,理解的核心就是搞清楚三个标志位是怎样控制两个方法对临界区的访问的:
volatile int flag1 = 0; //主观因素:flag1表示方法1自身是否要求进入临界区
volatile int flag2 = 0; //主观因素:flag2表示方法2自身是否要求进入临界区
volatile int turn = 1; //客观因素:turn取1和2分别表示当前临界区针对方法1还是方法2开放
void fun1(){
flag1 = 1;
turn = 2;
while( fl ...
最近在工作中做前端的重构,其中一个重要步骤就是设计一套简易的前端框架,把所想到的随手记下来:
物理和分布 js文件布局 模块化 依赖关系梳理 加载梳理
技能储备 JavaScript进阶 JavaScript面向对象 JQuery(或其他JavaScript基础框架)熟悉使用
规范和规则 JavaScript规范 对象化示例代码
框架内容 模型定义 通用模块设计 CSS/DOM操纵封装 公共常量和工具方法 JavaScript内置对象扩展 核心模块的逻辑骨架
基础设施 日志 Ajax封装和预置参数
代码测试和辅助 J ...
以下来自John Hann的实现,这段代码引起了我的注意,它用巧妙的方法把方法调用的结果缓存起来了。
代码解析:
// memoize: 使用memoization来缓存的通用方法
// func: 要被缓存的方法
// context: 方法执行上下文
// Note: 方法必须是外部可访问的,参数是可字符序列化的
function memoize (func, context) {
function memoizeArg (argPos) { //参数表示原始方法中参数的位置
var cache = {}; //这个缓存的key是参数,value是执行 ...
作为以老版本为模子重做的解耦版本,这个大型互联网应用产品是从2009年中开始落地的。而我本人也是该版本的主创人员之一,到今日,团队已经发展到开发测试人数百人的大型互联网产品团队的规模,发布、割接和上线了许许多多个商用版本。
对架构的审视,对选型和设计的反思,不仅仅要在产品初创时期,更要在产品发展的整个过程中进行,团队做同类型产品的能力就是这样在不断总结和自我批评中成熟的。以下为个人观点,难免不对许多人的胃口,不过还是希望这些文字有足够到让人思考的价值。无论如何,对于这样一款产品,从如今的视角来解读它的历史故事,更别有一番风味。
-------------------------- ...
最初接触到面向对象的CSS还是因为项目中的CSS已经超过八千行,缺乏约束和管理,在近期或者是不远的将来,有迫切的要求需要重构。在前端重构中,我们已经讨论过了JavaScript面向对象的重构,在这个时候再看一看CSS面向对象和 ...
⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解 ...
J2EE核心模式学习汇总页:
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(一)
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(二)
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(三)
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(四)
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(五)
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(六)
J2EE 核心模式(Core ...
前一阵集中一段时间做了JavaScript的重构,留下了一点点脚印,在这里汇总一下。如果您对这一专题感兴趣,或者希望补充一些内容,欢迎留言,我会在后续更新进去。谢谢。
JavaScript重构(一):模块划分和命名空间
模块划分是JavaScript重构的原则之一,也是代码可维护性提升的一条重要途径。
JavaScript重构(二):JS的动态加载
很多JS framework都有JS动态加载的功能,当庞大的JS的加载变成了前端的瓶颈,不妨试试它。
JavaScript重构(三):JavaScript的测试
前端编码灵活性更强,庞大的JS需要UT来支撑,JavaSc ...
过度工程,最初我知道这个词是在Rod Johnson的《J2EE Development without EJB》,随着阅历地增长,渐渐发现书中熟悉的场景也在身边再现了。
敏捷、还有设计模式,给一个团队带来了什么?
我之所以把这两个词放在一起讲,是因 ...
JSDoc可以生成类似于JavaDoc一样的API文档,这对于前端开发是必不可少的。
下载jsdoc-tookit(http://code.google.com/p/jsdoc-toolkit/)和jsdoc-tookit-ant-task(http://code.google.com/p/jsdoc-toolkit-ant-task/),CSDN的转义功能有问题,所以把尖括号都换成了书名号:
其它也有类似的工具,DOC生成器对于任何一个成熟的前端开发团队都是必不可少的。
<project default="build-docs">
<tar ...
在Java中,有这样一段老代码:
class Round{
public void drawRound(); //画圆
}
现在新代码希望能和它共存,使用一个Person的对象来控制,只不过,可能drawRound,也可能drawRect啊:
class Rect{
public void drawRect(); //画方
}
...
终于要说到JavaScript的继承了,原型链继承是最常用的一种方式:
function Video(){};
function Movie(){};
Movie.prototype = new Video();
Movie.prototype.constructor = Movie; //不要丢失构造器
啰嗦一句,如果我拿到的是方法的实例,一样可以做继承:
function Video(){};
function Movie(){};
var video = new Video();
video.size = 3;
video.toStrin ...