前言

今天中午收到我司安全部发了一封邮件:Jackson存在安全漏洞。查了一下,这件事并不算很新鲜了(已经过了5天的样子),本文来聊聊吧。

说起来还蛮戏剧化:阿里云向Jackson官方提交了一个Jackson序列化安全漏洞。众所周知,在国内关于JSON库使用有两大主要阵营:国际著名的Jackson库国内阿里巴巴出品的Fastjson

同样的功能定位,不存在竞争想想也觉得不可能嘛。所以当我看到这个漏洞竟是阿里云上报的,就觉得这关系还蛮微妙呢,默默的腹黑了3秒钟,哈哈。

附:FasterXML/jackson-databind是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。

1. 前言

大家都知道,Postman是一个非常受欢迎的API接口调试工具,提供有Chrome扩展插件版和独立的APP,不过它的很多高级功能都需要付费才能使用。

如果你连Postman都还没有用过,不妨可以先体验一番。

Postman官网:

https://www.getpostman.com/

PS: 由于2018年初Chrome停止对Chrome应用程序的支持,你的P****ostman插件可能无法正常使用了,在这里建议大家直接下载它的应用程序进行使用。

虽然Postman作为一款接口调试工具,算是非常优秀的了,但一说到使用高级功能要付费就有人坐不住了,决定自己造个轮子免费给大家使用,造福不愿付费的人群。

于是,**Postwoman就诞生了!  **它的作者是一位叫 Liyas Thomas 的家伙。看名字就知道是冲着Postman来的,你敢收费,我就敢免费开源。(参与贡献者还是很多的)

2. Postwoman介绍

简单来说,Postwoman是一个Postman的免费、快速且美观的替代方案,它的设计初衷是为了帮助开发人员更快地创建请求,节省宝贵的开发时间,提升工作效率。并且Postwoman是开源产品,界面美观,更容易使用!

PS: 下述两张图,是在Postwoman官网截取的两张图。

使用操作和Postman基本一致,如果你从Postman迁移过来,基本上没有什么学习成本。

GitHub项目官网:

https://github.com/liyasthomas/postwoman

3. 相关特性

Postwoman是基于NodeJs编写的,主要特点除了可以支持主流的Restful接口调试之外,还支持 GraphQL和 WebSocket。

作为一款开源的 Postman 替代品,主打特性有如下一些:

  • 轻盈,可直接在线访问;

  • 简约,采用简约的 UI 设计精心打造;

  • 支持 GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH 方法;

  • 支持验证;

  • 实时,发送请求即可获取响应。

除了这些,还可自定义背景,前景色和强调色组合。

1、自定义选项:

  • 选择主题:Kinda Dark(默认),Clearly White,Just Black和System主题

  • 选择强调颜色:绿色(默认),黄色,粉红色,红色,紫色,橙色,青色和蓝色

2、PWA:

可以通过PWA的方式安装。

PS: PWA全称Progressive Web App,即渐进式WEB应用。

特性:

  • 与Service Workers同时加载

  • 离线支持

  • 低RAM /内存和CPU使用率

  • 添加到主屏幕(页脚中的按钮)

  • 桌面PWA支持(页脚中的按钮)

3、WebSocket:

通过单个TCP连接建立全双工通信通道。发送和接收数据

4、GraphQL

GraphQL是API的查询语言。

除以上以外还具备其他特性就不一一介绍了,读者使用后一试便知。

4. 定制开发

相比于其作为Postman的替代方案,笔者其实更在乎它的实现方式,Postwoman是一个基于Vue构建的Web项目,且可以构建成PWA应用,下述提供三种本地开发运行方式。

方式一:npm本地构建运行:

git clone https://github.com/liyasthomas/postwoman.git

PS: 官网是直接建议npm install,但笔者在尝试时,发现npm installcnpm install安装时,会出现依赖的cypress安装失败的问题,如果读者也出现此问题,可以先单独安装cypress.

方式二:docker-compose (需要本地先安装docerk-compose):

git clone https://github.com/liyasthomas/postwoman.git

方式三:docker (需要本地先安装docker环境):

#pull

三种方式,任意一种,本地运行成功后,打开浏览器,访问http://localhost:3000  即可。以方式一为例,通过npm run dev本地运行,如下图所示。

本地服务启动后,可根据自己的定制开发需求,进行修改,如果你熟悉Vue的话,接下来就可以随意玩耍了,例如此处,笔者将Postwoman标题修改了一下。

5. 总结

单从本文介绍可能并不能体验到这样一个颜值颇高的API客户端,如果你觉得Postman不够好用或者确实是想要一个好看的界面,那么Postwoman将是你最佳的选择!

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)

资料领取方式:点击这里免费获取

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

资料领取方式:点击这里免费获取

[外链图片转存中…(img-jZbbM30V-1624684679058)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

MySQL优化原理分析及优化方案总结相关推荐

  1. java进阶Kafka集群实战之原理分析及优化教程全在这里

    我不去想是否能够成功 既然选择了Java 便只顾风雨兼程 我不去想能否征服Kafka集群 既然钟情于Java 就勇敢地追随千锋 我不去想Kafka集群有多么晦涩难懂 既然目标是远方 留给世界的只能是努 ...

  2. Mysql索引原理剖析与优化策略

    Mysql索引原理剖析与优化策略 1.索引的本质  在⽣产环境中,随着数据量不断的增⻓,SQL执⾏速度会越来越慢,常⻅的⼿段就是通过索引来提升查询速度,那么究竟为什么要添加索引?应该如何正确添加索引? ...

  3. 【性能优化】MySQL 数据库连接原理和性能优化 - 学习/实践

    1.应用场景 学习MySQL数据库连接原理和性能优化, 开发高性能程序. 2.学习/操作 1. 文档阅读 MySQL 数据库连接原理和性能优化 - 高性能 MySQL 实战 | Laravel 学院 ...

  4. MySQL事务原理分析(ACID特性、隔离级别、锁、MVCC、并发读异常、并发死锁以及如何避免死锁)

    MySQL事务原理分析(ACID特性.隔离级别.锁.MVCC.并发读异常.并发死锁以及如何避免死锁) 一.事务 目的 组成 特征 事务空间语句 二.ACID特性 原子性(A) 隔离性(I) 持久性(d ...

  5. Linux服务器开发【有用知识】—MySQL事务原理分析

    前言 今天的目标是学习MySQL事务原理分析,但是却似乎总是非常不顺利,概念和实操实在多到令人发指,故干脆轻松学完一节课,等到时机到了再重新刷一遍吧! 一.事务是什么? 将数据库从一致性状态转化成另一 ...

  6. WIFI快连(一键配网)原理分析及优化建议

    一键配网说明 文章目录 一键配网说明 一键配网基本流程 说明 配网流程 EZ配网原理 组播 广播 EZ配网优缺点及优化建议 优点 缺点 优化建议 一键配网基本流程 说明 wifi快连也叫一键配网,也叫 ...

  7. [数据库]MySQL索引原理和深度优化

    一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如 ...

  8. mysql数据库原理分析

    一提到关系型数据库,我禁不住想:有些东西被忽视了.关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata .但很少有文章讲解数据库是如何工作的.你可以自己谷歌/百度 ...

  9. 音频变速播放原理分析及实现方案

    [时间:2019-05] [状态:Open] [关键词:音频,audio,倍速,变速,变调,soundtouch,sonic] 音频变调变速原理分析 先来一段语音处理的理论: 变速变调可分为:变速不变 ...

最新文章

  1. linux清屏命令_linux下的7个常用命令的基本使用
  2. BZOJ5323 洛谷4562:[JXOI2018]游戏——题解
  3. numpy列相加_Python数据分析入门:NumPy基础:数组与向量化计算
  4. 通过单步调试理解Angular里routerLink指令实际url的生成逻辑
  5. 中国.NET:东莞+长沙.NET俱乐部现场花絮及合肥、苏州、上海等地活动预
  6. LINQ语句的两种语法实现方式
  7. 怎样用C语言实现五子棋,C语言实现五子棋
  8. python traceback most recent_pyspider启动错误: Traceback (most recent call last):
  9. java安卓如何实现定义接口
  10. 2012禁用ip隧道 win_IMCP协议的魅力——IMCP隧道
  11. erlang web服务器性能,100万并发连接服务器笔记之Erlang完成1M并发连接目标
  12. 读周爱民《javascript语言精髓与编程实践》有感
  13. php ascii过滤,php过滤ascii控制字符
  14. 使用gdal的ogr创建shapefile文件(c++)
  15. 计算机数据采集处理系统使用方法,数据采集与处理系统的要求
  16. 记 · 青春日记 · 那种心跳的感觉
  17. Java字符串转换成字符数组
  18. 【antd】报错:ResizeObserver loop limit exceeded
  19. 计算车费的C语言程序,C语言1_2:计算书费
  20. 如何更好的优化自己的网站

热门文章

  1. String类的构造与析构相关处理
  2. python利用opencv去除图片logo_利用python和opencv批量去掉图片黑边
  3. 无线路由器在手机上如何连接服务器,192.168.10.1路由器手机怎么设置? | 192路由网...
  4. java crud事件回调_java回调机制 - 神是到着念的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. react 判断图片是否加载完成_React中型项目的优化实践
  6. oracle通信通道的文件结尾_ORA-03113:通信通道的文件结尾解决
  7. 条件转移指令和无条件转移指令练习
  8. error: expected unqualified-id before 'public'
  9. py脚本:linux系统下定时清理文件
  10. js \n直接显示字符串_显示N个字符的最短时间