API接口设计规范

概述 这篇文章分享 API 接口设计规范,目的是提供给研发人员做参考。 规范是死的,人是活的 路由命名规范 参考RESTful设计规范:RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 版本号 版本号通常使用v1,v2表示。在代码中表现通常以模块形式存在。 例如模块目录:api/modules/v1 URL设计 RESTful的核心思想就是,客户端发出的数据...

继续阅读 »

驾校考试科目4易错点整理

科目一 假1吊2撤3醉5逃终身 驾驶拼装报废车。罚款200-2000并吊销执照,收缴车辆强制报废 超速50%,罚款200-2000并吊销执照 两证两标一牌:机动车上路行驶携带,驾驶证、行驶证、检验合格标志、保险标志、车牌 特殊天气,同向行驶,近距离不能使用远光灯 夜间通过无指示灯的路口时,使用交替灯光提醒其他车辆,但有行人时,使用进光灯 无中心线城3公4,有中心线城5公7。记忆的时候记住3...

继续阅读 »

简单并行开发流程

开发流程的用途 公司经常有萌新来实习,为了尽快让其了解功能开发的整个流程,于是做了这个图,方便大家理解开发的整个流程,哪个阶段有哪些人参与,或者同一时间哪些事情可以并行完成 详细流程

继续阅读 »

APP端扫一扫技术文档

CPSAPP端扫码相关知识 CPSAPP二维码内容专属字符串 二维码内容字符串由两部分组成路由|随机token 例如:login|ET822N04S41EFWRH。当然这里如果结构很复杂,推荐使用json 路由 路由是一个字符串,二维码字符串|前部分的字符串login,路由字符串决定了处理类。例如login指定了扫码登录相关的处理类。 随机token 16位随机字符串,大写。例如:ET822...

继续阅读 »

内部MySql使用规范

数据库环境 prod:线上环境,只允许管理员操作且要做操作记录方便回滚。 dev:开发环境,开发可读写,可修改表结构。且使用版本控制系统记录sql操作记录,方便上线时统一修改数据库。 命名规范 基本命名规则 使用有意义的英文词汇,词汇中间以下划线分隔,避免使用保留字 只能使用英文字母,数字,下划线,并以英文字母开头 库、表、字段全部采用小写,不要使用驼峰式命名 数据库、表,一律使用前缀...

继续阅读 »

微服务架构与RPC框架讲解

服务端架构的演变 微服务定义 维基上对其定义为:一种软件开发技术 - 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。 后端架构演变 单体架构 业务初期用户...

继续阅读 »

摇一摇事件 DeviceOrientation 和 DeviceMotion

起因 在做大屏幕项目时,与用户互动部分包括摇一摇功能,但发现页面中摇一摇在手机上无效,怎么调试都不管用。查了半天资料才清楚其原因,于是记录下来。 设备方向和运动监听 html 5 提供了一些方法在移动端获得设备方向及运动(因为他是依赖传感器硬件的,pc没有也不存在抱着台式机跑来跑去场景)。传感器包括陀螺仪、加速器和磁力仪(罗盘)。 DeviceMotionEvent 事件 在设备发生摆动、运...

继续阅读 »

Elasticsearch教程 — Document APIs

Elasticsearch文档的操作可以理解成MySQL中的增删改查操作。 单个文档操作 # 索引中添加数据,如果目标索引的文档已存在,则更新文档并增加版本。当不指定id时为创建文档。 PUT /<target>/_doc/<_id> POST /<target>/_doc/ PUT /<target>/_create/<_id>...

继续阅读 »

feed流系统的设计

什么是feed流系统 feed是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。 有哪些明显的feed流的: 最早的 RSS(简易信息聚合),可以将其他多个网站的内容聚合到一起统一阅读。 好友动态(微博、朋友圈) feed变种(私信、通知、群聊) 个性化推荐(抖音、头条) 个人首页的历史消息 APP上消息红点数量或显示最后一条消息 feed流系统特...

继续阅读 »

Elasticsearch教程 — Query DSL

查询语句核心语法部分 查询注意事项 text类型的查询都是基于分词后的词条查询的,例如"abcd"分词后"ab,cd"如果term查询"bc"就查不到。 query(查询)和filter(过滤)的区别 查询语句可同时存在query和filter。 query的查询字段会进行相关性_score的计算,而filter仅仅用来筛选。 Elasticsearch会自动缓存常用的过滤器,以提高性...

继续阅读 »

Elasticsearch教程 — Search APIs

搜索 API 用于搜索和聚合存储在 Elasticsearch 索引和数据流中的数据。时ES的核心语法之一。 核心搜索 # 搜索 # <target>(可选,字符串)要搜索的数据流、索引和别名的逗号分隔列表。支持通配符(*)。要搜索所有数据流和索引,请省略此参数或使用*或_all。 # 查询参数、查询正文参数很多,参考文档 # https://www.elastic.co/gui...

继续阅读 »

分布式ID生成器

需求背景 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求。此时一个能够生成全局唯一ID的系统是非常必要的。 特点 全局唯一,不能出现重复。 高性能,分布式系统中通常每秒会有很多数据产生。 单调递增,保证下一个ID一定大于上一个ID,这样可以保证某些索引快速建立。例如B-tre...

继续阅读 »

基础数据平台建设的构想

企业发展到一定阶段后多数企业的现状 初创公司的核心是做好产品服务好用户,当企业发展到一定阶段,业务开始多元化,通常的做法是将子业务分离到子公司/部门完成,随着子公司/部门越多,产生的数据以及复杂度也会大幅度增加。我们会发现个部门与子公司间的协作会越发的困难,数据逐渐专有化,达不到最佳利用。这时候我们就需要考虑建设基础数据平台了 各种概念的理解 数据库: 数据仓库: 数据中台: 元数据:描述...

继续阅读 »

Elasticsearch教程 — Index APIs

类比MySQL,其主要操作是对表的增删改查,对于ES那么就是对索引的操作(index APIs)以及搜索(Search APIs)。搞清楚这两个知识点基本使用ES就没多大的问题了。当然这两个知识点只是ES的小部分功能,但是最重要。我们就从这两方面开始学起。 索引管理 约定: 指的是:索引名/数据流名/别名。 指的是:索引名 # 创建索引 PUT /<索引名> { # 索...

继续阅读 »

Elasticsearch教程 — 基本概念

Elasticsearch是什么 Elasticsearch是Elastic推出的基于Lucene的分布式、可扩展、高实时的搜索与数据分析引擎。 英文文档,基于7.15版本:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html Elasticsearch特点 详细特点参考官网:https://w...

继续阅读 »

WHEA UNCORRECTABLE ERROR蓝屏错误

WHEA UNCORRECTABLE ERROR 解释 WHEA(Windows硬件错误体系结构)(英文:Windows Hardware Error Architecture) UNCORRECTABLE(不能修复的) 完整解释:无法自动修复的硬件故障 错误原因分析 首先,想一下最近硬件有什么改动,驱动改动,或者软件改动; 是否运行特定软件才导致其错误; 重新拔插一下 内存条、硬盘,可能...

继续阅读 »

阿里云访问控制中的RAM用户与角色管理相关概念理解

阿里云的访问控制系统中关于“RAM用户与角色” 官方文档:阿里云“访问控制”官方文档 起因 以前在做阿里云授权时,用过RAM授权,但是当时比较仓促,未理解其各个操作的含义,虽然操作没问题,但是不知其所以然(操作半天,授权这个授权那个的,晕晕乎乎的)。导致这些天再次操作时还是比较迷糊~ 今天就专门抽点时间梳理一下基本概念与操作的含义。 访问控制 访问控制(RAM)是阿里云提供的管理用户身...

继续阅读 »

go实现的压测工具

网站 项目网站:https://github.com/wenxuwan/go-stress-testing 示例 ─────┬───────┬───────┬───────┬────────┬────────┬────────┬────────┬──────── 耗时│ 并发数 │ 成功数│ 失败数 │ qps │最长耗时 │最短耗时│平均耗时 │ 错误码 ─────┼────...

继续阅读 »