
编程大白
文章平均质量分 91
chp_mdd兔崽
这个作者很懒,什么都没留下…
展开
-
队列、多进/线程、共享内存、文件锁 使用原理和场景
队列:使用队列是充分利用它异步的特性,即业务代码中有可以延迟响应的模块,当前代码不需要立即使用这个模块得到的结果,迟一些也没关系,代码还要继续执行主要的事情并返回给用户。像邮件、订单等,这些场景,使用队列,延迟响应,使得系统性能提高(比如:不用在大量邮件发送代码上阻塞),同时又不用像web系统一样要及时响应,用户延迟收到消息是可以接受的。而实质上,邮件发送一般还结合多进程/线程来做。因为仅靠异步还是不够的,处理大量邮件的业务代码如果也只是单一作业,无疑还是很慢,所以就要多个劳动力一起发,每个人发原创 2020-08-24 01:00:39 · 303 阅读 · 0 评论 -
mysql 学习 之 分表分库
前瞻:为保证服务通畅不会时常发生崩溃,原来的单机升级为主从结构,保证高可用(其实高可用往往和高并发支撑紧密联系)。而用户量级进一步提升,会使得主库写入性能急剧消耗,这时也可以考虑通过加主库机器和从库机器缓解,但分库分表是比较好的方案,因为主库多的话,数据一致性是一个重要难题。因此升级为分库分表,这样就没有数据一致性问题,每个数据库实例只维护自己存储的数据即可。垂直拆分:、垂直拆分的特点:拆分后,各个库表都有原来完整的数据,只不过原来的数据由一份被垂直切割成两份或以上的数据,并且这原创 2020-08-22 21:09:03 · 293 阅读 · 0 评论 -
phpstudy 版本bug 2020.05.11
这次安装的phpstudy有点bug,如果在这段时间安装这个软件的小伙伴可能会发现,php命令可能会运行不起来,这是因为php.ini文件中配置出了个小错误,opcache拓展添加错误,找到这项zend_extension=opcache,改成zend_extension=php_opcache.dll即可。...原创 2020-05-11 13:17:25 · 273 阅读 · 0 评论 -
vue.js入门
起步: ...原创 2020-03-12 00:51:03 · 213 阅读 · 0 评论 -
二叉树的创建以及中序遍历方法
#include <stdio.h>#include <malloc.h>typedef struct pNode{ int data; struct pNode *lchild; struct pNode *rchild;}pNode,*treeNode;//二叉链表,以线性链表表示二叉树 void init_BiTree(treeNode node...原创 2020-01-02 00:43:30 · 586 阅读 · 0 评论 -
mysql timestamp报错问题
timestamp 默认值这样设置:然后mysql.ini配置加上这一句:sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,即可。createtime可以设置成:CURRENT_TIMESTAMP原创 2019-11-11 20:03:33 · 1569 阅读 · 0 评论 -
每天20分钟探索之docker入门(二)
Docker三大核心概念:1. Docker 镜像 Docker 镜像类似于虚拟机镜像,可以将它理解为一个只读的模板 例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了 Apache 应用程序(或 用户需要的其他软件) 可以把它称为一个 Apache 镜像 镜像是创建 Docker 容器的基础 通过版本管理和增量的文件系统, Docker 提供了一套十分简单的机制来创建和更新现有的...原创 2019-10-17 10:50:48 · 163 阅读 · 0 评论 -
每天20分钟探索之docker入门(一)
1.什么是docker?Docker 是基于 Go 语言实现的开源容器项目 它诞生于 2013 年年初,最初发起者是 dotCloud 公司 Docker 自开源后受到业界广泛的关注和参与,目前已有 80 多个相关开源组 件项目(包括 Containerd Moby Swarm 等),逐渐形成了围 Docker 容器的完整的生态体系。Docker 项目已加 Linux 基金会,并遵循 Ap...原创 2019-10-16 13:21:19 · 197 阅读 · 0 评论 -
解决80端口占用问题
不少朋友在配置阿帕奇WEB服务器的时候会出现80端口或者443端口冲突,那么下面我将分享我的做法,给小伙伴们,当然高手,大牛自行忽略哈!方法一:首先查看你有没有配置了IIS服务器软件,查看它有没有被开启,这个服务器一般默认的就是80端口。查看方法,win10下右键此电脑,选择管理,将会出现下图。双击上图的IIS,就会有选项,然后点击内容视图。这里我的IIS服务是关闭的,所以如果是开启状态的伙伴把它...原创 2018-03-29 10:08:52 · 2027 阅读 · 0 评论 -
内网穿透下访问本地服务器注意事项
编程大白,大牛,高手自行忽略。有不少学习php的朋友,可能在学习微信开发的时候会用到内网穿透工具来测试微信。所以,我推荐使用natapp来实现。首先,去natapp.cn的官网,下载安装包,然后去注册,申请到账号以后可以购买自己的免费隧道,免费隧道可以拥有两个。然后cmd命令行启动,用命令进入到你的natapp文件夹(包含exe文件的)所在的目录,然后输入natapp -authtoken=参数,...原创 2018-03-29 10:24:56 · 1557 阅读 · 0 评论 -
phpstudy的配置设置thinkphp的入口文件隐藏
修改 apache 配置文件 (httpd.conf)查找 并 删除rewrite_module前边的(#);修改下图 位置 代码(将None 改为All)。2. 在使用 ThinkPHP 的项目 根目录下,修改 或 新建 (.htaccess)文件写入下面代码:<IfModule mod...转载 2018-03-29 10:27:43 · 2954 阅读 · 0 评论 -
浅谈百度地图api调用(上)
刚看了百度地图的文档,所以就稍微整理下,帮助伙伴们不用再去百度看文档,看零零碎碎的代码段。 百度地图支持pc端,手机端,手机微信端的调用。首先先来入门一个调用实例: First,你要先注册到一个百度账号,然后申请成为开发者,因为调用百度的API要AK密匙。至于使用API则需要加入域名白名单,没有域名你可以使用内网穿透工具来达到。...原创 2018-05-05 09:36:20 · 1190 阅读 · 0 评论 -
百度地图状态码
状态码定义状态码定义注释0正常 1服务器内部错误该服务响应超时或系统内部错误,请留下联系方式10上传内容超过8MPost上传数据不能超过8M101AK参数不存在请求消息没有携带AK参数102MCODE参数不存在,mobile类型mcode参数必需对于Mobile类型的应用请求需要携带mcode参数,该错误码代表服务器没有解析到mcode200APP不存在,AK有误请检查再重试根据请求的ak,找不到...原创 2018-05-05 22:36:25 · 4538 阅读 · 1 评论 -
数据结构复习归纳随笔(上)
数据结构学习已经过了一年,但相信绝大多数伙伴不一定有很好的系统的学习了这门科,而这门学科在IT的地位是无比重要的,那么我这个编程大白就写点随笔帮助大家回忆下数据结构这门课,伙伴们要注意数据结构怎样都是注定枯燥的请耐心的看完对编程会有帮助的,欢迎高手大牛指文章的不足,喜欢的小伙伴可以点赞,可以留言,我定期会来看看,一起学习; 首先,第一章开始,自然是介绍什么是数据结构了。...原创 2018-05-06 22:49:13 · 3056 阅读 · 0 评论 -
浅谈微信开发入门之微信用户授权
微信开发对没有接触过的伙伴们来说有一定的难度,因为这是面向接口的编程。这其中有着许多机制需要知道,也要掌握一些调试工具。我也是刚会点微信开发,刚刚入门。下面将我的心得分享给伙伴们,希望对你们有帮助。 准备工具:微信开发的环境是微信,所以我们调试就必须在微信下调试,所以一开始就准备一个微信开发者工具作为调试环境。然后准备一个服务器,这里最好有自己的服务器,也许有伙...原创 2018-05-07 22:00:20 · 293 阅读 · 0 评论 -
php递归查找数据库单孩子树的方法(无限极分类)
今天在看别人的递归无限极写法的时候突然有灵感,写了个专属自己的递归小算法。现在无限极分类的写法一般都是整体拉取数据,再进行重排,个人觉得如果只需要特定的某行记录行以及其子树,这样的算法就不能满足要求。我是在框架的环境下实现,框架是TP3.2。 直接上图: 以上是数据库截图,简单测试了下可以用,如果有什么BUG,请大家给我留言,让我能够改正自己的错误...原创 2018-06-03 18:24:15 · 2051 阅读 · 0 评论 -
thinkphp3.2文件下载
今天有个任务要实现网页中的文件下载功能。时间紧迫,选择使用Thinkphp自带的功能实现。一、网上查找Thinkphp文件下载,查找的结果如下:http://www.cnblogs.com/yuwensong/p/3806423.htmlhttp://blog.youkuaiyun.com/z1988316/article/details/6538785根据第一个链接中的代码,测试,发现报错。[php] vi...转载 2018-06-15 14:59:11 · 2153 阅读 · 0 评论 -
file_get_contents可能导致的出错
file_get_contents()获取https出现这个错误Unable to find the wrapper “https” – did解决办法一,如果你是用的服务器,可以参考这个办法,修改php配置文件(win主机),来支持https在php.ini中找到并修改 extension=php_openssl.dll allow_url_include = On重启服务就可以...转载 2018-06-16 01:12:10 · 1821 阅读 · 0 评论 -
date函数的坑
从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时。 关于timezone 大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民共...转载 2018-06-16 01:13:48 · 391 阅读 · 0 评论 -
保存带参数的二维码插件
1.引入qrcode插件: 2.功能页面-生成二维码按钮: 3.生成二维码-代码: 4.后台代码-通过vendor方法引入://下载生成的二维码-引用方法1public function qrcode1(){ header("Content-Type: text/html;charset=utf-8"); //引入二维码生成插件 vendor("phpqrcode.ph...转载 2018-06-16 01:20:20 · 229 阅读 · 0 评论 -
php保存网络图片
function file_exists_S3($url){ $state = @file_get_contents($url,0,null,0,1);//获取网络资源的字符内容 if($state){ $filename = date("dMYHis").'.jpg';//文件名称生成 ob_start();//打开输出 read...原创 2018-06-16 01:24:59 · 927 阅读 · 0 评论 -
修正原生PHP获取网络图片并保存移植到TP 行不通的情况
function getImage($url,$save_dir='',$filename='',$type=0){ if(trim($url)==''){ return array('file_name'=>'','save_path'=>'','error'=>1); } if(t...原创 2018-06-17 11:35:54 · 235 阅读 · 0 评论 -
dir魔术变量浅谈
我们知道PHP中提供了一个魔术常量(magic constant)__FILE__,用来指向当前执行的PHP脚本。但PHP没有直接提供该脚本所在目录的常量。也就是说如果我们要得到当前PHP脚本所在的目录,需要使用dirname()这个函数:<?php$dir =dirname(__FILE__);?>在PHP5.3中,增加了一个新的常量__DIR__,指向当前执行的PHP脚本所在的目录...转载 2018-06-17 12:37:27 · 238 阅读 · 0 评论 -
TP3.2的HTTP类实现文件下载
今天有个任务要实现网页中的文件下载功能。时间紧迫,选择使用Thinkphp自带的功能实现。一、网上查找Thinkphp文件下载,查找的结果如下:http://www.cnblogs.com/yuwensong/p/3806423.htmlhttp://blog.youkuaiyun.com/z1988316/article/details/6538785根据第一个链接中的代码,测试,发现报错。[php] vi...转载 2018-06-17 16:48:44 · 1797 阅读 · 0 评论 -
正则表达式
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$正数、负数、和小数:^(\-|\+)?\d+(\...原创 2018-07-05 17:14:41 · 143 阅读 · 0 评论 -
使用第三方工具进行网站采集(snoopy)
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,本文章详细介绍snoopy的使用教程。Snoopy的一些特点:抓取网页的内容 fetch抓取网页的文本内容 (去除HTML标签) fetchtext抓取网页的链接,表单 fetchlinks fetchform支持代理主机支持基本的用户名/密码验证支持设置 user_a...转载 2018-07-24 16:57:31 · 771 阅读 · 0 评论 -
php开启http状态码报错说明
使用APACHE+PHP时,通过URL浏览网站时可能会提示HTTP 500错误,这使得新手无从下手,因为看不到具体的错误信息。及时查看APACHE的ERROR LOG也只是记录了一条500错误信息而已。 要解决问题首先要知道问题所在,所以必须知道更详细的问题描述才行。其实只需要配置php.ini即可。在php的安装目录中找到php.ini文件并打开,找到display_errors,...转载 2018-07-28 22:11:18 · 212 阅读 · 0 评论 -
解决TP3.2的IF标签判断空值失效问题
<if condition="empty($value) neq true">原创 2018-08-27 09:50:17 · 4315 阅读 · 0 评论 -
tp3.2覆盖数据的方法(转)
有时我们在插入数据时,需要覆盖重复数据。如果是sql语句,我们可以使用replace into代替insert into,它会自动判断主键或唯一约束的字段是否重复,重复则覆盖,不重复则插入在thinkphp中,也支持replace into同样的效果首先,我们必须给用来判断是否重复的字段添加一个唯一索引,如图:查看tp的源码可以发现add和addAll定义如下:public ...转载 2018-08-20 09:49:14 · 753 阅读 · 0 评论 -
msql唯一索引
Mysql唯一索引 唯一约束唯一索引作为mysql众多索引常用的一种,在一次业务代码编写中详细了解了下此索引在此记载,如果错误地方还望同学们斧正 Mysql唯一索引 唯一约束 唯一索引的的作用 唯一索引与唯一约束的区别 添加删除唯一索引的sql语句 需要注意的坑 唯一索引的的作用顾名思义,唯一索引,即是唯一的意思,在数据库表结构中对字段添加唯一索引后进行数...转载 2018-08-20 09:50:24 · 343 阅读 · 0 评论 -
mysql数据覆盖以及更新的方法
MySQL批量插入遇上唯一索引避免方法(避免导入重复数据)未避免导入重复数据,建议建立唯一索引 防止批量插入时,遇上唯一索引,可以使用以下3种方法避免方法(一)导入差异数据,忽略重复数据,IGNORE INTO的使用 (二)导入并覆盖重复数据,REPLACE INTO 的使用 (三)导入保留重复数据未指定字段,INSERT INTO ON DUPLICATE KEY UPDATE 的...转载 2018-08-20 09:52:52 · 19966 阅读 · 0 评论 -
php 二维数组纵向合并以及横向合并
本文主要和大家分享第一种合并方式:通过PHP的数组API给出的array_merge方法来合并一个数组 ,希望能帮助到大家。 代码: 1 2 3 4 $a = array(array("1","2"),array("3","4")); $b = array(array("a","b"),array("转载 2018-08-20 10:31:45 · 584 阅读 · 0 评论 -
json函数与exit()函数
PHP中json_encode()使用须知,JSON数组和JSON对象⊰ 偷偷的告诉你,这是一个很不谨慎就会踩得坑 ⊱ 如下代码 (看了一下很简单,没毛病啊,老铁)$arr = array( '0'=>'a','1'=>'b','2'=>'c','3'=>'d');echo json_encode($arr);但是结果是["a","b",...原创 2018-08-21 10:14:38 · 1110 阅读 · 0 评论 -
php 整除
PHP语法基础篇——除法取整和取余数2014年04月10日 17:36:38 阅读数:17315 标签: phpphp5 更多个人分类: php1. ceil — 进一取整函数函数详解float ceil ( float value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通...转载 2018-08-24 11:32:44 · 1727 阅读 · 0 评论 -
thinkphp 定时任务学习笔记
由于项目需要用到爬虫更新实时数据,所以要用到计划任务。这里正好学习了。废话不多说,一起来看看这是怎么回事 因为windows的计划任务只能执行脚本,所以框架的写法是不能以脚本的形式执行的。那么通过curl就可以做到。 首先你得在项目文件下(网站根目录任何地方只要能用并且你觉得舒服)新建个.bat文件。bat文件得内容如下: ...原创 2018-09-16 20:58:29 · 1184 阅读 · 0 评论 -
正则表达式分组详解
正则表达式分组、引用和断言这几日看权威指南,对正则里的分组、引用和断言有了更深的理解,特地整理一下加深印象。为了详细地解释,首先将权威指南第6版上相关描述的原文贴出来,重点用红色标识。字符 含义 (......) Grouping . Group items into a single unit that can be used with *, +, ?, | , an...转载 2018-09-10 17:13:57 · 15549 阅读 · 0 评论 -
唯一索引
MySQL添加数据库的唯一索引的几种方式~创建表时直接设置:DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `stu_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`stu_id`), U...转载 2018-09-23 16:59:23 · 213 阅读 · 0 评论 -
mysql索引分类
Mysql支持哪几种索引从数据结构角度1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理2、hash索引:a 仅仅能满足"=","IN"和"<=>"查询,不能使用范围查询b 其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引...转载 2018-09-23 17:00:17 · 124 阅读 · 0 评论 -
http协议长连接和短链接
转一、什么是长连接2017年11月20日 19:11:09 阅读数:1803更多个人分类: 排序算法 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。 HTTP首部的Connection: K...转载 2018-09-11 09:23:19 · 1748 阅读 · 1 评论 -
正则表达式的\b边界符号详解
一、 概述“\b”匹配单词边界,不匹配任何字符。 “\b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“\b”是零宽度的。 基本上所有的资料里都会说“\b”是单词边界,但是关于“单词”的范围却是少有提及。通常情况下,正则表达式中所谓的“单词”,就是由“\w”所定义的字符所组成的子串。 “\b”表示所在位置的一侧为单词字符,另一侧为非单...原创 2018-09-11 09:47:06 · 4209 阅读 · 0 评论