- 博客(284)
- 资源 (5)
- 收藏
- 关注
转载 websocket的应用场景
没有其他技术能够像WebSocket一样提供真正的双向通信,许多web开发者仍然是依赖于ajax的长轮询来实现。(注:我认为长轮询是富于创造性和多功能性的,虽然这只是一个不太完美的解决办法(hack))对Websocket缺少热情,也许是因为多年前他的安全性的脆弱,抑或者是缺少浏览器的支持,不管怎样,这两个问题都已经被解决了。决定手头的工作是否需要使用WebSocket技术的方法很简单:
2017-11-14 13:10:24
595
转载 使用消息队列的10个理由
1. 解耦在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2. 冗余有时在处理数据的时候处理过程会失败。除非数据被持久化,否则将永远丢失。消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险
2017-10-19 11:29:21
302
转载 PHP程序员进阶学习书籍参考指南
PHP程序员进阶学习书籍参考指南@heiyelurenlastmodify: 2016/2/18【初阶】(基础知识及入门)01. 《PHP与MySQL程序设计(第4版)》 http://item.jd.com/10701892.html02. 《深入浅出MySQL 数据库开发 优化与管理维护 第2版》 http://it
2017-10-19 11:27:09
405
1
转载 高级软件工程师(面试题)
下面的面试题不分语言,适用于所有编程语言,更多偏向设计。设计一个分类功能该功用于行政区域划分,商品分类,等等 例如中国->广东-深圳 .....要求:无限极分类,层次深度不限快速检索,不能使用递归只能使用一个数据库表实现可以生成树形目录商品以及属性功能的设计一个商品有很多属性,例如尺寸,颜色这些属性有固定的值,而另一些属性如重量,体积是需要填写具
2017-10-18 11:41:52
6545
转载 php-fpm的max_chindren的一些误区
原文地址: http://www.linuxidc.com/Linux/2014-12/110964.htm现在nginx + fpm 基本成为主流的配置,其中我们比较关注的是pm.max_chindren的配置首先,我们关注一个前提设置: pm = static/dynamic,这个选项是标识fpm子进程的产生模式:static :表示在fpm运行时直
2017-09-22 16:16:32
359
转载 php-fpm服务维护实例以及参数说明
原文地址:https://blog.tanteng.me/2016/04/php-fpm-start-servers/今天发了个链接,可能同时在线的人瞬间比较多,结果网站报503错误,回去打开php-fpm错误日志一看,php-fpm服务挂掉了,报如下错误:[04-Apr-2016 15:38:04] NOTICE: systemd monitor interval set t
2017-09-22 16:11:04
4335
转载 PHP-FPM性能优化参考
原文地址: https://blog.tanteng.me/2016/03/php-fpm-conf/php-fpm.conf有两个至关重要的参数:一个是”max_children”,另一个是”request_terminate_timeout”.我的两个设置的值一个是”40″,一个是”900″,但是这个值不是通用的,而是需要自己计算的。计算的方式如下:
2017-09-22 16:09:29
540
转载 FastCgi与PHP-fpm之间是个什么样的关系
首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要
2017-09-22 16:04:42
201
转载 PHP7 MongDB 安装与使用
本文教程只适合在 PHP7 的环境,如果你是 PHP5 环境,你可以参阅 PHP MongDB 安装与使用。PHP7 Mongdb 扩展安装我们使用 pecl 命令来安装:$ /usr/local/php7/bin/pecl install mongodb执行成功后,会输出以下结果:……Build process completed successfullyIn
2017-09-22 12:01:07
223
转载 HTTP协议简介
原文地址: https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832653051fd44e44e4f9e4ed08f3e5a5ab550358d000在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览
2017-09-19 10:27:35
431
转载 进程和线程
原文地址: https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868322563729e03f6905ea94f0195528e3647887415000很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是
2017-09-19 10:06:59
493
转载 IO编程
原文地址: https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832151866c052395d62814708a14c4fa1c933d85e000IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由C
2017-09-19 09:58:15
354
原创 RabbitMQ安装详解
第一步: 下载rabbitmq安装包第二步: 安装erlang 1) 安装Erlang Solutions仓库到你的系统(目的在于让你可以使用yum安装到最新版本的erlang, 如果不设置, yum安装的erlang版本通常太低)wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.no
2017-08-31 16:55:15
458
转载 RabbitMQ的应用场景以及基本原理介绍
原文地址: http://blog.csdn.net/whoamiyang/article/details/549547801.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方
2017-08-09 17:12:09
442
转载 [基础] -- MySQL 高性能表设计规范
原文地址: http://blog.jobbole.com/112035/一、选择优化的数据类型MySQL支持的数据类型非常多, 选择正确的数据类型对于获得高性能至关重要。更小的通常更好更小的数据类型通常更快, 因为它们占用更少的磁盘、 内存和CPU缓存, 并且处理时需要的CPU周期也更少。简单就好简单数据类型的操作通常需要更少的
2017-08-09 16:53:28
325
转载 [分布式] -- 消息队列
原文地址: http://www.cnblogs.com/itfly8/p/5155983.html以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布
2017-07-25 15:15:01
392
转载 phpStorm10+XDebug配置和断点调试
安装环境:XAMPP;phpStorm版本10; windows 7 64bit。XAMPP、phpStorm 都直接安装在了D盘根目录,9999m目录建在D:\xampp\htocts下,即目录工程文件夹路径为D:\xampp\htocts\9999m。在phpStorm>File>open,找到9999m,点击确定,加载9999m到了phpStorm(安装环境路径根据需要自行更改,
2017-07-21 09:42:20
390
转载 win10开始菜单打不开
win10开始菜单打不开怎么办 win菜单键没反应解决办法——————————————————————————————————————————————————————————————————————————1.右键点击任务栏—— 任务管理器,点击文件——运行新任务,新建任务 “powershell”同时勾选下方的“以管理员身份运行” 。确定。2.在弹出“管理员”运行中输入:Get-Ap
2017-07-19 15:42:24
3706
转载 appkey 和 secret key & token
appkey 和 secret key相当于当前账户的另外一套账号和密码机制. 当然, 仅仅是在API调用的范围内适用.1.生成方式可以自己定义, appkey保证不重复就行. secret key保证不容易被穷举, 生成算法也不能被轻易猜到. salt是一个不错的方式.2.我们假定 appkey = 'AK' secret key = 'BK' 当前时间为 'T' 随机值 'R'我们需要
2017-07-18 10:51:12
4368
转载 依赖注入和设计模式
原文地址: http://blog.csdn.net/lijingshan34/article/details/71526118什么是依赖注入?IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection,简称DI)。当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通
2017-07-12 11:28:26
748
转载 swa.gger常用注解说明
常用到的注解有:ApiApiModelApiModelPropertyApiOperationApiParamApiResponseApiResponsesResponseHeaderapi标记Api 标记可以标记一个Controller类做为swagger 文档资源,使用方式:@Api(value = "/user", description = "Opera
2017-07-05 17:13:03
2945
转载 [重要] -- swag.ger生成 PHP restful API 接口文档
原文地址: http://blog.csdn.net/liuxu0703/article/details/54344004需求:为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史.我的故事却又不同,因为首先来说,我在公司是 Android 组负责人,属于上述血泪史中催死人不偿命的客户端阵营.但血泪史
2017-07-05 17:08:03
1600
转载 swagger-ui教程-构建api接口文档工具
原文地址: http://blog.csdn.net/hel12he/article/details/46547863声明之前写过关于app后端开发的一系列文章,那是我第一次做app后端开发,存在很多不足,本想好好修改一下,想想还是重新写吧,这样子也能让我博客文章看起来多一点嘛,万一以后找工作,别人一看我博客这么多内容,是不是很屌?这次文章先从构建res
2017-07-05 14:28:49
412
原创 PHP中PSR-[0-4]代码规范
原文地址: http://www.cnblogs.com/52php/p/5852572.htmlPHP-FIG在说啥是PSR-[0-4]规范的之前,我觉得我们有必要说下它的发明者和规范者:PHP-FIG,它的网站是:www.php-fig.org。就是这个联盟组织发明和创造了PSR-[0-4]规范,膜拜吧,屌丝们!FIG 是 Framework In
2017-06-25 15:12:48
1046
原创 yii2 nginx pathinfo
要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo?pathinfo不是nginx的功能,pathinfo是php的功能。php中有两个pathinfo,一个是环境变量$_SERVER['PATH_INFO'];另一个是pathinfo函数,pathinfo() 函数以数组的形式返回文件路径的信息;。nginx能做的只是对
2017-06-13 14:44:28
557
原创 LNMP搭建
参考地址:https://www.cnblogs.com/zhyunfe/p/6737124.html(重要)https://blog.csdn.net/vkingnew/article/details/81267223(mysql8) http://www.cnblogs.com/zengguowang/p/5499143.html http://www.cnblogs.com/fl...
2017-06-13 14:02:55
475
原创 php xhprof使用
PHP性能追踪及分析工具xhprof的安装与使用: http://www.cnblogs.com/maxincai/p/6001459.htmlPHP 性能分析第一篇: Xhprof & Xhgui 介绍: http://blog.oneapm.com/apm-tech/235.htmlPHP 性能分析第二篇: Xhgui In-Depth: http://bl
2017-05-27 15:59:52
294
转载 show processlist命令
processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令:1.进入MySQL/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。
2017-05-27 15:33:47
398
原创 pt-query-digest使用
参考地址: http://blog.csdn.net/seteor/article/details/240179131 工具简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输
2017-05-27 14:22:22
841
转载 深入理解PHP Opcode缓存原理
什么是opcode缓存?当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cac
2017-05-26 15:34:11
366
转载 rest设计参考
RESTful 介绍及设计思路Principles of good RESTful API Design(译:好 RESTful API 的设计原则 )简单易懂,条理清晰,推荐Best Practices for Designing a Pragmatic RESTful API(译:RESTful 最佳实践 译文2)有实际的案例 EnchantHTTP API
2017-05-25 11:19:31
602
原创 websocket和ajax轮询区别
首先是ajax轮询, ajax轮询的原理非常简单, 让浏览器每隔几秒发送一次请求场景再现:client: 啦啦啦, 有没有新的信息(Request)server: 没有(Request)client: 啦啦啦, 有没有新的信息(Request)server: 没有没有没有(Request)client: 啦啦啦, 有没有新的信息(Request)server: 没有没有
2017-05-24 09:43:57
2834
原创 HTML存储
HTML存储有 globalStorage, WebSqlDatabase,SessionDatabase(前三个分为简单存储),WebSql Database存储简单存储和cookie区别:web存储安全性较高, 在数据量上可以达到5M,而cookie最多也就4KB或者20个key/val对 //关闭浏览器重新打开cookie会丢失 document.coo
2017-05-24 09:41:41
271
转载 详解Mysql分布式事务XA(跨数据库事务)
原文地址: http://blog.csdn.net/soonfly/article/details/70677138在开发中,为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上)。在这种场景下,事务的提交会变得相对复杂,因为多个节点(库)的存在,可能存在部分节点提交失败的情况,即事务的ACID特性需要在各个不同的数据库实例中保证。
2017-05-24 09:33:22
1869
原创 TOP命令
top命令被用了查看系统健康状态 默认是靠CPU使用率排序, 谁用的高,谁拍最上 其中top命令最重要的三行是:第一行: load average0.00,0.00,0.00如果单核cpu当负载超过1时,意味cpu负载过高第三行(cpu): 100.0%id 显示cpu空闲率, 如果低于20%说明cpu负载过高
2017-05-22 13:13:06
481
原创 ps命令
ps命令是查看系统中所有进程[root@localhosttmp]# ps aux#查看系统中所有进程,使用BSD(Unix)操作格式-a: 查看所有前台进程-x: 查看所有后台进程-u: 显示这个进程是哪个用户产生的[root@localhosttmp]# ps –le#使用Linux标准格式
2017-05-22 13:05:43
309
原创 进程管理
1,进程简介进程是正在执行的一个程序或命令, 每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源2,进程的管理作用 判断服务器健康状态(top命令) 查看系统中所有进程(ps命令) 杀死进程在日常管理中, 如果cpu消耗大于80%就属于高负载运行, 这时可通过查看服务器进程来降低cpu. 如
2017-05-22 13:00:45
236
原创 cut命令-简单使用
cut命令cout[选项] 文件名选项: -f列号: 提取第几列 -d分隔符: 按照指定分隔符分割列例: 提取第2列Name列cut -f2 student.txt例:提取多列,第2和第3列(cut提取多列只要-f用逗号分开列数即可)cut -f2,3 student.txt
2017-05-22 11:28:17
353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人