Yezhiwei Blog

平时多流汗,战时少流血!

RESTful API 最佳实践

源文:http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html 背景 RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。 一、URL 设计 1.1 动词 ...

HTTP POST 四种常见的提交数据方式

背景 今天在与第三方联调接口的时候,发现一些问题:对 HTTP 协议的请求方法使用不合理(本来以为这些对工程师来说已经是常识了),协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,也可用来与第三方交互数据。 用 Content-Type : applicatio...

JMeter进行WebSocket压力测试

背景 之前两篇内容介绍了一下 WebSocket 和 SocketIO 的基础内容。之后用 Netty-SocketIO 开发了一个简单的服务端,支持服务端主动向客户端发送消息,同时也支持客户端请求,服务端响应方式。本文主要想了解一下服务端的性能怎么样,选择使用 JMeter 对 WebSocket 应用进行性能测试。 JMeter 扩展实现 WebSocket 支持 JMeter 是目前最...

Socket.IO

Socket.IO 是一个为实时应用提供跨平台实时通信的库。目标是使实时应用在每个浏览器和移动设备上成为可能,模糊不同的传输机制之间的差异。它使用了浏览器支持并采用的 HTML5 WebSocket 标准。以下内容为翻译官网 https://socket.io/docs/ 。 聊天应用程序 demo 地址 https://socket.io/demos/chat/ What Socket.I...

WebSocket 主动推送

背景 最近,公司在开发一款主动服务机器人,将产生的消息数据通过服务端推送到客户端(H5、iOS、Android);同时支持用户进行提问,通过 NLP 识别用户意图,然后找到答案并回答用户。本次仅记录在进行部署主动服务通信服务时遇到的问题。 服务器向 Web 页面推送消息的方式 非阻塞轮询(短轮询):客户端以固定的频率(比如10秒钟一次)向服务端发送请求,如果服务端没有数据响应,就直接响应一...

如何优雅的使用缓存

背景 在之前的文章中《你应该知道的缓存进化史》介绍了爱奇艺的缓存架构和缓存的进化历史。俗话说得好,工欲善其事,必先利其器,有了好的工具肯定得知道如何用好这些工具,本篇将介绍如何利用好缓存。 1.确认是否需要缓存 在使用缓存之前,需要确认你的项目是否真的需要缓存。使用缓存会引入的一定的技术复杂度,后文也将会一一介绍这些复杂度。一般来说从两个方面来个是否需要使用缓存: CPU 占用:如果你有某...

MySQL执行计划 Extra 中的vusing index 和 using where using index 的区别

原文地址:http://www.cnblogs.com/wy123/p/7366486.html 背景 MySQL 执行计划中的 Extra 列中表明了执行计划的每一步中的实现细节,其中跟索引有关的 Using index 在不同的情况下会出现 Using index, Using where Using index,Using index condition 等,那么 Using in...

MySQL执行计划 Extra 中的vusing index 和 using where using index 的区别

原文地址:http://www.cnblogs.com/wy123/p/7366486.html 背景 MySQL 执行计划中的 Extra 列中表明了执行计划的每一步中的实现细节,其中跟索引有关的 Using index 在不同的情况下会出现 Using index, Using where Using index,Using index condition 等,那么 Using in...

一个完整机器学习项目的实践流程

1 获取语料 已有语料:业务部门、公司积累大量的文本数据 网上下载、抓取语料:可以通过爬虫自己去抓取一些数据,然后进行加工。 2 语料预处理 语料预处理大概会占到整个50%-70%的工作量,通过数据洗清、分词、词性标注、去停用词四个大的方面来完成语料的预处理工作。 a.语料清洗:就是在语料中找到我们感兴趣的东西,把不感兴趣的视为噪音的内容清洗删除,如:对于爬取的网页内容,需要去除广告、标签、...

海量数据去重之SimHash算法简介和应用

使用SimHash进行海量文本去重

源文出处:https://www.cnblogs.com/maybe2030/p/5203186.html 在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(Locality Sensitive Hashing)),本文介绍的SimHash是...