手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2009年02月的文章

服务器合托

本来不好意思写上来的,但想想,还是写上来吧。(穷,没办法,呵呵)
服务器征求合托,以下是服务器的资料,以及待托管的情况:

服务器型号:dell 2850
内存:512M * 4
硬盘:72*4+36*1,作raid 1,scsi硬盘,所以,可用的是144+18,除去系统占用空间,估计最少有100G可用。
托管:考虑是电信,暂不作双线考虑(目前在网通,大致准备6月份左右搬)
准备:提供SVN服务,WEB服务(LAMP + memcached + eacceraltra),(FTP可以考虑。)MAIL服务 坚决不考虑
(目前是windows系统,准备迁出后,大约有2天时间进行 LINUX或FREEBSD的安装配置)
1k 10G 拍卖,筹够资金后就考虑搬迁,并不一定是非要在6月份,呵呵)

[为避免过于影响浏览者的视线,置顶时间为一个月,谢谢理解]

QQ:19129540
MSN:GOUKIXIAO%HOTMAIL。COM
不好意思,实在是为了防止被抓取到。

Tags: 服务器, 托管, 电信

学做jQuery中的data()函数

看到这个内容的时候,很吃惊,其实我在以前看到过一个R开头的网站时(记不清了,实在记不清了),他用JS做了一个cache函数,对函数做了缓存。还用了斐伯拉切函数做了测试。后来我根据他写的代码用jQuery写了一个类似的插件(它是把方法注册到了window对象里,所以加快了一些速度)。后来感觉这样的方法也同样可以用在数据上,又根据这样的想法写了一个存储数据的cache函数。也分别用在了两个不同的项目里。

如今又看到有人写这样类似的东西,就把他贴上来进行分享。

文章的内容来自:

原文如下:http://www.cssrain.cn/article.asp?id=1295

在jQuery中可以使用data()来给元素存储临时的变量:
// jQuery:
    // Set data:
    $(elem).data('customProperty', 12345);
    // Get data:
    $(elem).data('customProperty');

在mootools中可以使用store()来给元素存储临时的变量:
// MooTools:
    // Set data:
    elem.store('customProperty', 12345);
    // Get data:
    elem.retrieve('customProperty');


下面我们用JavaScript 自己动手写一个:
(function(){

    var cache = [0],
          expando = 'data' + +new Date();

    function data(elem) {

        var cacheIndex = elem[expando],
            nextCacheIndex = cache.length;

        if(!cacheIndex) {
            cacheIndex = elem[expando] = nextCacheIndex;
            cache[cacheIndex] = {};
        }

        return cache[cacheIndex];

    }

    window.data = data;

})();

使用:
var myElem = document.getElementById('id');
// 设置data:
data(myElem).customProperty = 12345;
// 获取 data:
data(myElem).customProperty; // returns 12345

//  用其他的变量
data(myElem).info = {
    a : 123,
    b : [4,5,6]
};


这个脚本其实很简单,就是往cache 数组里添加 下标 元素。
默认cache=[0] ,当 elem[expando] 没有获取到时,则往数组里 添加一个下标,同时下标又与数组是关联起来的。
如果elem[expando]获取到时,则直接返回  cache[cacheIndex] 。


这点搞定后,那就简单了,就是往一个空对象中 配置 属性了。



进一步修改函数:
// WITH ENCAPSULATION:
(function(){

    var cache = [0],
        expando = 'data' + +new Date();

    function data(elem) {

        var cacheIndex = elem[expando],
            nextCacheIndex = cache.length;

        if(!cacheIndex) {
            cacheIndex = elem[expando] = nextCacheIndex;
            cache[cacheIndex] = {};
        }

        return {
            get : function(key) {
                return cache[cacheIndex][key];
            },
            set : function(key, val) {
                cache[cacheIndex][key] = val;
                return val;
            }
        }

    }

    window.data = data;

})();

用法:
var myElem = document.getElementById('id');

// 设置data:
data(myElem).set('customProperty', 12345);

// 获取data:
data(myElem).get('customProperty'); // returns 12345


ok,一个类似jQuery的data()函数就完成了。


其实我自己还是觉得用对象更好处理一些,一来,对象不象数组,一定要用下标才能读取,而且对于对象的覆盖等,也方便很多。删除的话也容易。

Tags: data, cache, 缓存

给自己的备份:居住证评分标准

最近上海的户籍政策作出了很大的变化,其实这也是很正常的。
上海的老龄化呈上升趋势,而社保资金随着社会老龄化的增长会逐渐不够使用,这时候怎么办?当然是需要有更多的人来为他们埋单,光靠上海现在这些年轻人肯定是不够的,于是新政策就会出来,吸引更多的人来加入埋单行列。
毕竟七年之长,才有机会加入上海户籍,但会有更多的人加入办理居住证的行列。(原先有很多人不愿意办,因为办了也是白办,又不在上海,交了这些钱都是白 交的,现在有动力了)

以下据说是现在的标准,好象是从02年开始的:
国内人才申领《上海市居住证》审核试行办法

    第一条(依据)

    根据市政府发布的《引进人才实行〈上海市居住证〉制度暂行规定》,制订本试行办法。

    第二条(适用范围)

    凡按规定申领《上海市居住证》(以下简称《居住证》)的国内人员,试行按要素计分审核。

    第三条(用人单位)

    本试行办法所称用人单位是指信誉良好,具有用人自主权,在本市行政区域内注册登记,符合本市产业发展方向的各类企业、事业、社团、民办非企业机构,以及住所在本市行政区域内的中央及外省市在沪单位。

    第四条(评价计分体系)

    本试行办法的评价计分体系由一般分和附加分两大部分、共14项要素组成,满分为120分。
    一般分部分由基本分、专业能力分、导向分三小部分、共10项要素组成,满分为120分。
    附加分由4项要素组成,满分为30分。
    申领《居住证》者的得分,为两大部分、14项要素得分的累计分值;累计分值如超过120分,计为120分。

    第五条(一般分)

    一般分部分由基本分、专业能力分和导向分三小部分组成。

    一、基本分部分满分为55分,由年龄、受教育程度、受聘情况、亲属关系、住房情况等5项要素组成。
    (一)年龄
    年龄项最高分为10分。
    本项具体计分标准如下:
    1、35周岁以下                         10分
    2、36??50周岁                        5分
    3、51周岁以上                          0分
    (二)受教育程度
    受教育程度项最高分为25分,只计最高学历(学位);硕士、博士要求同时取得学历和学位。
    本项具体计分标准如下:
    1、博士                               25分
    2、硕士                               23分
    3、学士                               21分
    4、大学本科                           20分
    5、大专(高职)                       10分
    6、高中(含职校、技校、中专)及以下      0分
    (三)受聘情况
    受聘情况项最高分为10分,根据受聘于本市用人单位的情况计分。
    本项具体计分标准如下:
    1、以项目、任务等方式聘用             10分
    2、聘用(劳动)合同期限在一年及以上   10分
    3、聘用(劳动)合同期限不满一年        5分
    4、未受聘                              0分
    (四)亲属关系
    亲属关系项最高分为5分。
    本项具体计分标准如下:
    1、父母、配偶中有一人为本市户籍        5分
       或配偶已取得3年及以上有效期《居住证》
       或配偶要素累计分(不含本项分值)达到3年及以上有效期《居住证》标准分
    2、其它                                0分
    (五)住房情况
    住房情况项最高分为5分,“在本市有产权住房”是指本人为产权人或共有产权人。
    本项具体计分标准如下:
    1、在本市有产权住房                    5分
    2、其它                                0分

    二、专业能力分
    专业能力分部分满分为35分,由专业能力和专业培训等2项要素组成。
    “特殊才能”的人才,专业能力的计分标准另行制定。
    (一)专业能力
    专业能力项最高分为30分,同时符合两个及以上标准只计最高分值。“获得执业(职业)资格”根据不同的执业(职业)资格,给予5?15分。“拥有发明专利”是指由申请人发明创造的专利,经同行专家认定后根据专利水平给予5?10分。
    本项具体计分标准如下:
    1、两院院士                           30分
    2、博士生导师                         25分
       或获得国家级奖励
    3、获正高级专业技术职务任职资格       20分
       或受聘于事业单位正高级专业技术岗位
       或受聘于机关担任局级以上职务
       或受聘于企业高级管理或专业技术岗位,缴税月收入在10000元及以上
    4、获副高级专业技术职务任职资格       18分
       或受聘于事业单位副高级专业技术岗位
       或受聘于机关担任处级以上职务
       或受聘于企业中级管理或专业技术岗位、缴税月收入在5000元及以上
       或获得省部级奖励
    5、获中级专业技术职务任职资格         15分
       或受聘于事业单位中级专业技术岗位
       或受聘于机关担任科级以上职务
       或受聘于企业一般管理或专业技术岗位,缴税月收入在2000元及以上
    6、获初级专业技术职务任职资格          5分
       或受聘于事业单位初级专业技术岗位
       或受聘于机关担任一般职务
       或受聘于企业初级专业技术岗位、缴税月收入在1000元及以上
    7、获得执业(职业)资格            5?15分
    8、拥有发明专利                    5?10分
    9、其它                                0分
    (二)专业培训
    专业培训项最高分为5分。对于国家、本市和境外的专业培训证书,经认定给予1?5分。有多种证书分值可累计,但总分不超过5分。各类开展专业培训、发放专业培训证书的合法机构,可向市人事局申报专业培训证书认定,经认定后纳入本评价计分体系并予以公布。
    本项具体计分标准如下:
    1、取得经认定的专业培训证书         1?5分
    2、未取得经认定的专业培训证书          0分

    三、导向分
    导向分部分满分为30分,由专业类别导向、产业(行业)导向、地区导向等3项要素组成。
    (一)专业类别导向
    专业类别导向项最高分为10分,根据年度人才开发目录划分紧缺、需要、控制。
    本项具体计分标准如下:
    1、紧缺                               10分
    2、需要                                5分
    3、控制                                0分
    (二)产业(行业)导向
    产业(行业)导向项最高分为10分,“高新技术、软件、集成电路行业”指经市政府有关部门认定的上述行业的企业引进相关的人才;“本市重点发展产业(行业)”根据年度人才开发目录确定。
   本项具体计分标准如下:
    1、高新技术、软件、集成电路行业       10分
    2、本市重点发展产业(行业)           10分
    3、其它                                0分
    (三)地区导向
    地区导向项最高分为10分,重点发展地区根据年度人才开发目录确定,要求居住地、工作地同时在重点发展地区。
    本项具体计分标准如下:
    1、重点发展地区                       10分
    2、一般地区                            0分

    第六条(附加分)

    附加分部分最高分为30分,包括同行专家推荐附加分、人才在沪投资创业附加分、境外工作或学习经历附加分以及根据国家和本市法规规定经核定给予的附加分等4项要素,4项要素的得分可累计,但最高不超过30分。
    (一)同行专家、行业协会或行业主管部门推荐附加分
    同行专家、行业协会或行业主管部门推荐附加分项最高分为20分,如有多名专家和行业协会或行业主管部门同时推荐只计最高分。行业协会或行业主管部门向市人事局提出申请,经市人事局备案同意后具备推荐本行业“特殊才能”人才的资格
    本项具体计分标准如下:
    1、两院院士推荐                       20分
    2、行业协会或行业主管部门特别推荐      15分
    3、博士生导师推荐                     15分
    4、其它                               0分
    (二)人才在沪投资创业附加分
    人才在沪投资创业附加分项最高分为20分。在沪投资额可累计;如创办多个企业及机构,缴税额可累计,聘用本市员工人数可累计。
    本项具体计分标准如下:
    1、投资额在1000万元人民币及以上      20分
       或投资创办的企业连续三年缴税额在100万元及以上
       或投资创办的单位聘用本市员工100人及以上
    2、投资额在500万元人民币及以上       15分
       或投资创办的企业连续三年缴税额在50万元及以上
       或投资创办的单位聘用本市员工50人及以上
    3、投资额在300万元人民币及以上       10分
       或投资创办的企业连续三年缴税额在30万元及以上
       或投资创办的单位聘用本市员工30人及以上
       或在本市投资创办民办非企业机构
    4、投资额在100万元人民币及以上        5分
       或投资创办的企业连续三年缴税额在10万元及以上
       或投资创办的单位聘用本市员工10人及以上
    5、其它                                0分
    (三)境外工作或学习经历附加分
    境外工作或学习经历附加分最高分为10分,经历应当连续,不得累计;有多次经历只计最高分。
    本项具体计分办法如下:
    1、有一年及以上境外工作或留学经历     10分
    2、有三个月及以上境外学习或工作经历    5分
    3、其它                                0分
    (四)根据国家和本市法规规定经核定给予的附加分
根据国家和本市法规规定给予的附加分项最高分为20分,是指国家和本市的有关法律、法规和规章有相应规定,经市人事局核定后可给予5?20分。
    本项具体计分办法如下:
    1、法规有相应规定                  5?20分
    2、其它                                0分

    第七条(标准分)

    一、暂未被本市用人单位聘用的本科及以上学历人员,要素累计分值在50分及以上者,可办理有效期为6个月的《居住证》。
    二、已被本市用人单位聘用或在本市投资创业的人员,可按要素累计分值分别办理1年、3年、5年有效期的《居住证》:
    1、分值在90分及以上者,可由申请人任选办理三种有效期的《居住证》;
    2、分值在89分以下、70分及以上者,可由申请人选择办理3年及以下有效期的《居住证》;
    3、分值在69分以下、60分及以上者,可办理1年有效期的《居住证》。

    第八条(本办法的调整)

    市人事局根据人才引进宏观调控的需要,及时确定、调整并公布申领6个月、1年、3年和5年有效期《居住证》的条件和标准分。

    第九条(附则)

    本试行办法自2002年6月15日起实行。

纯粹是一个备份

Tags: 居住证

关于set names

一般我们在设置数据库字符集的时候,都是用mysql_query('set names utf8')这样来处理,但其实这样处理的不全,象discuz等都是采用了全部的操作,它是这样的:mysql_query('character_set_connection=utf8, character_set_results=utf8 character_set_client=binary'),也只有这样,才会比较全面。
仔细看手册 ,手册上也这样写着:
  Note: This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not reccomended.

那么,我们该怎么处理呢?从PHP5.2.3开始多了一个函数,它就是:mysql_set_charset,你可以:

PHP代码
  1. <?  
  2. $conn = .... //假设这是连接后的 resource ID  
  3. if( mysql_client_encoding ( $conn) != 'utf8' ){  
  4.     mysql_set_charset('utf8');  
  5. }  
这样才是比较推荐的用法。不过,这样的用法也是有要求的,手册告诉我们:

Note: This function requires MySQL 5.0.7 or later.

传说需要采用这样的方法,是因为set names在某些字符集的时候有安全隐患。

Tags: mysql, charset, php

TP单字母函数整理

这是一篇TdWeb的笔记,在征得他的同意后,我放了上来。他最初是为Lite版本写的,但现在这些单字母函数在标准版里也都同样存在了。因此这些资料在两个版本的ThinkPHP中都同样适用。由于Tdweb偷了点懒,部分代码都是直接复制过来的,所以,我稍做了一下整理(主要是页面样式的稍做更新,同时对于部分语句进行了一些更新,tdweb莫生气)
原文网址:http://bitctw.cn/hl/docs/
原文如下:(我仅针对单字母函数作介绍)

  TP所有单独的函数,除了两个用来生成项目的buildAppDir之类的,其余都在框架目录/Common/functions.php这个文件里。

  有人不太喜欢TP这种单字母函数,其实这也是TP的一个特色,如果理解了这些函数的作用,不管是背,还是写,都是非常方便的,接下来我们以字母顺序开始。

A函数(基本是Action的简写)

  A函数是用来实例化我们的Action类的,例如我们的程序有2个Action分别是IndexAction和TestAction,在 IndexAction中有个myHello方法能够输出hello world,如果我也想在TestAction中也输出同样一段文字怎么办?最原始的方法首先我们导入IndexAction.class.php这个文 件,然后new IndexAction,最后调用myHello方法才行。

代码一般为 :

PHP代码
  1. <?php  
  2. import("@.Action.Index");  
  3. //导入本项目目录下Action目录下的Index.class.php文件。  
  4. class TestAction extends Action{  
  5.     public function index()  
  6.     {  
  7.         $index=new IndexAction();//实例化IndexAction  
  8.         echo $index->myHello();//调用myHello()方法  
  9.     }  
  10. }  
  11. ?>  

那么,如果我们用A函数,怎么写呢?

PHP代码
  1. <?php  
  2. class TestAction extends Action{  
  3.     public function index()  
  4.     {  
  5.         $index=A("Index");  
  6.         echo $index->myHello();  
  7.     }  
  8. }  
  9. ?>  

  呵呵,少写很多代码吧。当然,这还不是最偷懒的方法,请看下边的R()函数,就知道什么是偷懒的极致了。

B函数

  这是随着行为应运而生的新生函数,可以执行某个行为,例如B('app_begin');就是在项目开始之前,执行这个行为定义的所有函 数,支持2个参数,第二个参数支持需要接受一个数组,例如B('app_begin',array("name"=>"tdweb","time"=>time()));这样。

C函数

  获取配置值,这个大家用的应该不少。虽然使用方便,但是C函数无疑是一个非常强大的函数。

获取值:  
获取所有设置:C(); 不传递任何参数,返回一个包含所有设置的数组。
获取指定配置:C('URL_MODEL') 这样就能得到URL_MODEL的配置信息
获取指定二维数组配置:C("array.name"),这样就返回数组array下的key为name所对应的值

设置值:
为二维数组赋值C("array.name","value"),原理同上(获取array.name的值),后边的value是值

批量赋值:
$test=array("URL_MODEL"=>1,"THIN_MODEL"=>true");
C($test);
这样直接将数组里的值赋值了

判断是否赋值:
C("?URL_MODEL")这样前边加个"?",如果已经赋值,则返回true

  需要说明的是,这里虽然更改了配置的值,但是仅仅是这个页面做了更改,到下个页面就不起作用了,如果想改就永久更改,那么需要配合F函数,将配置文件写入config.php才行。

D函数

  DAO函数应该是我们写程序用的最多的函数了。和A函数类似,如果不使用D函数,就需要导入Model,然后new Model,剩下都是一样的。

  但是D函数有2个有点,一是如果之前实例化过这个Model,那么就不再实例化了,剩资源;二是方便调试,如果不存在 这个Model,会抛出TP异常,非常人性化。

  如果访问本项目的Model直接D("Model名称");就可以了,如果打算跨项目访问,就使用 D("Model名称","项目名称");其他的就没什么说的了

F函数

  快速读取和保存文件数据

  快速保存数据:F("mydata","这里是要保存的数据"),这样就在项目Data目录下保存了一个名叫mydata.php的文件,里边的内容是该函数的第二个参数。

  指定保存时间 :F("mydata","这里是要保存的数据","60"),这样,如果下次再访问,间隔大于60秒则删除次缓存文件。

  指定保存目录:F("mydata","这里是要保存的数据","60",DATA_PATH) ,这样就指定保存在data目录下

  立即删除缓存:F("mydata",null),第二个参数传递一个null值,这样就删除了mydate这个缓存

  读取缓存数据:F("mydata"),这样就读取这个缓存了

L函数

  语言定义函数,L("intro")获取定义成intro的语言,l("intro","介绍")为intro赋值,关于这个赋值的长久性,道理同C函数一样。

R函数

  还记得我们的A函数吧,如果仅仅想执行某个方法,其实用R函数更方便,刚才的可以替换成

PHP代码
  1. <?php  
  2. class TestAction extends Action{  
  3.     public function index()  
  4.     {  
  5.         $index=R("Index","myHello");  
  6.         echo $index;  
  7.     }  
  8. }  
  9. ?>  

 呵呵,是不是更简单?

S函数

  全局缓存读写函数,和C类似,不过是直接写成文件的哦,写在Temp目录下,不过在缓存有一点需要注意,如果缓存名称是aaa,那么缓存生成的文件名称就是md5("aaa")的值,值得注意。

U函数

  U函数是很强大的一个函数,它主要是进行URL组装,同时支持不同模式和路由

例如:
取得当前模块的Action地址 :U("/nowMethod");
取得当前模块的Action地址,并传递参数:U("/nowMethod?params=test");

  (如果不习惯上边那种方式,可以使用U("/nowMethod",array("params"=>"test");这样的数组方式传递参数,效果是一样的)

  访问其他模块的方法:U("Other/otherMethod"),这样就是访问Other模块下的otherMethod方法
跨项目访问:U("appname://Other/otherMethod");
使用路由访问:U("appName://routeName@moduleName/actionName?params");

  另外,如果想直接跳转,那么就在第二个参数写1,例如U("/nowMethod",1);这样就直接调转到指定URL了

  好了,介绍了TP的9大函数,相信你或多或少也有些了解了吧。如果想了解更多更好的功能,请看function.php的代码,注释很详尽

 

稍微排版了下,也删了点不太和谐的内容,希望可以给大家带来帮助。。

Tags: thinkphp, 单字母, 函数, 整理

Records:341234567