自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zuimei_forver的博客

知其然知其所以然

  • 博客(117)
  • 收藏
  • 关注

原创 字面值无法取地址

type IntSet struct { List []int}func (i *IntSet) String() string { return fmt.Sprintf("%v", i.List)}func main() { i := &IntSet{List: []int{1, 2}} fmt.Println(i.String()) fmt.Println(Int...

2019-06-14 11:14:08 279

原创 redis安装

安装下载、解压、编译$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz$ tar xzf redis-5.0.3.tar.gz$ cd redis-5.0.3$ make启动服务器$ src/redis-server客户端交互$ src/redis-cliredis> set foo barOKr...

2018-12-18 13:50:08 179

原创 POST Content-Length of 65077906 bytes exceeds the limit of 52428800 bytes in Unknown on line 0

PHP上传时,当上传文件大小超过php.ini中配置阈值时,会出现上面警告,从$_FILES中无法取到上传的文件信息。解决办法① 打开php.ini,修改如下两行:# 上传文件的最大值upload_max_filesize = 100M# post提交时最大数据大小post_max_size = 100M② 重启web服务器(apache或者nginx)同时需要注意web服务器...

2018-11-21 17:44:59 1437

原创 同步、异步、阻塞、非阻塞

同步与异步是消息通知的机制不同,同步是主动获取通知(不断观察状态),异步是被动通知(使用回调)。阻塞与非阻塞是获取消息通知时状态。阻塞指在获取消息通知时不可做其他事情;非阻塞指在获取消息通知时可以做其他事情。上面组合后有四种情况:① 同步阻塞 这种效率最低,在等待消息通知时,什么事情都不做② 同步非阻塞 这种效率较低,在做其他事情时,还要不断观测消息的状态,来回切换,效率较低。...

2018-09-05 11:30:25 130

原创 Laravel任务调度

下面介绍一个Laravel任务调度使用实例,至于相关的方法请参考:http://laravelacademy.org/post/8484.html1. make:command 生成任务php artisan make:command MigrateData执行上述命令后,会在Console目录新建一个Commands目录,里面有个MigrateData.php文件2. 编写任...

2018-09-02 17:19:10 939

原创 LNMP

1. 环境Virtual BoxCentos 71.1 更新系统软件源yum updateyum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级yum -y update 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变1.2 安装依赖包yum -y install gcc gcc-c++ autoconf...

2018-08-30 17:42:42 508

原创 call undefined function openssl_cipher_iv_length

现象: 访问localhost/blog/public时,报错在verdor/framework/src/Illuminate/Encryption/Encrtpter.php的84行,找不到openssl_cipher_iv_length()函数。php.ini的extension=php_openssl.dll和extension_dir都已经正确配置了。解决方案: 将php目录下的libe

2017-11-23 14:16:15 8171

转载 linux安装mysql出现Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH),提示解决方法

进入MySQL目录[root@localhost software]# cd mysql-5.6.19[root@localhost mysql-5.5.11]# cmake .出现以下错误提示:-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at

2017-08-02 12:44:39 1755 1

转载 Laravel之HTTP响应

1. Response对象1.1 实例化Response对象    大多数路由和控制器动作都会返回一个完整的 Illuminate\Http\Response 实例或视图,返回一个完整的 Response 实例允许你自定义响应的 HTTP 状态码和头信息。Response 实例继承自 Symfony\Component\HttpFoundation\Response 类,该类提供了一系列方法用于创建

2017-05-02 19:25:58 633

原创 Laravel之文件上传

Laravel中使用Illuminate\Http\Request实例的file方法来访问上传的文件,该方法返回的对象是Symfony\Component\HttpFoundation\File\UploadFile类的一个实例,该类继承自PHP标准库中提供与文件交互方法的SplFileInfo类。$file = $request->file('file1'); //获取UploadFile的实例

2017-05-02 18:46:30 3566

原创 Linux下安装Laravel遇到的问题

在Laravel官网上下载5.2版本,解压后放入htdocs目录中,然后访问可能出错。 需要注意两点: 1. 给/usr/local/httpd/htdocs/laravel/storage/framework路径下views目录写权限,在该目录下会写入编译文件。chmod 777 ./views 2. 在/usr/local/httpd/htdocs/laravel/storage/logs

2017-04-19 15:42:45 1232

原创 LAMP安装

本文在CentOS 7环境下安装PHP开发环境(LAMP),各个软件版本: Apache 2.4.25 Mysql 5.5.55 PHP 7.1.31. 安装依赖包yum install wget gcc gcc-c++ make cmake bison bison-devel libaio-devel perl file patch mlocate flex diffuti

2017-04-13 19:19:02 315

原创 Linux命令杂记

关机与重启shutdown [选项] 时间 -c 取消前一个关机命令 -h 关机 -r 重启 如:shutdown -r now (立即重启)查看登录用户信息w [用户名] who 用户名查询当前登录和过去登录的用户信息last(默认读取/var/log/wtmp文件数据)查看所有用户的最后一次登录时间lastlog别名查看别名alias设置别名alias nam

2017-04-11 10:59:23 380

原创 linux压缩与解压缩

linux下常用压缩包格式有.zip、.gz、.bz2、.tar.gz、.tar.bz2(这些并不是文件的后缀,而是压缩格式的约定,方便识别是哪种压缩)。

2017-04-10 20:34:12 244

转载

MySQL的锁机制比较简单,不同存储引擎支持不同的锁机制。MyISAM和MEMORY存储引擎是表级锁;BDB存储引擎是页面锁,也支持表级锁;InnoDB存储引擎既支持行级锁,也支持表级锁,默认情况下是行级锁。     MySQL这3种锁的特性大致归纳如下:     表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。     行级锁:开销大,加锁慢;会出现死锁;

2017-04-05 10:56:05 354

转载 优化SQL语句的一般步骤

当面对一个有SQL性能的数据库时,我们可以从以下步骤来对数据库进行分析。1.通过show status命令了解各种SQL的执行频率    MySQL客户端连接成功后,通过show [session | global] status命令可以提供服务器状态信息。session为当前连接的统计结果;global为数据库启动至今的统计结果;默认为session。     以下为常用的统计参数:

2017-04-04 19:41:39 718

转载 索引设计的原则

索引的设计可以遵循一些已有的原则,创建索引的时候请尽量符合这些原则,便于提升索引地使用效率,更高效地使用索引。 1) 搜索的索引列,不一定是要选择的列。最适合索引的列是出现在where子句中的列,或连接子句中指定的列,而不是出现在select关键字后选择列表中的列。 2) 使用唯一索引。索引的列的基数越大,效果越好(建立索引列的数据要一定程度上不同)。例如,存放出生日期的列具有不同值,很容易区分

2017-04-01 09:40:17 4770

转载 MySQL存储引擎

MyISAM、InnoDB、MEMORY和MERGE是常用的4种存储引擎。

2017-03-31 16:53:52 303

原创 销毁Session

Session是用于一次会话中在服务器端存储数据,记录用户状态的。在使用完成后,如何销毁Session数据,分为以下三步: 1. 清空$_SESSION中数据 2. 如果session是基于cookie的,则需将cookie中session的信息删除 3. 销毁当前会话中所有数据<?php//初始化会话session_start();//重置会话中的所有变量$_SESSION = ar

2017-03-31 10:30:28 396

原创 模型Model

字段定义     系统在模型首次实例化的时候自动获取数据表的字段信息,如果设置了缓存,就会将字段信息永久缓存;在没有设置缓存或者调试状态下,每次实例化都会重新获取数据表的字段信息。     缓存字段信息保存在Runtime/Data/_fields目录下,每个模型对应一个缓存文件,并非每个数据表对应一个缓存文件。     命名格式:数据库名.模型名(小写).php 如:demo.use

2017-03-30 15:01:12 474

原创 View类分析

ThinkPHP框架中View类是视图基类。其中,最常用的两个方法是assign()以及display()分别用于为模板赋值以及渲染模板。View类的源码如下:<?phpnamespace Think;/** * ThinkPHP 视图类 */class View { /** * 模板输出变量 * @var tVar * @access protect

2017-03-28 21:02:52 481

转载 文件上传攻防解析

文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题。但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题。本文将对文件上传的检测方式以及如何绕过相应检测方式进行详细的分析,并提供针了对文件上传攻击的安全防护方法。

2017-03-12 15:47:02 831

转载 CSRF攻击

CSRF攻击的主要手法是利用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是利用了浏览器Cookie或服务器Session策略,盗取用户身份。

2017-03-12 15:42:33 276

转载 SQL注入攻击

攻击者在HTTP请求中注入恶意的SQL命令,服务器用请求参数构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。

2017-03-12 15:15:35 268

转载 XSS攻击

XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。     常见的XSS攻击有两种,一种是反射型,攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击的目的,如下图所示。     现实中,攻击者可以采用XSS攻击,偷取用户Cookie、密码等重要数据,进而伪造交易、盗窃用户财产

2017-03-11 12:31:53 408

转载 负载均衡

负载均衡是网站必不可少的基础技术手段,不但可以实现网站的伸缩性,同时还改善网站的可用性,负载均衡的基础技术有以下几种:HTTP重定向负载均衡    HTTP重定向负载均衡利用HTTP重定向协议实现。如下图所示:     HTTP重定向服务器就是一台普通的应用服务器,其唯一的功能就是根据用户的HTTP请求计算一台真实的Web服务器地址,并将该Web服务器地址写入HTTP重定向响应中返回给用户浏览器(

2017-03-10 17:06:45 248

转载 应用服务器性能优化

应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,是网站开发最复杂,变换最多的地方,优化手段主要有缓存、集群、异步等。

2017-03-08 19:47:08 240

转载 Web前端性能优化

一般说来Web前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等,主要优化手段有优化浏览器访问、使用反向代理、CDN等。1. 浏览器访问优化1.1 减少http请求    HTTP协议是无状态的应用层协议,HTTP每次请求都需要建立通信链路、进行数据传输,在服务器端,每个HTTP请求都需要启动独立的线程去处理。这些通信和服务的开销都很昂贵,减少HTTP请求的数目可有效

2017-03-04 20:23:09 324

原创 Matlab R2012b启动出现License Manager Error -15

安装好Matlab R2012b后,启动时,出现License Manager Error -15错误,如图所示: 解决办法: 1、找到已安装文件目录下的etc文件夹(如:D:\programfile\matlab\R2012B\etc),找到license.dat文件,复制; 2、找到已安装文件目录下的licenses文件夹(如:D:\programfile\matlab\R2012B\li

2017-01-12 12:37:39 11263 5

原创 杂记

访问控制PHP中对属性或方法的访问控制有public(共有)、protected(受保护)、private(私有)三种,若省略则默认为public,并且之前的var现作为public的别名使用。 共有或受保护的属性或方法在子类中能覆盖父类中相同的属性或方法(ps:若是方法,其参数必须相同),而对于私有类型的属性或方法是不能覆盖的。如果在父类和子类中声明相同的属性或者方法,在父类中访问即是父类的属性

2016-12-15 14:55:29 192

原创 闭包

PHP中也可以使用闭包,但版本应该是5.3.0及以上。 闭包中可以从父作用域继承变量,在闭包内使用,但要通过use声明。 $tmp = 'hello'; $func = function() use ($tmp) { echo $tmp . '<br/>'; }; $func(); $tmp = 'world'; $func();输出结果为

2016-12-14 20:42:06 251

转载 Apache启用GZIP压缩网页传输方法

一、gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。 利用Apache中的Gzip模块,我们可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数,最明显

2016-11-26 14:06:42 3746

原创 window下编译Opencv3.1.0和opencv_contrib

在使用opencv库时,有可能需要使用opencv_contrib中的代码(许多研究者将自己的算法提到这个github项目),但opencv_contrib的使用会依赖于opencv库。本文介绍如何在window下编译opencv3.1.0和opencv_contrib。 1. 下载所需代码和软件 1.1 opencv3.1.0 地址:https://sourceforge.net/p

2016-11-03 14:34:20 526

转载 Nginx与PHP的运行原理

FastCGI    FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。 多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等。FastCGI也被许多脚本语言所支持,其中就有PHP。     FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差*,因为每次HTTP服务器遇到动态程序时都

2016-09-20 16:27:51 272

原创 引用

php中引用是指用不同的名字访问同一个变量内容,就是允许两个不同的变量指向同一个内容,而不是C++中的指针。 注:要与c/c++中指针进行区别 引用传递 引用传递可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。注意,只有在函数定义时,才有引用符号&,在调用函数时没有&。function foo(&$var) { $var++;}$a = 5;foo($a); /

2016-08-22 20:47:59 199

转载 array_walk

array_walk:我们可以使用自己定义的函数,对数组中每个元素进行回调处理bool array_walk(array &$array, callable $funcname [,mixed $userdata=null])参数说明:array:输入的数组funcname: 一般funcname接收两个参数,第一个是数组值,第二个是键名userdata:可选参数,若填写,则作为funcnam

2016-08-18 15:04:29 269

原创 awk

awk基本使用 由模式和过程两部分组成,如果不指定过程,默认将模式匹配的行输出;将每个输入行解释为一条记录而将该行上的每个单词(空格或制表符分隔)解释为一个字段(可以改变这些默认设置)。一个或多个连续的空格或制表符被看做定界符。awk允许在模式或过程中引用这些字段,$0代表整个输入行,$1、$2…..表示输入行上的各个字段。 注:应用脚本之前,awk先拆分输入记录。awk ‘{print $1}

2016-08-15 14:50:22 246

原创 Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.Examples:Given “abcabcbb”, the answer is “abc”, which the length is 3.Given “bbbbb”, the answer is “b”, with the le

2016-08-13 16:06:09 162

原创 Combination Sum

Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. The same repeated number may be chosen from C unlimited number of

2016-08-13 15:12:50 218

原创 整数划分

整数划分指把一个正整数n写成多个大于等于1且小于等于其本身的整数的和,则其中各加数所构成的集合为n的一个划分。这里我们记n的m划分的个数为f(n,m)。 例如,当n=4时,有5个划分,即 {4},{3+1},{2,2},{2,1,1},{1,1,1,1} 注意: {3,1} 和{1,3} 被认为是同一个划分。 根据n和m的关系,考虑一下几种情况: (一)当n=1 时,无论m的值为多少 ,只

2016-08-12 20:53:37 409

空空如也

空空如也

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

TA关注的人

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