自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

alexander_phper的博客

You can not live like a king , because you are not one .

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

原创 laravel 打印sql

DB::enableQueryLog(); // 需要监控的sql查询代码段// ...$queries = DB::getQueryLog();dd($queries);

2019-10-22 09:50:15 1108

原创 ggsddu

算法过河算法问题https://github.com/gt199899/ggsddu/blob/master/algorithm/GapBridge.php

2019-05-23 14:54:05 947

转载 RabbitMQ tutorial-one-php

简介RabbitMQ 是一个 message broker: 它接收并转发消息。可以把它想象为一个邮局:你把信件放到邮箱里面,信件最终会被邮递员投送到目的地。类比的讲,RabbitMQ就是一个邮箱,一个邮局,一个邮递员。RabbitMQ与邮局最大的不同是它并不处理纸质对象,它接收,储存并转发二进制数据块,也就是消息(messages)。RabbitMQ和一般消息传递,有很专业术语。生产意...

2019-05-06 17:46:13 373

转载 centos 安装 nginx

安装所需环境Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。一. gcc 安装安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:yum install gcc-c++二. PCRE pcre-devel 安装PCRE(Perl Co...

2019-05-04 00:21:50 254

转载 centos安装rabbitmq

前言:对于centos7.3我使用yum安装不上erlang,才有了这边编译安装erlang的文章。在安装erlang过程中遇到不少坑,最终经过努力把rabbitmq装上。按照官方的办法安装erlang报错,rpm包也是一样:Error: Package: erlang-wx-20.0rc1-3.el7.centos.x86_64 (erlang-solutions)Requires: li...

2019-05-03 23:16:10 385

转载 mysql三大范式

定义范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2...

2019-04-26 21:07:22 606

转载 调试查看PHP Core的调用栈

PHP gdb.php 代码如下:<?php class Test {} function a($i) { b(new Test, 2.3432, "reader");}function b($i) { c(array(1,2,3));}function c($i) { d(TRUE);}function d($i) { $fp = f...

2019-04-26 20:17:55 809

原创 glang mysql 连接池示例代码

package mainimport ( _ "github.com/go-sql-driver/mysql" "database/sql" "fmt" "time")var db *sql.DBfunc main() { // 设置连接 var err interface{} db, err = sql.Open("mysql", "user:password@tcp.

2019-03-04 01:37:55 297

原创 加载golang.org/x/*包超时问题

从github上面拉取golang包,做一个软连映射即可;git clone https://github.com/golang/net.git $GOPATH/src/github.com/golang/netgit clone https://github.com/golang/sys.git $GOPATH/src/github.com/golang/sysln -s /data/ww...

2019-02-28 13:27:54 1697

原创 composer satis 处理私有资源包

satissatis 是一个静态的 composer 代码库生成器。他可以提供私有资源包更新服务;安装首先保证已经安装了composer;然后到web根目录;composer create-project composer/satis --stability=dev --keep-vcs执行完毕之后,会生成一个satis目录;然后创建satis配置文件vim satis/satis...

2019-02-08 18:27:36 821

原创 PHP内置接口ArrayAccess:像使用数组一样使用类

class ab implements ArrayAccess{ /** * Determine if the given attribute exists. * * @param mixed $offset * @return bool */ public function offsetExists($offset) ...

2018-11-19 23:29:39 378

原创 nginx配置支持跨域

将下面的一段配置放入项目的nginx配置文件的location区域里面;location ~ \.php($|/) { #满足规则的域名判断 if ($http_origin ~* "^https?://[a-z0-9]+\.domain\.com$" ) { # 支持特定域名来源的跨域请求 add_header Access-Control-Allow-Origin $...

2018-11-19 21:48:53 744

原创 Function Reference >> Variable and Type Related Extensions >> Arrays >> Array Functions

array_multisortarray_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。 array_multisort 排序的数组和之前的数组要有相同数量的元素。 换言之,排序是按字典顺序排列的。# 使用语法$a = [3, 4, 5, 6];array_multisort($a, SORT_DESC, SORT_REGULAR...

2018-05-07 13:58:35 227

原创 yaf路由解析错误一次问题记录

问题描述nginx服务器,部分配置如下:location / { try_files $uri $uri/ /index.php?$query_string;}location ~ \.php($|/) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_pat...

2018-05-07 00:45:02 1086

原创 Install FastCGI Development Kit

安装fcgi_stdio包源码下载地址:https://github.com/eatonphil/fastcgi-development-kit/releasestar -zxvf fastcgi-development-kit-2.4.0.tar.gzcd fastcgi-development-kit-2.4.0./configuremakemake install检测fc...

2018-05-06 23:29:48 445

转载 解决Enter passphrase for key

两种解决方案:1.提示“ Permissions 0644 for ‘~/.ssh/id_rsa.pub’ are too open”解决方法:使用chmod 0600 ~/.ssh/id_rsa.pub更改将公钥权限改成“600”2.提示“Enter passphrase for key ~/.ssh/id_rsa.pub”让输入私钥,可不论输与不输都不能直接登录解决方法: ...

2018-05-03 19:33:41 8358

转载 MAC brew 无法工作报错

brew 操作报出类似如下的错误:brew install coreutilsError: coreutils: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:73: syntax error, unexpected &lt;&lt; def caveats; &lt;&lt;~EO...

2018-05-03 17:49:04 2706 1

原创 GO 备忘

QUESTIONS MAC下使用go install遇到以下问题: go install: no install location for directory /Users/Daryl/go/src/tireoutside GOPATH 解决办法: When you run go install Go looks for $GOBIN env variabl...

2018-05-02 11:08:12 197

原创 VIM 备忘

VIM 格式化代码gg = Ggg shift+v Ggg 到达文件最开始 = 要求缩进 G 直到文件尾 shift+v 选中VIM 缩进格式设置编辑文件 vim ~/.vimrcsyntax enableset background=dark" TAB字符占用多少个空格set ts=4" 每层缩进的空格数set sw=4" 是否将输入的TA...

2018-05-02 10:40:05 152

原创 PHP的PDO执行MYSQL的LOAD DATA INFILE样例代码

$dsn = 'mysql:dbname=name;host=ip;port=3306';$user = 'user';$pwd = 'password';// 这里PDO::MYSQL_ATTR_LOCAL_INFILE =&gt; true需要设置;$options = [PDO::MYSQL_ATTR_LOCAL_INFILE =&gt; true];$db = new PDO($...

2017-11-23 17:46:12 1488

原创 PHP协程(1):简略

基本概念援引几个博客上的话: 对于单核处理器,多进程实现多任务的原理是让操作系统给一个任务每次分配一定的 CPU时间片,然后中断、让下一个任务执行一定的时间片接着再中断并继续执行下一个,如此反复。由于切换执行任务的速度非常快,给外部用户的感受就是多个任务的执行是同时进行的。多进程的调度是由操作系统来实现的,进程自身不能控制自己何时被调度,也就是说: 进程的调度是由外层调度器抢占式实现的

2017-11-22 17:56:14 335

原创 PHP协程(2):通过生成器栈实现异步的同步写法

下面代码中使用一个TaskStack生成器栈,实现了异步方法swoole_timer_after的同步写法;顺带还实现了子生成器的调用; 只要是有callback方法的异步操作,均可以使用一下方式实现异步操作的同步写法;class TaskStack{ public $stack; public $generator; public $return; public f

2017-11-22 14:58:05 587

原创 Language Reference >> Predefined Interfaces and Classes >> Generator >> send

由于send方法是实现协程的关键所在,觉得有必要单独详细学习下send方法,因为确实诡异;官方文档 Generator::send (PHP 5 >= 5.5.0, PHP 7) Generator::send — Send a value to the generator Description public mixed Generator::send ( mix

2017-11-17 16:28:11 232

原创 Language Reference >> Predefined Interfaces and Classes >> Generator

<?php// +----------------------------------------------------------------------// | Language Reference >> Predefined Interfaces and Classes >> Generator// +------------------------------------------

2017-11-13 19:46:37 238

原创 c语言:sleep函数

#include <stdio.h>#include <unistd.h>int main(void){ /** * #include <unistd.h> * unsigned int sleep(unsigned int seconds); * sleep会让当前的进程暂停,直到达到参数seconds所指定的时间,或者是被信号所终端; *

2017-11-13 16:02:02 6257

原创 c语言:access函数

#include <stdio.h>#include <unistd.h>int main(void){ /** * * unistd.h * int access(const char * pathname, int mode); * access()会检查是否可以读/写某一已存在的文件。 * * pathname:

2017-11-10 00:27:09 4156

转载 tcp_tw_recycle和tcp_timestamps导致connect失败问题

近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关;1. 现象第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模块B开启了tcp ti

2017-11-02 20:33:10 435

原创 TCP三次握手简析

tcp三次握手简介tcp握手需要用到标识位里面的两种标识:SYN和ACK,以及报文中的seq序列号和ack确认号; 上面的ack确认号和ACK标识位是不同两种数据,下面小写的ack代表ack确认号,大写的ACK代表ACK标识位;简单流程如下: 1. client随机产生一个seq数字,发送SYN请求到server; 2. server收到SYN请求,将ack置为收到的seq+1,并且随机产

2017-11-02 20:02:31 536

原创 TCP包结构简介

TCP Header按照上图BIT坐标:0-0 至 0-15 发送方端口;0-16 至 0-31 接收方端口;32-0 至 32-31 sequence number,TCP序列号;!!!64-0 至 64-31 ack number,TCP确认号,为TCP序列号+1;96-0 至 96-3 数据偏移量;96-4 至 96-6 预留位;96-7 至 96-15 FLAG 标志位;96

2017-11-01 22:39:00 594

转载 MAC上wireshark找不到网卡

终端执行以下命令;# sudo chgrp admin /dev/bpf*# sudo chmod g+rw /dev/bpf*然后重启wireshark;转载地址:http://www.cnblogs.com/lixiuran/p/5733122.html

2017-11-01 20:18:32 694

转载 linux命令:tcpdump

PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,

2017-11-01 19:26:40 388

原创 PHP数组递归排序

/** * 递归根据特定key对数组排序 * @param $data * @param string $orderKey * @param string $sonKey * @param int $orderBy * @return mixed */function recursionOrderBy($data, $orderKey = 'order', $sonKey = 'ch

2017-10-13 18:50:44 1882

转载 PHP方法参数类型声明

转自:http://www.php.net/manual/zh/functions.arguments.php

2017-09-28 16:07:22 2719

原创 php 将一个变量转为字符串

/** * 将一个变量转为字符串 * float使用var_export得到的字符串不准确 * resource使用var_export得到的是null * @param $variable * @return string */function variable_to_string($variable){ return is_float($variable)

2017-09-26 11:08:01 4565

原创 php递归获取一个数组中指定key的值

/** * 递归获取一个数组中指定key的值 * @param $array * @param $keys * @param string $delimiter * @return mixed */function get_deep_value($array, $keys, $delimiter = '.'){ $keys = explode($delimiter, $key

2017-09-26 10:15:54 5889 1

原创 Function Reference >> Other Basic Extensions >> SPL >> Datastructures

<?php// +----------------------------------------------------------------------// | Function Reference >> Other Basic Extensions >> SPL >> Datastructures// +-----------------------------------------

2017-09-21 18:38:05 507

原创 swoole:swoole_async_writefile和onManagerStart遇到的一个问题记录

代码如下:$setting = [ 'max_conn' => 1000, 'daemonize' => 1, 'reactor_num' => 4, 'worker_num' => 4, 'task_worker_num' => 0, 'max_request' => 1000, 'backlog' => 65535, 'open_c

2017-09-14 10:22:24 955

原创 控制反转(IOC)和依赖注入(DI)

概念IOC(inversion of control)控制反转模式;控制反转是将组件间的依赖关系从程序内部提到外部来管理; DI(dependency injection)依赖注入模式;依赖注入是指将组件的依赖通过外部以参数或其他形式注入; 两个说法本质上是一个意思。 例如:class Dbmysql{ public function query(){}}class Dbora

2017-08-12 22:47:40 14357 4

原创 php_lang_ref:Language Reference >> Functions >> Anonymous functions

<?php// +----------------------------------------------------------------------// | Language Reference >> Functions >> Anonymous functions// +--------------------------------------------------------

2017-08-10 16:19:07 425

原创 php_lang_ref:Language Reference >> References Explained >> Spotting References

<?php// +----------------------------------------------------------------------// | Created by im-server.// +----------------------------------------------------------------------// | Language Refe

2017-07-17 09:50:02 281

空空如也

空空如也

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

TA关注的人

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