自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 APP开放接口API安全性——Token令牌Sign签名的设计与实现

  在APP开放接口API的设计中,避免不了的就是安全性问题。  一、https协议  对于一些敏感的API接口,需要使用https协议。https是在http超文本传输协议加入SSL层,它在网络间通信是加密的,所以需要加密证书。  二、设计签名  原理:用户登录时向服务器提供用户认证信息(如账号和密码),服务器认证完后给客户端返回一个Token令牌,用户再次获取信息时,...

2018-10-11 14:35:00 385

转载 索引原理-btree索引与hash索引的区别

  btree索引与hash索引的区别,之前不清楚,mark一下。  Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以Hash索引的查询效率要远高于B-Tree索引。  可能很多人又有疑问了,既然Hash索引的效率要比B-Tree高很多,为什么大家都不用Hash索引而还要使用...

2018-10-08 13:34:00 243

转载 从四个维度谈谈如何做好团队管理

  关于团队管理的四个维度,主要包括向下管理、向上管理、对外管理、自我管理。  1、向下管理    (1)、技术尊重  要了解程序员,你首先需要深入理解他们使用的工具、流程,以及程序设计的艺术。你理解得越深入,在和下属程序员进行技术对话时,参与能力就越强,越容易获得他们的尊重。微软的一位程序架构师这样评价比尔.盖茨:“盖茨最喜欢和他的程序员一起讲程序分许答比特、字节层面。...

2018-10-08 11:06:00 2724

转载 优秀的技术管理者需要具备哪些能力?

  今天的分享主要针对技术团队管理者品质、团队管理的四个维度、产品开发过程管理、系统架构理念等几点内容,时间有限,不能针对各个方面深入介绍,请大家见谅。其实我们作为技术团队管理者,每天都需要关注技术、产品的发展趋势,也需要具备产品意识,所以我们的工作范围也会包括新技术理解(英文文章阅读和翻译、技术框架原型搭建)、产品布局(专利)等等。  对于一名技术团队管理者来说,他需要具备一些品质...

2018-09-30 15:02:00 749

转载 看完这些面试题,你就知道自己几斤几两了!

  这些面试题偏向中级到高级,可能你都没遇到过的!下面大家来看看吧,认真点的可以到网上搜搜问题的答案,说不定能帮到你进阶PHP!  0、简单做一下自我介绍,? 然后谈一下近三年来你的得意之作?  1、面试官看过你的简历,会问一些你做的项目的用户量、pv、吞吐量、相关难点和解决方法等  2、数据库设计经验,为什么进行分表? 分库?  一般多少数据量开始分表...

2018-09-29 11:12:00 200

转载 nginx和php之间是怎样通信的呢?

  FastCGI原理  FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache、Nginx和lighttpd等。同时,FastCGI也被许多脚本语言支持,其中就有PHP。 FastCGI接口方式采用C/S结构,可以将HttP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚...

2018-09-28 18:05:00 116

转载 php下获取http状态的实现代码

  在项目开发中,有时我们需要知道远程的URL地址是否能访问正常,判断其正常与否后进行下一步的操作,那么在PHP中如何获取远程HTTP的状态呢?  文件preg.phpheader("HTTP/1.1 404 Not Found");  方式一、$url = "http://www.demo.com/preg.php";$ch = curl_init();...

2018-09-28 17:26:00 90

转载 PHP 常用的header头部定义汇总

header('HTTP/1.1 200 OK'); // ok 正常访问header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301header('Location: http://www.ithhc.cn/'); //...

2018-09-28 17:18:00 65

转载 APP接口版本不兼容怎么办? 教你一招

  现在基本每个公司都做APP,所以大家都面临 APP接口版本兼容的问题。  iOS和android 要不断开发新版本,很多服务端开发都是在以前接口的逻辑上进行修改。新的APP和接口开发后,接口如何兼容老的APP?  有的公司 每次发布完APP,就强制用户更新到最新版本。不推荐这样,因为用户体验太差。  就算是用 强制更新,在苹果审核期间,新的APP接口和老的接口也必须能同时...

2018-09-28 11:42:00 839

转载 微信公众号与小程序数据互通

  背景  最近做了一个有意思的功能《官网内容订阅》,用户在官网扫码后可以订阅官网栏目,订阅栏目后发送模版消息提醒用户订阅成功,模版消息关联了小程序,然后做了一个小程序来管理用户订阅的栏目,小程序提供订阅和新闻列表阅读功能。  实现技术调研分析  通过背景描述我们知道需要实现两块登录:1、官网扫码二维码登录;2、用户直接进小程序实现登录。要实现两块登录且要求用户从任意一个入口...

2018-09-28 09:50:00 424

转载 PHP 利用文件锁处理高并发

  利用flock()函数对文件进行加锁(排它锁),实现并发按序进行。  flock(file,lock,block)有三个参数。  file:已经打开的文件  lock:锁的类型    LOCK_SH:共享锁(读锁)    LOCK_EX:独占锁定(排它锁,写锁)    LOCK_UN:解锁    LOCK_NB:如果希望在文件锁定时阻塞进程,那么需要加上该...

2018-09-26 17:38:00 258

转载 注意:PHP7中十个需要避免的坑

  1、不要使用mysql_函数  这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP7已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的PDO实现。  2、不要编写垃圾代码  这一条可能易于理解,但是会变得越来越重要,因为PHP7的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到PHP7才让它变快...

2018-09-20 17:51:00 99

转载 MySQL的or/in/union与索引优化

  假设订单业务表结构为:order(oid, date, uid, status, money, time, …)  其中:oid,订单ID,主键date,下单日期,有普通索引,管理后台经常按照date查询uid,用户ID,有普通索引,用户查询自己订单status,订单状态,有普通索引,管理后台经常按照status查询...

2018-09-18 18:23:00 82

转载 或许你不知道的10条SQL技巧

  一、一些常见的SQL实践  (1)负向条件查询不能使用索引select * from order where status!=0 and stauts!=1  not in/not exists都不是好习惯,可以优化为in查询:select * from order where status in(2,3)  (2)前导模糊查询不能使用索引...

2018-09-18 18:08:00 62

转载 理解RESTful架构

  越来越多的人开始意识到,网站即软件,而且是一种新型的软件。  这种“互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。  网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之前的通信。互联网的兴起,使得这两个领域开始融...

2018-09-13 15:36:00 73

转载 RESTful API 设计指南

  网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备.....)。  因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API架构的流行,甚至出现“API First”的设计思想。RESTFUL API是目前比较成熟的一套互联网应用程序的API设计理论。  今天,我将介绍RESTFUL API的设计细...

2018-09-12 11:40:00 61

转载 秒杀系统架构优化思路

  一、秒杀业务为什么难做  1)、im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);  2)、微博系统,每个人读你关注人的数据,一个人多多个人的数据;  3)、秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据;  例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。  例如:12...

2018-09-12 11:37:00 67

转载 linux文件与目录管理

  在linux中什么是一个文件的路径呢,说白了就是文件存在的地方。在linux的世界中,存在着绝对路径和相对路径。  绝对路径:路径的写法一定由根目录“/”写起。例如/usr/local/mysql,这就是绝对路径。  相对路径:路径的写法不是由根目录“/”写起。例如,首先用户进入到/,然后再进入到home,命令为cd /home然后cd test,此时用户所在路径为/home...

2018-08-31 15:50:00 175

转载 SHELL脚本基础

  shell首先它是一个脚本,并不能作为正式的编程语言。因为是跑在linux的shell中,所以叫shell脚本。说白了,shell脚本就是一些命令的集合。举个例子,我想要实现这样的操作:  1)进入到/tmp/目录;  2)列出当前目录中所有的文件名;  3)把所有当前的文件拷贝到/root/目录下;  4)删除当前目录下的所有文件;  简单的4步在shell窗口...

2018-08-28 15:06:00 217

转载 Web服务器对比介绍

1、ApacheApache是非常强大的老牌Web服务器,具有模块化结构,拥有众多非常成熟稳定的模块,目前仍是使用非常广泛的服务器,但它是基于多进程HTTPServer,需要对每个用户请求创建一个子进程/线程来响应,当访问较大时,会占用较多的系统资源(主要事实CPU和内存),所以高并发的处理并不是Apache的强项。2、Nginx Nginx是一款十分轻量级的HTT...

2018-08-24 13:45:00 233

转载 作为一名技术人员,我们应该如何践行呢?

原则,犹如指引行动的“灯塔”,它连接着我们的价值与行动。每个人都应该有自己的原则,当我们需要作出选择时,一定要坚持以原则为中心。原则一:Owner意识1、认真负责的态度认真负责是工作的底线。首先,要对我们交付的结果负责。项目中每一个设计文档、每一行代码都要认真完成,要对它的质量负责。其次,我们要对开发的系统负责。系统的架构是否需要完善,接口文档是否完善,日志是否完善,...

2018-08-23 17:07:00 620

转载 linux系统用户以及用户组管理

认识/etc/passwd和/etc/shadow  这两个文件可以说是linux系统中最重要的文件之一。如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的。[root@localhost ~]# cat /etc/passwd | headroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/s...

2018-08-22 15:11:00 159

转载 SHELL脚本之正则表达式

  这部分内容可以说是学习shell脚本之前必学的内容。如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强。所以不要嫌弃这部分内容啰嗦,也不要怕麻烦,要用心学习。一定要多加练习,练习多了就能熟练掌握了。  在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或者其他工具里,正则表达式通常被用来检索...

2018-08-22 10:13:00 273

转载 会话控制Session的应用

  Session技术与Cookie相似,都是用来存储使用者的相关资料。但是最大不同之处在于Cookie是将数据存放于客户端计算机中,而Session则是将数据存放于服务器系统下。  在Web技术发展史上,虽然Cookie技术的出现是一个重大的变革,但Cookie是在客户端计算机中保存资料,所以引起了一个争议。用户有权阻止Cookie的使用,使Web服务器无法通过Cookie来跟踪用...

2018-08-21 18:23:00 157

转载 会话控制Cookie的应用

  Cookie是一种由服务器发送给客户端的片段信息,存储在客户端浏览器的内存或者硬盘上,在客户端对服务器的请求中发回它。PHP透明地支持HTTP Cookie。可以利用他在远程浏览器端存储数据并以此来跟踪和识别用户的机制。  Cookie是用来将使用者资料记录在客户端的技术,这种技术让Web服务器能将一些只需存放于客户端,或者可以在客户端进行运算的资料,存放于用户的计算机系统中。就...

2018-08-17 11:37:00 91

转载 PHP文件系统处理

文件类型  PHP是以UNIX的文件系统为模型的,因此在Window系统中我们只能获得“file”、“dir”、或者“unknown”三种文件类型。而在UNIX系统中,我们可以获得“block”、“char”、“dir”、“fifo”、“file”、“link”和“unknown”7种类型。文件类型描述Block块设备文件,如某个磁盘分区、软驱、光...

2018-08-17 11:30:00 187

转载 PHP异常处理

  异常是OOP应用程序中的一个关键部分,PHP5对其进行了介绍。“异常”这一术语表示了由try、catch和throw等语句和Exception类组成的整个处理机制。这一机制是用来帮助定义问题发生的时间,以及在问题发生时代码处理问题的方法。  异常提供了控制应用程序生成和处理错误的方法。还通过提供的异常发生的场景细节,使得我们能够更加轻松地编写程序。另外,通过使用异常,能够创建具有...

2018-08-15 16:22:00 79

转载 require和require_once经济性能对比

require和require_once都是PHP函数,开发人员可以使用它们在某个特定的脚本中导入外部PHP文件。你可以根据应用程序的复杂度调用一次或若干次require_once/require。使用require(而不是require_once)可以提高应用程序的性能。测试前准备:创建4个空的类来模拟主脚本要使用的外部PHP文件脚本。ClassA.php:<...

2018-08-08 17:18:00 350

转载 Linux中Nginx安装部署

前言  Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资...

2018-08-03 15:22:00 96

转载 MySQL数据库的主从同步复制配置

一、主从同步机制原理  MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Master MySQL上读取binlog,然后传输到Slave MySQL的中继日志中,然后Slave MySQL的SQL线程从中继日志中...

2018-08-03 10:24:00 70

转载 Linux下Mysql的安装步骤

(1)、下载安装包https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar[root@localhost local]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-g...

2018-08-02 11:00:00 352

转载 分布式集群Session原理及实现共享

1、什么是Session/Cookie?  用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是不是上次访问的用户。我们需要基于HTTP协议支持会话状态的机制,这样的机制可以使Web服务器从多次单独的HTTP请求中知道哪些请求是来自哪个会话的。  Session与Cookie...

2018-07-27 17:23:00 104

转载 MySQL数据库表分区功能详解

1、什么是表分区?mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理...

2018-07-24 15:14:00 2451

转载 PHP面向对象程序设计之接口(interface)

接口(interface)是抽象方法和静态常量定义的集合。接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。为什么说接口是一种特殊的抽象类呢?如果一个抽象类里面的所有的方法都是抽象方法,那么我们就换一种声明方法使用“接口”;也就是说接口里面所有的方法必须都是声明为抽象方法,另外接口里面不能声明变量(但可声明常量constant),而且接口里面所有的成员都是public权限...

2018-07-23 15:56:00 121

转载 PHP面向对象程序设计之抽象类和抽象方法

抽象类:抽象类不能被实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以继承它并且通过实现其中的抽象方法,使抽象类具体化。我们可以用一个abstract关键字来定义一个抽象类,示例如下:<?phpabstract class Animal{ //抽象类中可以定义属性 protected $animal = 'animal'; ...

2018-07-23 14:51:00 152

转载 MySQL优化技巧

MySQL优化三大方向:① 优化MySQL所在服务器内核(此优化一般由运维人员完成)。② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③ 对SQL语句以及表优化。MySQL参数优化:1、MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看mysql> show variables l...

2018-07-12 11:44:00 58

转载 MySQL性能优化之max_connections参数

很多开发人员都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况,造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;另一种原因就是MySQL配置文件中max_connections值过小。首先,我们来查看mysql的最大连接数:mysql> show variables l...

2018-07-12 11:08:00 231

转载 PHP环境下Memcache的使用方法

一、Memcache简介Memcache是danga.com的一个项目,最早是为LiveJournal服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以对应任意多个链接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached管理这些HashTable,所以速度非常快。二、Mem...

2018-07-09 10:13:00 99

转载 PHP之Trait详解

自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait其字面意思是”特性”、”特点”,我们可以理解为,使用Trait关键字,可以为PHP中的类添加新的特性。Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 ...

2018-07-06 16:21:00 127

转载 如何选择合适的MySQL数据类型

一、MySQL数据类型选择原则更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型。越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小。简单就好:简单的数据类型的操作通常需要更少的CPU周期。例如:整型比字符操作代价要小得多,因为字符集和校对规则(排序规则)使字符比整型比较更加复杂。尽量避免NULL:尽量制定列为NOT NULL,除非真的需要NULL类型的值。因为...

2018-07-05 17:14:00 281

空空如也

空空如也

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

TA关注的人

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