- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 聊聊swoole的心跳
导读:swoole是PHP的异步、并行、高性能网络通信引擎,使用C编写,提供了PHP的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。本文为桶哥为大家讲述关于swoole的心跳功能。...
2018-09-12 21:57:12
1281
转载 安装composer
Linux下全局安装composer方法//下载composercurl -sS https://getcomposer.org/installer | php//将composer.phar文件移动到bin目录以便全局使用composer命令mv composer.phar /usr/local/bin/composer//切换国内源 (不能用root 超级用户运行下面的命令,切换到普通用户)c...
2018-04-08 16:30:58
296
原创 Java 泛型详解
引言 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。 泛型基础 泛型类 我们首先定义一个简单的Box类:public class Box { private String object; public void set(String object) { t...
2018-03-27 17:48:11
243
转载 秒杀系统架构优化思路
一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如:12306抢票,票是有限的,库存一份,瞬时流量非常多,都读...
2018-03-26 21:23:44
191
原创 对Swoole、Workerman和php自带的socket的理解
为什么php自带的socket不怎么听说,基本都是用swoole,workerman去实现?1、PHP的socket扩展是一套socket api,仅此而已。swoole,用C实现,它的socket是C 库的socket,更加底层可控。workerman,如题主所说,使用PHP实现,那它的socket就是用PHP socket扩展啊。只是对其进行工程化开发,成了一个框架。2、swoole 框架和 ...
2018-03-22 17:20:28
7638
1
原创 php 面试题
php 面试题五使用过哪些PHP框架。1、YII框架:2、ThinkPHP框架:php中,模板引擎的目的是什么? 你用过哪些模板引擎?使用模板引擎的目的是使程序的逻辑代码和html界面代码分离开,是程序的结构更清晰。使用过的模板引擎:Smarty、ThinkPHP的ThinkTemplate7. 如何在页面之间传递变量(至少两种方式) ? GET,POST,COOKIE,SESSION8. 你...
2018-03-20 21:45:48
1685
1
原创 php session 应用场景
学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了。 PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,这样就是为了多了不会产生混乱了,并且session中同一浏览器同一站点只能有一个session_id,下面我们...
2018-03-17 19:58:05
461
转载 LNMP 环境搭建
LNMP 环境搭建安装所需软件环境yum -y install gcc automake autoconf libtool makeyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel \libjpeg libjpeg-devel libpng libpng-devel...
2018-03-13 17:05:09
325
转载 php 数组指针
php 数组指针一、php 数组指针操作利用php的内置函数:key,current,next(),prev()移动到上一个,reset()重置,移动到第一个元素,end()移动到最后一个元素上注意一旦指针位置非法,则不能做相对移动(next,prev),可以绝对移动(reset,end),reset,使用频率较高! each(),集合了 key,current,和next三者的功能!将当前元素信...
2018-03-12 17:24:42
2768
PHP 运算符
PHP 运算符 一、前言 能够实现某种运算功能的符号。 根据不同的功能,可以分为以下几大类: 1.算术运算符 2.赋值运算符 3.字符串运算符 4.比较运算符 5.递增/递减运算符 6.逻辑运算符 7.位运算符 8.错误控制运算符 9.三目运算符 不同的运算符所对应的的运算数是不同的,单目、双...
2018-03-12 17:24:38
247
转载 Mongodb导出与导入
Mongodb导出与导入一、mongodb导入导出操作1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.所以,都有如下通用选项:-h host 主机--port port 端口-u username 用户名-p passwd 密码2: mongoexport 导出json格式的文件问: 导出哪个库,哪张表,哪几列,哪几行?-d 库名-c 表名-f fiel...
2018-03-10 20:40:24
3396
原创 mysql优化之影响mysql性能因素一
web服务器可以进行横向扩展,每台服务器只要配置相同就可以进行横向扩展,理论上可以无限制的增加web服务器增加mysql的访问性能。数据库服务器才是大数据量访问时延迟高效率低的主要原因,没有稳定的数据库就没有稳定的访问。 影响数据库因素主要因素主要有一下几点: 1.sql查询速度 2.网卡流量 3.服务器硬件 4.磁盘IO 以上...
2018-03-08 16:27:33
167
转载 linux 介绍
linux介绍1.课程安排目标:了解linux系统发展,掌握linux系统的安装,掌握linux基本命令。Windows mac linux。阶段目标:掌握linux基本使用,掌握lamp环境的搭建。能够满足工作中的需要。所有部门、除了前端、除了产品经理。作为服务器来说,linux王者。2.linux的发展史1991年芬兰的赫尔辛基大学 的 林纳斯·托瓦斯 开发的linux系统。sta...
2018-03-08 16:21:20
696
原创 高可用架构设计---微服务
要点: 动态的环境和分布式的系统,比如微服务,它们出现故障的几率更大;发生故障的服务应该被隔离开来,实现优雅的服务降级,提升用户体验;70% 的故障都是因为代码变更引起的,所以有时候回退代码并不算是什么坏事;如果发生故障,就要让它们快速而独立的发生;一个团队无法控制他们服务的依赖项;缓存、隔板、回路断路器和速率限定器这些架构模式有助于构建可靠的微服务。写在前面微服务架构通过定义良好的边界让失效隔离...
2018-03-07 17:16:13
914
转载 python 实现KNN算法
KNN算法基本介绍K-Nearest Neighbor(k最邻近分类算法),简称KNN,是最简单的一种有监督的机器学习算法。也是一种懒惰学习算法,即开始训练仅仅是保存所有样本集的信息,直到测试样本到达才开始进行分类决策。KNN算法的核心思想:要想确定测试样本属于哪一类,就先寻找所有训练样本中与该测试样本“距离”最近的前K个样本,然后判断这K个样本中大部分所属的类型,就认为是该测试样本的类型。也就是...
2018-03-06 15:59:13
12685
2
java学习就两个问题
学java就两个问题:java是面向对象的语言这东西是国外的 搞清楚面向对象的历史演变,java的每个特性都是基于面向对象产生的。java就是面向对象而生的,java就是一种思想。你们人手不是有一本启蒙书籍叫think in java麽?国外书籍用的是think,国内的书籍都是深入理解/学习/深入浅出/30天掌握/教程XXXX字眼的书籍。脑袋没毛病吧,随便一本书平均下来都有500...
2018-03-06 15:54:43
128
转载 php 变量原理
php 变量原理讲解一、变量概念所谓变量,是指在程序中其值可以变化的量。程序是管理和处理数据的。在程序运行过程中,我们需要存贮这些数据,变量和常量就是用于保存程序运行时的数据的。变量通常由两部分组成,变量名 和 变量值1.1 在php中,定义一个变量,使用$符号,在定义的时候不用理会这个变量是什么数据类型。1.2 变量赋值,修改,销毁增,就是赋值,比如$a = “PHP”改, 重新赋值即可,$a ...
2018-03-02 16:15:54
249
转载 php 微信授权原理
php 微信授权一、前言概括微信授权有什么作用,微信授权我们需要使用微信开发的什么接口。微信授权,对于开发来说,他是与微信用户系统对接的唯一途径。为什么说是唯一途径,因为,只有通过微信授权,才能拿到用户在微信平台上的信息(头像,昵称,地址),例如:在进入微信商城的时候,弹出确认“xxx商城授权”。点击确定,就是该电商平台到微信去授权获取用户的信息。
2018-01-23 16:50:04
1012
php 发展历程
1.php是什么? Hypertext Preprocessor,超文本预处理器 Personal Home Page,个人主页 是一种在服务器端执行的脚本语言,可嵌入到 HTML中,尤其适合 web 开发。 2.php可以做什么? 网站,web程序 B/S架构 3.php的发展历程 PHP/FI PH...
2018-01-23 16:34:37
278
原创 W3Cschool 与code学院的孽缘
在线教育,文档很重要。但是大家都知道w3cschool,却不知道code学院。下面我就简单介绍一下code学院(http://www.codexueyuan.com)的一些功能1.编程教学文档2,代码实例演练3,精选文章导读4,专题讲解这个界面还是不错的,用户的友好体验,自有你自己去看看了。
2018-01-14 19:59:32
350
原创 yii2 elasticsearch5.4.1 使用心得
一、elasticsearch 安装1.1安装Java环境首先检测是否安装javajava -versionecho $JAVA_HOME如果java的版本过低,建议安装高版本,下面安装的是java 1.8cd /opt/wget --no-cookies --no-check-certificate --header"Cookie:
2017-06-23 17:54:58
3022
原创 python+django+uwsgi+nginx+virtualenv 部署高可用的python web环境
【摘要】 最近开始部署python的web环境,说实话对于python的单一站点部署还是有经验的,毕竟带团队已经多年(吹一下NB)。那么问题来了,不同版本的python环境部署还是必须了解的。今天,终于解决了python不同版本的环境配置。进入正题,我采用virtualenv 进行python环境隔离,部署不同的版本。然后在Nginx上进行反向代理,实现pythonweb环境。一、
2017-05-23 11:34:54
4357
转载 Easy_install安装与使用
Easy_install安装与使用1.wget --no-check-certificat https://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz 2.tar zxf setuptools-2.0.tar.gz 3.cd setuptools-2.0 4.p
2017-04-18 16:09:50
1007
原创 node js +forever+ nginx 搭建高性能web服务器
一、linux node js安装 yum install npm (安装node js运行环境)node -v 查看node的版本node app.js& 后台测试node是否运行访问域名 测试二、安装forever,使node作为服务运行在服务器后台 npm install forever -g (安装forever) $ sud
2017-02-04 11:17:46
1878
转载 mysql 数据库存储图片与字符串组合的字段 ------moji图标存储
首先更改mysql的数据编码,修改mysql的配置文件: /etc/mysql/my.cnf 添加:[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-hands
2016-08-12 22:23:11
2716
原创 php 爬虫 爬取12306接口
public function actionGet_12306($session,$str){ $url="https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2016-07-05&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=AK
2016-07-06 15:53:16
3079
转载 nginx 作为系统服务
开机自启动nginx这里使用的是编写shell脚本的方式来处理vi /etc/init.d/nginx (输入下面的代码)#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description:
2016-03-24 23:25:20
374
原创 yii2 rules验证解析
1,model类规则public function rules(){return [[['username','password','sex','qq','xueli','hobby','introduce'],'required','message'=>'{attribute}不能为空'],['tel','match','pattern'=>'/^1[0-9]{10}
2015-12-24 10:25:39
1527
原创 yii2 分页类源码分析
yii2 分页类源码分析1,yii2的分页类在yii\data\pagination,该类继承object类,所以有很多属性都可以使用。2,控制器编写namespace app\controllers;use Yii;use yii\web\Controller;use app\models\Works;use yii\data\Pagination;c
2015-12-10 11:28:10
855
原创 linux 安装php-fpm报错
php-fpm在安装后之后,启动的时候发现报错信息error while loading shared libraries: libmysqlclient.so.18,原来少了libmysqlclient.so.18这个共享文件,我们来检查一下排错步骤:查看:ls /usr/lib ls /usr/lib64 下是否有显示的共享文件,如果没有,添加软连接; ln -s
2015-11-12 18:49:08
879
原创 linux 下mysql源码安装步骤:
一、安装简介用户名:mysql安装目录:/usr/local/mysql-5.5数据库目录:/data/mysql/data源码包:mysql-5.5.28.tar.gz二、安装准备添加用户useradd -s /sbin/nologin mysql建立所需目录mkdir -p /data/mysql/datachown -R mysql:mysql /da
2015-11-12 14:42:47
402
原创 yii2 restful api搭建 实例
步骤一:编写控制器步骤2:编写model 注(model必须继承ActivieRecord)步骤三:通过urlmanager实现yii地址美化,需配合服务器中的rewrite配置web.conf'urlManager' => [ 'enablePrettyUrl' => true, 'sh
2015-10-20 14:24:19
2803
原创 linux 下ab压力测试
安装ab工具ubuntu安装abapt-get install apache2-utilscentos安装abyum install httpd-toolsab 测试命令ab -kc 1000-n 1000 http://localhost/ab.html(是服务器下的页面)
2015-10-19 18:24:31
11642
1
原创 微信jssdk分享及验签
微信jssdk分享及验签第一步:绑定微信安全域名(详情见微信文档)第二步:验签(服务器验签传递数据验签数据给前台页面)后台控制器(yii2的框架): public function actionShow(){ $session=YII::$app->session; $obj=new WxController('Wx','',''
2015-10-10 15:01:30
2085
原创 nginx+php 环境下的https环境搭建
1,建一个目录# 生成一个RSA密钥 $ openssl genrsa -des3 -out 33iq.key 1024 # 拷贝一个不需要输入密码的密钥文件$ openssl rsa -in 33iq.key -out 33iq_nopass.key # 生成一个证书请求$ openssl req -new -key 33iq.key -out 33iq.csr # 自
2015-09-24 14:10:05
4590
原创 thinkphp3.2版本 分页类 page.class.php url错误
thinkphp在Nginx没有pathinfo的情况出现.PHP的文件,这个让人很是纠结。在服务器是Linux,web服务器是nginx, CGI接口是FASTCGI,就会出现这个问题。问题原因:ThinkPHP/common/runtime.php中定义IS_CGI常量的定义有问题;错误代码:在fpm下,PHP_SAPI的值是fpm-fcgi,所
2015-09-15 19:24:32
1820
原创 linux 编辑memcahed以及memcahed+php扩展遇到的问题
安装memcached安装步骤:memcached 依赖于libevent 库,因此我们需要先安装libevent.分别到libevent.org 和memcached.org 下载最新的stable 版本(稳定版).先编译libevent ,再编译memcached,编译memcached 时要指定libevent 的路径.过程如下: 假设源码在/usr/loca
2015-09-12 17:28:59
396
原创 linux 编辑 php 扩展
下载php安装源码包进入php源码包里下的扩展目录下cd /php/pcntl/phpize ./configure --with-php-config=/alidata/server/php/bin/php-configmake && make install最后修改php.ini文件
2015-08-19 16:54:50
301
翻译 yii2 rbac 详解
yii2 rbac 详解DbManager1.yii config文件配置(我用的高级模板)(配置在common/config/main-local.php或者main.php)'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'auth_item', 'as
2015-07-30 10:29:03
3448
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人