自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zhangxi

做个实实在在的程序员

  • 博客(219)
  • 资源 (1)
  • 收藏
  • 关注

转载 How to use Repository with Doctrine as Service in Symfony

Dependency injection with autowiring is super easy since Symfony 3.3. Yet on my mentoring I still meet service locators. Mostly due to traditional registration of Doctrine repositories. The way out ...

2018-07-25 14:56:15 535

原创 laravel 入门 (安装)

1. 选中文件夹 -》右键 git bashcomposer create-project --prefer-dist laravel/laravel blog2.本地开发 使用php内置服务器php artisan serve3. 浏览器显示成功,表示安装成功

2018-06-21 22:13:32 426

原创 php常用的框架

1.thinkphp: 国人开发, 文档比较全,中文文档。  入门比较简单。 写法快。 2. laravel : 国外人写的, 入门门槛高。英语文档 ,社区比较活跃。 3. symfony: 国外人写的。 门槛比较高, 英语文档。4. yii: 国内人写的,门槛较低。5. ci 比较轻...

2018-06-21 21:46:14 1200

原创 laravel queue(event)使用

相对于队列的使用,步骤如下建 Event 文件建  Listener文件App\Providers\EventServiceProvider中添加定义protected $listen = [    'Illuminate\Database\Events\QueryExecuted' => [        'App\Listeners\QueryListener'    ],    'Ap...

2018-06-07 17:20:31 1352

原创 yii2.0高级版本框架搭建

1. 使用composer 将框架下载下来composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application(项目名称)2.打开控制台终端,执行init命令并选择dev为环境。/path/to/php-bin/php /path/to/yii-application/init3.配置数据库信息common/...

2018-06-07 12:07:39 2606

转载 Laravel 三种中间件作用讲解

昨天在开发过程中,需要使用到中间件的技术,之前都只是简单的认为要增加中间件就往middleware里添加中间件即可。本着周末的时间,就仔细研究了下 $middleware $middlewareGroup $routeMiddleware三个属性,到底是怎么样用的,通过查阅文档和网上资料,可算是搞明白了这三个属性是怎么用的和该怎么用。$middleware属性:这个属性称为全局中间件,为什么说是全...

2018-05-18 12:19:42 3163 1

转载 Innodb中的事务隔离级别和锁的关系

一.mysql事务是什么?事务可以理解成一次操作要不完成要不失败。原子性、一致性、隔离性、持久性前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁...

2018-05-17 15:28:50 204

原创 golang(echo)框架中如何读取配置文件

使用过php的laravel和symfony框架,里面的数据库配置已经其他不随环境而变化的东西,laravel放在了.env文件中,symfony中放在了parameters.yml当我写起golang的时候,选用echo框架,第一件事情就是想如何将这些东西提取出来。后来参考了别人github上面的golang项目,终于知道怎么处理了。建立json文件建立 structtype config ...

2018-05-17 15:13:53 1576

转载 从零开始搭建一个ELKB日志收集系统

当今的软件开发多核以及分布已经成为了常态,基本上稍大型的应用都是多台机器分布式部署。分布式在提高性能的同时也带来了很多问题,今天我们只讨论一点,那就是如何处理多台机器线上系统的日志。以我司的某个应用T为例,部署在了百度云5台机子上,其中一台拥有公网IP,使用了百度云提供的负载均衡服务。每次想要在日志中检索某个关键字时,基本步骤如下:打开五个shell,登陆拥有公网IP的那台机器在另外四个shell...

2018-04-28 11:29:29 840

原创 mongodb 最佳实践&

模式设计不要按照关系型来设计表结构MongoDB可以让你像关系型数据库一样设计表结构,但是它不支持外键,也不支持复杂的Join!如果你的程序发现有大量实用JOIN的地方,那你的设计可能需要重新来过。参照以下相关模式设计建议。数据库集合(collection)的数量不宜太多MongoDB的模式设计基于灵活丰富的JSON文档模式。在很多情况下,一个MongoDB应用的数

2017-07-25 14:32:47 802

原创 mysql导入导出sql文件

window下1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname users> dbname_users

2017-06-02 23:07:51 668

转载 非小型电子商务系统设计经验分享

前言做了两年多针对淘宝的电子商务数据线下数据系统,越到后面越觉得自己还没入门,不管技术上还是业务上,这篇文章既是对自己的积累的一次梳理,更想的是能在和各位朋友交流中,互相进步。ps:所有字段并不是正式项目所使用字段,请根据自己的业务需求进行酌情查看处理,类目属性,商品,订单结构可以参考淘宝API数据接口进行查看具体字段。商品模块设计商品模块是支撑整个架构的核心,如果

2017-05-15 10:37:16 593 2

转载 Node.js + Web Socket 打造即时聊天程序嗨聊

前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术。像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端。瞬间就有了一统天下的感觉,来往穿梭于前后端之间代码敲得飞起,从此由前端晋升为'前后端'。图片来自G+本文将使用Node.js加web socket协议打造一个网页即时聊天程序,取名为HiChat,中文翻过来就是'嗨

2017-05-14 22:03:41 620

翻译 rabbitMQ的交换机类型

1、默认交换机(default exchange)实际上是一个由消息代理预先声明好的没有名字(名字为空字符串)的直连交换机(direct exchange)。它有一个特殊的属性使得它对于简单应用特别有用处:那就是每个新建队列(queue)都会自动绑定到默认交换机上,绑定的路由键(routing key)名称与队列名称相同。2、Direct exchange(直连交换机),(Empty st

2017-05-11 17:02:04 838

转载 MySQL 加锁处理分析

MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场景

2017-05-09 18:49:05 293

转载 MySQL中的锁(表锁、行锁)

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

2017-05-09 17:09:55 326

翻译 MongoDB 中的关系

1 MongoDB 中的关系类型MongoDB 的关系表示多个文档之间在逻辑上的相互联系。MongoDB 中的关系可以是:(我们拿简单博客系统来举例说明)1: 1 (1对1);例如:某篇博客和某位用户的评论1: N (1对多);例如:某位用户和他的博客N: 1 (多对1);例如:某篇博客的全部评论和这篇博客N: N (多对多);例如:博客表和评论表这与关

2017-05-09 16:18:07 2301 1

转载 MongoDB 关系、引用、覆盖索引查询

一、关系  MongoDB 的关系表示多个文档之间在逻辑上的相互联系。文档间可以通过嵌入和引用来建立联系。MongoDB 中的关系可以是:1对1,1对多,多对1,多对多。一个用户可以用多个地址,这是典型的一对多关系。  user文档可以是:{  "_id":ObjectId("52ffc33cd85242f436000001"),  "name": "Tom

2017-05-09 15:58:46 1124

转载 MongoDB数据库设计中6条重要的经验法则3

这篇文章是系列的最后一篇。在第一篇文章里,我介绍了三种针对“一对多 ”关系建模的基础方案。在第二篇文章中,我介绍了对基础方案的扩展:双向关联和反范式化。反范式可以让你避免一些应用层级别的join,但是这也会让更新变的更复杂,开销更大。不过冗余那些读取频率远远大于更新频率的字段还是值得的。如果你还没有读过前两篇文章,欢迎一览。让我们回顾下这些方案你可以采取内嵌,或者建

2017-04-28 16:16:21 357

转载 MongoDB数据库设计中6条重要的经验法则2

在上一篇文章中我介绍了三种基本的设计方案:内嵌,子引用,父引用,同时说明了在选择方案时需要考虑的两个关键因素。一对多中的多是否需要一个单独的实体。这个关系中集合的规模是一对很少,很多,还是非常多。在掌握了以上基础技术后,我将会介绍更为高级的主题:双向关联和反范式化。双向关联如果你想让你的设计更酷,你可以让引用的“one”端和“many”端同时保存对方的引

2017-04-28 16:15:00 469

转载 MongoDB数据库设计中6条重要的经验法则1

“我有丰富的sql使用经验,但是我是个MongoDB的初学者。我应该如何在MongoDB中针对一对多关系进行建模?”这是我被问及最多的问题之一。我没法简单的给出答案,因为这有很多方案去实现。接下来我会教导你如何针对一对多进行建模。这个话题有很多内容需要讨论,我会用三个部分进行说明。在第一部分,我会讨论针对一对多关系建模的三种基础方案。在第二部分我将会覆盖更多高级内容,包括反范式化和

2017-04-28 16:13:26 394

转载 PHP利用魔术方法实现准AOP

在传统的OOP(面向对象编程:Object-Oriented Programming)思想里,一般把应用程序分解成若干个的对象,强调高内聚,弱耦合,从而提高应用程序的模块化程度,但是在处理某些问题的时候,OOP会显得不够灵活,比如说,应用程序里很多业务逻辑都要在操作之初进行“权限检查”,在操作之后进行“日志记录”,如果直接把处理这些操作的代码加入到每个模块中,那么无疑破坏了OOP的“单一职责”原则

2017-04-13 23:15:17 1592

原创 aop的原理

2017-04-13 00:05:01 294

转载 PHP Redis 限制API和各种接口 请求频率

//这个key记录该用户1的访问次数 $key = 'user:1:api_count';//限制次数为10 $limit = 10;$check = $redis->exists($key);if($check){$redis->incr($key);$count = $redis->get($key);if($count > 10){exit

2017-04-10 17:50:46 4408

转载 PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置

PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。Phpstrom的一款名为Magicento的插件对快速创建Magento插件十分有用。常用快捷键 设置快捷键:File -> Settings -> IDE Settings -> Keymap -> 选择

2017-04-08 14:29:43 555

原创 rabbitMQ-PHP

这是工作队列  /** * 推送消息到MQ队列 * @param $message //队列信息 * @param $exchange //交换机名 * @param $queue //队列名 * @param $kRoute //路由key */ public function publish($exchange, $que

2017-03-28 18:14:28 528

转载 rpc是什么?php中流行的rpc框架有哪些。

什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它

2017-03-28 12:09:13 1518

翻译 linux 下 apache启动、停止、重启命令

基本的操作方法:本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况apahce启动命令:推荐/usr/local/apache2/bin/apachectl start apaceh启动apache停止命令/usr/local/apache2/bin/apachectl stop   停止apache重新启动命令:/

2017-03-24 18:41:48 326

转载 php基于websocket实现的在线聊天室

本文实例讲述了php基于websocket实现的在线聊天室。分享给大家供大家参考。具体如下:1、前言公司游戏里面有个简单的聊天室,了解了之后才知道是node+websocket做的,想想php也来做个简单的聊天室。于是搜集各种资料看文档、找实例自己也写了个简单的聊天室。http连接分为短连接和长连接。短连接一般可以用ajax实现,长连接就是websocket。短连接实现起来比较

2017-03-24 14:44:24 7541 3

转载 简单理解Socket

TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模

2017-03-22 18:05:36 297

转载 php中filter函数验证邮箱、url和ip地址的实例

在看这函数之前我验证邮箱或IP地址及url都是使用正则表达式来处理,今天发现filter函数可以替换正则哦并且方法简单好用,下面我用实例介绍这函数的用法吧。早年使用php的时候还不知道有filter这玩意,那时候判断邮箱、url和ip地址格式是否符合都是用正则表达式。后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库filter来完成这些功能。1、验证邮箱先来看

2017-03-19 23:12:55 436

转载 为什么我们的 Angular 应用总是很慢

AngularJS 作为 Google 开源的 JS 前端框架最近一直很火。 在 html 中加上几个标签, 根据格式写几句 javascript 代码, 一个单页应用就总跑起来了。其方便的上手体验, 双向数据绑定等特性给了很多前端开发者很好的亲切感。 而然随着大家逐渐用 angular 开始开发稍大一点的项目,发现做出来的应用总是非常慢,这完全颠覆了 angular 上来时给我们描绘的美好画面。

2017-03-03 13:55:21 11350

翻译 PHP底层的运行机制与原理

PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。  PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。  了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能

2017-02-21 14:09:26 638

转载 如何使用强大的PHP函数对数组进行排序

这些天找工作,所以就看起了php用户手册,数组是必须要了解的,所以就贴出来一起学习学习。如果你已经使用了一段时间PHP的话,那么,你应该已经对它的数组比较熟悉了——这种数据结构允许你在单个变量中存储多个值,并且可以把它们作为一个集合进行操作。经常,开发人员发现在PHP中使用这种数据结构对值或者数组元素进行排序非常有用。PHP提供了一些适合多种数组的排序函数,这些函数允许你在数组内部

2017-02-21 12:05:56 474

原创 转义特殊字符 php

public static function filterString2($string){ $patterns = array(); $patterns[0] = '/!/'; $patterns[1] = '/@/'; $patterns[2] = '/#/'; $patterns[3] = '/$/'; $patterns[4] = '/%/'; $patterns

2017-02-16 12:04:55 1318

原创 使用PHP访问RabbitMQ消息队列

扩展安装PHP访问RabbitMQ实际使用的是AMQP协议,所以我们只要安装epel库中的php-pecl-amqp这个包即可rpm -ivh http://mirror.neu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install php-pecl-amqp交换建立

2017-01-20 15:49:33 2485

原创 微信小程序开发之网络请求(POST请求)

微信小程序开发中网络请求必不可少.GET.POST请求是最常用的.GET请求POST请求的时候有好几个坑.我已经为大家填好了.[javascript] view plain copy "http://img.blog.csdn.net/20161017170933243?watermark/2/text/aHR0cDovL2Jsb2c

2017-01-14 11:43:26 4162

原创 MongoDB学习(查询)

1.1 集合查询方法 find()db.collection.find()  查询集合中文档并返回结果为游标的文档集合。语法:db.collection.find(query, projection)参数      类型     描述 query     文档   可选. 使用查询操作符指定查询条件projection   文档   可选.使用投影操作符指定返回的

2017-01-04 22:53:30 358

转载 MongoDB中强大的统计框架Aggregation使用实例解析

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。这篇文章主要介绍了MongoDB中强大的统计框架Aggregation使用实例解析,文中举了Python和Java使用Aggregation的数据统计例子进行讲解,需要的朋友可以参考下听说项目里面Aggregation用的多,那就专门针对这个多多练习一

2016-12-29 16:31:11 3696 2

转载 [Elasticsearch] 聚合 - 时间数据处理(Looking at Time)

时间数据处理(Looking at Time)如果在ES中,搜索是最常见的行为,那么创建日期柱状图(Date Histogram)肯定是第二常见的。为什么要使用日期柱状图呢?想象在你的数据中有一个时间戳。数据是什么不重要-Apache日志事件,股票交易日期,棒球比赛时间-任何拥有时间戳的数据都能通过日期柱状图受益。当你有时间戳时,你经常会想创建基于时间的指标信息:

2016-12-23 17:57:00 1329

jquery学习书籍

想让自己学习jq更加轻松点,,那就提提速,很不错哦。整体感觉不错。

2015-05-28

空空如也

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

TA关注的人

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