热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

推荐三款我常备开发辅助神器

五一假期过完了,大家都去哪些地方浪了?上班第一天是不是倍感无趣?哈哈,不要紧,今天我来给大家推荐几个神器,让你明天神清气爽,这可是程序员开发必备之良品呀。Api与Postman的不

五一假期过完了,大家都去哪些地方浪了?上班第一天是不是倍感无趣?哈哈,不要紧,今天我来给大家推荐几个神器,让你明天神清气爽,这可是程序员开发必备之良品呀。


Api 与 Postman 的不离不弃

自从有了前后端的分离概念,我就一致在寻找着这样一款工具,我需要把我的接口如何使用告诉前端人员,我需要自己方便的测试api有没有问题,我需要能够自动化完整的测试一下我的接口运行流程有没有问题。当然它还是不能替代代码级别的自动化测试。

期间试过 swagger ,说实话也不错,界面也很漂亮,这是以前写过关于 swagger ui 的一篇文章,感兴趣的可以看看。当我找到 Postman 之后,就果断放弃了 swagger ,为什么呢?

swagger 我是通过注解的方式来自动生成文档,所以就导致代码里边又很多文档注释,本来代码只需要10行,结果为了注释,整个文件变成了30行,看代码的时候给人一种很不清爽的感觉;
团队作战的时候,改动很频繁,因为文档内置在代码里边,更容易出现冲突的问题;注解的格式需要额外的学习成本。

反观 Postman 是一个独立的应用,提供团队协作(需要购买);通过google帐号登陆,在任何地方登陆后可以获取到同步的数据;支持所有的http请求方法;能够自动化测试api接口;配合 Postman Interceptor chrome 浏览器插件,方便 phpstrome 进行debug。

image

  • 大家注意看截图,postman 的 collections 功能,方便不同模块的分类;
  • 其中标记为1圈红的地方,可以添加api的详细说明,比如干什么的,字段含义;
  • 标记2的地方,保存了各种情况的返回结果,可以不需要网络就查看各种情况的返回数据;
  • 标记3的地方,可以配置各种环境变量,方便切换。

我这里配置了常用的:dev:开发环境,test:测试环境,prod:线上环境。

postman如果团队开发需要购买,才能方便的同步看到更新的信息。价格还挺贵,我们小公司没钱,我用了一个偷懒的办法:share link 方法。

同类的工具还有 atom,不过没怎么用过,大家可以比较下。

charles 在我眼前没有秘密

程序员喜欢把自己的东西加密加密再加密,而面对别人的东西,总喜欢能够看的一清二楚,然后从中学习一些经验。

比如通过观察别人的app请求流程,可以看一下返回什么样的数据?一些基本的参数有哪些?有些接口如何组织请求流程等。

要完成上面的任务, charles 真的是不二之选。

image

截图我是监控到的某电商的请求数据,左边部分显示的是请求接口,右边是响应的结果。

我就通过这款工具学习过如何对api进行版本维护,如何有效组织首页数据的返回(到底是一个接口搞定所有还是多个接口,前端多次调用?)

当然上面仅仅是它的一个作用。另外一个效果就是,自己的应用出了问题,可以方便的通过它看到请求的数据,以此来进行一些判断,修复bug。特别是强烈推荐测试人员使用,有很多bug是有前后的因果关系,需要看到数据开发人员更容易进行修正。

如果想要查看 https 请求的数据,需要安装ssl证书到设备上,大家到官网看一下就知道。

图片压缩,我用 tinypng

今天推荐的最后一个工具tinypng。我之前再博客也推荐过 google 新的图片压缩算法 guetzli,这个算法真的非常牛逼。但是目前没有好用的客户端,只有命令行。

关于它没有太多的说的,就是压缩图片嘛。支持批量,压缩比率高,效果强。就是好用,把它分享给你的ui妹子,她会对你喜笑颜开。

下载地址:https://github.com/kyleduo/TinyPNG4Mac

额外赠品

最后推荐一个集成第三方支付的开源项目:https://github.com/helei112g/payment

目前已经集成:支付宝支付、微信支付、招商一网通支付。如果你在开发中被各个第三方支付提供的demo搞得焦头烂额,我相信它能够帮助到你。


本文写作时间:3小时(这效率……我也是醉了!)

我是:何磊,主要分享技术、生活。公众号:icanfo。个人博客:https://helei112g.github.io/

image


推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
author-avatar
usx7054252
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有