自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

翻译 sqlite的wal模式

原文:https://www.sqlite.org/wal.html预览SQLite实现原子提交和回滚的默认方法是回滚日志。从3.7.0版本(2010-07-21)开始,可以使用一个新的“写前日志”选项(以下称为“WAL”)。wal模式优点大部分情况下,wal模式要比其他模式快很多; wal提供了更多的并发性,读时不会阻塞写,写时不会阻塞读; 使用wal使得磁盘IO操作更加连续...

2019-06-12 17:58:38 7059

原创 利用nginx反向代理缓存减小PHP的压力

问题:对于某些PHP的接口,请求很频繁,但是这些接口返回的数据又不是实时的,即存在一定的延时性。分析:可以将这些接口返回的数据缓存起来,减少PHP执行的频率。一般有2种方法缓存这些数据: 1、在PHP端缓存,如:yac,memcache,redis等。 2、在NGINX端缓存,如利用proxy_cache。这里讨论在NGINX端缓存,利用NGINX的反向代理缓存可以...

2019-05-06 17:39:46 733

原创 GDB常用命令

GDB常用命令:1、backtrace,简写bt,打印栈信息2、frame,简写f, f 0 切换到栈0,即栈顶3、list,简写l,列出当前所在栈的代码4、break,简写b,打断点,b 852在当前文件的852行打断点,b aa.c:852在指定文件aa.c的852行打印断点5、print,简写p,打印变量,p socket打印socket变量内容,p *ret@10,表示打印数组r...

2019-05-06 16:30:38 1036

原创 TCP三次握手和四次挥手

参考博客:https://blog.csdn.net/ZWE7616175/article/details/80432486https://www.cnblogs.com/zmlctt/p/3690998.html

2019-03-27 23:39:39 128

原创 HTTPS中的加密和解密

ps:以下文章摘自http://zhuqil.cnblogs.com1. 客户端发起HTTPS请求客户端访问网站2. 服务端的加密证书采用HTTPS协议的服务器必须要有一套数字证书,这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有...

2019-03-26 00:02:23 359

原创 绕开邮件服务器的垃圾检测

场景:前段时间有客户定制邮件发送功能,测试部用自己的163邮箱账号测试时,发现有时候会发送失败, 追踪定位发现,163服务器返回了如下状态: 554 DT:SPM 查找163官网解释如下:554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;邮件被当成垃圾邮件了,仔细检查发送内容,并无...

2019-03-08 19:18:33 1133 2

原创 PHP sprintf函数输出%字符

$str = 'it is %s%';$str = sprintf($str, 90);如上代码,我们要输出"it is 90%"这样的字符串,想通过sprintf函数解析,不幸的是会返回 false的错误,sprintf的特殊字符要用%来转义,于是得到下面的代码:$str = 'it is %s%%';$str = sprintf($str, 90); ...

2019-02-18 16:29:14 620

原创 修改、隐藏nginx名称和版本号

1、隐藏版本号 隐藏版本号很简单,只要修改nginx.conf配置文件即可,在http模块中添加如下配置:server_tokens off;2、修改server名称 正常的请求响应中会有如下的字段:Server: nginx/1.14.1 如果想修改这个名称需要修改nginx源码,然后重新编译, A、修改src/core/nginx.h文件...

2019-02-14 18:02:18 3024 1

原创 编写PHP扩展库步骤

笔记:1、下载PHP源码,然后解压缩,假设路径为:/home/wyq/php-7.3.0,给目录添加可执行权限,chmod -R +x ./2、进入/home/wyq/php-7.3.0/ext/目录,最好给然后执行 ./ext_skel --extname=wyq其中wyq就是扩展库的名称,wyq.so,3、之后会在ext目录下生成wyq目录,进入wyq目录查看会...

2019-01-10 11:41:53 334

原创 名人名博录

1、showdoc作者技术博客:http://blog.star7th.com/2、鸟哥惠新宸(Laruence)的博客:http://www.laruence.com/

2018-07-23 10:52:19 140

原创 非阻塞exec

用nohup或者&配合> /dev/null可以实现非阻塞的execexec('nohup php get_data_for_dingzhi > /dev/null &');nohup   使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的...

2018-07-20 17:29:26 969

原创 php switch语句中case为不同类型时的坑

在工作中遇到如下代码片段:switch ($type) { case 'branch': case -1: echo -1; break; case 0: echo 0; break; case 1: echo 1; break; }测试部给我提了个bug,说怎么都过滤...

2018-07-13 15:28:28 3392

原创 php 用array_column代替用foreach来生成关联数组

从数据库取出的数据是一个二维数组,假设如下:$arr = [ ['id' => 111, 'name' => '张三'], ['id' => 222, 'name' => '李四'],];有时候我们可能需要以id为键值返回该数组,于是我们一般会这样写:$ret = [];foreach($arr as $val) { $ret[$val...

2018-05-03 20:36:14 980

转载 用xhprof分析php性能

https://www.jianshu.com/p/c69e368de756

2018-04-28 14:49:12 148

转载 使用 python 快速搭建http服务

https://blog.csdn.net/why19940926/article/details/62054757

2018-04-26 20:06:00 542

原创 用rsa加密登录密码(js+php)

1、首先检查设备上是否已经存在openssl库(一般的linxu都会自带有),然后生成私钥和公钥:私钥:openssl genrsa -out /etc/dev_cert/php_private.key 2048公钥:openssl rsa -in /etc/dev_cert/php_private.key -pubout -out /etc/dev_cert/php_public.k

2018-02-02 17:00:24 1254

原创 编译nginx

./configure --prefix=/var/nginx --sbin-path=/var/nginx/sbin/nginx --conf-path=/var/nginx/conf/nginx.conf --with-http_ssl_module

2017-11-18 17:08:51 207

原创 编译php

./configure --prefix=/var/php --with-config-file-path=/var/php  --enable-fpm --enable-opcache --enable-debug --enable-maintainer-zts

2017-11-18 17:06:48 172

原创 为nginx反向代理设置自定义错误页面

如果我们的nginx配置了反向代理,如下:location ^~ /wyq/ { proxy_pass https://127.0.0.1:$wyq_port; proxy_redirect https://127.0.0.1:$iotp_port/ /; #proxy_redirect off; proxy_set_header Host $host; p

2017-08-23 16:52:36 5823

原创 ci框架用active_record模型实现分页的技巧

假设我们有这样的一个日志表,记录了各个事件反生时的时间戳:CREATE TABLE `logs`( `timestamp` BIGINT, `event` varchar(50))如果我们要在页面上分页显示出这些事件,假设我们要用ci框架的active_record类实现分页,可能的代码如下://根据条件过滤$this->db->select('*')->from('log

2017-08-03 16:01:00 505

原创 一些有用的学习网站

1、go工程项目的搭建以及学习:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/01.3.md2、go的流行框架beego文档:https://beego.me/docs/install/3、php扩展文档:http://php.net/manual/zh/internals2.ze1.

2017-07-29 17:09:17 174

原创 go项目目录结构

安装go(使用安装包安装)从golang中国下载安装包:https://www.golangtc.com/download 这里我使用:go1.8.3.linux-amd64.tar.gz解压安装包,tar zxvf go1.8.3.linux-amd64.tar.gz创建一个go目录,mkdir /root/docker_share将解压后的go放到go目录,mv go /root/do

2017-07-29 16:50:08 747

原创 php字符串当数组使用isset的问题

$val = 'abcd';if(isset($val['grp'][0])){ echo '1111';}if(isset($val['grp'][1])){ echo '2222';}输出:1111很奇怪吧,如果直接打印呢?var_dump($val['grp'][0]);输出:string 'a' (length=1)当然开了调试模

2017-07-27 09:29:05 489

原创 查看php某个请求的系统调用

1、查看php的进程id:ps aux | grep php2、跟踪php的一个子进程5555的系统调用,执行命令:strace -o output.txt -T -tt -e trace=all -p 5555其含义:跟踪5555进程的所有系统调用(-e trace=all),并统计系统调用的花费时间,以及开始时间(并以可视化的时分秒格式显示),最后将记录结果存在output.txt文件

2017-07-18 19:47:09 809

原创 string类型转int类型的三种方法速率比较

如果我们使用sqlite数据库,那么int类型的字段,独取出来的值会是string类型的,比如:id name age1 Jame 20php读取出来后,变成:$arr = array( 'id' => '1', 'name' => 'Jame', 'age' => '20');这时候可能就需要转换成int类型了,有三种方式(int)$val

2017-07-12 11:14:09 2645

原创 php的trim函数遇到的问题

问题一:看如下代码<?php$val = true;var_dump(trim($val)); //string '1' (length=1)$val = false;var_dump(trim($val)); //string '' (length=0)trim函数直接将bool类型的变量变成了string类型:true -->  '1'

2017-07-06 15:26:47 633

原创 php的curl超时参数

以下是官方手册文档:CURLOPT_CONNECTTIMEOUT :The number of seconds to wait while trying to connect. Use 0 to wait indefinitely.在尝试连接的时候等待的秒数。使用0无限期地等待。(即连接上服务器需要多长时间)CURLOPT_TIMEOUT:The maximum

2017-06-26 14:43:28 882

原创 开发中sqlite几种常见的使用场景

场景一:需要备份整个数据库结构以及数据;步骤:1、使用sqlite3命令进入sqlite终端:sqlite3 test.db2、.output test.sql3、.dump4、退出sqlite终端,ls,即可发现目录下多出了一个test.sql文件,这个文件即为备份的数据库5、然后再从这个文件导入到数据库,首先新建一个文件:touch test1.db,这个文件即为sql

2017-06-26 11:19:23 3761

转载 nginx上传模块nginx_upload_module和nginx_uploadprogress_module模块进度显示,如何传递GET参数等。

http://www.cnblogs.com/lidabo/p/4177145.html

2017-04-15 11:25:21 1259

原创 mysql的left join 和right join和join的区别

存在两张表,数据如下:mysql> select * from a;+----+------+| id | name |+----+------+|  1 | aaa  ||  2 | bbb  ||  3 | ccc  |+----+------+mysql> select * from b;+----+------+| id |

2017-03-27 19:46:32 6568 1

原创 数据库用一个int类型的字段保存前端多个字段(该字段为多选)

现象:一般我们都是前端多少个字段,数据库就保存多少个字段,     例如,填写爱好(多选):1、打篮球   2、踢足球    3、打台球数据库有两种方法保存:1,添加一个字段hobby:1,2,3                                        2,新增一张表保存所有值:uid  bobby_id

2017-01-21 18:17:45 4731

原创 js获取URL参数

var url_parms = location.search.split('?')[1] || '';var par_arr = url_parms.split('&');

2017-01-17 11:29:47 317

原创 CI框架解决jsonp跨域的问题

现象:       如果js端用了jsonp跨域的请求方式,并且CI配置文件设置了$config['sess_time_to_update'] = xxx;那么,在xxx秒后点击页面发送请求,帐号会被退出;原因:     在文件:system/libraries/Session/Session.php构造函数中有这样一段:if ((empty($_SERVER[

2017-01-17 10:48:27 1772

原创 MySQL根据表1字段更新表2字段

表1:desc table1;+--------------+---------------------+------+-----+---------+-------+| Field        | Type                | Null | Key | Default | Extra |+--------------+---------------------+---

2016-12-14 15:21:21 3565

原创 mysql查询出现ambiguous的问题

MySQL查询语句如下:SELECT `addr` FROM `table1` LEFT JOIN `table2` ON `table2`.`id`=`table1`.`id` WHERE `name` = 'James'查询出错:Column 'name' in where clause is ambiguousambiguous,就是模糊不清的意思;正确查询语

2016-12-01 10:52:36 12007

原创 nginx防盗链配置

valid_referers none blocked host_referer server_names;通过valid_referers设置可以防止大部分盗链

2016-11-15 15:29:40 418

原创 根据进程名杀死进程

根据进程名称杀死进程一般用:killall php-fpm如果系统没有killall命令也可以用pidof配合kill杀死进程:kill $(pidof php-fpm)

2016-11-15 15:02:22 436

原创 PHP正则匹配中文字符(囊括大部分)

header('content-type:text/html;charset=utf-8');$str = '33我!们3 +/?%#&=~3';if(preg_match_all('/[+\/?%#&=~\x{4e00}-\x{9fa5}\x{300a}-\x{300f}\x{3001}-\x{3002}\x{ff08}-\x{ff09}\x{201c}-\x{201d}\x{2018}-\

2016-10-31 16:34:24 651

原创 js校验中文字符(囊括大部分)

if (/[+\/?%#&=~\u4e00-\u9fa5\u300a-\u300f\u3001-\u3002\uff08-\uff09\u201c-\u201d\u2018-\u2019\u3014-\u3015\uff1a-\uff1b\u3010-\u3011\u2013-\u2014\uff0c\uff1f\uff01\u2016\uff0e\s]+/.test('sfiafiajfi'))

2016-10-18 20:36:47 633

原创 zeptojs和jquery框架input disabled区别

jquery: $('#username').attr('disabled', false); //正常,变成可用状态zepto:$('#username').attr('disabled', false);  //错误,变成禁用状态zepto: $('#username').removeAttr('disabled');//正常,变成可用状态

2016-09-30 10:51:33 1186

数值计算龙贝格算法

数值计算龙贝格算法,代码最后面有已经验证的消息,本人亲自上机调试过,无误

2014-05-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除