jQuery(赋值给表单内容)

百度的招聘网站百伯年前就上线了,偶然看到其中用了一个jQuery的函数挺好玩就扒了下来。


var setValue = function(name, val){
    if(val != ""){
        var htmlType = $("[name='"+name+"']").attr("type");
        if(htmlType == "text" || htmlType == "textarea" || htmlType == "select-one" || htmlType == "hidden" || htmlType == "button"){
            $("[name='"+name+"']").val(val);
        }else if(htmlType == "radio"){
            $("input[type=radio][name='"+name+"'][value='"+val+"']").attr("checked",true);
        }else if(htmlType == "checkbox"){
            var vals = val.split(",");
            for(var i=0; i<vals.length; i++){
                $("input[type=checkbox][name='"+name+"'][value='"+vals[i]+"']").attr("checked",true);
            }
        }
    }
};

使用实例:

用到的HTML内容:


<select name="education" type="select-one">
  <option value="">请选择</option>
  <option value="1">初中</option>
  <option value="2">高中</option>
  <option value="4">中专</option>
  <option value="5">大专</option>
  <option value="6">本科</option>
  <option value="7">硕士</option>
  <option value="10">博士</option>
  <option value="11">其他</option>
</select>
<br />
<input type="radio" name="radio" value="1" id="radio_0" />1
<input type="radio" name="radio" value="2" id="radio_1" />2
<br />
<input name="chk" type="checkbox" value="1" />1
<input name="chk" type="checkbox" value="2" />2
<input name="chk" type="checkbox" value="3" />3
<br />
<input type="text" name="txt" value="" />
<br />
<input type="button" name="button" value="" />
<br />
<textarea name="textarea" cols="6" rows="7"  type="textarea"></textarea>

对应的JS内容:


$(function(){
setValue("education", "1");
setValue("radio", "2");
setValue("chk", "1, 2");
setValue("txt", "1, 2");
setValue("button", "1, 2");
setValue("textarea", "werwer");
});
Via:Chairo@2012年02月22日-EOF-

异常简单的一个代码生成器(python)

首先上一段生成的代码,很简单。但数据量很大时候也可以省下一小部分的工作量。


# -*- coding:utf-8 -*-
from core.dal.base_handler import BaseHandler
 
class GroupsHandler(BaseHandler):
 
    def select(self):
        return self.db.query("SELECT `g_id`, `g_name`, `create_time`, `status` FROM `groups` ORDER BY `g_id` DESC")
 
    def delete(self, id):
        return self.db.execute("DELETE FROM `groups` WHERE `g_id` = %s", id)
 
    def insert(self, g_name):
        return self.db.execute("INSERT INTO `groups` (`g_name`) VALUES (%s)", g_name)

重要的是这个生成器只有简单的百多行代码。再加上一些简单的生成services层的逻辑,短时间做一些对表的增删查还是很方便的,至于更复杂的慢慢扩充吧。

生成器下载地址:http://chairo.free.fr/down/build.py

生成器中用到的BaseHandler下载地址: http://chairo.free.fr/down/base_handler.py

Via:Chairo@2012年02月21日-EOF-

python下载数据

亲爱的BSSN给了一个flash游戏的数据库,还给了一个通过wget下载其中flash游戏数据的教程。测试中发现那个教程中wget方式下载数据经常下载到一半碰到出错或者什么原因给自动退出了。

趁这两天换工作有点时间,操刀python写了一段小脚本:

# -*- coding:utf-8 -*-
import os.path
import urllib2
 
def header(url):
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6',
        'Referer':'http://www.xxx.net/'
    }
 
    req = urllib2.Request(
        url = url,
        headers = headers
    )
    result = urllib2.urlopen(req).read()
    return result
 
f = open('flash.txt', 'r')
for line in open('flash.txt', 'rb'):
    if not os.path.isfile(line.rstrip()):
        _file = line.rsplit('/',1)[1]
        try:
            File = open('files/flash/%s'%_file.rstrip(), "wb" )
            File.write(header("http://www.xxx.net/games/files/%s"%_file.rstrip()))
            File.close()
        except Exception, what:
            print what
        print _file

下载完共6G多的数据,周五再调试一下准备弄一个简单站点把这些数据放上去看看效果了。

Via:Chairo@2012年02月16日-EOF-

逃兵

最近在创业公司做了逃兵,在某创业公司干了半年后撤退了。然后在v2ex发泄了一下“创业公司都是这样的么”,在俺的小肚鸡肠的争辩下发现其实这果然是创业公司的共性。感谢帖子中的@zealot@virushuo@avatasia

俺的观点在于:

  • 产品经理要写足够详细的文档
  • 少加班
  • 专心写代码,少干活

而产品经理的观点应该在于:

  • 想一个点子,具体逻辑和内容技术人员或者其他人员去细化补充就行了
  • 少干活

技术人员希望文档足够详细,只要按文档来一步一步开发就好了,技术人员专注于怎么写出精彩的代码。业务上的逻辑交给产品人员就好了。

产品人员希望我只出一个大概的方向和目标,具体内容技术人员搞定就好了。

终归一句话:大家都懒,都希望少干活。这才是最根本的冲突所在。

俺干不过产品,俺走了。半年时间都没什么精力来更新blog了,之后可以有一些精力做自己的事了

Via:Chairo@2012年02月15日-EOF-

python所谓文艺短网址生成方式代码

最近都没有写什么python和php的代码,工作非常充实,晚上也没有什么精神继续写代码。今天翻到一段写生成短网址的算法blog,发现俺用的是最2B的随机数方式……

为了表示不那么2B,特意写了段生产短地址的在该文章中所写的文艺代码:


def shortByHex(url):
    '''url缩短'''
    import hashlib
    _seed = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    _hex = hashlib.md5(url).hexdigest()
    _hexLen = len(_hex)
    _subHexLen = _hexLen / 8
    _output = []
 
    for i in xrange(0, _subHexLen):
        _subHex = _hex[i*8:i*8+8]
        _subHex = 0x3FFFFFFF&int(1*('0x%s'%_subHex), 16)
        _o = []
        for n in xrange(0, 6):
            _index = 0x0000003D & _subHex
            _o.append(_seed[int(_index)])
            _subHex = _subHex >> 5
        _output.append(''.join(_o))
    return _output
 
print shortByHex("password")
Via:Chairo@2012年01月12日-EOF-