存档在 2016年6月

LeanCloud的薪酬体系

2016年6月30日

来源:https://open.leancloud.cn/salary

简介

我们相信公平和透明的薪酬机制很有益于公司的长期健康发展。我们在设计薪酬体系时重点考虑了几个问题:

  • 避免薪酬倒挂:很多公司,尤其是大的互联网公司在人才竞争激烈的年份给出较高的入职薪水,而老员工的薪水因为惯性没有相应提高,所以造成了新员工入职薪酬高于老员工的不公平现象。
  • 消除薪酬谈判带来的不公平:在 招聘时,很多公司往往会根据候选人之前的薪酬以及他/她的期望值在可接受的范围内确定 offer。这样的方式事实上惩罚了之前薪酬偏低的人和不善于薪酬谈判的人,而有利于之前薪酬偏高或者善于薪酬谈判的人,造成了能力和贡献相似的人薪酬产 生较大差别,也就导致了组织内部的不公平。所以我们决定从机制上保证给出的 offer 完全取决于我们自己对候选人的独立评判,与其他因素无关。做到这一点,自然也就不应有任何因素导致我们对 offer 进行调整,就可以把薪酬谈判从招聘中去掉。
  • 简单透明:作为一个精简的创业公司,我们需要一个透明、自动化的机制来保证在薪酬这样的敏感问题上尽可能的公平。当人为因素越少,机制越透明时,大家就越不需要把注意力放在这些方面,日常运作也更简单高效。
  • 保持灵活性,避免线性等级:专业领域的专家和承担管理角色的同事对团队都很重要,这需要在薪酬体系中体现。

» 阅读更多: LeanCloud的薪酬体系

怎样通过.htaccess和.htpasswd保护程序目录

2016年6月30日

比如不想让搜索引擎的爬虫觇知PHPMyAdmin目录的所在,同时在PHPMyAdmin使用root账号密码登录之外增加一层密码。可以通过 .htaccess 和 .htpasswd 的组合对程序目录进行保护了。

1. 手工创建

在线工具:https://whoisdog.com/tool/htpasswd-generator/

加密算法:

  1. plain (Windows & TPF servers)
  2. Crypt (all Unix servers)
  3. MD5 (Apache servers only)
  4. SHA-1 (Netscape-LDIF / Apache servers)

比如账号:aaa,密码:bbb。

» 阅读更多: 怎样通过.htaccess和.htpasswd保护程序目录

怎样在CentOS上安装openLDAP

2016年6月29日

1. 安装

参考:http://www.linuxidc.com/Linux/2012-04/57932.htm
参考:http://blog.csdn.net/zhxue123/article/details/7409996
参考:http://cncc.bingj.com/cache.aspx?q=ldap+centos+7&d=4946034373235300&mkt=zh-CN&setlang=zh-CN&w=JLbrf9x2uqXJMnpfcZuJUE8s3gnzT-uS

2. 应用

参考:http://www.zentao.net/book/zentaoprohelp/148

怎样在CentOS安装ionCube loader

2016年6月29日

ionCube是用来加密PHP的工具。ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后的PHP代码就不在开源了,必须使用ionCube loader才可以执行加密过的PHP代码。PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载。ionCube loader是免费的,但是Encoder的价格就比较昂贵(起价$199)。

1. 安装源码

ioncube的安装不需要编译,只需要下载、解压,移动到/usr/local。

32位系统:http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
64位系统:http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

这儿以64位系统CentOS7上安装上为例。

wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz && tar xvfz ioncube_loaders_lin_x86-64.tar.gz && mv ioncube /usr/local/ioncube

2. 修改php.ini

/usr/local/ioncube/ 目录下有一系列.so文件,版本号是与当前服务器上的PHP版本相对应的,务必保证一致;带ts的表示 Thread Safety => enabled 情况下所需的文件。如果文件不匹配,将导致ioncube加载失败。

先查看PHP版本:

php -v

输出:

PHP 5.5.35 (cli) (built: May 25 2016 16:50:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

再查看Thread Safety状态:

php -i | grep "Thread Safety" -i 

输出:

Thread Safety => enabled

可以确定使用 ioncube_loader_lin_5.5_ts.so 这个文件。

编辑php.ini

打开 /usr/local/php/etc/php.ini ,在最后一行加入如下代码,保存:

[ionCube Loader]
zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.5_ts.so

重启Apache,然后查看是否正常加载ioncube:

service httpd stop && service httpd start
php -v

输出:

PHP 5.5.35 (cli) (built: May 25 2016 16:50:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.1.2, Copyright (c) 2002-2016, by ionCube Ltd.

安装完成!

3. 错误处理

报错1:

如果PHP版本不一致,报错“undefined symbol: pow_function”:

Failed loading /usr/local/ioncube/ioncube_loader_lin_5.6_ts.so:  /usr/local/ioncube/ioncube_loader_lin_5.6_ts.so: undefined symbol: pow_function
PHP 5.5.35 (cli) (built: May 25 2016 16:50:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

报错2:

如果 Thread Safety => enabled ,在php.ini中却引用 不带 “ts”的文件,报错“undefined symbol: executor_globals”:

Failed loading /usr/local/ioncube/ioncube_loader_lin_5.5.so:  /usr/local/ioncube/ioncube_loader_lin_5.5.so: undefined symbol: executor_globals
PHP 5.5.35 (cli) (built: May 25 2016 16:50:23)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

报错3:

如果以前装有Zend Optimizer,安装ionCube会和Zend Optimizer发生冲突,不过在php.ini添加代码的时候,将上面的添加到zend那一行之前就好了。

报错4:

如果PHP已升级,会有兼容性导致的报错:

Cannot load the ionCube PHP Loader - it was built with configuration API220121212,TS, whereas running engine is API220131226,TS

参考:https://www.sothink.cn/archives/2014/10/cannot-load-the-ioncube-php-loader.html

需要使用 locate 命令确认适配版本的ioncube程序的位置,并在 php.ini 中更新。

参考:https://amon.org/locate

4. 参考资料

参考:http://lxy.me/centos-install-ioncube-php-loader
参考:http://my.oschina.net/u/256646/blog/174211
参考:http://forum.ioncube.com/viewtopic.php?t=171
参考:http://serverfault.com/questions/746305/issue-installing-ioncube-with-php-5-6-11-with-apache-2-4-16-on-centos-6-7

源码:TestLink 测试管理系统

2016年6月29日

TestLink 是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。

官网:http://www.testlink.org/

下载:http://sourceforge.net/projects/testlink/files/latest/download?source=files

演示:http://demo.testlink.org/

参考:http://www.cnblogs.com/fnng/archive/2011/11/24/2262357
参考:http://www.ltesting.net/ceshi/open/kycsglgj/testlink/

安装:

Checking LDAP library Failed! LDAP library not enabled. LDAP authentication cannot be used. (default internal authentication will works).

参考:http://php.net/manual/en/ldap.installation.php

“LDAP support in PHP is not enabled by default. You will need to use the –with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. ”

/etc/openldap