Decorative image frame

RonyLee'Blog

一个程序员的自我修养

RonyLee'Blog

ElasticSearch 实现合并相似款商品

需求背景

商品列表页,有个合并相似款的筛选条件,何为相似款,商品同一档口,货号,价格,被称为相似款,原来已经有实现了合并功能,定时执行脚本,用mysql分组,查出合并后要显示的商品,设置缓存,es 构建的时候,读取缓存进行判断,存在设置合并字段为 1, 不存在设置为0,这样就可以为合并筛选提供查询条件,但是有个缺点,只能在全部商品中进行合并,不能根据条件进行筛选再合并,
偏偏产品经理就提出了要根据其它筛选条件进行合并的需求,这就意味着合并功能需要推翻重构,很麻烦,但天无绝人之路。

阅读全文...

Javascript 面向对象编程(一):封装

Javascript是一种基于对象(object-based)的语言,我们遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。

那么,如果我们要把”属性”(property)和”方法”(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢?

阅读全文...

何为JWT

什么是JWT

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

阅读全文...

Restful Api 的理解

  1. 什么是REST?

REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:”我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。
REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。

阅读全文...