新发布流程执行流程

总结zkbhj 发表了文章 • 0 个评论 • 1512 次浏览 • 2016-09-06 18:15 • 来自相关话题

【新发布流程执行流程】
1:把tag分支的代码保持最新;
2:到ci.ziroom.com上打包;
web->projectName -> Build with Parameters -> SRC_BRANCH里填上自己的分支名 -> 打包,得到id #44

3:到http://os.ziroom.com/o/ 部署代码;
部署代码 -> 选择相应的项目环境点击发布 --> 选择刚刚打包的版本 -> 点击顶部部署 -> ok

4:给测试进行测试,如果测试通过。这个包就可以变成可上线的包(需要测试操作);
5:上线完成后,将该分支merge到master上。
6:完成。 查看全部
【新发布流程执行流程】
1:把tag分支的代码保持最新;
2:到ci.ziroom.com上打包;
web->projectName -> Build with Parameters -> SRC_BRANCH里填上自己的分支名 -> 打包,得到id #44

3:到http://os.ziroom.com/o/ 部署代码;
部署代码 -> 选择相应的项目环境点击发布 --> 选择刚刚打包的版本 -> 点击顶部部署 -> ok

4:给测试进行测试,如果测试通过。这个包就可以变成可上线的包(需要测试操作);
5:上线完成后,将该分支merge到master上。
6:完成。

什么是事务?有何特性?

数据库zkbhj 发表了文章 • 0 个评论 • 1332 次浏览 • 2016-08-22 17:45 • 来自相关话题

  事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

    针对上面的描述可以看出,事务的提出主要是为了解决并发情况下保持数据一致性的问题。

    事务具有以下4个基本特征。

●   Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。

●   Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。

●   Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。

●   Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。 查看全部
  事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

    针对上面的描述可以看出,事务的提出主要是为了解决并发情况下保持数据一致性的问题。

    事务具有以下4个基本特征。


●   Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。

●   Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。

●   Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。

●   Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。


凯冰科技未来要做的事

想法优化zkbhj 发表了文章 • 0 个评论 • 2015 次浏览 • 2016-08-17 15:21 • 来自相关话题

1、建立“凯冰科技前端规范”站点;
2、新建“关于凯冰科技”站点;
3、登录cookie内容采用aes加密;
4、凯冰商城;
5、个人空间;
6、CMS系统持续优化;
7、凯冰账本改版;
 
 
8、建立开发者博客,分为两大方向前端和后端。邀请技术爱好者分享自己的学习经验和工作经验等。
9、凯冰音乐增加音乐心情功能,自动匹配适合的音乐播放。 查看全部
1、建立“凯冰科技前端规范”站点;
2、新建“关于凯冰科技”站点;
3、登录cookie内容采用aes加密;
4、凯冰商城;
5、个人空间;
6、CMS系统持续优化;
7、凯冰账本改版;
 
 
8、建立开发者博客,分为两大方向前端和后端。邀请技术爱好者分享自己的学习经验和工作经验等。
9、凯冰音乐增加音乐心情功能,自动匹配适合的音乐播放。

PHP用CURL模拟POST和GET请求方法

PHPzkbhj 发表了文章 • 0 个评论 • 1582 次浏览 • 2016-08-16 15:25 • 来自相关话题

在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了。
 
【例1】
<?php
$uri = "http://tanteng.duapp.com/test.php";
// 参数数组
$data = array (
'name' => 'tanteng'
// 'password' => 'password'
);

$ch = curl_init ();
// print_r($ch);
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );

print_r($return);

接受php页面远程服务器:

<?php
if(isset($_POST['name'])){
if(!empty($_POST['name'])){
echo '您好,',$_POST['name'].'!';
}
}
?>【例2:模拟POST请求 提交数据或上传文件】
http://www.a.com/a.php

发送POST请求

function execUpload(){


$file = '/doucment/Readme.txt';
$ch = curl_init();
$post_data = array(
'loginfield' => 'username',
'username' => 'ybb',
'password' => '123456',
'file' => '@d:usrwwwtranslatedocumentReadme.txt'
);
curl_setopt($ch, CURLOPT_HEADER, false);
//启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
curl_setopt($ch, CURLOPT_URL, 'http://www.b.com/handleUpload.php');
$info= curl_exec($ch);
curl_close($ch);

print_r($info);

}

2.http://www.b.com/handleUpload.php

function handleUpload(){
print_r($_POST);
echo '===file upload info:';
print_r($_FILES);
}【CURL函数列表】

■curl_close — 关闭一个cURL会话
■curl_copy_handle — 复制一个cURL句柄和它的所有选项
■curl_errno — 返回最后一次的错误号
■curl_error — 返回一个保护当前会话最近一次错误的字符串
■curl_exec — 执行一个cURL会话
■curl_getinfo — 获取一个cURL连接资源句柄的信息
■curl_init — 初始化一个cURL会话
■curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄
■curl_multi_close — 关闭一组cURL句柄
■curl_multi_exec — 运行当前 cURL 句柄的子连接
■curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流
■curl_multi_info_read — 获取当前解析的cURL的相关传输信息
■curl_multi_init — 返回一个新cURL批处理句柄
■curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
■curl_multi_select — 等待所有cURL批处理中的活动连接
■curl_setopt_array — 为cURL传输会话批量设置选项
■curl_setopt — 设置一个cURL传输选项
■curl_version — 获取cURL版本信息 查看全部
在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了。
 
【例1】
<?php
$uri = "http://tanteng.duapp.com/test.php";
// 参数数组
$data = array (
'name' => 'tanteng'
// 'password' => 'password'
);

$ch = curl_init ();
// print_r($ch);
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );

print_r($return);

接受php页面远程服务器:

<?php
if(isset($_POST['name'])){
if(!empty($_POST['name'])){
echo '您好,',$_POST['name'].'!';
}
}
?>
【例2:模拟POST请求 提交数据或上传文件】
http://www.a.com/a.php

发送POST请求

function execUpload(){


$file = '/doucment/Readme.txt';
$ch = curl_init();
$post_data = array(
'loginfield' => 'username',
'username' => 'ybb',
'password' => '123456',
'file' => '@d:usrwwwtranslatedocumentReadme.txt'
);
curl_setopt($ch, CURLOPT_HEADER, false);
//启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
curl_setopt($ch, CURLOPT_URL, 'http://www.b.com/handleUpload.php');
$info= curl_exec($ch);
curl_close($ch);

print_r($info);

}

2.http://www.b.com/handleUpload.php

function handleUpload(){
print_r($_POST);
echo '===file upload info:';
print_r($_FILES);
}
【CURL函数列表】


■curl_close — 关闭一个cURL会话
■curl_copy_handle — 复制一个cURL句柄和它的所有选项
■curl_errno — 返回最后一次的错误号
■curl_error — 返回一个保护当前会话最近一次错误的字符串
■curl_exec — 执行一个cURL会话
■curl_getinfo — 获取一个cURL连接资源句柄的信息
■curl_init — 初始化一个cURL会话
■curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄
■curl_multi_close — 关闭一组cURL句柄
■curl_multi_exec — 运行当前 cURL 句柄的子连接
■curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流
■curl_multi_info_read — 获取当前解析的cURL的相关传输信息
■curl_multi_init — 返回一个新cURL批处理句柄
■curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
■curl_multi_select — 等待所有cURL批处理中的活动连接
■curl_setopt_array — 为cURL传输会话批量设置选项
■curl_setopt — 设置一个cURL传输选项
■curl_version — 获取cURL版本信息


兼容Java的AES加密

PHPzkbhj 发表了文章 • 0 个评论 • 1526 次浏览 • 2016-08-15 16:26 • 来自相关话题

 <?php
class CryptAES
{
protected $cipher = MCRYPT_RIJNDAEL_128;
protected $mode = MCRYPT_MODE_ECB;
protected $pad_method = NULL;
protected $secret_key = '';
protected $iv = '';

public function set_cipher($cipher)
{
$this->cipher = $cipher;
}

public function set_mode($mode)
{
$this->mode = $mode;
}

public function set_iv($iv)
{
$this->iv = $iv;
}

public function set_key($key)
{
$this->secret_key = $key;
}

public function require_pkcs5()
{
$this->pad_method = 'pkcs5';
}

protected function pad_or_unpad($str, $ext)
{
if ( is_null($this->pad_method) )
{
return $str;
}
else
{
$func_name = __CLASS__ . '::' . $this->pad_method . '_' . $ext . 'pad';
if ( is_callable($func_name) )
{
$size = mcrypt_get_block_size($this->cipher, $this->mode);
return call_user_func($func_name, $str, $size);
}
}
return $str;
}

protected function pad($str)
{
return $this->pad_or_unpad($str, '');
}

protected function unpad($str)
{
return $this->pad_or_unpad($str, 'un');
}

public function encrypt($str)
{
$str = $this->pad($str);
$td = mcrypt_module_open($this->cipher, '', $this->mode, '');

if ( empty($this->iv) )
{
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
}
else
{
$iv = $this->iv;
}

mcrypt_generic_init($td, $this->secret_key, $iv);
$cyper_text = mcrypt_generic($td, $str);
$rt=base64_encode($cyper_text);
//$rt = bin2hex($cyper_text);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $rt;
}

public function decrypt($str){
$td = mcrypt_module_open($this->cipher, '', $this->mode, '');

if ( empty($this->iv) )
{
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
}
else
{
$iv = $this->iv;
}

mcrypt_generic_init($td, $this->secret_key, $iv);
//$decrypted_text = mdecrypt_generic($td, self::hex2bin($str));
$decrypted_text = mdecrypt_generic($td, base64_decode($str));
$rt = $decrypted_text;
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $this->unpad($rt);
}

public static function hex2bin($hexdata) {
$bindata = '';
$length = strlen($hexdata);
for ($i=0; $i < $length; $i += 2)
{
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}

public static function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}

public static function pkcs5_unpad($text)
{
$pad = ord($text{strlen($text) - 1});
if ($pad > strlen($text)) return false;
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false;
return substr($text, 0, -1 * $pad);
}
}

$keyStr = '8dfw091qdfdl5l2tt6wewewfdqxj';
$plainText = 'this is a string will be AES_Encrypt1';
$params = array(
"uid"=>"77a968d1-1d67-6fc0-fb48-88848f99da63",
"systemSource"=> "ami"
);
$string = json_encode($params);
$aes = new CryptAES();
$aes->set_key($keyStr);
$aes->require_pkcs5();
$encText = $aes->encrypt($string);
$decString = $aes->decrypt($encText);

echo $encText,"<br>",$string;

?> 查看全部
 
<?php
class CryptAES
{
protected $cipher = MCRYPT_RIJNDAEL_128;
protected $mode = MCRYPT_MODE_ECB;
protected $pad_method = NULL;
protected $secret_key = '';
protected $iv = '';

public function set_cipher($cipher)
{
$this->cipher = $cipher;
}

public function set_mode($mode)
{
$this->mode = $mode;
}

public function set_iv($iv)
{
$this->iv = $iv;
}

public function set_key($key)
{
$this->secret_key = $key;
}

public function require_pkcs5()
{
$this->pad_method = 'pkcs5';
}

protected function pad_or_unpad($str, $ext)
{
if ( is_null($this->pad_method) )
{
return $str;
}
else
{
$func_name = __CLASS__ . '::' . $this->pad_method . '_' . $ext . 'pad';
if ( is_callable($func_name) )
{
$size = mcrypt_get_block_size($this->cipher, $this->mode);
return call_user_func($func_name, $str, $size);
}
}
return $str;
}

protected function pad($str)
{
return $this->pad_or_unpad($str, '');
}

protected function unpad($str)
{
return $this->pad_or_unpad($str, 'un');
}

public function encrypt($str)
{
$str = $this->pad($str);
$td = mcrypt_module_open($this->cipher, '', $this->mode, '');

if ( empty($this->iv) )
{
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
}
else
{
$iv = $this->iv;
}

mcrypt_generic_init($td, $this->secret_key, $iv);
$cyper_text = mcrypt_generic($td, $str);
$rt=base64_encode($cyper_text);
//$rt = bin2hex($cyper_text);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $rt;
}

public function decrypt($str){
$td = mcrypt_module_open($this->cipher, '', $this->mode, '');

if ( empty($this->iv) )
{
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
}
else
{
$iv = $this->iv;
}

mcrypt_generic_init($td, $this->secret_key, $iv);
//$decrypted_text = mdecrypt_generic($td, self::hex2bin($str));
$decrypted_text = mdecrypt_generic($td, base64_decode($str));
$rt = $decrypted_text;
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $this->unpad($rt);
}

public static function hex2bin($hexdata) {
$bindata = '';
$length = strlen($hexdata);
for ($i=0; $i < $length; $i += 2)
{
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}

public static function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}

public static function pkcs5_unpad($text)
{
$pad = ord($text{strlen($text) - 1});
if ($pad > strlen($text)) return false;
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false;
return substr($text, 0, -1 * $pad);
}
}

$keyStr = '8dfw091qdfdl5l2tt6wewewfdqxj';
$plainText = 'this is a string will be AES_Encrypt1';
$params = array(
"uid"=>"77a968d1-1d67-6fc0-fb48-88848f99da63",
"systemSource"=> "ami"
);
$string = json_encode($params);
$aes = new CryptAES();
$aes->set_key($keyStr);
$aes->require_pkcs5();
$encText = $aes->encrypt($string);
$decString = $aes->decrypt($encText);

echo $encText,"<br>",$string;

?>

使PHP7发挥性能需要注意哪些设置

PHPzkbhj 发表了文章 • 0 个评论 • 1476 次浏览 • 2016-08-15 15:05 • 来自相关话题

让PHP7达到最高性能的几个建议:
 
1. Opcache

记得启用Zend Opcache,因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快,所以之前测试时期就发生了有人一直没有启用Opcache的事情。启用Opcache非常简单,在php.ini配置文件中加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
2. 使用新的编译器

使用新一点的编译器,推荐GCC 4.8以上,因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持,这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)

其实GCC 4.8以前的版本也支持,但是我们发现它支持的有Bug,所以必须是4.8以上的版本才会开启这个特性。
 
3. HugePage

我之前的文章也介绍过: 让你的PHP7更快之Hugepage ,首先在系统中开启HugePages,然后开启Opcache的huge_code_pages。

以我的CentOS 6.5为例,通过:
$sudo sysctl vm.nr_hugepages=512分配512个预留的大页内存:
$ cat /proc/meminfo | grep Huge
AnonHugePages: 106496 kB
HugePages_Total: 512
HugePages_Free: 504
HugePages_Rsvd: 27
HugePages_Surp: 0
Hugepagesize: 2048 kB然后在php.ini中加入:
opcache.huge_code_pages=1
这样一来,PHP会把自身的text段,以及内存分配中的huge都采用大内存页来保存,减少TLB miss,从而提高性能。

4. Opcache file cache

开启Opcache File Cache(实验性),通过开启这个,我们可以让Opcache把opcode缓存缓存到外部文件中,对于一些脚本,会有很明显的性能提升。
在php.ini中加入:
opcache.file_cache=/tmp
这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件,可以跨PHP生命周期存在。

5. PGO

我之前的文章: 让你的PHP7更快(GCC PGO) 也介绍过,如果你的PHP是专门为一个项目服务,比如只是为你的Wordpress,或者drupal,或者其他什么,那么你就可以尝试通过PGO,来提升PHP,专门为你的这个项目提高性能。

具体的,以wordpress 4.1为优化场景。首先在编译PHP的时候首先:
$ make prof-gen
然后用你的项目训练PHP,比如对于Wordpress:
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
也就是让php-cgi跑100遍wordpress的首页,从而生成一些在这个过程中的profile信息。

最后:
$ make prof-clean
$ make prof-use这个时候你编译得到的PHP7,就是为你的项目量身打造的最高性能的编译版本。 查看全部
让PHP7达到最高性能的几个建议:
 
1. Opcache

记得启用Zend Opcache,因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快,所以之前测试时期就发生了有人一直没有启用Opcache的事情。启用Opcache非常简单,在php.ini配置文件中加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"

2. 使用新的编译器

使用新一点的编译器,推荐GCC 4.8以上,因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持,这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)

其实GCC 4.8以前的版本也支持,但是我们发现它支持的有Bug,所以必须是4.8以上的版本才会开启这个特性。
 
3. HugePage

我之前的文章也介绍过: 让你的PHP7更快之Hugepage ,首先在系统中开启HugePages,然后开启Opcache的huge_code_pages。

以我的CentOS 6.5为例,通过:
$sudo sysctl vm.nr_hugepages=512
分配512个预留的大页内存:
$ cat /proc/meminfo  | grep Huge
AnonHugePages: 106496 kB
HugePages_Total: 512
HugePages_Free: 504
HugePages_Rsvd: 27
HugePages_Surp: 0
Hugepagesize: 2048 kB
然后在php.ini中加入:
opcache.huge_code_pages=1

这样一来,PHP会把自身的text段,以及内存分配中的huge都采用大内存页来保存,减少TLB miss,从而提高性能。

4. Opcache file cache

开启Opcache File Cache(实验性),通过开启这个,我们可以让Opcache把opcode缓存缓存到外部文件中,对于一些脚本,会有很明显的性能提升。
在php.ini中加入:
opcache.file_cache=/tmp

这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件,可以跨PHP生命周期存在。

5. PGO

我之前的文章: 让你的PHP7更快(GCC PGO) 也介绍过,如果你的PHP是专门为一个项目服务,比如只是为你的Wordpress,或者drupal,或者其他什么,那么你就可以尝试通过PGO,来提升PHP,专门为你的这个项目提高性能。

具体的,以wordpress 4.1为优化场景。首先在编译PHP的时候首先:
$ make prof-gen

然后用你的项目训练PHP,比如对于Wordpress:
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null

也就是让php-cgi跑100遍wordpress的首页,从而生成一些在这个过程中的profile信息。

最后:
$ make prof-clean
$ make prof-use
这个时候你编译得到的PHP7,就是为你的项目量身打造的最高性能的编译版本。

Jquery使用Ajax获取后台返回的Json数据处理

前端开发zkbhj 发表了文章 • 0 个评论 • 2217 次浏览 • 2016-08-15 14:35 • 来自相关话题

<script type="text/javascript">
$(function () {
$.ajax({
url: 'jsondata.ashx',
type: 'GET',
dataType: 'json',
timeout: 1000,
cache: false,
beforeSend: LoadFunction, //加载执行方法
error: erryFunction, //错误执行方法
success: succFunction //成功执行方法
})
function LoadFunction() {
$("#list").html('加载中...');
}
function erryFunction() {
alert("error");
}
function succFunction(tt) {
$("#list").html('');

//eval将字符串转成对象数组
//var json = { "id": "10086", "uname": "zhangsan", "email": "zhangsan@qq.com" };
//json = eval(json);
//alert("===json:id=" + json.id + ",uname=" + json.uname + ",email=" + json.email);

var json = eval(tt); //数组
$.each(json, function (index, item) {
//循环获取数据
var name = json[index].Name;
var idnumber = json[index].IdNumber;
var sex = json[index].Sex;
$("#list").html($("#list").html() + "<br>" + name + " - " + idnumber + " - " + sex + "<br/>");
});
}
});
</script> 查看全部
<script type="text/javascript">  
$(function () {
$.ajax({
url: 'jsondata.ashx',
type: 'GET',
dataType: 'json',
timeout: 1000,
cache: false,
beforeSend: LoadFunction, //加载执行方法
error: erryFunction, //错误执行方法
success: succFunction //成功执行方法
})
function LoadFunction() {
$("#list").html('加载中...');
}
function erryFunction() {
alert("error");
}
function succFunction(tt) {
$("#list").html('');

//eval将字符串转成对象数组
//var json = { "id": "10086", "uname": "zhangsan", "email": "zhangsan@qq.com" };
//json = eval(json);
//alert("===json:id=" + json.id + ",uname=" + json.uname + ",email=" + json.email);

var json = eval(tt); //数组
$.each(json, function (index, item) {
//循环获取数据
var name = json[index].Name;
var idnumber = json[index].IdNumber;
var sex = json[index].Sex;
$("#list").html($("#list").html() + "<br>" + name + " - " + idnumber + " - " + sex + "<br/>");
});
}
});
</script>

常用的Linux服务器命令

服务器zkbhj 发表了文章 • 0 个评论 • 1426 次浏览 • 2016-08-12 19:50 • 来自相关话题

1、查看静态进程:ps aux(或-efl)。比如:ps aux 或查某一进程ps -elf | grep httpd
2、查看动态进程:top 默认3秒钟刷新一次。如下: 默认5秒刷新一次。top -d 53、清屏命令:clear
4、复制文件或目录cp -r /home/www/zkbhj2 /home/www/to/ 
5、PHP相关[root@KaiBoss_4_45 php-ext-trie-filter-master]# whereis php
php: /usr/sbin/php /usr/local/php
[root@KaiBoss_4_45 php-ext-trie-filter-master]# which php
/usr/local/php/bin/php
[root@KaiBoss_4_45 php-ext-trie-filter-master]# find / -name php-config
/php-7.1.11/scripts/php-config
/usr/local/php56/bin/php-config
/usr/local/php/bin/php-config
/lnmp/src/php-7.1.11/scripts/php-config

6、查看文件大小
[dev@wx_new_1_45_126 cli]$ du -sh *
4.0K apartmentQualification.sh
4.0K SingleactHandoutPrize.sh
4.0K yii
4.0K ziroomerHandoutPrize.sh
4.0K ziroomerQualification.sh 查看全部
1、查看静态进程:ps aux(或-efl)。比如:ps aux 或查某一进程
ps -elf | grep httpd

2、查看动态进程:top 默认3秒钟刷新一次。如下: 默认5秒刷新一次。
top -d 5
3、清屏命令:clear
4、复制文件或目录
cp -r /home/www/zkbhj2 /home/www/to/
 
5、PHP相关
[root@KaiBoss_4_45 php-ext-trie-filter-master]# whereis php
php: /usr/sbin/php /usr/local/php
[root@KaiBoss_4_45 php-ext-trie-filter-master]# which php
/usr/local/php/bin/php
[root@KaiBoss_4_45 php-ext-trie-filter-master]# find / -name php-config
/php-7.1.11/scripts/php-config
/usr/local/php56/bin/php-config
/usr/local/php/bin/php-config
/lnmp/src/php-7.1.11/scripts/php-config

6、查看文件大小
[dev@wx_new_1_45_126 cli]$ du -sh *
4.0K apartmentQualification.sh
4.0K SingleactHandoutPrize.sh
4.0K yii
4.0K ziroomerHandoutPrize.sh
4.0K ziroomerQualification.sh

北京暂住证将升级为居住证 10月1日起施行

北漂一族zkbhj 发表了文章 • 0 个评论 • 1534 次浏览 • 2016-08-11 15:05 • 来自相关话题

在京居住6个月以上的且符合在京有合法稳定就业、合法稳定住所、连续就读条件之一的非京籍市民,可以申请领取居住证。8月11日,《居住证暂行条例》正式发布,意味着“暂住证”将升级为“居住证”。

相关部门负责人表示,从“暂住证”到“居住证”的转变,意味着北京对非京籍常住人口将从“管理”转为多方位服务。
如何申请:

材料齐全当场受理15日内就发证

据了解,在北京全面实施居住证制度之前,对于政策的制定已经酝酿了一年多。相关负责人说,国家《居住证暂行条例》里对居住证持证人在城市享有的权利、基本公共服务和便利做出了明确规定。其中要求,公民离开常住户口所在地,到其他城市居住半年以上,符合有合法稳定就业、合法稳定住所、连续就读条件之一的,可以依照本条例的规定申领居住证。

而作为《居住证暂行条例》的落地政策,“办法”中要求,公安派出所或者由公安机关委托的来京人员社区登记服务机构需要当场受理材料齐全、符合要求的居住证申请材料。

随后,这些材料将汇集到区公安机关,再经人力资源和社会保障、工商行政管理、司法行政、住房和城乡建设、国土资源、教育等行政部门分别审核,申请人提交的居住时间和就业、住所、就学状况的材料将一一“过筛”。

从受理当天开始算起,15天内申请人就能领到《北京市居住证》。如果不符合条件的,也将由区公安机关通过受理申请的派出所或区公安机关委托的来京人员社区登记服务机构书面告知申请人,并说明理由。

“办法”中还说明,因法定原因需要对本条第二款规定的时限延长的,制发《北京市居住证》的时间最长不得超过30日。
能有啥用:

给积分落户“打底” 保障合法权益

“办法”中约定,《北京市居住证》持有人在京依法享受劳动就业,参加社会保险,缴存、提取、使用住房公积金的权利。

更重要的是,作为必要条件之一,非京籍常住人口在领取居住证以后,符合本市积分落户政策的,就可以参与积分落户。

文件中称,本市按照国家要求根据城市综合承载能力和经济社会发展需要,以具有合法稳定就业和合法稳定住所、参加城镇社会保险年限、连续居住年限等为主要指标,建立积分落户制度。其中内容显示,市、区人民政府及其有关部门应当按照规定为《北京市居住证》持有人提供《居住证暂行条例》第十二条和第十三条规定的基本公共服务和便利,并积极创造条件,逐步扩大提供公共服务和便利的范围,提高服务标准,定期向社会公布《北京市居住证》持有人享受的公共服务和便利的范围。

本市按照统一规划、资源共享的原则,建立健全劳动就业、教育、社保、房产、信用、卫生计生、婚姻、居住证等信息系统,为实现基本公共服务和便利常住人口全覆盖提供信息支持。

相关负责人表示,全面实施居住证制度,将保障常住人口的合法权益纳入了法制化轨道,是积极推进以人为核心、新型城镇化的一项重要举措。

这些基本公共服务包括什么呢?国务院条例和本市办法对居住证权益的分类主要有三种——权利、基本公共服务和办事便利,包括与当地户籍人口同等的劳动就业、基本公共教育、基本医疗卫生服务、计划生育服务、公共文化服务、证照办理服务等权利。而且还应逐步享有与当地户籍人口同等的中等职业教育资助、就业扶持、住房保障、养老服务、社会福利、社会救助等权利。
北京落实:

便利服务已近“全齐”个性化服务贴心

“目前,国家规定的各项权利、服务和便利规定已经得到了落实。”相关负责人细数道,目前北京市居住证的持证人在京可以享有劳动就业、参加社会保险、缴存提取和使用住房公积金等3项权利;享有义务教育、基本公共就业服务、基本公共卫生服务和计划生育服务、公共文化体育服务、法律援助和其他服务,以及国家规定的其他基本公共服务等6项基本公共服务。

而在国家规定的7项便利中,机动车登记、申领机动车驾驶证、报名参加职业资格考试和申请授予职业资格、办理生育服务登记和其他计划生育证明材料、国家规定的其他便利等5项均已经落实。而从2016年7月1日起,全国大中城市和有条件的县、市将启动居民身份证异地受理工作,北京目前也在推进。

“这意味着,目前还有按照国家有关规定办理出入境证件这一项便利,需要按照公安部统一部署调整现行政策后,本市再遵照执行。”相关负责人说,这也就意味着,7月1日以后,本市的这些便利服务已近“全齐”。

相关负责人表示,在国家层面的大背景下,北京还制定并执行了一些个性化的细节服务内容。北京还在力所能及的范围内创造条件,扩大非京籍常住人口,也就是未来的居住证持证人享有的公共服务范围。比如,老年人持证可以免费逛公园、免费乘坐公交车,遇到紧急特殊困难的人员可以享有临时救助等服务。 查看全部
在京居住6个月以上的且符合在京有合法稳定就业、合法稳定住所、连续就读条件之一的非京籍市民,可以申请领取居住证。8月11日,《居住证暂行条例》正式发布,意味着“暂住证”将升级为“居住证”。

相关部门负责人表示,从“暂住证”到“居住证”的转变,意味着北京对非京籍常住人口将从“管理”转为多方位服务。
如何申请:

材料齐全当场受理15日内就发证

据了解,在北京全面实施居住证制度之前,对于政策的制定已经酝酿了一年多。相关负责人说,国家《居住证暂行条例》里对居住证持证人在城市享有的权利、基本公共服务和便利做出了明确规定。其中要求,公民离开常住户口所在地,到其他城市居住半年以上,符合有合法稳定就业、合法稳定住所、连续就读条件之一的,可以依照本条例的规定申领居住证。

而作为《居住证暂行条例》的落地政策,“办法”中要求,公安派出所或者由公安机关委托的来京人员社区登记服务机构需要当场受理材料齐全、符合要求的居住证申请材料。

随后,这些材料将汇集到区公安机关,再经人力资源和社会保障、工商行政管理、司法行政、住房和城乡建设、国土资源、教育等行政部门分别审核,申请人提交的居住时间和就业、住所、就学状况的材料将一一“过筛”。

从受理当天开始算起,15天内申请人就能领到《北京市居住证》。如果不符合条件的,也将由区公安机关通过受理申请的派出所或区公安机关委托的来京人员社区登记服务机构书面告知申请人,并说明理由。

“办法”中还说明,因法定原因需要对本条第二款规定的时限延长的,制发《北京市居住证》的时间最长不得超过30日。
能有啥用:

给积分落户“打底” 保障合法权益

“办法”中约定,《北京市居住证》持有人在京依法享受劳动就业,参加社会保险,缴存、提取、使用住房公积金的权利。

更重要的是,作为必要条件之一,非京籍常住人口在领取居住证以后,符合本市积分落户政策的,就可以参与积分落户。

文件中称,本市按照国家要求根据城市综合承载能力和经济社会发展需要,以具有合法稳定就业和合法稳定住所、参加城镇社会保险年限、连续居住年限等为主要指标,建立积分落户制度。其中内容显示,市、区人民政府及其有关部门应当按照规定为《北京市居住证》持有人提供《居住证暂行条例》第十二条和第十三条规定的基本公共服务和便利,并积极创造条件,逐步扩大提供公共服务和便利的范围,提高服务标准,定期向社会公布《北京市居住证》持有人享受的公共服务和便利的范围。

本市按照统一规划、资源共享的原则,建立健全劳动就业、教育、社保、房产、信用、卫生计生、婚姻、居住证等信息系统,为实现基本公共服务和便利常住人口全覆盖提供信息支持。

相关负责人表示,全面实施居住证制度,将保障常住人口的合法权益纳入了法制化轨道,是积极推进以人为核心、新型城镇化的一项重要举措。

这些基本公共服务包括什么呢?国务院条例和本市办法对居住证权益的分类主要有三种——权利、基本公共服务和办事便利,包括与当地户籍人口同等的劳动就业、基本公共教育、基本医疗卫生服务、计划生育服务、公共文化服务、证照办理服务等权利。而且还应逐步享有与当地户籍人口同等的中等职业教育资助、就业扶持、住房保障、养老服务、社会福利、社会救助等权利。
北京落实:

便利服务已近“全齐”个性化服务贴心

“目前,国家规定的各项权利、服务和便利规定已经得到了落实。”相关负责人细数道,目前北京市居住证的持证人在京可以享有劳动就业、参加社会保险、缴存提取和使用住房公积金等3项权利;享有义务教育、基本公共就业服务、基本公共卫生服务和计划生育服务、公共文化体育服务、法律援助和其他服务,以及国家规定的其他基本公共服务等6项基本公共服务。

而在国家规定的7项便利中,机动车登记、申领机动车驾驶证、报名参加职业资格考试和申请授予职业资格、办理生育服务登记和其他计划生育证明材料、国家规定的其他便利等5项均已经落实。而从2016年7月1日起,全国大中城市和有条件的县、市将启动居民身份证异地受理工作,北京目前也在推进。

“这意味着,目前还有按照国家有关规定办理出入境证件这一项便利,需要按照公安部统一部署调整现行政策后,本市再遵照执行。”相关负责人说,这也就意味着,7月1日以后,本市的这些便利服务已近“全齐”。

相关负责人表示,在国家层面的大背景下,北京还制定并执行了一些个性化的细节服务内容。北京还在力所能及的范围内创造条件,扩大非京籍常住人口,也就是未来的居住证持证人享有的公共服务范围。比如,老年人持证可以免费逛公园、免费乘坐公交车,遇到紧急特殊困难的人员可以享有临时救助等服务。

北京积分落户政策出台 满足4条件可申请

北漂一族zkbhj 发表了文章 • 0 个评论 • 1554 次浏览 • 2016-08-11 15:00 • 来自相关话题

在征求意见稿发布8个月后,北京市政府今天正式出台积分落户政策。新京报记者获悉,来京人员要想在北京落户需首先同时满足“在京连续缴纳社会保险7年及以上”等4个条件,然后通过9项具体指标进行积分。

这份名为《北京市积分落户管理办法(试行)》的文件规定,要逐步有序推进长期在京稳定就业和生活的常住人口落户工作。为此,申请人申请积分落户要同时符合4个条件:持有本市居住证、不超过法定退休年龄、在京连续缴纳社会保险7年及以上和无刑事犯罪记录。

在“门槛”方面变化较大的是年龄。去年12月发布的征求意见稿规定,申请人年龄不得超过45周岁,而今天正式出台的文件则变更为“不超过法定退休年龄”。

获得积分落户资格后,共有9项具体积分指标,其中2项基础指标和7项导向指标。

基础指标为合法稳定就业和合法稳定住所。如与用人单位签订劳动合同、投资办企业或是个体工商户,每连续缴社保满1年可积3分;拥有自有产权的住房每连续住满1年可以积1分,签有正式合同并租赁符合登记备案、依法纳税的住所或住单位宿舍,每连续居住满1年积0.5分。

导向指标则包括教育背景指标、职住区域指标、创新创业指标、纳税指标、年龄指标、荣誉表彰指标和守法记录指标。

在教育背景中,专科(含高职)可积10.5分、本科学士15分、研究生硕士26分、研究生博士37分。记者注意到,专科毕业生积分较征求意见稿的9分有所增加,而硕士和博士的分值较征求意见稿时分别降低了1分和2分。

在年龄指标中,申请人年龄不超过45周岁加20分。

今天出台的文件中“减分项”共有2条,分别为:有涉税违法行为记录的个人、企业法人和个体工商户经营者,申请积分落户的,每条记录最高减12分;申请人在本市因违反有关法律被公安机关处以行政拘留处罚的,每条行政拘留记录减30分。

记者对比发现,正式版文件较此前的征求意见稿,“减分项”有所减少,此前规定的有不良司法信息记录等每条减12分的规定被删除。

今天出台的积分落户政策仅规定了申请人需具备的条件及指标、分值,市有关部门将另行制定实施细则,包括各项积分落户指标的具体认定标准和政策执行的具体操作流程。 查看全部
在征求意见稿发布8个月后,北京市政府今天正式出台积分落户政策。新京报记者获悉,来京人员要想在北京落户需首先同时满足“在京连续缴纳社会保险7年及以上”等4个条件,然后通过9项具体指标进行积分。

这份名为《北京市积分落户管理办法(试行)》的文件规定,要逐步有序推进长期在京稳定就业和生活的常住人口落户工作。为此,申请人申请积分落户要同时符合4个条件:持有本市居住证、不超过法定退休年龄、在京连续缴纳社会保险7年及以上和无刑事犯罪记录。

在“门槛”方面变化较大的是年龄。去年12月发布的征求意见稿规定,申请人年龄不得超过45周岁,而今天正式出台的文件则变更为“不超过法定退休年龄”。

获得积分落户资格后,共有9项具体积分指标,其中2项基础指标和7项导向指标。

基础指标为合法稳定就业和合法稳定住所。如与用人单位签订劳动合同、投资办企业或是个体工商户,每连续缴社保满1年可积3分;拥有自有产权的住房每连续住满1年可以积1分,签有正式合同并租赁符合登记备案、依法纳税的住所或住单位宿舍,每连续居住满1年积0.5分。

导向指标则包括教育背景指标、职住区域指标、创新创业指标、纳税指标、年龄指标、荣誉表彰指标和守法记录指标。

在教育背景中,专科(含高职)可积10.5分、本科学士15分、研究生硕士26分、研究生博士37分。记者注意到,专科毕业生积分较征求意见稿的9分有所增加,而硕士和博士的分值较征求意见稿时分别降低了1分和2分。

在年龄指标中,申请人年龄不超过45周岁加20分。

今天出台的文件中“减分项”共有2条,分别为:有涉税违法行为记录的个人、企业法人和个体工商户经营者,申请积分落户的,每条记录最高减12分;申请人在本市因违反有关法律被公安机关处以行政拘留处罚的,每条行政拘留记录减30分。

记者对比发现,正式版文件较此前的征求意见稿,“减分项”有所减少,此前规定的有不良司法信息记录等每条减12分的规定被删除。

今天出台的积分落户政策仅规定了申请人需具备的条件及指标、分值,市有关部门将另行制定实施细则,包括各项积分落户指标的具体认定标准和政策执行的具体操作流程。