自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mysql 利用二进制灵活扩展角色

func (p Bit) Format() []int { var s []int i := 1 num := 2 for int(p) > num { if num&int(p) > 0 { s = append(s, i) } num <<= 1 i++ } return s}将十进制转换为[]int权限数组理论上支持一个my.

2021-04-08 19:48:11 119

原创 laravel 定时任务 日志权限问题

问题:crontab 默认由root用户执行,可能会创建出root才可写的日志文件,造成业务写不进日志导致不可用。解决:方式一:su -s /bin/bash -c "/usr/local/php/bin/php workdir/artisan schedule:run > /dev/null 2>&1" www方式二:更改logging.php'daily' => [ 'driver' => 'daily', 'path' => s

2021-01-14 10:43:38 939

原创 Laravel Request 生命周期

2021-01-13 17:13:13 133

原创 源码+Gif带你从底层认识redis之list结构

redis 链表结构相对简单一些 我们从各种链表的区别,到源码,最后到一次redis命令的底层操作来介绍它。一、链表1.1 介绍关于链表的介绍,自己理解后组织的语言或者各种博客的介绍总觉得差点意思,所以直接引用维基百科的链表介绍。链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点...

2019-12-16 18:30:38 182

原创 结合PHP 看Redis 字符串 浅析

一 实现原理1.1 c语言字符串以空字符串结尾的字符数组,比如hello在C语言中,经过一系列算法分配内存后,再产生出图中结构代表字符串'hello!~'。使用长度为N+1的字符数组来表示字符串,最后总加一个'\0'代表结尾。1.2 php字符串底层为C,结构如代码所示:1.3 redis字符串和php的字符串有类似之处,redis作者封装了一个名为...

2019-11-28 15:27:18 184

原创 关于Composer你需要知道的一些知识

思考当你有一个好的idea,写了一个自我感觉还不错的工具或者组件,并迫不及待的想让别人去试试的时候,你会怎么做? 把代码贴在博客 需要花时间复制粘贴,阅读代码 把代码发布在github 还是需要花时间down\clone,不能直接组件化加载 把代码发布在composer ✔️ ...

2019-11-05 15:24:34 1001

原创 docker 快速搭建 swoft 开发环境

首先确保有gitgit clone https://github.com/swoft-cloud/swoft.git在当前目录下 添加以下文件vim docker-compose.ymlversion: '3'services: swoft: container_name: swoft image: swoft/swoft ports: ...

2019-06-26 13:12:49 1415

原创 swoole:mac下的测试工具

安装socket工具sokit 安装saka仓库 brew tap rangaofei/saka 然后安装软件 brew install sokit 因为要依赖qt,所以安装会稍微慢一点,安装成功后执行命令即可: 在终端输入sokit 可以多开 同时扮演多个client ...

2019-06-10 14:14:49 356

原创 用 PHP 来刷leetCode 之 括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n=3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]class Solution { public $arr=[]; /** * @param Integ...

2019-03-27 10:37:09 201

原创 用 PHP 来刷leetCode 之 四数之和

给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合...

2019-03-20 16:43:35 304

原创 用 PHP 来刷leetCode 之 电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。/** * @...

2019-03-19 18:43:04 216 1

原创 用 PHP 来刷leetCode 之 最接近的三数之和

给定一个包括n个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2)先排序, 然后遍历, 然后内部使用...

2019-03-19 16:53:18 835

原创 用 PHP 来刷leetCode 之 三数之和

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]/** * @...

2019-03-18 18:11:08 869

原创 用 PHP 来刷leetCode 之 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。/** * @param S...

2019-03-18 17:19:55 363

原创 mysql 索引之 like 查询

我们都知道like 一般都是配合 %来使用假设我们对某个字符串列做了索引 在我们查询的时候select * from user_info where name like '张%'这种情况是可以用到索引但是如果不是前缀匹配的话呢 '%张' '%李%' 这种的答案是用不到索引 mysql会进行全表扫描去查询数据 因为mysql并没有对 中间值 或者后缀去排序储存假如要...

2019-03-13 11:03:12 579

原创 用 PHP 来刷leetCode 之 有效的括号

给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false...

2019-03-08 10:33:23 355

原创 用 PHP 来刷leetCode 之 整数转罗马数字

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1...

2019-03-05 16:40:10 321

原创 用 PHP 来刷leetCode 之 盛最多水的容器

给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2019-03-05 15:59:28 361

原创 用 PHP 来刷leetCode 之 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...

2019-03-05 11:15:01 440

原创 用 PHP 来刷leetCode 之 Z 字形变换

题目:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为"LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数...

2019-03-04 18:05:02 512

原创 用 PHP 来刷leetCode 之 最长回文子串

给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"方法一:暴力法应该是第一眼就想出来的方法了 逻辑也符合一般思想(最简单- -)function isPalindrome($str){...

2019-03-01 17:12:41 388

原创 用 PHP 来刷leetCode 之 整数反转

题目:方法一:反转字符串class Solution { /** * @param Integer $x * @return Integer */ function reverse($x) { $f = $x&lt;0?true:false; $x = $f?abs($x):$x; $x ...

2019-03-01 10:16:23 500

原创 用 PHP 来刷leetCode 之 无重复字符 最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是"abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是"b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所

2019-02-28 18:08:47 894 1

原创 利用ngrok 做本地临时服务器 达到公网效果

如题当我们在内网开发的时候 和别人联调功能很方便可是如果不是内网的情况 难道还要把代码push到服务器 进行联调或者给客户展示产品吗肯定不需要那样啦  免费的ngrok即可达到效果第一步:登录https://ngrok.com/第二部:注册也可以用github账号快速登录第三部:下载很简单 下载之后解压 在当前目录打开终端(命令行工具)$ ./ngro...

2019-02-27 16:22:14 334

转载 php 运行原理 cgi fastcgi php-cgi和php-fpm 联系区别

最近项目中本地测试环境遇到了windows环境下的nginx使用file_get_contents/curl访问php文件导致的阻塞问题,一直在找解决的方案,这个问题研究了三天终于找到了解决方案,特别因为这个我也对php的运行原理产生了兴趣,所以这里对此进行一定程度的记录,可能会有错漏的地方,欢迎指正。要了解php的运行原理,首先要了解下面几个概念:CGI:CGI的英文是(COMMON...

2019-01-25 23:44:10 196

原创 docker 纯净ubuntu php7.1 swoole扩展

 先安装ubuntu镜像docker search ubuntudocker run -dit -p 8099:80 --name my_swoole ubuntudocker ps -a7fd87532e3e8 是该容器的id  名字就是上面的my_swoole 下面我们进入容器 其实和ubuntu没两样 docker exec -it my_swoole /...

2019-01-24 11:12:20 572

原创 tornado options 配置

对象属性tornado.options.options全局的options对象,所有定义的选项变量都会作为该对象的属性。 #example:tornado.options.define("port", default=8090, type=int, help="run server on the given port.") # 定义服务器监听端口选项 定义变量:...

2018-12-21 18:15:26 1108

原创 tornado 日志操作

目录 tornado-log操作姿势:class LogFormatter(logging.Formatter):def define_logging_options(options=None):RequestHandler的finish方法config.settings.py配置 在__main__文件配置日志输出形式tornado-log操作姿势:...

2018-12-21 18:06:58 4900

原创 mysql 根据条件统计数据量

目录需求:统计总数,未完成数和完成数方法一:方法二:总结:CREATE TABLE `test_task` ( `id` int(11) NOT NULL AUTO_INCREMENT, `done` tinyint(1) DEFAULT NULL COMMENT '是否完成', `doneTime` int(11) DEFAULT NULL COMMENT '完...

2018-12-18 11:22:18 2650

原创 python里的异步与协程

 让我们先引用一段我百度的协程的介绍协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。子程序调用总是一...

2018-12-11 18:43:29 196

原创 python 闭包的函数

我想创建一个每次调用都递增的函数def createCounter(): a = 0 def counter(): a += 1 return a[0] return counter这里会报错 原因是内部的counter不能调用外部的变量a可以把a换成list 这样不会改变变量(或没有改变变量a的引用) 而是改变了a的ind...

2018-12-10 17:26:54 254 1

转载 python @ 装饰器 由浅入深

原文 http://python.jobbole.com/85056/虽然我没法让装饰器变得简单,但也许通过将问题进行一步步的讲解,可以帮助你更容易理解装饰器。由于装饰器较为复杂,文章会比较长,请坚持住!我会尽量使每个步骤简单明了,这样如果你理解了各个步骤,就能理解装饰器的原理。本文假定你具备最基础的 Python 知识,另外本文对工作中大量使用 Python 的人将大有帮助。此外需要说明...

2018-12-06 15:44:18 108

原创 git 错误 处理

1:error: The following untracked working tree files would be overwritten by checkout git clean -d -fx-n 显示将要删除的文件和目录;    -x -----删除忽略文件已经对git来说不识别的文件    -d -----删除未被添加到git的路径中的文件    -f ---...

2018-10-22 16:35:56 162

转载 redis demo

下载http://www.oschina.net/p/redis转载自[http://www.cnblogs.com/imxiu/p/3554805.html]解压后里面有:lib 源文件 、examples 例子、test测试将lib目录拷贝到你的项目中,就可以开始你的predis操作了。//使用autoload加载相关库,这边重点就是为了require $file;spl_au...

2018-10-12 18:21:20 201

转载 linux 常用命令

Linux常用命令大全(非常全!!!)最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用...

2018-10-12 10:28:11 81

原创 phpexcel 在safari浏览器下载 带.html问题

代码码完之后,在chrome浏览器下载没有问题,但是在safari浏览器下载总是带有.html 在http协议这块 改成下面就可以解决 header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre...

2018-10-11 10:43:08 1358

原创 git 分支常用命令

# git 分支常用命令# 从当前分支创建一个新分支  并切换git checkout -b issue# 提交到远程分支git push origin issue:issue# 设置远程分支和本地分支默认关联git branch --set-upstream-to=origin/issue issue# 删除本地分支git branch -d issue# 删除远程分支git push --de...

2018-07-05 11:50:44 860

原创 如何利用mysqlbinlog 拿到你想要的原生sql

看了网上很多,基本都是在翻译文档,我喜欢直接了当解决问题➜ bin ./mysqlbinlog -v --base64-output=DECODE-ROWS ~/Downloads/tymysql2|grep -A4 'ALTER' &gt;~/Downloads/alter2.text先找到mysqlbinlog在哪里 -v 是显示出一些sql的信息 -vv则是多一些注释性的东西--ba...

2018-06-25 14:28:44 11114

原创 Alfred--想搜什么?

链接提取密码https://pan.baidu.com/s/1nN1EY8TxOKbD5HJavCuu7Q urb1 试想一下下面这些场景:当我们想用百度搜索一个东西,我们一般是这么做的:打开chrome,输入百度网址,输入搜索词。但有了 Alfred 之后,我直接快捷键调出 Alfred 输入框,输入:「搜索词」即可。同时我们也看到了,是可以迅速打开软件的。下面看配置 默认情况下不能直接百度 需...

2018-06-21 10:36:15 314

原创 定时执行,如何判断之前的脚本是否跑完

在PHP开发中,有时我们有这样一种需求一个脚本 定时每两分钟执行一次 可是在下一个脚本循环执行时 上面一个脚本还没跑完 我们就应该取消当前循环那么怎么做呢 方法很多 我这里提供一种我认为比较优雅的这是一个test.php&lt;?phpecho 111;sleep(1200);这是一个shell脚本test.sh#!/bin/bashprocess=`ps -ef|grep '/Librar...

2018-04-04 12:51:31 2022

Alfred 3.6.1

试想一下下面这些场景: 当我们想用百度搜索一个东西,我们一般是这么做的:打开chrome,输入百度网址,输入搜索词。但有了 Alfred 之后,我直接快捷键调出 Alfred 输入框,输入:「搜索词」即可。

2018-06-21

1Password破解版

1Password破解版,专业mac存储密码神器,多终端同步,好用的很哦

2018-06-21

空空如也

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

TA关注的人

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