自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 收藏
  • 关注

原创 Nginx正向代理与反向代理

一、介绍实践中客户端无法直接跟服务端发起请求的时候,我们就需要代理服务。代理可以实现客户端与服务端之间的通信,我们的Nginx也可以实现相应的代理服务。代理分为正向代理和反向代理,此文就来演示一下Nginx配置正向代理和反向代理的场景。二、正向代理和反向代理的区别正向代理和反向代理的区别我在知乎上找到两张图可以帮助我们很好的理解:正向代理:客户端 <一...

2019-07-16 10:24:59 252 2

转载 关于进程,线程,协程,一点心得

1:进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器,一个进程中至少会有一个主线程。程序是指令、数据及其组织形式的描述,进程是程序的实体。所谓多进程,大多数下指的是多个进程,但是实质是每个进程里面运行了一个主线程,所以归根结底是一个“多线程”。这里理解的关键...

2019-07-15 17:42:46 212

转载 深度挖掘 Laravel 生命周期

转自https://learnku.com/articles/10421/depth-mining-of-laravel-life-cycle,记录学习本文首发于个人博客深度挖掘 Laravel 生命周期,转载请注明出处。这篇文章我们来聊聊 「Laravel 生命周期」 这个主题。虽然网络上已经有很多关于这个主题的探讨,但这个主题依然值得我们去研究和学习。我想说的是当我们在决...

2019-07-01 16:45:51 277

原创 laravel中with()方法,has()方法和whereHas()方法的区别

with()with()方法是用作“渴求式加载”的,那主要意味着,laravel将会伴随着主要模型预加载出确切的的关联关系。这就对那些如果你想加在一个模型的所有关联关系非常有帮助。因为“渴求式加载”缓解了1+N的查询问题,仅需1+1次查询就能解决问题,对查询速度有了质的提升。例如:user > hasMany > post$users = User::with('po...

2019-06-20 14:32:06 408

原创 laravel / lumen 使用多个数据库连接

1、配置.env文件DB_CONNECTION=db_aDB_TIMEZONE=+08:00DB_CHARSET=utf8mb4DB_COLLATION=utf8mb4_general_ciDB_OPT_HOST=devDB_OPT_PORT=3306DB_OPT_DATABASE=db_a_nameDB_OPT_USERNAME=hjm_devDB_OPT_PASSWOR...

2019-06-17 12:01:17 1707

转载 各类抽奖活动开发总结及分析

在所有活动总,抽奖活动占的比例是非常大的,现对已开发过的抽奖活动进行一个总结分析及评比思考抽奖活动在整理上可以分为以下几种类型:不限制人数,不设置奖品数量上限,只设置中奖概率 不限制人数,设置奖品数量上限,设置中奖概率 不限制人数,设置部分奖品数量上限部分没有上线,设置中奖概率 限制人数,人人中奖,设置中奖概率 限制人数,设置奖品数量上限,设置中奖概率 限制人数,设置部分奖品数量...

2019-05-13 16:50:30 2438

转载 php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法。用法很简单,代码里有详细注释说明,一看就懂<?php/* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为:array(100,200,300,400), * 开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内, * 如果不在,则将概率空间,也就是k的值减去刚刚的那个数...

2019-05-13 16:47:56 472

原创 Mac通过Docker部署Gitlab实践

1. Docker ToolBox非常方便实用的工具。简介:http://udn.yyuap.com/article-2163-1.html下载地址:https://www.docker.com/products/docker-toolbox官网下载需要翻墙,这里提供一个网盘地址方便大家下载:2016年5月22日1.11.1b版本:http://pan.ba...

2019-04-29 12:52:40 632 1

原创 [后端]gitlab之webhook自动部署

动机前段时间st0rm23在自己的服务器上搭好了自己的gitlab,现在我准备开搞自己的web项目了。但是如果每次写完都要用一些文件传输的工具上传到自己的服务器就显得很低效是吧,也会降低自己写代码的动力。现在st0rm23就借着自己的gitlab,用一个webhook就可以自动将自己的gitlab上的代码部署到web目录下了。那么这样我们只要push一下代码到master上就可以自动生效了,用...

2019-04-29 10:41:54 361

原创 PHP中的stdClass是什么?如何使用?(代码示例)

PHP中的stdClass是什么?本篇文章就来带大家认识一下PHP中的stdClass,介绍它的用途和使用方法,希望对大家有所帮助。stdClass是什么?有什么用?stdClass是PHP中的类原型、空类,它是最简单的对象,用于将其他类型转换为对象;它类似于Java或Python对象。stdClass不是对象的基类。如果将对象转换为对象,则不会对其进行修改。但是,在不是NU...

2019-04-25 14:31:48 584

原创 MySql语句规范

关键字和函数名称全部大写 数据库名称、表名称、字段名称全部小写 SQL语句必须以分号结尾常用语句SELECT VERSION(); 查询当前服务器版本SELECT NOW(); 查询当前日期时间SELECT USER(); 查询当前用户...

2019-04-22 11:14:53 541 1

原创 Vagrant使用指南

1、下载安装 VirtualBox下载地址:VirtualBox2、安装Vagrant下载地址:Vagrant3、下载系统镜像下载地址1:http://www.vagrantbox.es/下载地址2:vagrant box | vagrantcloud.com下载地址3:diy box4、常用命令1、vagrant box list #box列表...

2019-04-07 09:40:09 957

原创 swagger_php注释语法详解

一、SWG对象描述:@SWG\Swagger 声明一个SWG全局对象固定字段 字段名称 类型 描述 swagger string 需要。指定正在使用的Swagger规范版本。它可以被Swagger UI和其他客户端用来解释API列表。该值必须是"2.0"。 ...

2019-04-04 10:26:09 1434

转载 Swagger PHP使用指南

先说什么是Swagger, Swagger的使用目的是方便优美的呈现出接口API的各种定义, 生成API文档, 包括参数, 路径之类. 有时后端改了API的参数或者其他设置, 前端直接看这个Swagger UI就可以, 方便项目管理和团队协作.官网: http://swagger.io/参数文档: https://github.com/swagger-api/swagger-ui#para...

2019-03-30 18:07:29 2058

原创 利用predis操作redis方法大全

predis是PHP连接Redis的操作库,由于它完全使用php编写,大量使用命名空间以及闭包等功能,只支持php5.3以上版本,故实测性能一般,每秒25000次读写。将session数据存放到redis也很简单:session.save_handler = redissession.save_path = “tcp://127.0.0.1:6379″以下是汇总一些操作,并不断更新...

2019-03-27 15:03:48 191

转载 npm和yarn的区别,我们该如何选择?

npm和yarn的区别,我们该如何选择?周一入职,同事JJ让我熟悉一下基于React的新项目。按照以往,我的步骤都是:git clone xxxnpm installnpm run dev这时,JJ给我来了下面一段git clone xxxyarnyarn start“咦,yarn是什么鬼?难道npm更高级的替代品?为什么要替代npm?难道有什么好的地方?...

2019-03-15 13:40:42 163

转载 什么是跨域?怎么解决跨域问题?

什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.html 调用 http:/...

2019-03-14 23:22:29 128

原创 关于Vue中的 render: h => h(App) 具体是什么含义?

刚开始学Vue,再看别人的例子时经常会看到render: h =&gt; h(App)这样一行代码,但是有的例子也没有这行代码也运行正常。h 是 Vue.js 里面的 createElement 函数,这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,返回给 Vue.js 的 mount 函数,渲染成真实 DOM 节点,并挂载到根节点上。...

2019-03-11 11:22:39 3515

原创 使用 nvm 管理不同版本的 node 与 npm

补充说明:Mac 下通过 brew install nvm 所安装的 nvm ,由于安装路径不同,无法正确启用。建议使用 brew uninstall nvm 卸载掉之后,通过本文的方案重新安装一次。---最近NodeJS的版本更新速度有点 Chrome 的迹象,4.0 版本没发布多久,又推出了 5.0 。升级 NodeJS 之后可以很方便的开始使用一些 ES6 的语言特性,但又会导致...

2019-03-09 18:07:31 164

转载 Swagger入门教程

[译]5.41 Swagger tutorial单击此处查看原文更多概念参见:Implementing Swagger with your API docs关于 SwaggerSwagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。 Swagger 可以生成...

2019-03-07 09:41:12 175

原创 postman的几种参数格式

之前一直使用postman来测试网络请求,但几种参数格式傻傻仍分不清楚。直到最近一个项目的时候,在postman使用form-data测试没问题,但在iOS请求后端一直报请求类型错误,所以重新梳理了相关知识。  今天我们来看看postman的几种参数格式。**1. form-data **即multipart/form-data,它将表单的数据组织成Key-Value形式,用分隔符boun...

2019-03-06 17:16:00 7544 1

转载 简要了解 MySql 5.5/5.6/5.7/8 出现的新特性

概述中秋假期的前夕的9月12日,MySQL 8.0.0 放出了 Development Milestone Release。是开源数据库的一大新闻。要知道MySQL的上一个版本号仅仅是 5.7。在MySQL归属于Oracle公司之后,版本号的飞速提升也开始了,按此趋势,预计不日将会赶超Oracle自家商业数据库产品……发布之际,简要的了解和比较一下 MySQL 5.5/5.6/5.7/...

2019-02-22 10:17:02 2641

原创 Swagger-PHP 自定义生成API 转

从此接口文档成为一笑而过,从此服务端不再被客户端追债似得要接口文档主要内容:1、项目背景2、Swagger应用3、总结项目背景          作为一个服务端开发人员,我相信大多数的同学都会和客户端开发同学沟通接口问题。          但是啊,但是,每当我们高高兴兴的开发完成,告诉客户端和前端同学可以调试的时候,通常大家会问一句“文档呢?”。于是,服务端像是被追债...

2019-02-15 14:24:38 808

转载 怎样使用PhpDocumentor生成文档

命令行方式:  在phpDocumentor所在目录下,输入  phpdoc –h  会得到一个详细的参数表,其中几个重要的参数如下:  -f 要进行分析的文件名,多个文件用逗号隔开  -d 要分析的目录,多个目录用逗号分割  -t 生成的文档的存放路径  -o 输出的文档格式,结构为输出格式:转换器名:模板目录。  例如:phpdoc -o HTML:frames...

2019-02-15 13:20:03 117

原创 PHP注释规范(PHPDOC)总结

本文章向大家介绍PHP注释规范(PHPDOC)总结,主要包括PHP注释规范(PHPDOC)总结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。针对PHP开发规范,有必要总结一下,与各位分享用过IDE或看过其他源码的小伙伴们应该都见过类似下面这样的注释/** * 递归获取所有游戏分类 * @param int $id * @ret...

2019-02-15 11:17:29 698

转载 git rebase 和 git merge 的区别

Descriptiongit rebase 和 git merge 一样都是用于从一个分支获取并且合并到当前分支,但是他们采取不同的工作方式,以下面的一个工作场景说明其区别场景:如图所示:你在一个feature分支进行新特性的开发,与此同时,master 分支的也有新的提交。merge vs rebase.png为了将master 上新的提交合并到你的feature分支...

2019-02-14 16:15:13 234

转载 git rebase 的作用

git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。 还有另一种情况,当我们的项目有多个分支的时候。我们除了在本地...

2019-02-14 16:14:25 531

原创 Mac 电脑锁屏快捷方法

Mac 电脑锁屏快捷方法,尝试了很多方法,最后找到了设置触发角,进行锁屏。本文介绍三种Mac Book Pro(Touch Bar)锁屏方法,依次是 触发角、Finder 钥匙锁、Automator 快捷键。 锁屏方法1触发角设置步骤如下:触发角,是指屏幕的四个角:左上角、左下角、右上角、右下角,指定上常用的操作,很方便的。1. 打开系统偏好左上角苹果小图标 —&gt;...

2019-02-13 16:39:21 2947

原创 .gitkeep文件

gitkeep文件的作用git默认是不允许提交一个空的目录到版本库上的, 可以在空的文件夹里面建立一个.gitkeep文件,然后提交去即可。其实在git中 .gitkeep 就是一个占位符。...

2019-01-30 13:44:30 455

转载 mac终端命令行指令

mac 终端 常用命令基本命令1、列出文件ls 参数 目录名        例: 看看驱动目录下有什么:ls /System/Library/Extensions参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件2、转换目录     cd    例:想到驱动目录下溜达一圈   cd /System/Library/Extensions3、建立新目录mkdir 目录名  ...

2019-01-30 11:01:03 1642

原创 ToDoList 简易使用教程

下载最新版的todolist软件该软件目前最新版本为7.0.13,同时提供了windows、安卓、苹果系统的安装文件,可按需下载。建议在以下国外网站下载,国内的也有,但并不是最新版的。安装todolist软件完成下载后一个todolist_exe.zip压缩文件,解压后点击todolist.exe安装,以下为安装步骤,需要注意的第4步默认很多选项,建议按照图示选择,等待熟练使用后再...

2019-01-25 11:54:55 16467 2

转载 markdown基本常用编写语法(图文并茂)

序言:很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话不是有毛病吗?应该是看的越多,懂的越多才对),此话怎讲,当你在茫茫的前端知识库里面东看看,西看看的时候,很快就被海量的知识给淹没了,根本就不知道哪些是对的,哪些是错的,感觉好像这个也懂了,那个也懂了,但是真正写起来,脑子又一片空白,又好像什么都不懂,这种状态时有发生,...

2019-01-23 23:29:57 129

原创 JavaScript对象、JSON对象、JSON字符串的区别

一、首先看下什么是JSONJSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式。JavaScript对象的表现形式,指定义JS对象的一种方式。数据交换格式,即用于交换的数据格式。JSON是种格式:数据在键值对中, 数据由逗号分隔, 花括号保存对象, 方括号保存数组.键值对组合中的名称写在前面,值对...

2019-01-23 22:30:28 209

转载 PHP 线程,进程和并发

转载自http://chenpeng.info/html/3021进程进程是什么?进程是正在执行的程序;进程是正在计算机上执行的程序实例;进程是能分配给处理器并由处理器执行的实体。 进程一般会包括指令集和系统资源集,这里的指令集是指程序代码,这里的系统资源集是指I/O、CPU、内存等。 综合起来,我们也可以理解进程是具有一定独立功能的程序在关于某个数据集合上的一次运行活动, 进程是系统进行...

2019-01-17 17:12:15 142

原创 Ubuntu 和 Debian 的关系

Debian 于 1993年8月16日 由一名美国普渡大学学生 Ian Murdock 首次发表。Debian 是由 GPL 和其他自由软件许可协议授权的自由软件组成的操作系统, 由 Debian 计划 (Debian Project) 组织维护。Debian 计划没有任何的营利组织支持,它的开发团队完全由来自世界各地的志愿者组成, 官方开发者的总数就将近 1000 名,非官方的开发者为数更多...

2019-01-17 16:59:30 32559 2

转载 什么是进程?什么是线程?进程与线程的区别?

什么是进程?什么是线程?进程:进程是并发执行程序在执行过程中资源分配和管理的基本单位(资源分配的最小单位)。进程可以理解为一个应用程序的执行过程,应用程序一旦执行,就是一个进程。每个进程都有自己独立的地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段。线程:程序执行的最小单位。 为什么要有线程?每个进程都有自己的地址空间,即进程空间,在网...

2019-01-17 16:46:56 1148

转载 理解进程和线程

很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核CPU已经非常普及了,...

2019-01-17 16:34:30 147

原创 MYSQL 八大优化方案

关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂。  偶尔发现了这篇文章,总结得很经典,文章流量也很大,所以拿到自己的总结文集中,积累优质文章,提升个人能力,希望对大家今后开发中也有帮助1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能...

2019-01-16 23:26:47 120

原创 MySQL优化技巧

MySQL优化三大方向① 优化MySQL所在服务器内核(此优化一般由运维人员完成)。② 对MySQL配置参数进行优化(/etc/my.cnf)此优化需要进行压力测试来进行参数调整。③ 对SQL语句以及表优化。MySQL参数优化1:MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看    mysql&gt; show variables like '...

2019-01-16 23:04:27 111

原创 PHP使用PDO如何防止SQL注入_PDO防止SQL注入原理

PDO是PHP的一个扩展,使用PDO扩展可以连接不同类型的数据库系统,但是我们还是需要自己编写SQL语句,这就意味着SQL安全由开发人员掌控。传统的mysql_connect 、mysql_query方法存在很多注入风险,而使用PDO预处理机制可以有效的防止SQL注入风险 连接数据库现在我们需要连接到一个名为testdb的MySQL数据库,这个数据库的IP地址是127.0.0.1,监听...

2019-01-16 11:18:25 3524

空空如也

空空如也

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

TA关注的人

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