博客园 - BearRui(AK-47)
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=80762
2010-10-19T01:37:46Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
feed.cnblogs.com
https://www.cnblogs.com/BearsTaR/archive/2010/10/19/unique_random_code.html
产生唯一随机码的方法分析。 - BearRui(AK-47)
现在的WEB中经常会需要产生一些邀请码、激活码。需要是唯一并且随机的。下面总结下一些常用的产生随机码的方法,并分享自己的1个方法:
2010-10-19T01:38:00Z
2010-10-19T01:38:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】现在的WEB中经常会需要产生一些邀请码、激活码。需要是唯一并且随机的。下面总结下一些常用的产生随机码的方法,并分享自己的1个方法: <a href="https://www.cnblogs.com/BearsTaR/archive/2010/10/19/unique_random_code.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/08/24/URL_SESSION_ID_LEEK.html
URL中允许携带sessionid带来的安全隐患。 - BearRui(AK-47)
很多WEB开发语言为了防止浏览器禁止了cookie而无法识别用户,允许在URL中携带sessionid,这样虽然方便,但却有可能引起钓鱼的安全漏洞。
2010-08-24T00:44:00Z
2010-08-24T00:44:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】很多WEB开发语言为了防止浏览器禁止了cookie而无法识别用户,允许在URL中携带sessionid,这样虽然方便,但却有可能引起钓鱼的安全漏洞。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/08/24/URL_SESSION_ID_LEEK.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/08/05/js_include.html
JS 实现完美include - BearRui(AK-47)
js为什么需要include?让我们想想这样1个场景,a.js 需要用到1个公用的common.js,当然你可以在用到a.js的页面使用,但假设有5个页面用到了a.js,你是不是要写5遍script。而且要是以后a.js 又需要引用common2.js,你是不是又的修改5个页面了?
2010-08-05T00:51:00Z
2010-08-05T00:51:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】 js为什么需要include?让我们想想这样1个场景,a.js 需要用到1个公用的common.js,当然你可以在用到a.js的页面使用,但假设有5个页面用到了a.js,你是不是要写5遍script。而且要是以后a.js 又需要引用common2.js,你是不是又的修改5个页面了? <a href="https://www.cnblogs.com/BearsTaR/archive/2010/08/05/js_include.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/08/04/freemarker_excel_export.html
基于模板的excel导出 - BearRui(AK-47)
产品中有很多模块需要导出excel功能,导出excel几乎都是把页面已经显示出来的数据列表导出为excel。但后台使用poi生成excel却要1个单元格1个单元格的去编写。每个模块都需要单独写导出excel的代码,导致代码里充斥了createRow,createCell,setCellValue的代码。但这不是要命的,要命的是当前台数据列表格式变了的时候,后台生成excel代码的修改非常麻烦,特别是当产品经理要求在excel中也要保留WEB样式的时候(背景色,字体色,宽度),就只能oh shit!
2010-08-04T00:45:00Z
2010-08-04T00:45:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】产品中有很多模块需要导出excel功能,导出excel几乎都是把页面已经显示出来的数据列表导出为excel。但后台使用poi生成excel却要1个单元格1个单元格的去编写。每个模块都需要单独写导出excel的代码,导致代码里充斥了createRow,createCell,setCellValue的代码。但这不是要命的,要命的是当前台数据列表格式变了的时候,后台生成excel代码的修改非常麻烦,特别是当产品经理要求在excel中也要保留WEB样式的时候(背景色,字体色,宽度),就只能oh shit! <a href="https://www.cnblogs.com/BearsTaR/archive/2010/08/04/freemarker_excel_export.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/07/29/jsp_if_elseif_else_tag.html
实现if elseif else的jsp标签。 - BearRui(AK-47)
相信很多使用jstl的朋友都抱怨过,为什么jstl只有c:if 而没有elseif、else。当需要判断多个条件的时候,只能写多个c:if 或者使用c:choose。
2010-07-29T00:46:00Z
2010-07-29T00:46:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】相信很多使用jstl的朋友都抱怨过,为什么jstl只有c:if 而没有elseif、else。当需要判断多个条件的时候,只能写多个c:if 或者使用c:choose。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/07/29/jsp_if_elseif_else_tag.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/07/16/Tally_Optimization2.html
记一复杂页面的前端优化(2) - 其他优化 - BearRui(AK-47)
上一篇 "记一复杂页面的前端优化(1) - 不一样的延迟加载," 说了下对弹出窗口的优化,接下来说说其他的优化.
2010-07-16T00:13:00Z
2010-07-16T00:13:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】上一篇 "记一复杂页面的前端优化(1) - 不一样的延迟加载," 说了下对弹出窗口的优化,接下来说说其他的优化. <a href="https://www.cnblogs.com/BearsTaR/archive/2010/07/16/Tally_Optimization2.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/07/14/Tally_Optimization.html
记一复杂页面的前端优化(1) - 不一样的延迟加载 - BearRui(AK-47)
刚刚做完1个复杂页面的前端性能优化,这里的优化是针对这个页面具体的需求单独做的优化,所以这里不会谈哪些减少http请求,合并压缩js,css,图片合并等等。因为这些是所有页面都需要做的,如果需要了解这些,可以参考我这篇文章:
2010-07-14T00:32:00Z
2010-07-14T00:32:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】刚刚做完1个复杂页面的前端性能优化,这里的优化是针对这个页面具体的需求单独做的优化,所以这里不会谈哪些减少http请求,合并压缩js,css,图片合并等等。因为这些是所有页面都需要做的,如果需要了解这些,可以参考我这篇文章: <a href="https://www.cnblogs.com/BearsTaR/archive/2010/07/14/Tally_Optimization.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/07/02/tudou_easeOutBounce.html
名站技术分析 — tudou网首页下列菜单的弹出效果 - BearRui(AK-47)
土豆(tudou.com)首页的导航条,当鼠标移到到“社区”菜单时,对应的菜单的弹出效果比较有意思,类似于一个弹球落地的效果,对于有意思的东西,当然要研究研究。有兴趣的朋友可以自己先去看看效果,然后再来看文章。
2010-07-02T00:40:00Z
2010-07-02T00:40:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】土豆(tudou.com)首页的导航条,当鼠标移到到“社区”菜单时,对应的菜单的弹出效果比较有意思,类似于一个弹球落地的效果,对于有意思的东西,当然要研究研究。有兴趣的朋友可以自己先去看看效果,然后再来看文章。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/07/02/tudou_easeOutBounce.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/07/01/less.html
LESS 让css也支持变量,运算符,include,嵌套规则等等 - BearRui(AK-47)
最近在网上看到1个很有意思的CSS扩展,这里介绍给大家。LESS 最早是1个ruby的gem,用于扩展css的语法,用了LESS后,可以在css中使用变量,运算符,include,嵌套规则等等。现在LESS出了js版本,让我们一起来看看LESS能为我们带来什么吧?
2010-07-01T00:49:00Z
2010-07-01T00:49:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】最近在网上看到1个很有意思的CSS扩展,这里介绍给大家。LESS 最早是1个ruby的gem,用于扩展css的语法,用了LESS后,可以在css中使用变量,运算符,include,嵌套规则等等。现在LESS出了js版本,让我们一起来看看LESS能为我们带来什么吧? <a href="https://www.cnblogs.com/BearsTaR/archive/2010/07/01/less.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/06/25/css_tip_round_gradients_shadow.html
CSS技巧 — 不使用图片实现圆角、阴影、渐变等功能 - BearRui(AK-47)
UI要求越来越高,界面越做越华丽,给我们开发人员带来的就是使用大量的背景图片,下面介绍一些通过css(不使用图片或少使用图片)来实现一些很常见的效果:
圆角、阴影、渐变等等。
2010-06-25T00:51:00Z
2010-06-25T00:51:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】UI要求越来越高,界面越做越华丽,给我们开发人员带来的就是使用大量的背景图片,下面介绍一些通过css(不使用图片或少使用图片)来实现一些很常见的效果:
圆角、阴影、渐变等等。
<a href="https://www.cnblogs.com/BearsTaR/archive/2010/06/25/css_tip_round_gradients_shadow.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/06/18/facebook_html_chunk.html
名站技术分析 — facebook奇特的页面加载技术 - BearRui(AK-47)
没事使用代理上了下facebook,注册进入个人首页后,习惯性的查看源代码,发现了1个很有意思的现象,首页内容不少,但源代码中HTML的代码却很少,但去多出了很多段的javascript代码,这些js代码都是用于动态生成html的,facebook为什么需要这样做了?出于职业习惯,研究研究:
2010-06-18T00:51:00Z
2010-06-18T00:51:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】 没事使用代理上了下facebook,注册进入个人首页后,习惯性的查看源代码,发现了1个很有意思的现象,首页内容不少,但源代码中HTML的代码却很少,但去多出了很多段的javascript代码,这些js代码都是用于动态生成html的,facebook为什么需要这样做了?出于职业习惯,研究研究: <a href="https://www.cnblogs.com/BearsTaR/archive/2010/06/18/facebook_html_chunk.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/06/08/efficient_css.html
了解CSS的查找匹配原理,让CSS更简洁、高效 - BearRui(AK-47)
用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS:DIV#divBox p span.red{color:red;},按习惯我们对这个CSS 的理解是,浏览器先查找id为divBox的DIV元素,当找到后,再找其下的所有p元素,然后再查找所有span元素,当发现有span的class为red的时候,就应用该style。多么简单易懂的原理,可是这个理解却是完完全全相反、错误的
2010-06-08T00:43:00Z
2010-06-08T00:43:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS:DIV#divBox p span.red{color:red;},按习惯我们对这个CSS 的理解是,浏览器先查找id为divBox的DIV元素,当找到后,再找其下的所有p元素,然后再查找所有span元素,当发现有span的class为red的时候,就应用该style。多么简单易懂的原理,可是这个理解却是完完全全相反、错误的 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/06/08/efficient_css.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/06/02/ajax_better_Experience.html
让ajax更加友好,实时显示后台处理进度。 - BearRui(AK-47)
ajax应用越来越多,大部分ajax处理都是在前台显示1个"loading...",然后把数据提交给服务器进行处理,处理完毕后显示"处理完毕"。我们能否让ajax更加友好点,实时显示服务器处理的进度了?这在一些长时间的请求中尤其重要,比如上传文件、发送邮件、批量处理数据。答案当然是可以的,不然就不会写这个了,对吧,^_^。
2010-06-02T00:49:00Z
2010-06-02T00:49:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】 ajax应用越来越多,大部分ajax处理都是在前台显示1个"loading...",然后把数据提交给服务器进行处理,处理完毕后显示"处理完毕"。我们能否让ajax更加友好点,实时显示服务器处理的进度了?这在一些长时间的请求中尤其重要,比如上传文件、发送邮件、批量处理数据。答案当然是可以的,不然就不会写这个了,对吧,^_^。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/06/02/ajax_better_Experience.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/05/28/IE7_IE8_CSS_double_download.html
[翻译] IE7,IE8 BUG导致CSS下载二次。 - BearRui(AK-47)
为了压缩html代码,我们常常会去掉"删除HTTP或者HTTPS",即去掉url中的http(s)协议头,以节省空间,但这样使用后发现IE7,IE8会出现对同1个CSS加载2次的BUG。
2010-05-28T01:05:00Z
2010-05-28T01:05:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】为了压缩html代码,我们常常会去掉"删除HTTP或者HTTPS",即去掉url中的http(s)协议头,以节省空间,但这样使用后发现IE7,IE8会出现对同1个CSS加载2次的BUG。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/05/28/IE7_IE8_CSS_double_download.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/05/25/tudou_lazy_image.html
名站技术分析 - 浅谈tudou.com首页图片延迟加载的效果 - BearRui(AK-47)
经常上tudou网,发现tudou首页加载图片的功能很有意思,tudou首页从"娱乐"这个板块往下的所有视频的缩略图并不是在页面打开后就加载的,
而是当用户拖动滚动条到了"娱乐"这个板块,才开始加载图片的。这样做的好处当然是如果有用户不需要查看下面的内容,则免去了下面所有图片的请求,
这对减少服务器的压力还是很有帮助的。
2010-05-25T00:54:00Z
2010-05-25T00:54:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】经常上tudou网,发现tudou首页加载图片的功能很有意思,tudou首页从"娱乐"这个板块往下的所有视频的缩略图并不是在页面打开后就加载的,
而是当用户拖动滚动条到了"娱乐"这个板块,才开始加载图片的。这样做的好处当然是如果有用户不需要查看下面的内容,则免去了下面所有图片的请求,
这对减少服务器的压力还是很有帮助的。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/05/25/tudou_lazy_image.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/05/19/flush_chunk_encoding.html
高性能WEB开发(11) - flush让页面分块,逐步呈现 - BearRui(AK-47)
在处理比较耗时的请求的时候,我们总希望先让用户先看到部分内容,让用户知道系统正在进行处理,而不是无响应。一般大家在处理这种情况,都使用ajax,先把html输出到客户端,然后再用ajax取加载比较耗时的资源。用ajax麻烦的地方是增加了请求数,而且需要写额外的js代码、和js调用的请求接口。
正对这种情况,还有一种处理方法,就是让response分块编码进行传输。response分块编码,可以先传输一部分不需要处理的html代码到客户端,等其他耗时代码执行完毕后再传输另外的html代码。
2010-05-19T02:18:00Z
2010-05-19T02:18:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】在处理比较耗时的请求的时候,我们总希望先让用户先看到部分内容,让用户知道系统正在进行处理,而不是无响应。一般大家在处理这种情况,都使用ajax,先把html输出到客户端,然后再用ajax取加载比较耗时的资源。用ajax麻烦的地方是增加了请求数,而且需要写额外的js代码、和js调用的请求接口。
正对这种情况,还有一种处理方法,就是让response分块编码进行传输。response分块编码,可以先传输一部分不需要处理的html代码到客户端,等其他耗时代码执行完毕后再传输另外的html代码。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/05/19/flush_chunk_encoding.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/05/17/html_compressor.html
WEB高性能开发(10) - 疯狂的HTML压缩 - BearRui(AK-47)
上一篇随笔中网友 skyaspnet 问我如何压缩HTML,当时回答是推荐他使用gzip,后来想想,要是能把所有的html,jsp(aspx)在运行前都压缩成1行未免不是一件好事啊。一般我们启动gzip都比较少对html启动gzip,因为现在的html都是动态的,不会使用浏览器缓存,而启用gzip的话每次请求都需要压缩,会比较消耗服务器资源,对js,css启动gzip比较好是因为js,css都会使用缓存。我个人觉得的压缩html的最大好处就是一本万利,只要写好了一次,以后所有程序都可以使用,不会增加任何额外的开发工作。
2010-05-17T00:51:00Z
2010-05-17T00:51:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】 上一篇随笔中网友 skyaspnet 问我如何压缩HTML,当时回答是推荐他使用gzip,后来想想,要是能把所有的html,jsp(aspx)在运行前都压缩成1行未免不是一件好事啊。一般我们启动gzip都比较少对html启动gzip,因为现在的html都是动态的,不会使用浏览器缓存,而启用gzip的话每次请求都需要压缩,会比较消耗服务器资源,对js,css启动gzip比较好是因为js,css都会使用缓存。我个人觉得的压缩html的最大好处就是一本万利,只要写好了一次,以后所有程序都可以使用,不会增加任何额外的开发工作。 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/05/17/html_compressor.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/05/12/best_use_google_analytics.html
该如何加载google-analytics(或其他第三方)的JS - BearRui(AK-47)
很多网站为了获取用户访问网站的统计信息,使用了google-analytics或其他分析网站(下面的讨论中只提google-analytics,简称ga)。注册ga后,ga就会生成一段js脚本,很多人直接把这段js复制到的最后面就完事(包括 博客园、CSDN、BlogJava)。可是ga自动生成的这段JS真的就是最合理的吗?
2010-05-12T06:49:00Z
2010-05-12T06:49:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】很多网站为了获取用户访问网站的统计信息,使用了google-analytics或其他分析网站(下面的讨论中只提google-analytics,简称ga)。注册ga后,ga就会生成一段js脚本,很多人直接把这段js复制到的最后面就完事(包括 博客园、CSDN、BlogJava)。可是ga自动生成的这段JS真的就是最合理的吗? <a href="https://www.cnblogs.com/BearsTaR/archive/2010/05/12/best_use_google_analytics.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2010/05/12/web_performance.html
web高性能开发系列随笔 - BearRui(AK-47)
在BlogJava里写了一些关于高性能WEB开发的随笔,因为都是跟前端技术相关(html,http,js,css等),所以也贴到博客园来,吸收下人气。
1、 HTTP服务器.
2、性能测试工具推荐
3、 图片篇.
4、 如何加载JS,JS应该放在什么位置.
5、 为什么要减少请求数,如何减少请求数.
6、 减少请求,响应的数据量.
7、JS、CSS的合并、压缩、缓存管理
8、页面呈现、重绘、回流。
9、该如何加载google-analytics(或其他第三方)的JS
10、疯狂的HTML压缩
11、flush让页面分块,逐步呈现
12、了解CSS的查找匹配原理,让CSS更简洁、高效
2010-05-12T01:46:00Z
2010-05-12T01:46:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】 在BlogJava里写了一些关于高性能WEB开发的随笔,因为都是跟前端技术相关(html,http,js,css等),所以也贴到博客园来,吸收下人气。
1、 HTTP服务器.
2、性能测试工具推荐
3、 图片篇.
4、 如何加载JS,JS应该放在什么位置.
5、 为什么要减少请求数,如何减少请求数.
6、 减少请求,响应的数据量.
7、JS、CSS的合并、压缩、缓存管理
8、页面呈现、重绘、回流。
9、该如何加载google-analytics(或其他第三方)的JS
10、疯狂的HTML压缩
11、flush让页面分块,逐步呈现
12、了解CSS的查找匹配原理,让CSS更简洁、高效 <a href="https://www.cnblogs.com/BearsTaR/archive/2010/05/12/web_performance.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BearsTaR/archive/2006/06/17/assemblyBinding.html
管理好程序中的DLL - BearRui(AK-47)
1个项目中用到了很多DLL,而NET默认只能把这些DLL全部和EXE程序放在同1个目录下,
而我想把所有控件功能的dll放在1个Control的文件夹下面,这样方便管理。
2006-06-17T07:20:00Z
2006-06-17T07:20:00Z
BearRui(AK-47)
https://www.cnblogs.com/BearsTaR/
【摘要】 1个项目中用到了很多DLL,而NET默认只能把这些DLL全部和EXE程序放在同1个目录下,
而我想把所有控件功能的dll放在1个Control的文件夹下面,这样方便管理。 <a href="https://www.cnblogs.com/BearsTaR/archive/2006/06/17/assemblyBinding.html" target="_blank">阅读全文</a>