Nginx配置文件通常位于sites-available目录中,一个网站一个配置文件。参考文档Nginx配置文件主要分成以下几部分:1、 main(全局设置)配置影响nginx全局指令,一般有运行nginx服务器的用户组、nginx进程pid存放路径、日志存放路径、配置文件引入、允许生成的worker_process数等2、 events配置影响nginx服务器或与用户的网络连接等。有每个进程的最大连接数,选取那种事件驱动模型处理连接请求,是否允许同事接受多个网络连接、开启多个网络连接序列化等3、 http可以嵌套多个server,配置代理、缓存、日志定义等绝大多数功
...

前言记录下常用的Homestead方法,其实说是Homestead,很多时候都是Linux的常规用法Homestead安装Swoole流程:通过vagrant init创建Vagrantfile文件,通常不用执行切记,默认git的Homestead是有Vagrantfile文件的,如果删除了再执行这个代码会出现一些异常。执行vagrant up 或者执行vagrant provision时,虚拟机进入初始化状态Vagrant 提供的钩子,触发【Homestead脚本】,具体为 homestead.rb;Homestead脚本】 读取Homestead.yaml文件,对site
...

前言参考网站:Homestead安装配置-中文文档Homestead安装配置-视频讲解记录下安装Homestead的步骤,以及需要注意的点以下命令行均使用 git-bash一、安装所需要的软件1、安装下列软件,安装方法很简单就不多说了git:vagrant:VirtualBox:一个免费的虚拟机软件2、由于vagrant默认的工作目录是 C:\Users\用户名\.vagrant.d,如若C盘空间不足,可以将此移至其他目录如:D:\.vagrant.d,然后在环境变量中配置VAGRANT_HOME即可VAGRANT_HOME=D:\.vagrant.d 二、下载、添加vagr
...

原理希尔排序是插入排序的改进版本。项目中用的比较少,不稳先设置一个间隔(gap),以视为一组。当这个间隔的所有组全排序好后,减少间隔,重复1.最后以间隔为1,在排序。(其实就是最后执行次插入排序,插入排序就是间隔1的希尔排序)注:间隔越大,交换次数越小! 间隔越小,交换次数越多通常间隔以h或者gap表示举例说明如:需要对以下数组进行排序const arr = [8, 5, 6, 3, 11, 2, 9, 15, 13, 1, 14, 6, 9, 10] 假设间隔(gap)为4,如下图,相同颜色的为一组,执行插入排序。既然每个数(除去最前面的没有可比较的数以外)都会执行插入排序
...

实现原理以下标1开始,向前比较,小于则交换原理很像冒泡排序,只不过冒泡排序是两两比较,大的向后移。而插入排序是无论什么时候,都只操作这一个数代码实现: for (let i = 1; i < arr.length; i++) { // 以第1(第0个数前面没有需要比较的)个数开始,直到数组跑完 for (let k = i ; k > 0; k--) { // 依次与前面的进行比较。如 i=1时,依次与i-1比。i>0是因为i=0时,前面没有数比较了,所以不需要 if (arr[k] < arr[k-1]) {
...

实现原理1、两两比较,把大的往后移 for (let i = 0; i < arr.length - 1; i++) { if (arr[i] > arr[i + 1]) { array_swap(arr, i, i + 1) // 交换数组的两个值 } }2、然后循环length次 for (let k = 0; k < arr.length; k++) { for (let i = 0; i < arr.length - 1; i++) { if (arr[i] > arr[i + 1]) {
...

简要:选择排序是排序算法中最简单朴实,但最没用的算法平均/最好/最坏时间复杂度都是:O(n²)并且不稳定,有时会导致同样的值比如 [1,2,1],会将第3个1和第1个1的位置互换,在很多项目中会出现一些问题。实现原理:循环length-1次,每次找到以当前元素开始,最小值的索引,替换最小值和当前值function selectionSort(arr) { for (let i = 0; i < arr.length - 1; i++) { // 遍历数组 let minPos = i; // 用一个临时变量存储当前下标 for (let k = i
...

由简单到复杂验证一步走一步多打印中间结果先局部再整体没思路时先细分先粗糙后精细变量命名语句合并边界处理写算法时,没必要一下把所有写完再验证,可以一步一步来。写算法时,没有整体的思路时,可以先把会的局部的实现了写算法时,没必要纠结与变量名是否规范,语句是否简洁,边界是否最优等,先实现算法,再考虑优化!

记录下自己学习算法的过程,1、算法复杂度以下仅为学习时的理解,并不完全严谨!!!复杂度分析和大O表示法马老师-时间复杂度-概念了解马老师-时间复杂度-算法分析定义首先明确 算法是指对问题的不同解决方式,结果是相同的。算法复杂度分两种:时间复杂度 :运行算法时所用的时间 趋势空间复杂度 :运行算法时额外的所用的空间(内存) 趋势 不计算临时变量等必须的而算法复杂度就是指这种算法所花费的时间/空间的随数据规模的变化趋势,表示方法为 Big O(大O表示法) :T(n) = O(f(n))大O表示法,我们在分析时间复杂度的时候往往遵循以下原则:1、只关注循环执行次数最多的一段代
...

前言以前开发PHP,通常会直接在系统上安装各种各样的软件, 如PhpStudy、XAMPP、Mysql等等,虽然使用方便,但是由于每人系统的差异会导致出现很多不一样的问题,且当针对的版本越来越多时,越来越不好用而使用如Laradock、Homestead、Laragon等开发环境,通常有以下好处,软件版本切换方便,形成不同的组合,且互相并不冲突不会污染原生系统环境统一快速部署对比 Homestead、Laradock、Laragon三款软件都是虚拟机的方式实现,重量级:Homestead > Laradock > Laragon,功能级相同。Homestead 安
...