自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 使用 JavaScript 压缩和翻转图片

https://learnku.com/articles/31706

2019-12-17 16:41:28 117

原创 php-mecab

https://qiita.com/yusukeito58/items/36aeb7f6376e7b9b9d7ehttps://github.com/nihongodera/php-mecab-documentation#installation

2019-06-26 13:44:51 254

转载 API接口安全性设计

接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:Token授权机制:用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。Token是客户端访问服务端的凭证。...

2019-01-10 10:56:40 701

转载 CentOS7使用firewalld打开关闭防火墙与端口

1、firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看状态: systemctl status firewalld 开机禁用  : systemctl disable firewalld开机启用  : systemctl enable firewalld  2.syste...

2019-01-07 18:03:03 139

转载 K8S集群搭建,并部署nginx实现跨网络访问

K8S基础概念一、核心概念1、NodeNode作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的负载均衡。Node包含的信息:·        Node地址:主机的IP地址,...

2019-01-07 16:10:48 1867 1

转载 Dockerfile

Docker 可以通过 Dockerfile 的内容来自动构建镜像。Dockerfile 是一个包含创建镜像所有命令的文本文件,通过docker build命令可以根据 Dockerfile 的内容构建镜像,在介绍如何构建之前先介绍下 Dockerfile 的基本语法结构。Dockerfile 有以下指令选项:FROM MAINTAINER RUN CMD EXPOSE EN...

2018-12-14 10:52:03 136

转载 QPS和TPS的区别

QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计...

2018-12-13 10:20:00 213

转载 MySQL B+树索引和哈希索引的区别

导读在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。二者区别备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法:CREATE TABLE t(aid int unsigned not null auto_increment,userid int unsigned n...

2018-12-11 11:44:57 198 1

转载 MySQL的四种事务隔离级别

一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...

2018-12-07 22:36:52 91

转载 mysql-死锁

  一个不可思议的死锁  死锁场景如下: 表结构: CREATE TABLE dltask (id bigint unsigned NOT NULL AUTO_INCREMENT COMMENT ‘auto id’,a varchar(30) NOT NULL COMMENT ‘uniq.a’,b varchar(30) NOT NULL COMMENT ...

2018-12-06 09:56:39 158

原创 linux ssl

证书制作本章将详细讲解如何制作证书以及如何开启Https的单向、双向认证。准备工作选择任意路径,执行如下命令创建文件夹结构 mkdir ca cd ca mkdir private mkdir server mkdir newcerts在ca目录下创建openssl.conf文件,文件内容如下 [ ca ] default_ca = foo # T...

2018-11-30 19:57:39 544

原创 ubuntu16 安装swoole

sudo apt-add-repository ppa:ondrej/phpsudo apt-get updateapt-cache search php7.2-*apt install php7.2apt install php7.2-devapt install php-pearapt install php7.2-mysqlapt install php7.2-redisp...

2018-11-21 17:05:10 139

原创 sphinx+scws

系统:ubutu 14.06一.sphinxsudo apt-get install apache2apt-get install php5 libapache2-mod-php5apt-get install mysql-serverapt-get install php5-mysql php5-curl php5-gdapt-get install sphinxse

2017-12-07 11:43:28 254

转载 sphinx 配置文件

sphinx 配置文件全解析sphinx的配置文件是在配置的时候最容易出错的了:我们先要明白几个概念:source:数据源,数据是从什么地方来的。index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。indexer:构建索引的服

2017-11-20 16:30:33 221

原创 docker 阿里云 镜像加速

如何使用Docker加速器创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。docker-machine create --engine-registry-mirror=https://719uk62i.mirror.aliyuncs.com -d virtualbox default查看机器的环境配置,并配置

2017-09-05 10:36:52 441

原创 swagger

docker pull swaggerapi/swagger-editordocker run -p 80:8080 swaggerapi/swagger-editordocker pull swaggerapi/swagger-uidocker run -p 80:8080 swaggerapi/swagger-uiOr you can provide your own swagger

2017-09-05 10:21:48 283

转载 一次完整的HTTP请求过程

当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面

2017-08-09 16:52:20 256

转载 PHP的输出缓冲区

什么是缓冲区?简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料.其实缓冲区最本质的作用就是,协调高速CPU和相对缓慢的IO设备(磁盘等)的运作. PHP在执行的时候,在什么地方有用到缓冲区?想要了解PHP的缓冲区,就要知道执行PHP的时候,缓冲区被设置到了什么地方.当执行

2017-08-09 11:10:49 235

转载 nginx 入门

概述什么是nginx?Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为

2017-04-07 11:16:06 226

转载 HTTP协议header标头详解

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域 值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。   

2017-04-06 13:56:45 2665

转载 MySQL详解--锁

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL

2017-03-30 10:39:57 141

原创 eclipse 设置php代码提示

1打开 Eclipse的 Window -> Preferences -> PHPeclipse -> PHP -> Code Assist 打开里面的Enable auto activation选项,下面有个Auto activation triggers for PHP,后面的默认值是 “$>”,随便改一下,比如改成aaaa,然后 Apply, OK 。2.       导出当前的首选

2017-03-24 17:33:23 958

转载 Javascript作用域原理

问题的提出首先看一个例子:var name = 'laruence';function echo() {     alert(name);     var name = 'eve';     alert(name);     alert(age);} echo();运行结果是什么呢?上面的问题, 我相信会有很多人会认为是:laruenceeve[脚本出错]因为会以为在ech

2017-03-21 16:44:17 215

转载 使用fscok实现异步调用PHP

Web 服务器执行一个脚本,可能几毫秒就完成,也可能几分钟都完不成。如果程序执行缓慢,用户可能没有耐心等下去,就关闭浏览器了。    而有的时候,我们更本不关心这些耗时的脚本的执行结果,但却还要等他执行完返回,才能继续下一步。       那么有没有什么办法,只是简单的触发调用这些耗时的脚本然后就继续下一步,让这些耗时的脚本在服务端慢慢执行?          接下来,我将使用fs

2017-03-21 15:56:43 181

转载 让PHP更快的提供文件下载

一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件.但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载.    $file = "/tmp/dummy.tar.gz";    header("Content-type: application/octet

2017-03-21 15:06:40 236

转载 深入理解PHP内存管理

首先让我们看一个问题: 如下代码的输出,var_dump(memory_get_usage());$a = "laruence";var_dump(memory_get_usage());unset($a);var_dump(memory_get_usage());输出(在我的个人电脑上, 可能会因为系统,PHP版本,载入的扩展不同而不同):int(90440)int(90640)in

2017-03-21 14:23:07 183

转载 HTTPOXY漏洞说明

这里有一个核心的背景是, 长久一来我们习惯了使用一个名为”http_proxy”的环境变量来设置我们的请求代理, 比如在命令行我们经常这么用:http_proxy=127.0.0.1:9999 wget http://www.laruence.com/通过设置一个http_proxy的环境变量, 让wget使用代理请求http://www.laruence.com/有据可考的是, 这样

2017-03-17 11:09:17 353

原创 mac 下安装php imagemagick

brew install imagemagick --disable-openmp --build-from-source

2017-03-09 15:13:32 492

原创 php 图片圆形化处理

用到的php gd库函数有imagecoloratimagesetpixel首先是把图片处理成圆形的:原图如下:处理过之后效果:用以下公式计算(x-a)*(x-a)+(y-b)*(y-b)公式成立说明当前x,y点在圆内x,y为当前的坐标a,b为圆的圆心位置r为半径先创建一张透明的图片,然后一行一行的扫描原图如图像素点在圆内

2017-03-09 14:16:46 3814 1

转载 swoole学习笔记四

基于swoole的AsyncTask模块实现的连接池是完美方案,编程简单,没有数据同步和锁的问题。甚至可以多个服务共享连接池。缺点是1, 灵活性不如多线程连接池,无法动态增减连接。2, 有一次进程间通信的开销。--- 这里的甚至可以多个服务共享连接池。代码统计cloc和gitstats(有web显示)只有异步非阻塞方式,没有异步阻塞方式。用了Epoll任何程序都能扛住100W并发连接,只是占内存多

2017-02-23 18:23:51 241

转载 swoole学习笔记三

Swoole没有采用多线程模型而是使用的多进程模型,在一定程度上减少了访问数据时加锁解锁的开销,但同时也引入了新的需求:共享内存。Swoole中为了更好的进行内存管理,减少频繁分配释放内存空间造成的损耗和内存碎片,Rango设计并实现了三种不同功能的MemoryPool:FixedPool,RingBuffer和MemoryGlobal。虽然原来也知道结构体中可以通过存放函数指针模拟一个类

2017-02-23 18:23:03 281

转载 swoole学习笔记二

腾讯QQ也是有C10K问题的,只不过他们是用了UDP这种原始的包交换协议来实现的,绕开了这个难题。当然过程肯定是痛苦的。如果当时有epoll技术,他们肯定会用TCP。后来的手机QQ,微信都采用TCP协议。实际上当时也有异步模式,如:select/poll模型,这些技术都有一定的缺点,如selelct最大不能超过1024,poll没有限制,但每次收到数据需要遍历每一个连接查看哪个连接有数据请求。既然

2017-02-23 18:21:55 377

转载 swoole学习笔记一

manager是进程,worker是进程,task是进程,master是线程,reactor是线程,心跳检测是线程,UDP收发是线程reactor和worker之间的通信是通过IPC实现的和worker进行通信有两种方式:管道和消息队列主进程mainReactor负责监听server sockettcp分为nopush和nodelay两种方式主进程mainReactor:负责监听serve

2017-02-23 14:49:25 325

转载 Reactor模式

什么是Reactor模式要回答这个问题,首先当然是求助Google或Wikipedia,其中Wikipedia上说:“The reactor design pattern is an event handling pattern for handling service requests delivered concurrently by one or more inputs. The ser

2017-02-23 11:51:46 235

原创 php-mac系统 环境变量设置

php-mac环境变量设置sudo vi ~/.bash_profile# 添加一行。注意 PHP5.4.10 修改成你正在运行的 PHP 版本目录名称export PATH="/Applications/MAMP/bin/php/php5.4.10/bin:$PATH"# 保存,退出# 运行一下 .bash_profile 文件. .bash_profile# 确

2017-02-21 17:42:55 3994

原创 常用命令

php -i |grep php.ini  定位php配置文件位置

2017-02-21 10:04:12 154

转载 WebSocket的原理,以及和Http的关系

一、WebSocket是HTML5中的协议,支持持久连接;而Http协议不支持持久连接。首先HTMl5指的是一系列新的API,或者说新规范,新技术。WebSocket是HTML5中新协议、新API.Http协议本身只有1.0和1.1,也就是所谓的Keep-alive,把多个Http请求合并为一个。 二、WebSocket是什么样的协议,具体有什么优点。首先,相对于Http这种非

2017-02-16 18:17:56 176

原创 ubuntu升级php

sudo add-apt-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.

2017-02-14 13:38:16 532

原创 OSX I have heard of people on OSX running in to problems due to the terminal pointing to the native

OSXI have heard of people on OSX running in to problems due to the terminal pointing to the native PHP shipped with OSX. You should instead update your bash profile to include the actual path to you

2017-02-14 10:39:17 182

转载 MySQL索引原理及慢查询优化

  MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也...

2017-02-08 11:55:57 312

空空如也

空空如也

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

TA关注的人

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