自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

野蛮秘籍

冰冻三尺非一日之寒

  • 博客(171)
  • 资源 (2)
  • 收藏
  • 关注

原创 max os安装bison

Mac os下安装bison1、brew install bison2、bison -V如果发现版本未变更执行如下命令brew unlink bisonecho ‘export PATH="/usr/local/opt/bison/bin:$PATH"’ >> ~/.bash_profileexport LDFLAGS="-L/usr/local/opt/bison/li...

2019-09-07 17:49:04 4441 2

原创 mac下iterm2 sz rz上传文件配置

1、安装brew install lrzsz #这里以homebrew方式安装2、脚本 拉取 https://github.com/mmastrac/iterm2-zmodem 两个sh文件,将他们拷贝到/usr/local/bin文件夹中。必须具有x权限3、配置打开iterm2的Preferences -> Profiles -> Default -> A...

2019-08-13 12:12:04 1945 1

原创 设计模式之装饰器模式

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。UML图示例代码:<?phpinterface Booking{ public function calculatePrice(): int; public function getDescript...

2018-12-21 00:06:01 259

原创 设计模式之策略模式

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。UML图示例代码<?phpclass StrategyContext { private $strateg...

2018-12-19 23:34:49 266

原创 设计模式之工厂模式

工厂模式工厂模式具体可分为三类模式:简单工厂模式,工厂方法模式,抽象工厂模式;1.简单工厂模式又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 <?php class Cat { f...

2018-12-19 00:05:20 196

原创 phpstorm+xdebug远程调试配置

1、xdebug的安装参考 :http://blog.csdn.net/fationyyk/article/details/78963683(mac版本)centos下安装// 下载git clone git://github.com/xdebug/xdebug.git// 解压tar -xzf xdebug-2.5.5.tgzcd xdebug-2.5.5// 本人在

2018-12-15 07:43:18 1693

原创 Redis面试定期更新

Redis支持的数据类型?String字符串:格式: set key valuestring类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。Hash(哈希)格式: hmset name key1 value1 key2 value2Redis hash 是...

2018-12-14 22:33:01 222

转载 PHP获取ip地址(REMOTE_ADDR,HTTP_VIA, HTTP_X_FORWARDED_FOR)

一、没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示二、使用透明代理服务器的情况:Transparent Proxies REMOTE_ADDR = 最后一个代理服务器 IP HTTP_VIA = 代理服务器 IP HTTP_X_FORWARDED_F...

2018-12-13 22:13:52 2703

原创 composer 自定安装包路径

1、Github新建一个项目代码结构如下composer.json配置如下 { "name": "fationyyk/self-test-package", "type" : "composer-plugin", // 必须指定类型为 composer-plugin "description": "testcomposer", "auth

2018-12-05 00:04:55 5382

原创 nginx错误及解决方案集锦

403 forbidden1、由于启动用户和nginx工作用户不一致所致 查看nginx的启动用户,发现是nobody,而为是用root启动的命令:ps aux | grep "nginx: worker process" | awk' {print $1}'将nginx.config的user改为和启动用户一致2、缺少index.html或者index.php文件, 就是配置...

2018-04-29 17:36:28 1505

原创 linux跳板机自动登陆服务器脚本

新建login.sh脚本 脚本内容如下#!/usr/bin/expect -fset timeout 1 // 超时 等待时间set pass [lindex $argv 0] // 获取第一个输入参数 本人实际使用需要动态密码set password xxxxx //静态密码spawn ssh -p22 xxxx@xxxx // 用户名@跳板机服务器expect "passwor...

2018-04-18 20:28:01 1746

原创 最大连续和

思路:设sum[i] 为前i个元素中,包含第i个元素且和最大的连续子数组,result 为已找到的子数组中和最大的。对第i+1个元素有两种选择:做为新子数组的第一个元素、放入前面找到的子数组。 sum[i+1] = max(a[i+1], sum[i] + a[i+1]) result = max(result, sum[i])// 方法一function max_sum_arr($ar

2018-01-18 14:56:54 244

原创 charles抓包配置

以mac环境为例说明1、Charles安装官网下载安装Charles: https://www.charlesproxy.com/download/2、Charles破解一个在线破解工具,很方便。https://www.zzzmode.com/mytools/charles/替换前记得备份下原来的charles.jar,以防失败后恢复。3、HTTP抓包配置1️⃣、

2018-01-18 10:42:50 6535

转载 $_SERVER中的SERVER_NAME 和HTTP_HOST的区别

当满足以下三个条件时,两者会输出相同信息。 1. 服务器为80端口 2. apache的conf中ServerName设置正确 3. HTTP/1.1协议规范不同点:通常情况: _SERVER[“HTTP_HOST”] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。 _SERVER[“SERVER_NAME”] 默认情况下直接输出apache的配置文件htt

2018-01-17 14:34:16 8629

原创 静态方法里不能使用$this

静态方法随着类的加载而加载,静态方法是优先于对象而存在的。当我们加载一个类的时候,对象还没有存在,而this代表的是对象的引用,试问当我们加载类的时候对象都没有,又怎么可以使用this呢?答案显而易见this是指当前对象,静态方法是通过类调用的方法,不需要实例化,既然不需要实例化,就没有当前对象,既然没有当前对象,就不会有this

2018-01-17 11:02:46 4560

原创 约瑟夫问题

问题描述约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。/** * get_king_monkey 获取猴大王 * @param int $n 猴子数目 * @param int $m

2018-01-16 14:48:12 260

原创 js多次上传同一图片失效问题

项目中遇到上传图片,需要本地预览效果,测试时无意间发现,当选择A图片,然后更换为B图片,完全正常;当选择A图片,删除该图片,再重新上传A图片后,发现不会触发上传,出现了bug;解决办法:1️⃣、来回切换input的type属性值,可以是‘text’,’button’,’button’….,然后再切换回来‘file’2️⃣、每次删除图片后,重置input的value的值, 如xx

2018-01-16 10:12:06 1611

原创 angularjs 时间格式问题

PHP开发中,一般存的时间戳是秒数,angularjs的时间戳是毫秒数,所有在视图里处理时间的时候,需要把秒 * 1000 转换为毫秒// 这里的dt1单位是秒{{ dt1 * 1000 | date:'yyyy-MM-dd HH:mm:ss' }}如果不转化为毫秒,就会出现日期显示1970年的问题

2018-01-16 10:02:27 882

原创 phpstorm git使用

1、配置git2、新建项目3、关联远程服务器开发的时候一般我们会有自己的github服务器(拉取项目代码),测试服务器(部署代码),本地(git),所以我们在修改完代码后,应该先部署到测试服务器上进行测试。这就需要本地与测试服务器之间进行关联。phpstorm里有deploy工具,非常方便,只需简单配置即可。点击添加点击options 配置 ctrl+s自动

2018-01-16 09:49:06 45226 2

原创 virtual box 存储文件vdi迁移

最近在使用virtual box 时 不小心把存储文件放到了系统盘,导致系统盘空间紧张,于是就想办法迁移vdi文件,此文章记录下迁移过程,遇到类似情况的朋友可以尝试下。1、迁移原始文件到新的盘不放心的朋友可以先复制一份到别的盘,比如我的是win10 系统,virtualbox vdi文件默认存放在 C:\Users\pc\VirtualBox VMs。比如copy到 E:\VirtualB

2018-01-13 17:45:58 3428

原创 PHP易犯错误集锦

1、布尔值问题 以下情况的值均为false:布尔值 FALSE 本身整型值 0(零)浮点型值 0.0(零)空字符串,以及字符串 “0”不包括任何元素的数组特殊类型 NULL(包括尚未赋值的变量)// 字符串falsevar_dump((bool) "false"); // bool(true)// 类型自动转换问题 字符串all会转换成int型 0var_dump

2018-01-09 13:36:13 219

原创 phpstorm+xdebug+chrome 配置

1、mac下安装xdebug打开cmd端,执行如下命令// 查找可安装xdebugbrew search xdebug// 查看本机php版本php -v// 安装对应的xdebug// 本机PHP版本为7.1,对应的xdebug版本如下brew install homebrew/php/php71-xdebug// 安装完成后可查看brew info homebrew/php/php71-

2018-01-04 11:15:14 543

原创 zcat命令

zcat zcat /var/log/yongche/rebate/rebate_DAEMON_rebate_job_ERROR_log-20161120.gz | grep -E "37839328|1622131|76000088154"grep -E 匹配多个

2018-01-02 11:11:39 1606

原创 curl常用命令

1、get请求格式: curl protocol://address:port/url?args例子: curl http://xxxx/check_your_statususer=Summer&passwd=123456782、post请求格式: curl -d “args” “protocol://address:port/url”例子: curl -d “user_id=1000&de

2018-01-02 10:53:09 291

转载 PHPStorm 常用 设置配置 和快捷键大全 Win/Mac

请参考该博主文章http://blog.csdn.net/fenglailea/article/details/53350080

2017-12-27 12:46:37 262

原创 github public key 无效问题

新装系统后发现git clone的时候出现key无效的问题,只需如下解决即可1、生成新的id_rsa(一直回车即可)ssh-keygen -t rsa -b 4096 -C “[email protected]”2、复制key添加到githubcd /Users/xxxx/.ssh cat id_rsa.pub3、添加到github登录github 点击你的头像->settings->S

2017-12-27 12:42:37 2054

转载 composer超时问题解决

方法一: 修改 composer 的全局配置文件(推荐方式)打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:composer config -g repo.packagist composer https://packagist.phpcomposer.com方法二: 修改当前项目的 composer.json 配置文件:打开命令行窗口(windows用户)或

2017-08-23 16:26:34 4791

原创 npm安装问题

1、npm install遇到sha认证失败问题怎么解决报错信息如下: 2417 error code EINTEGRITY 2418 error sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8= integrity checksum failed when using sha1: wanted sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8= but

2017-08-17 18:02:03 548

转载 Best Time to Buy and Sell Stock(最佳买卖股票时间)

Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), d

2017-08-14 10:42:15 285

转载 awk命令

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk [-F field-separator] ‘commands’ input-file(s) 其中,commands 是真正awk命令,[-F域分隔符]是可选的。 i

2017-08-11 14:24:08 270

原创 sed命令

sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。使用实例1、以行为单位的新

2017-08-10 17:26:43 325

转载 ps命令

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和

2017-08-04 11:06:17 183

原创 二进制相加

Given two binary strings, return their sum (also a binary string). For example, a = “11” b = “1” Return “100”.主要处理好进位的问题,PHP实现代码如下:function BinaryAdd($num1, $num2) { $last_index_1 = strlen($n

2017-08-03 11:28:50 597

转载 wc命令

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1、命令格式:wc [选项]文件…2、命令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。3、命令参数:-c 统计字节数。 -l 统计行数。 -m 统

2017-08-02 11:19:28 362

原创 最大连续子数组和

Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2,1] has the

2017-08-02 10:54:55 246

原创 Count and Say

The count-and-say sequence is the sequence of integers with the first five terms as following: 1 11 21 1211 111221 1 is read off as “one 1” or 11. (1个1) 11 is read off as “two 1s” or

2017-08-02 09:43:08 242

原创 Search Insert Position

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it wereinserted in order. You may assume no duplicates in the array.

2017-07-31 11:05:29 171

转载 find命令

1、命令格式:find pathname -options [-print -exec -ok …]2、命令功能:用于在文件树种查找文件,并作出相应的处理 3、命令参数:pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命

2017-07-31 10:35:37 274

原创 实现strstr

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.实现代码如下:function strstr1($haystack, $needle) { $len1 = strlen($haystack); $len2 = str

2017-07-28 14:40:05 265

转载 whereis命令

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍

2017-07-28 11:11:33 451

js双日历选择器

项目中用的一款日历双选插件,简单的配置下参数即可。具体说明在sample.html里。

2016-04-28

面向对象分析设计

详细的讲述面向对象分析设计与方法 北航老师的精品课程

2012-10-23

空空如也

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

TA关注的人

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