2019 年 09 月 0 篇文章

thinkphp+queue+supervisor

### 1.thinkhphp安装queue扩展 我使用的是composer安装(composer安装地址:[https://pkg.phpcomposer.com](https://links.jianshu.com/go?to=https%3A%2F%2Fpkg.phpcomposer.com)) 直接在项目根目录运行 `composer require topthink/think-queue`

Github 的 Restful HTTP API 设计分解

Github 的 Restful HTTP API 设计分解
## 什么是 RESTful RESTful 是一种软件设计风格,由 [Roy Fielding](http://roy.gbiv.com/) 在他的 [论文](http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) 中提出,全称为 `Representational State Transfer`,直译为`表现层状态转移`,或许可以解释为`用 URL 定位资源,用 HTTP 动词描述操作`,不用太纠结于定义,接下来我们会详细讨论。

Jetbrains系列产品2019.2.2最新激活方法

大家熟知Jetbrains的话应该知道:他们家的所有产品升级到2018.2.1及以上版本后,先前可用的注册服务器都失效了,无法激活升级到最新版本体验最新黑科技。 这次要送的这份礼就是: Jetbrains全系列产品**2019.2.2**及以下版本(理论上适用于目前所有新老版本)最新注册服务器(License Server)的破解,可使用它来激活你手头上的Jetbrains IDE,具体支持产品和版本见下文的列表。

开发自己的composer包

开发自己的composer包
composer 是 PHP 用来管理依赖(dependency)关系的工具, 使用 composer 在业务中是非常常见的,比如使用 阿里 oss 的 sdk ,短信 sdk ,非常好用的微信sdk [*EasyWeChat*](https://www.baidu.com/link?url=wce7h59rCdF3R9KpqtjM07y9fL8BZBeL7F_TLTvgsP6sm2Y3d5fxEHmqb57s19bY&wd=&eqid=f2163e250011d462000000035d831eba) 都是使用composer 安装, 一个业务的形成就如同搭建积木一样,通过composer 引入各种组件完成,但很多 phper 依然不会开发自己的 composer 包(我也只是会用一下),下面是记录自己开发 composer 的过程。

PHP伪异步实现 通过CURL实现PHP异步

介绍一种PHP通过`curl`实现`异步`处理的方式,目前应用在我的项目中,使用之前需要安装`php_curl`扩展 因为curl请求的接口是同一个项目里面的,所以用这种方式比较方便, 1. `curl_setopt($ch, CURLOPT_TIMEOUT, 1);` 将curl超时时间设置为1s介绍一种PHP通过`curl`实现`异步`处理的方式,目前应用在我的项目中,使用之前需要安装`php_curl`扩展

(转载) Laravel 最佳实践

### **单一职责原则** 一个类和一个方法应该只有一个责任。 例如: ``` public function getFullNameAttribute() { if (auth()->user() && auth()->user()->hasRole('client') && auth()->user()->isVerified()) { return 'Mr. ' . $this->first_name . ' ' . $this->middle_name . ' ' . $this->last_name; } else { return $this->first_name[0] . '. ' . $this->last_name; } } ```

(随笔) mysql count 和 union

myisam表使用count是非常快的,因为它的行数直接被系统存储起来了,当是加上条件后速度就慢了,比如查询id>1000的,总共几千万数据,这就非常慢了,这该如何优化呢,总数量 - id<1000的这就非常快了 group by 用以统计而不是去除重复数据,列需要索引统计需要分组,需要排序,沿着索引就是有序的 要想去重就要排序,排序就慢,用 union all

(随笔) mysql 优化 limit 过慢问题

> 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器哦。 ### 当一个表数据有几百万的数据的时候成了问题! 如 select * from table limit 0,10 这个没有问题 当 limit 200000,10 的时候数据读取就很慢,可以按照一下方法解决 第一页会很快 PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”EfficientPagination Using MySQL”的报告 limit10000,20的意思扫描满足条件的10020行,扔掉前面的10000行,返回最后的20行,问题就在这里。

GOLANG 中HTTP包默认路由匹配规则

## 源码分析 我们知道最简单的建立http服务器代码基本上都是这样的: ```go http.HandleFunc('/', func(w http.ResponseWriter, r *http.Request){ fmt.Fprint(w, "Hello world") }) http.ListenAndServe(":8080", nil) ```