摘要: 查看我的更新文章,请访问http://zhangshenjia.com 阅读全文
posted @ 2012-05-18 13:33 张砷镓 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 在一个项目刚起步时,往往除了jquery之类的库外,只有一个js文件。然而随着功能的不断增加,js代码也会不断膨胀,当多到一定程度后(500行以上),维护难度就会大大增加。组织逻辑混乱,debug时很难迅速定位到想修改的地方,写新function时也很难抉择插入的位置。整天在一个长长的js文件里滚来滚去,想想都让人头疼。一个可选的方案是使用依赖库,诸如requireJS、SeaJS、In.js等等。但需要引入更多的代码,要抽出精力来维护依赖关系,还会增加额外的http请求。在大多数情况下,js代码不会膨胀到必需引入依赖库的地步。有没有办法可以在不增加新代码和http请求的前提下,对js代码进行 阅读全文
posted @ 2012-05-18 13:37 张砷镓 阅读(1554) 评论(0) 推荐(0) 编辑
摘要: Saolei.net这个域名是我在2006年在新网的一家代理商注册的,最近由于众所周知的原因,我需要将域名转移到Godaddy。下面就分享一下我和新网进行的交涉以及和ICANN沟通的过程。2012-3-8在参考了很多朋友通过在ICANN投诉转移域名的帖子后,我决定还是走正规渠道,先和新网进行联系。果不其然,新网坚持要求提供身份证扫描件,话说我注册的时候你也没问我要啊?我向工作人员表明按照ICANN的规定,域名转出是不需要提供身份证的。工作人员坚持说是公司的规定,也拒绝出示任何法律法规。解释不通只好去ICANN投诉,内容是已经准备好的:To whom may concern:I register 阅读全文
posted @ 2012-04-23 17:41 张砷镓 阅读(1029) 评论(0) 推荐(0) 编辑
摘要: 从去年到今年,陆陆续续看完了《代码大全》、《重构》、《代码整洁之道》、《程序员修炼之道》以及《The Art of Readable Code》,获益匪浅。下面就分享几条我赞同并信奉的编程哲学,顺便废话几句。本文适合有一定编程经验的读者阅读,高手请轻喷:)代码是写给人看的(Coding for Reading)请先思考,评价一段代码优劣最重要的标准是什么?有个著名的图,相信大家都见过,讲的是Code Review时被骂WTF的次数越少,代码的质量就越高。这虽然有点无厘头,但是却不无道理。《The Art of Readable Code》中告诉我们,评价一段代码的质量的最佳标准是可读性,即别人 阅读全文
posted @ 2012-04-22 16:58 张砷镓 阅读(5448) 评论(18) 推荐(15) 编辑
摘要: 【qwerty布局】qwerty布局大家应该都很熟悉了,全世界最普及的键盘布局。截止到去年接触并使用dvorak布局之前,我使用了十几年qwerty布局,在http://speedtest.10fastfingers.com/测试的最高CPM(每分钟击键数)为475。相信阅读本文的读者中,有99%以上都在使用qwerty布局。热区图本热区图是使用http://www.patrick-wied.at/projects/heatmap-keyboard/对apache2的license.txt(36k)进行分析的结果,下同优点1、普及率和兼容性接近100%2、有史以来的各种软件的快捷键都默认为此布 阅读全文
posted @ 2012-04-11 12:38 张砷镓 阅读(38906) 评论(10) 推荐(2) 编辑
摘要: 在测试中发现iPad上的Safari总会把长串数字识别为电话号码,文字变成蓝色,点击还会弹出菜单添加到通讯录。别的地方倒也罢了,如果在用户名中出现数字(手机注册新浪微博的话用户名就是“手机用户xxxxxxxx”),版式会很恶心。经过测试在a标签中的长串数字不会识别为电话,于是给出现用户名但没有链接的地方嵌套一个无动作的a标签,临时解决了这个问题。但是这样增加了额外的标签,代码的语义性变得很差,而且对大段文字不能用这个方法。今天无意中撞进Safari的官网,发现了safari有个私有meta属性可以解决这个问题:<meta name="format-detection" 阅读全文
posted @ 2012-03-26 16:21 张砷镓 阅读(2242) 评论(0) 推荐(1) 编辑
摘要: 今天群里灰大出了个题:1 function getRelativeURL(url, baseURL) {2 // 获取url相对baseURL的相对路径3 // url和baseURL都是绝对路径或都是相对路径的情况下,有可能计算出结果,否则扔Error4 // 如果都是绝对路径,但不在同一个域、同一个协议、同一个端口下,即无法计算相对路径,扔Error5 }用了点时间写了一下: 1 function getRelativeURL ( url, baseUrl ) { 2 3 var path, 4 basePath, 5 i = 0, ... 阅读全文
posted @ 2012-03-09 19:03 张砷镓 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 这是一个为 Linux / MacOS 用户设计的alias集合,asdf.sh(https://github.com/shenjia/asdf.sh)为qwerty键盘用户设计,aoeu.sh(https://github.com/shenjia/aoeu.sh)为dvorak键盘用户设计。作为开发人员,我们每天都要在终端敲很多重复性的命令。一些大段重复的命令(比如部署,安装,备份等)我们会写shell脚本来避免重复性的键入,却忽视了还有很多使用频率极高的命令。有的命令很短,比如 vim 和 cd .. ,但是我们每天都要敲无数次。而有的并不短,比如 apt-cache search 或 p 阅读全文
posted @ 2012-02-27 16:04 张砷镓 阅读(558) 评论(0) 推荐(0) 编辑
摘要: google maps的api使用很方便,只要在用使用google maps的页面引入http://maps.google.com/maps/api/js?sensor=false就可以了。<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>但是在项目中这样使用后,发现domReady事件被严重阻塞(甚至会延迟十几秒):因为domReady只有页面中所有的script都运行完后才会触发,而goog 阅读全文
posted @ 2012-02-10 20:06 张砷镓 阅读(2303) 评论(3) 推荐(1) 编辑
摘要: 恩,一直想架自己的独立博客,因为各种原因都搁浅了。在博客园开一个吧,分享前端的一些经验和心得。 阅读全文
posted @ 2012-02-10 14:13 张砷镓 阅读(198) 评论(0) 推荐(0) 编辑