前言

无论是对于国家,还是对于我们个人,2020年4月,是注定是一个不同往年的4月。一场突如起来的疫情打破了我们原来的生活曲线,让我们知道了什么是苦难,什么是团结,什么是坚持,什么是胜利。

一、大幕开启

随着国内疫情的缓解,中文版接口调试与文档管理工具ApiPost 的开发团队重新踏上了面向未来的征程。一群怀揣着梦想的年轻人,经过两百多天的勤能补拙,终于在4月11号晚发布了 ApiPost V3的第一个版本。

发布夜的前夕,我们每个人都很激动,看着ApiPost 的每一行代码,看着那熟悉的不能再熟悉的UI界面,就像看着一个我们亲手孕育并抚养长大的孩子。

就像所有的孩子父母一样,我们自信我们的孩子是世界上最漂亮的孩子。

二、困难重重

由于新旧版本架构差异天壤地别,难以实现新旧版共存的数据协作,我们不得不决定强制升级。

凌晨4:00,我们关闭了旧版接口服务,正式开启了新版接口服务,然后怀揣着天亮后用户对我们赞美的小期待就趴在办公桌上酣然入梦了。

但是,事情往往没你想象的那么好,相反它会比你想象的更糟糕。

由于预估不足,测试力度不够,9点后,随着用户开始使用软件,在社区、QQ、邮件,我们陆续收到了大量的负面反馈:

“原来有的功能怎么没有了?”

“我还是回归xxx吧”

……

说好的赞美呢,那一刻,我们承认我们都懵了,我们不知道该怎么办了。

“怎么会是这样?”

“我们只是想做一款中国人自己的接口管理软件,难道真的又这么难吗?”

此时,大家都陷入了无限的低谷,忘记了我们的梦想,只有沉默。

“快来看,有人说看好我们软件,还给我们加油呢!”

真的耶,此时我们一篇博文的评论里,一个用户的鼓励话语,把我们重新拽回了现实:

zb-suixinerle : “加油!都是为了更好的使用体验,你们是最棒的!”

天影祭司 : “加油”

Hu:“看得出团队用心了,付费以表支持!”

静静说我想她 :“ 看好apiPost,加油”

小春:“除了一些细节,这次升级总体来说很赞!”

1条,2条…… 越来越多的鼓励话语出现在我们面前,对的,还是有人支持我们的,我们不能放弃,这点挫折算得了什么呢?我们必须马上振作!

于是,我们又像打了鸡血一样、开始在社区、QQ、邮件等一切方式收集Bug、建立Bug列表、迅速确定修复方案。

三、万里长征

直到7天后的今天,我们发现并完成了一下Bug以及优化项的修复、优化、新增:

1、[修复]参数输入卡顿问题;

2、[修复]接口切换卡顿问题;

3、[修复]其他卡顿问题;

4、[新增]恢复【目录另存为】;

5、[新增]恢复【项目克隆】;

6、[新增]恢复【项目删除】;

7、[新增]恢复 请求参数导出raw-JSON;

8、[修复]优化接口/目录拖动;

9、[优化]响应文档的展示;

10、[修复]可能出现的“网络异常”问题;

11、[修复]query参数无法实时到URL的问题;

12、[修复]发送URL增加空余字符?的问题;

13、[修复]修复文档编辑器无法滚动的bug;

14、[修复]修复接口状态默认不变色的bug;

15、[优化]宽度缩放问题 ;

16、[优化]更新组件问题;

17、[修复]File上传无法多选的问题;

18、[修复]设置密码后文档无法开放的bug;

19、[新增]恢复超时时间设置;

20、[优化]自动创建接口的体验;

21、[优化]优化参数注释库的导入和显示;

22、[优化]参数描述重新导入不要替换问题;

23、[优化]参数类型是file时的参数保存问题;

24、[修复]无法删除测试流程;

25、[优化]File组件值的保留问题;

26、[优化]禁止GET发送body请求;

27、[修复]后执行脚本获取请求参数;

28、[修复]修复流程测试可能执行失败的bug;

29、[修复]check选择问题;

30、[优化]APIs左侧导航默认闭合所有目录;

31、其他细项。

当我们修复完这个列表里最后一个bug的时候,外面下起了小雨,我们走出屋外,摘掉口罩,用力的呼吸了一口夹带着春雨的空气。帮随着一声春雷,我们坚信ApiPost的未来就像这春天一样:

虽然一切才刚刚开始,但终将会鸟语花香。


目前ApiPost V3.1.3已经发布,如果您的版本低于此版本,强烈建议您更新安装。

下载地址:https://www.apipost.cn/download.html

番外:

1、这次更新我们已经修复并优化了的99%的用户反馈,如果您有更好的建议,可以在我们的社区留言反馈。您的建议终将会在以后的迭代版本中出现。

2、经过经历这次强制更新的痛,以后除非本拉登拿枪顶到我们脑门上,否则后续的迭代几乎不会再采用强制更新的方式。

福利:

3、无论是用户的批评,还是鼓励,都是我们前进的无限动力,为了感谢大家,我们来了一次免费升级/续期一个月的企业版本的活动,您可以通过以下链接了解详情并参与:

https://my.apipost.cn/free

虽然这样的举措会导致我们团队成本成本增加,但是为了亲爱的用户们,咬咬牙,我们多吃点吃泡面忍一忍也就过去了!

ApiPost V3创事记:一个痛并快乐着的创业故事的更多相关文章

  1. 记一个社交APP的开发过程——基础架构选型(转自一位大哥)

    记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...

  2. 说说ABP项目中的AutoMapper,Castle Windsor(痛并快乐着)

    这篇博客要说的东西跟ABP,AutoMapper和Castle Windsor都有关系,而且也是我在项目中遇到的问题,最终解决了,现在的感受就是“痛并快乐着”. 首先,这篇博客不是讲什么新的知识点,而 ...

  3. 彷徨中的成长-记一个文科生的IT成长过程

    纠结了许久,要不要写这篇文章,然而最终还是写了.就权当总结与呻吟吧..当然,呻吟最开始还是发在自己的站点的,忍不住手贱,还是想发博客园. 1 剧透 人算不如天算:时隔多年,我竟然搞起了前端. 2 发端 ...

  4. 开博第二篇:记一个利用JavaScript,编写PS脚本,开发图片量产工具

    背景:身在一个有实业的电商公司,设计部的妹子们总是会有做不完的商品图片,当然了,要是做点有技术含量的美化工作也罢,但是最近她们很是无聊,总是要做一些重复性的工作,就比如如题所说的,图片量产,量产什么呢 ...

  5. 记一个常见的ms sql server中取第N条记录的方法

    前言 好好学习,天天向上. 正文 好像也是一个不难的问题,刚视频里看到的,就记一下吧. 下面是表中原始的数据结构,做了一个倒叙排序: select * from Employee order by S ...

  6. 记一个多线程使用libevent的问题

    前段时间使用libevent网络库实现了一个游戏服务器引擎,在此记录下其中遇到的一个问题. 我在设计服务器上选择把逻辑和网络分线程,线程之间通信使用队列.但是这样做会有个问题: 当逻辑线程想要主动的发 ...

  7. 记一个mvn奇怪错误: Archive for required library: 'D:/mvn/repos/junit/junit/3.8.1/junit-3.8.1.jar' in project 'xxx' cannot be read or is not a valid ZIP file

    我的maven 项目有一个红色感叹号, 而且Problems 存在 errors : Description Resource Path Location Type Archive for requi ...

  8. 记一个简单的sql查询

    在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句 ...

  9. Entity Framework学习笔记——记一个错误解决方式及思路

    继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...

随机推荐

  1. 【python系统学习11】循环语句里的F4

    循环语句里的F4 深入了解下四个新语句,分别是:continue.break.pass.else以及他们搭配for.while循环等语句时,所产生的化学反应. else 由于continue.brea ...

  2. flask中的分页器

    paginate():  分页查询,返回一个分页对象 paginate(参数1, 参数2, 参数3) : 参数1:当前是第几页(page) 参数2:每页显示几条信息(per_page) 参数3:err ...

  3. linux部署win服务 dotnet mono jexus

    .Net Core (dotnet C#应用) dotnet 可以用在linux上运行 C#应用 适用于 SSO 统一身份认证系统 # 安装依赖 yum install libunwind yum i ...

  4. bootstrip CSS

    什么是网格(Grid)? 摘自维基百科: 在平面设计中,网格是一种由一系列用于组织内容的相交的直线(垂直的.水平的)组成的结构(通常是二维的).它广泛应用于打印设计中的设计布局和内容结构.在网页设计中 ...

  5. jQuery实现回车键抬起触发事件

    $(function(){ //回车键按下触发 $(document).keydown(function(event){ if(event.keyCode==13){ alert("niha ...

  6. PTA数据结构与算法题目集(中文) 7-38寻找大富翁 (25 分)

    PTA数据结构与算法题目集(中文)  7-38寻找大富翁 (25 分) 7-38 寻找大富翁 (25 分)   胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人.假 ...

  7. Golang入门(3):一天学完GO的进阶语法

    摘要 在上一篇文章中,我们聊了聊Golang中的一些基础的语法,如变量的定义.条件语句.循环语句等等.他们和其他语言很相似,我们只需要看一看它们之间的区别,就差不多可以掌握了,所以作者称它们为&quo ...

  8. 使用mpvue开发小程序如何定义全局变量

    我们创建好mpvue项目之后,找到src/main.js打开在后面添加一行代码 (注意:不能在const app = new Vue(App) 之前添加) Vue.prototype.globalDa ...

  9. NullPointerException的处理新方式,Java14真的太香了

    在Java语言中,处理空指针往往是一件很头疼的事情,一不小心,说不定就搞出个线上Bug,让你的绩效考核拿到3.25.最近新出的Java14,相信大家都有所耳闻,那么今天就来看看,面对NullPoint ...

  10. 30.1 HashSet存储自定义对象 未去重解决

    问题: package day30_HashSet; import java.util.HashSet; /* * 通过hashset存储自定义对象,没有进行去重. * * */ public cla ...