Archives

  • 我现在开始倾向于使用Hg了

    用过一段时间的git,感觉非常之爽歪歪,但是也发现了一些问题,比如团队的成员并不是很容易的接受git,觉得麻烦。而且对于在含有*nix和windows上面同时开发的团队,经常要在不同的环境中处理回车换行的问题。这时候git不是不能解决,而是一遍一遍的给团队的成员灌输这些东西,成本是非常高的。 这两天抽空研究了一下Hg,发现国内外的“实用主义者”更倾向于使用这个。她和svn的一些使用习惯差不多,比如diff时候的版本号都是使用冒号(:)分割等等。这些小细节往往则是团队开发中选择一个工具的比较重要的因素。 我决定继续研究一段hg,然后考虑一下是否更加合适在团队中使用。

    Apr 12th, 2010 | Filed under 技术快餐, 随想
    Tags:
  • 展开 shorturl 的脚本

    鉴于 bitly 从我们的正常视野消失,我刚刚写了一个脚本,从http://untr.im 扩展原始的URL, 内容如下: #!/bin/bash URL=$1 if [ -z "$URL" ] then echo “Usage : fullurl ” exit fi TS=`date +”%s”` FILE=/tmp/fullurl-$TS wget -q -O “$FILE” –post-data “url=$1″ http://untr.im/api/ajax/api awk -F ‘href=”‘ ‘{print $3}’ “$FILE” | awk -F ‘” rel=”‘ ‘{print $1}’ rm “$FILE”

    Oct 13th, 2009 | Filed under 技术快餐
  • 使用 OpenVPN 翻墙

    找到一个很好的免费的vpn提供商,alonweb。在Linux上,使用OpenVPN就可以连上使用。 具体步骤如下: 登录 alonweb 创建一个用户 下载 alonweb 提供的 OpenVPN 配置 解压缩 OpenVPN 的配置,你会看到两个文件,alonweb.conf 和 alonweb.crt 使用 OpenVPN 链接 启动命令如下: $ openvpn –config /path/to/alonweb.conf 但是这里面出现了一个问题,报错: Mon Aug 3 23:59:25 2009 ROUTE default_gateway=192.168.1.1 Mon Aug 3 23:59:25 2009 Note: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1) Mon Aug 3 23:59:25 2009 Note: Attempting fallback to kernel [...]

    Aug 4th, 2009 | Filed under 技术快餐
  • 让Apache使用操作系统的用户认证

    Apache的认证体系很不错,但是他并不是和操作系统天然结合的。如果想要让Apache使用操作系统的用户进行认证,可以使用 mod_auth_shadow 或者 mod_authnz_external 来进行。 我使用的是 mod_auth_shadow,因为简单嘛。 下载之后自己进行编译,会有两个有用的文件,mod_auth_shadow.so 和 validate 。 配置Apache,我使用的是Apache 2.2 加载module,LoadModule auth_shadow_module /path-to/mod_auth_shadow.so 配置 VirtualHost添加如下几行       AuthName what-ever-you-like       AuthShadow on       AuthType Basic       require valid-user 还可以使用 require user/grouprequire user user1 user2require group group1 group2 这样你就可以使用了。 注意, 其中的 validate 是进行真正认证的程序, mod_auth_shadow 是会通过 pipe 和 validate 进行交互的。 validate [...]

    Sep 9th, 2008 | Filed under 技术快餐
    Tags:
  • 判断js里面function的使用情况

    今天,我开出了一个新的分类——“技术快餐” 。它的目的,就是在短时间内,使用一些技巧或者什么手法,来解决身边的一些“小”问题。既然是快餐,那么他就可能投机取巧,并且很有可能他就不是一个非常 完美的解决方案。但是毕竟快嘛,用起来简单,方便,能够大体上得到一个(大致)精确的结果,我就满意了。 今天说一下如何判断js里面function的使用情况。 问题描述:我现在要调查一下线上服务的loadtime情况,其中能够奏效的很明显的一点就是较少js的体积。这里并不是讲究如何去压缩等等。而是一个简单的调查。 现在已经存在了大量的js lib,相信一些web的developer手上也有一些自己封装好的lib。用的时候,一个include,很是方便。但是当你在两大的lib里面,东 拼西凑的完成你的功能的时候,其实也有一部分存在的代码,从来也没有执行过一次。这个时候,找到并处理他们是一个很有意义的事情。 思路:在每一个function里面,加入一个log,这样,当这个function被调用的时候,我就知道了,当覆盖了全部(或者大部分)的feature以后,js function的使用率自然一目了然。 log,不用什么高深的log4js等等,就是简单的apache access log就可以了。 在页面中动态的生成一个image对象,然后当需要记录log的时候,只要把image对象的src设置成为一个标记就可以。这样在apache的access_log当中就会有记录了。 实施:使用sed命令来给每一个需要统计的js做一下处理。 比如,你有一个方法叫做 function a () { … } 处理以后,变成 function a() { ltimg.src=”xxx” mce_src=”xxx”; … } 这样就达到了记录的目的了。 下面附上代码: jsfuncname.sh sed -e ’s/function \(.*\)\(.*\){/function \1 \2 { ltimg.src=”\/images\/ltimg.jpg?n=\1″ mce_src=”\/images\/ltimg.jpg?n=\1″;/g’ $1 | sed -e ’s/\(.*\)=\(.*\)function\(.*\){/\1=\2function\3{ ltimg.src=”\/images\/ltimg.jpg?n=\1″ mce_src=”\/images\/ltimg.jpg?n=\1″;/g’ | sed -e ‘1i\ if (typeof(ltimg) [...]

    Jan 15th, 2007 | Filed under javascript, 技术快餐
Archive for the ‘技术快餐’ Category