自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cjd的博客

尽量写最简短易懂的文章

  • 博客(112)
  • 收藏
  • 关注

原创 Swoole框架Hyperf(一) - 安装与运行

emmmmmmmmm,这名字好。。好丑啊。被强行解释为:这框架是swoft成员开发的,据说比swoft性能高。composer安装,任意目录即可运行,不依赖于apache或nginx等服务器。环境:composer create-project hyperf/hyperf-skeleton等待即可,一开始没有反应。如果出现了这种,也不知道啥意思,文档也没说,大佬说不懂就全部选n,...

2019-07-01 20:14:51 12897 5

原创 Swoft 踩坑笔记一 - 安装Swoft并启动

emmmmmmmm,一开始接触我也是一脸懵逼啊!不过幸运的是我有开发组的大佬可以请教,所以。。。。。。还是一脸懵逼啊!因为常规FPM框架的技术在swoft里就占那么一丢丢,其余的都没见过啊。目前我还没找着教怎么使用swoft的文章,基本上就是一些介绍原理啥的。虽然swoft源码包里有很多Demo,但是也没说明怎么使用。好吧,我承认我菜。。好啦,现在介绍一下前面说的大佬,这是他的GitHub:...

2018-11-25 16:17:35 9435 13

原创 Swoole框架Hyperf(六) - Hyperf创始人的Hyperf教程

教程是Hyperf创始人制作的,点击进入地址

2019-11-23 14:08:44 3774

原创 imgcook(图像大厨)初体验,图片转前端代码。前端把自己搞失业了!

imgcook是什么?简单的说,就是可以把设计稿和图片转成前端代码。你或许会说,这个很多年前就有了啊,而且很不好用。但是!这个是由阿里巴巴推出的,所以规范程度应该会很高。如果永久免费的话,我相信初中级的前端开发都要失业,或许部分设计师也要失业,因为现在是设计师做设计稿→前端,前端写页面→对接后端。而以后可以老板自己用PS设计页面(PS很好学)→后端。imgcook链接 右上角先登录。直接上图...

2019-11-23 13:58:03 5988 2

原创 Vue.js学习总结

和小程序很像,会小程序理解vue就会很快。比较复杂的是监听属性,其中 @click = "counter--" 居然实现了自减。<div id = "test"> <p>数字: {{ counter }}</p> <button @click = "counter--">点击</button></div><...

2019-09-01 10:35:58 856

原创 Swoole框架Hyperf(五) - 视图

安装视图和task# composer require hyperf/view# composer require hyperf/task安装成功后你在vendor/hyperf就能看到了。在config/autoload/下创建view.php<?phpdeclare(strict_types=1);use Hyperf\View\Mode;use Hyperf\Vie...

2019-08-03 13:06:45 2245 2

原创 Swoole框架Hyperf(四) - 依赖注入

先别看懂,先阅读,在后半部分讲解这个是干嘛的。其实这个我们平时在其它框架里很常用,就是不知道它的名字叫做依赖注入。为了本地和linux虚拟机实现愉快的同步代码,所以可借助WinSCP 本地文件与服务器自动同步我将框架拉到了本地都选中根目录然后就可以在本地用编辑器直接编辑与新建文件了,将会自动同步到linux。主要是为了能按Ctrl看路径。正文假设我们需要在 IndexControl...

2019-07-20 11:35:48 2612

原创 Swoole框架Hyperf(三) - 控制器与路由

当我们通过ip+端口用浏览器访问时候,是访问了控制器app/Controller/IndexController.php/index它是由config/routes.php配置的现在,我们新建一个控制器访问试试吧!但是,传统路由配置就不用讲了吧,一看就懂。所以,我们用注解来配置路由。注解是什么?你就理解为是在控制器里面配置路由的一种方法。@AutoController 注解,自动生...

2019-07-13 15:13:09 3612

原创 Swoole框架Hyperf(二) - Windows下IP+端口号,浏览器访问不了解决方法。

上一篇说到在虚拟机跑的Hyperf,windows下ip+端口,浏览器访问不了,是因为防火墙的问题,如果你防火墙用的是iptables,那就增加一个端口。打开配置文件# vi /etc/sysconfig/iptables插入一行# -A INPUT -m state --state NEW -m tcp -p tcp --dport 9501 -j ACCEPT重启防火墙# sy...

2019-07-13 15:12:56 3365

原创 其它服务器(ThinkPHP5)与Discuz3.3自带的UCenter实现同步(三) - 同步登录、退出登录

UCenter的登录和退出登录与其它操作不同,它多了一步返回js代码,然后你需要将代码添加到前端页面,才能运行。本篇所有操作都在tp项目下编辑。复制下标1的,改成下标2再修改相关信息新增登录方法 public function login() { $uid = uc_user_login('username', '1'); var_dump(...

2019-06-08 10:24:37 753 1

原创 其它服务器(ThinkPHP5)与Discuz3.3自带的UCenter实现同步(二) - 同步注册与跳过登录激活,删除会员

本篇使用tp自带的index模块的index控制器来操作ucenter。注意!本篇所有的修改文件或代码都均在tp项目下操作的,和dz已经无关了。编辑控制器<?phpnamespace app\index\controller;include_once ROOT_PATH.'config/config_ucenter.php';include_once ROOT_PATH.'uc_...

2019-06-07 20:58:30 1147 1

原创 其它服务器(ThinkPHP5)与Discuz3.3自带的UCenter实现同步(一) - 通信成功

本篇不限于使用什么框架,没有框架都行,只要你放项目根目录,都一样的。下载discuz,打开压缩包后我们只需要upload这个目录,解压至服务器www目录下,改不改名随你,我改为dz。目录结构安装dz纳尼?你想说你要实现的是俩台联网的服务器互联啊!放心,可以连到。但我穷,买不起。注意了!该版本貌似最高只支持php7.0,再高就会安装不了。即使你用7.0安装完切换到更高版本也会报...

2019-06-07 19:36:45 1263

原创 设计模式PHP版八 - 命令模式

本篇通过去餐馆用餐举例,你去餐馆需要点菜,点菜时有服务员记录,服务员记录完把单子交给厨师,厨师做菜。/** * Interface Command 命令角色 */interface Command{ /** * @return mixed 执行方法 */ public function execute();}/** * Class Concre...

2019-06-07 16:00:35 153 1

原创 设计模式PHP版七 - 适配器模式

适配器是用于已有类,而不想改动的情况下更换接口。该模式与装饰器模式很像,但应用目的不同。本篇例子:美国电器电压是110V,中国是220V,你在美国想要使用中国的电器,就要有一个适配器将110V转为220V,不然电器无法使用。(emmm,怎么念起来怪怪的,但是我又没有证据)第一种方式:对象适配器interface Target{ public function volt110();...

2019-06-01 15:42:26 171

原创 设计模式PHP版六 - 装饰器模式

<?php/** * 定义一个接口 * Interface Component */interface Component{ public function operation();}/** * Class Decorator 装饰器 */abstract class Decorator implements Component{ /** ...

2019-05-26 16:23:49 159

原创 PhpStorm - 本地开发断点调试,下载配置xdebug扩展

新建一个info.php文件,输入并保存<?phpphpinfo();运行该文件注意了,进入下一步的下载扩展前如果你的Architecture是x86,意味着你要下载32位的,而不是你的电脑系统64位你就要下载64位,这个显示的不是我们的系统是几位的,而是另一个概念。如果是x64就下载64位的。通过上图得知我需要下载的扩展版本是:php7.2版本,32位的,NTS的,VC15...

2019-05-12 17:07:40 695

原创 设计模式PHP版五 - 代理模式

在现实生活中,如果你有一套房要卖,当发布后会有很多人来咨询你,你需要花费大量的时间去处理这些买家的问题。一段时间后,你觉得很烦,很多人只是问了下价格就没音信了。某一天,有个中介找到你,说帮你卖房,你就负责最后的签约就行了,你顿感惊喜,于是委托给了他,让他代理你的卖房业务。/** * 签约接口 * * Interface Signing */interface Signing{ ...

2019-05-03 12:34:17 168

原创 PHP爬虫框架phpspider(二) - 分页爬取写入数据库

本篇写的demo是爬取军事网站,因为我是军事迷嘿嘿。你们运行一下就好了,不要乱爬,爬虫是有爬取礼仪的,如果你爬取频率过高就是不礼貌,会被封ip的。先上文档:PHP蜘蛛爬虫开发文档 代码中没注释的可以进去搜索。在demo目录中新建demo.php<?phprequire '../vendor/autoload.php';use phpspider\core\phpspider;...

2019-05-02 23:03:37 2992 3

原创 PHP爬虫框架phpspider(一) - 下载安装

该框架还是挺强大的,就是爬取规则配置没有python的bs4库那么易用。github地址随便找个目录即可,不依赖于apache等。克隆git clone https://github.com/owner888/phpspider.git它给我们提供了很多demo现在,我们打开 mafengwo.php 看代码还好我以前搞过爬虫,这么点注释,就我这点水平,鬼知道怎么用。demo不应...

2019-05-02 22:49:16 2809 1

原创 提交表单 JQ 获取所有input输入框的值

之前要用ajax只会一个一个的获取input里的值,然后再拼接成json格式。当表单项多的时候就很烦了。 <form id="form"> <input type="text" name="username"/> <input type="text" name="password"/> <button type="button" ...

2019-04-27 11:03:33 7102

原创 Linux 命令

查看大文件du -h / --max-depth=1 | sort -hr | head -n 10显示一天以内创建的文件find / -mtime -1 -print显示一天之前创建的文件find / -mtime +1 -print显示最近一小时创建的文件find / -cmin -60...

2019-04-13 19:16:32 236

原创 Git 常用命令

丢弃更改git checkout 文件名git checkout . 丢弃所有提交add 文件名git commit -m "说明"git push拉取git pull origin master克隆指定分支git clone -b 分支名 地址工作区与暂存区比较git diff 文件名路径 工作区与HEAD ( 当前工作分支) 比较,所有改动文件git di...

2019-04-13 19:14:00 157

原创 设计模式PHP版四 - 观察者模式

意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。个人理解:就像订阅公众号一样,公众号发布一条推送,所有订阅者就都能接收到。<...

2019-04-05 11:47:58 189

原创 设计模式PHP版三 - 策略模式

<?php/** * 定义策略接口 * * Interface Strategy */interface Strategy { /** * 计算 * * @param int $numA 值A * @param int $numB 值B * @return mixed */ public functi...

2019-03-31 18:02:52 143

原创 人云亦云 - 互联网寒冬?PHP不行了?

1

2019-03-28 22:26:18 1332

原创 设计模式PHP版二 - 工厂模式

<?php// 定义一个接口interface Factory{ public function operation($option);}// 运算工厂class OperationFactory implements Factory{ // 实现接口 public function operation($option) { /...

2019-03-27 22:40:13 164

原创 设计模式PHP版 - 单例模式

1

2019-03-24 22:59:39 1005

原创 Nginx - ThinkPHP5访问配置

没有对nginx进行配置,是访问不了tp的。tp5所在目录/usr/local/nginx/html/tp5修改/usr/local/nginx/conf/nginx.conf,在http段内的server段内添加,存在的覆盖 location / { root /usr/local/nginx/html; index ind...

2019-01-22 16:04:34 6752 2

原创 MySQL优化(六) - 开启查询缓存

查看是否开启mysql&gt; show variables like '%query_cache%';表示没开启。开启只需到/etc/my.cnf中添加以下内容,如果里面已经有[mysqld]就不需要加[mysqld]query_cache_size = 128Mquery_cache_type = ON如果这个目录下没有,那就# find / -name mysql.cnf...

2019-01-22 10:14:15 380 2

原创 MySQL优化(五) - 开启慢查询日志

1

2019-01-22 10:13:55 344 1

原创 MySQL优化(四) - 查询

本文使用mysql自带的测试工具mysqlslap来做测试。测试的数据约有一百万条。不要吐槽我字段命名,它们就是凑数的。sql语句语法大写当你小写运行时,mysql需要先转换成大写的,再运行。而直接大写,就无需转换。这能节省一些时间。避免SELECT * FROM# mysqlslap --create-schema='test' -q &amp;quot;SELECT * FROM user WHER...

2019-01-19 20:48:04 265

原创 MySQL优化(三) - 数据类型

最小的数据类型因为磁盘,内存,cpu占用的更少,计算周期小。像tinyint这种存储一个字节的,无论哪种硬件去处理,都会比int(4个字节)快一些。

2019-01-18 23:05:52 308 8

原创 MySQL优化(二) - 存储过程

测试数据测试语句update user set age = 3 where name = 'weikaixxxxxx';添加存储过程,在mysql控制台delimiter $$create procedure add_test(in age1 int,in name1 char(12))beginupdate user set age = age1 where name = na...

2019-01-18 17:31:19 940

原创 MySQL测试工具 - mysqlslap

mysql自带的,不需要安装。查看是否存在# mysqlslap -V简单的测试语句mysqlslap --create-schema='test' -q &quot;SELECT * FROM user&quot; -c 1 -i 1 -uroot -proot--create-schema:数据库名-q:执行的sql语句-c:并发数-i:测试的次数-u:连接的用户名-p:连接的用户密码...

2019-01-18 15:56:34 941

原创 Linux CentOS7 安装MySQL5.7.24 tar.gz

# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-test-5.7.24-linux-glibc2.12-x86_64.tar.gz# tar -zxf mysql-test-5.7.24-linux-glibc2.12-x86_64.tar.gz

2019-01-18 14:23:09 1426

原创 MySQL优化(一) - 索引

测试信息工具:navicatmysql版本:5.7.24引擎:InnoDB测试数据:一百万条。字段有id,name,age声明:下文得到的数值是运行了不下10遍得出的最大值,一般二三十遍。为什么是最大值?实际上你得获取最差效果来对比,因为那就是用户体验到的。你拿中间值,就会有等待超出中间值的用户抱怨响应缓慢。语句SELECT * FROM user WHERE age &amp;gt; ...

2019-01-16 20:15:29 282

原创 Elasticsearch错误 “low disk watermark [85%]”或“high disk watermark [90%]”

配置文件增加cluster.routing.allocation.disk.threshold_enabled: false详情

2019-01-16 09:45:26 8324

原创 Elasticsearch(七) - X-Pack 用户管理

我们之前是直接就能够使用的,但是你想过没有,它不需要账户和密码就可以使用!也就是说,谁都能够对你服务器上的es进行操作,这是相当危险的。这个功能是收费的,但是提供30天的试用期,通过post获取post方式请求http://192.168.247.140:9200/_xpack/license/start_trial?acknowledge=trueget请求方式获取到期时间http...

2019-01-15 22:18:33 3325

原创 Elasticsearch-PHP(三) - 文档的增删改查

新增&amp;lt;?phprequire 'vendor/autoload.php';$hosts = [ '192.168.247.140:9200' // ip和端口];$client = Elasticsearch\ClientBuilder::create() -&amp;gt;setHosts($hosts) ...

2019-01-15 20:09:25 2253

原创 Elasticsearch-PHP(二) - 索引的增删改查

创建一个索引&amp;amp;lt;?phprequire 'vendor/autoload.php';$hosts = [ '192.168.247.140:9200' // ip和端口];$client = Elasticsearch\ClientBuilder::create() -&amp;amp;gt;setHosts($hosts)...

2019-01-15 20:09:04 2317

空空如也

空空如也

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

TA关注的人

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