摘要: 先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1、这里记录下 maven 的配置 <?xml version="1.0" encoding="UTF-8 阅读全文
posted @ 2018-09-09 16:51 liugx 阅读(8154) 评论(1) 推荐(0) 编辑
摘要: 先上一张效果图,然后再上代码(由于只做效果,未做数据相关的处理:实际处理数据时不修改 dom 元素,只是利用 dom 元素传递数据,然后需改数据,靠数据驱动效果) 主要关注点在于 event.target 和 event.currentTarget 的理解,一个是事件触发时点击的元素(如:span) 阅读全文
posted @ 2018-09-06 23:04 liugx 阅读(928) 评论(0) 推荐(0) 编辑
摘要: 先上一段代码,点击子元素时先触发的是父元素的 click 事件 点击蓝色代码时会先弹出 1,然后弹出2; 说明先父元素事件先触发,然后是子元素事件触发 看了文档后瞬间明朗了: 语法 element.addEventListener(event, function, useCapture) eleme 阅读全文
posted @ 2018-08-29 16:50 liugx 阅读(8503) 评论(0) 推荐(0) 编辑
摘要: 由于一个地图中有很多种类型的覆盖物,由于某个覆盖物(一般是自定义)整个地图中只允许出现一次 那第一想到的就是,每次创建这个类型的覆盖物时先清除这一类型的覆盖物,比较简单判断覆盖物的类型 instanceof ,部分代码如下(红色代码为重点 ): 附带一张GIF图解: *** 百度地图给出了根据lab 阅读全文
posted @ 2018-08-28 18:45 liugx 阅读(1571) 评论(0) 推荐(0) 编辑
摘要: 代码很整合很简单,主要记录操作思路,注意回调百度地图api的回调函数 @/utils/map.js 代码中使用(主要是覆盖物(自定义)的创建与清除) 示例图 最终可以做出点有意思的东西玩玩: 阅读全文
posted @ 2018-08-23 19:21 liugx 阅读(1465) 评论(0) 推荐(0) 编辑
摘要: 前后端分离同步开发时,如果前端需要等后端把接口都开发完了再去动工的话,项目周期会拉长。 以前开发时,一般前期是先把接口文档写的差不多了,要么是让前端自己构造模拟数据,要么是后端在开个控制器专门提供模拟数据,用起来都不是那么爽,直到接触了 wiremock ,既不用写代码,又能方便灵活的提供模拟数据。 阅读全文
posted @ 2018-08-15 18:39 liugx 阅读(1600) 评论(0) 推荐(0) 编辑
摘要: 访问 http://127.0.0.1:8080/api?method=taxiong.goods.list&params={"page":1,"pageSize":10} 出现了如下错误 网上找了下,大概是这样解释的: 这个问题是由于Tomcat的新版本中增加了一个新特性,就是严格按照 RFC 3 阅读全文
posted @ 2018-08-09 21:49 liugx 阅读(11045) 评论(0) 推荐(0) 编辑
摘要: 网关服务很多,比如:Zuul、Kong、spring cloud gateway ……, 这里不纠结哪种性能好,本次体验是用的 spring cloud gateway 更多网关比较可以了解这篇文章: 微服务网关哪家强?一文看懂Zuul, Nginx, Spring Cloud, Linkerd性能 阅读全文
posted @ 2018-08-05 18:25 liugx 阅读(17468) 评论(0) 推荐(0) 编辑
摘要: FeignOpenFeign Feign是一种声明式、模板化的HTTP客户端。 看了解释过后,可以理解为他是一种 客户端 配置实现的策略,它实现 服务间调用(FeignClient)、负载均衡(Ribbon)、容错/降级处理(Hystrix) 也很简单 1、引入依赖 <?xml version="1 阅读全文
posted @ 2018-08-05 17:55 liugx 阅读(13928) 评论(0) 推荐(1) 编辑
摘要: Spring Cloud Config : 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。 配置中心也区分为服务端和客户端,本次体验以实现配置中心为主,更多高级功能未实现(比如 动态刷新配置) 服务端推荐作为独立的服务 Sprin 阅读全文
posted @ 2018-08-05 16:54 liugx 阅读(4092) 评论(0) 推荐(0) 编辑
摘要: Eureka :云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 Eureka 可以大致理解为 房产中介 和 房东 的关系,房东想让租客租房子,首先要把房子登记在房产中介,当租客需要租房子的时候,中介就把租客带到房东的房子里。 Eureka 分为 服务端( 阅读全文
posted @ 2018-08-05 00:12 liugx 阅读(796) 评论(0) 推荐(0) 编辑
摘要: 读了NGINX的access日志,bnb_manage_access.log(31M) 和 bnb_wechat_access.log(50M) 附上代码: 阅读全文
posted @ 2018-08-03 16:51 liugx 阅读(1120) 评论(0) 推荐(0) 编辑
摘要: 体验了一天 SpringCloud 后发现,人们所讲的微服务架构不是一门技术,而是一种风格。 感觉确实可以这么认同,因为一套 SpringCloud 玩下来(未深入、未完整「链路追踪、动态刷新配置……等等还待后续体验」),发现全部是安装各种服务,大有以前玩lamp时的感觉,一会儿装PHP,一会儿装A 阅读全文
posted @ 2018-08-02 17:37 liugx 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 主要记录一下控制器的测试,service这些类测试相对简单些(可测试性强) API测试需求比较简单: ① 需要返回正确的http状态码 200 ② 需要返回json数据,并且不能返回未经捕获的系统异常 测试不通过例子 此测试类的部分代码 测试通过例子: 当然,如果要返回码为正确的代码时才能测试通过可 阅读全文
posted @ 2018-07-31 13:45 liugx 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 1、修改 router/index.js 添加一行 2、然后修改 config/index.js 增加一行 然后修改 下面两处 assetsPublicPath 的值为定义的变量 3、部署时,通过NGINX的反向代理 首先,给需要部署的项目定义一个 NGINX 的 server 再到配置域名的主配置 阅读全文
posted @ 2018-07-19 15:39 liugx 阅读(33484) 评论(1) 推荐(3) 编辑
摘要: 看PHP 设计模式 原型模式(Prototype)时,衍生出一个扩展问题之 原型拷贝的浅拷贝和深拷贝问题(不管写Java还是写PHP还是写JS时都多多少少遇到过对象拷贝问题) 比如写前端页面时,我有一个form表单的数据对象,假如这个对象既拿来做表单数据的展示,又会在保存时发送给后端,有一个时间字段 阅读全文
posted @ 2018-07-05 13:28 liugx 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1、 如何安装PHPunit,这里不展述(如需打断点debug测试,安装PHP的xdebug扩展方法也不展开说了 https://xdebug.org/) 2、如何进行配置 以 PHP设计模式的代码为例 https://github.com/domnikl/DesignPatternsPHP.git 阅读全文
posted @ 2018-07-04 19:18 liugx 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 一个经常遇到到的场景,就是查询列表数据,列表数据由多张表构成 最简单的查询方法是先写一个查询单条数据的方法,比如这个方法中要查询十张表; 然后一个循环调用查单条的方法,这种逻辑上理解是比较简单的(因为这样不会有比较复杂SQL语句,也不用连表查询,很少会产生慢查询) 但是这里面会产生较多的SQL语句查 阅读全文
posted @ 2018-07-03 17:08 liugx 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 1、通过命令新建一个vue项目 2、由于我用的是sass样式,所以安装sass依赖 3、配置雪碧图功能 4、使用方法如下(直接使用 sprite.scss 中的 @mixin方法): 效果如下 阅读全文
posted @ 2018-06-26 14:41 liugx 阅读(4372) 评论(1) 推荐(0) 编辑
摘要: 得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: 阅读全文
posted @ 2018-06-21 12:02 liugx 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 最近做一个新需求,用户发布了动态,前台需要查询,为了用户读取信息响应速度更快(MySQL很难实现或者说实现起来很慢),所以在用户动态发布成功后,利用消息机制异步构建 redis缓存 和 elasticsearch索引 。 开发环境 rabbitMQ服务端,docker安装 消息生产端(PHP): 应 阅读全文
posted @ 2018-06-18 20:52 liugx 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 利用redis的单线程特性 setnx (SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。 getset 自动将key对应到value并且返回原来key对应的value。如果key存在但是对应的value不是字符串,就返回错误。 redis控制秒杀逻辑 阅读全文
posted @ 2018-06-07 17:28 liugx 阅读(1063) 评论(0) 推荐(0) 编辑
摘要: 引言 古人云:“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。 如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考 阅读全文
posted @ 2018-05-30 18:02 liugx 阅读(633) 评论(1) 推荐(0) 编辑
摘要: 本文转自:http://www.cnblogs.com/dongcanliang/p/7054176.html 为了以后更方便的查看,便做了转载 前言 this 指向问题是入坑前端必须了解知识点,现在迎来了ES6时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,遂有此文 在非箭头函 阅读全文
posted @ 2018-05-29 17:58 liugx 阅读(264) 评论(0) 推荐(0) 编辑