腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一) 在看Accept阶段代码之前, 我们再回想一下 Basic Paxos算法; 1.  Basic Paxos 算法是为了使集群中的Acceptor们达成一个最终的值, 或者不能达成一个最终的值; 就是说, 要么达成一个最终的值, 某个时间点上, 多数派节点都是一个一致的值, 这个值就是最终的值; 否则, 没有多数派在某个时间点达成一个一致的值, 这个值不断被新的提议(Proposal)刷新, 无法达成最终值; 这种…
简单的画了一下PhxPaxos在Prepare阶段的逻辑,主要是正常的逻辑,异常逻辑和超时后面再写了; 熟悉PhxPaxos代码最好的方法是编译运行sample目录下的三个例子,编译方法在另一篇博客已经写了,这里忽略; 一: Proposor在Prepare阶段发送Prepare请求的代码: 二: Acceptor在Prepare阶段接收Prepare请求的代码: 三: Proposor在Prepare阶段接收Acceptor响应的代码:…
一直忙着写毕设,上一次写博客还是元旦,大半年过去了.... 后面会不断分享各种新项目的源码与技术.欢迎关注一起学习哈! 记录一次部署微信小程序Node.js后端接口代码的详细过程,使用宝塔来部署. 我们先来看一张图片 这是采用前后端分离的开发模式来开发微信小程序,跟云开发有区别.云开发没有"后端应用"这一块.我们这篇文章就是讲解怎么部署"后端应用"这一块的接口代码. @ 目录 材料准备 买轻量应用服务器(不能乱买) 备案域名 部署过程 登录宝塔管理界面 安装PM2…
1 概述 本篇文章以Spring Boot为基础,从以下三个方向讲述了如何设计一个优秀的后端接口体系: 参数校验:涉及Hibernate Validator的各种注解,快速失败模式,分组,组序列以及自定义注解/Validator 异常处理:涉及ControllerAdvice/@RestControllerAdvice以及@ExceptionHandler 数据响应:涉及如何设计一个响应体以及如何包装响应体 有了一个优秀的后端接口体系,不仅有了规范,同时扩展新的接口也很容易,本文演示了如何从零一…
做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下: 这标题,描述以及图片是默认自带的,丑不说,分享给别人还以为是盗号网站呢,而接入微信的JSSDK后,分享可以自定义内容,如下: 我承认,虽然这分享的标题和内容也并不正经,但这不妨碍我表达我们可以通过微信JSSDK定义分享内容,接下来我们将一步一步从零实现JSSDK从后端Node.js的接入. 成为测试公众号开发者 登录测试公众号后台 首先我们需要在微信公众平台申请测试接口,地址:https://mp…
数据产生价值的一个最突出的领域-金融领域,股票.证券.上市公司财务报表等,多少人在其中发掘出宝贵的数据价值.今天Excel催化剂联合Tushare金融大数据平台,让这一切的数据都能成为你我普通人零代码即可获取,还有更激动地零费用可以获取! 金融大数据介绍 数据无处不在,但一般人却很难于有机会.有能力顺利驾驭使用,很荣幸地认识到Tushare这个平台,Tushare与Excel催化剂有一样的使命感,让数据更容易服务大众,并且保持开放的,免费的平台,不带任何商业性质和目的,非常难得. 在技术越发垂直…
以项目驱动学习,以实践检验真知 前言 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等).请求数据(request).响应数据(response).如何构建这几个部分每个公司要求都不同,没有什么"一定是最好的"标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范! 本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松. 在文章末尾贴上了项…
应用场景 在前面文章中,已经介绍了crudapi主要功能和使用方式,本文主要介绍crudapi应用场景以及具体的使用方式. 概要 crudapi属于产品级的零代码平台,无需编程,通过配置自动生成crud增删改查RESTful API接口.基于主流的开源框架,拥有自主知识产权,支持二次开发. 表单对应不同的对象 表关系图显示不同对象之间的关系 业务数据操作 目标 利用crudapi可以提高效率和节约成本,避免重复劳动,让数据处理变得更简单. 解决的问题 在软件开发中,通常会处理很多对象,这些对象之…
导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景       像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ,以及设置URL反回来的值和 select 的text ,和value 的对应关系 ,这有2个问题:一使用者必须知道URL ,二,如果页面有10个下拉表表,要请求后台10次,肯定影响性能,而我想要的是使用者只要申明用哪个数据字典就行了,其他根本不用操心,另外加上在做itest开测试测试管理项目的时候…
在上节,我们讲了如何搭建express环境,现在我们说说如何通过node.js写服务接口给前端调用 1. 首先通过MongoDB建好数据库与表格 例如,我的数据库名字为db_demo,数据库表格为goods 表goods中的数据结构如下: 'productId': {type: String}, // 商品id 'productName': String, // 商品名称 'salePrice': Number, // 商品价格 'productImage': String // 商品图片 mo…