自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

测试架构师养成记的博客

让你又吃成长快乐了呀~

原创 3分钟带你明白HTTP(上)

说到HTTP,相信无论是开发还是测试都不会陌生,我们的日常工作中基本上都会跟它打交道。但是关于HTTP全部的知识点,你真的了解吗?这篇就来让我们好好了解一下HTTP吧。 HTTP协议简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网...

2019-10-28 22:09:03 70 0

原创 大话Token、Cookie和Session

众所周知,http协议是无状态的协议,服务器不能清楚判定发送方的身份,但在类似网络购物等交互式应用场景中,服务器又需要能够真实的区分发送请求的用户身份,否则把张三购买的物品发送给了李四,对于张三来说,肯定是零容忍。 那这一切又是如何做到的呢?这就不得不提一下cookie、session和token...

2019-10-25 22:32:55 104 0

原创 不一样的接口测试之功能

近期一个刚入行的测试朋友希望我可以写一篇关于接口测试的文章,作为接口测试入门的参考。那作为每个测试都必须会的接口测试,是不是就是很简单呢?其实不是,我们的接口测试其实也有很多你不知道的点。本系列文章就带你系统的了解一下接口测试吧。 接口的定义 接口主要指外部系统与内部系统之间以及内部各个子系统之间...

2019-10-14 21:06:14 131 0

原创 绕不开的TCP之超时重传

前文介绍了TCP建立连接和断开连接的方式。那在连接建立之后,TCP如何保证数据的可靠传输的呢?毕竟现实的网络环境是这样的复杂,出错、超时和丢包的种种问题时有发生,背后的秘密在哪里呢?跟随我们的文章,一起探究一下吧。 TCP重传机制 TCP协议是一种面向连接的可靠的传输层协议,它保证数据可靠传输的基...

2019-10-10 21:07:32 60 0

原创 绕不开的TCP之三次握手

在面试过程中,无论是开发还是测试岗位,TCP都是一个绕不开的话题,而谈到TCP,大概率三次握手也会被提及,那应该如何回答这个问题呢?在回答这个问题之前,让我们先预热一波吧。 TCP的定义 TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制,它是一种面向连接的、可靠的、基...

2019-10-09 20:09:05 55 0

原创 ThreadPoolExecutor详解

近期一位测试朋友参加了天猫的面试后,感慨大厂视角与二线互联网公司的差异,对候选人的要求不仅仅局限在测试方面,同时在架构及开发方面也进行了全面的摸底,其中重点提到了线程池中的核心类ThreadPoolExecutor,今天让我们从源码出发,来一起学习一下吧。 ThreadPoolExecutor构造...

2019-10-06 22:17:02 155 0

原创 测试作战能力level-up

众所周知,头部互联网公司测试团队已经逐渐由人海战术过渡到精干单体作战阶段,测试人员与开发人员的比例已经由1:1逐渐过渡到1:12甚至更多,而产品质量也是步步高升。 在测试人员精简的前提下,他们是如何做到的呢? 秘诀有很多,最关键的有两点,工具和人员。今天就暂且抛开各种辅助提效工具,重点说一下测试人...

2019-10-04 18:21:28 47 0

原创 完美避开线程池血坑

江湖草根测试小A经过三年蛰伏,声名鹊起,终于鼓起勇气,去参与了自己向往已久的霸主阿里的选拔。经过一番精心准备,雄心万丈的小A来到阿里参加了入门考察,结果遭遇当头一板砖(FixedThreadPool在实战中是如何运用的),直接被淘汰。无奈之余,小A只能灰溜溜的回到门派,并虚心向师傅资深测试大C请教...

2019-10-04 18:09:06 35 0

原创 容器升级不着急,通用方案在这里

近期,公司部分老业务系统为了提升系统的性能及安全性,需要升级Tomcat到8.5.x版本。看似一个简单的版本升级,但却遇到了不少问题。 在容器升级后,碰到了两个问题,现象及解决方案如下: 问题一:容器迁移完成后,启动项目后报错。 问题原因:项目是springboot框架实现,并且基于java8,修...

2019-10-01 21:04:10 66 0

原创 深度学习与首屏时间的完美结合

近期公司应用页面打开相对迟缓,用户实际感受到的时间与产线业务埋点时间差异较大,引起了业务同事对埋点数据准确性的质疑。 简单梳理了一下以后发现,误差页面普遍存在较多的展示图片。为了提高用户的体验,开发采用了预加载的方式。在真实图片下载成功之前,优先展示默认图片,但是实际埋点数据上报是在页面Dom加载...

2019-09-25 13:08:47 63 0

原创 第三方库漏洞通用解决方案

fastjson近期曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,该漏洞评级为“高危”。公司要求立即进行版本升级解决该安全漏洞。 那什么是fastjson呢? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JS...

2019-09-22 22:07:31 189 0

原创 糟糕!页面加载太慢!

9月16日晚,小王正美滋滋地等着周董的《说好不哭》上线,但是公司的oncall电话进来,说是现在公司活动页面加载越来越慢。接完电话,小王立马打开了电脑排查问题,不然自己真的要哭了。 小王利索地登上了公司的线上监控平台,发现慢请求越来越多。机智的小王立马想到,系统响应突然变慢,无外乎CPU占用过高或...

2019-09-21 20:27:23 44 0

原创 BAT大门的正确打开方式(一)

近期人员优化传闻愈演愈烈,一向以稳定著称的平安系要优化20%风声也不绝于耳。在经济下行的当下,作为一个IT民工,正确的操作方式是什么呢? 坚守和跳槽是唯二选择,但无论如何选择,都需要结合本公司实际业务的真实状况及未来前景,是否能够应对经济持续下行的压力。毕竟独木不成林,在现代社会里面,一个人再优秀...

2019-09-20 19:18:32 62 0

原创 数据库测试三部曲——兼容性

前言 众所周知,互联网业务的迭代,归根结底是数据存储及其消费方式的改变,这就涉及数据的落地及查询,其中数据库操作就是尤为高效的一种方式。那如何在业务的高速迭代中,保证数据库语句的兼容性呢? 语句构成 数据库语句通常意义上分为三类,分别为DDL、DML和DCL。 DDL(Data Definiti...

2019-09-01 21:04:07 222 0

原创 解决Linux服务器上/etc/profile配置终端不生效问题

背景 服务器上更新一下java版本,就想重新在配置文件中配置一下。 原先解决方案 1、修改了/etc/profile中JAVA_HOME的配置路径 2、source /etc/profile 该方案在source以后,通过查看java version确实生效了。但是第二天重新登上服务器后,发现还是...

2019-08-11 15:53:13 360 0

转载 Spring Boot线程池

前言 前两天做项目的时候,想提高一下插入表的性能优化,因为是两张表,先插旧的表,紧接着插新的表,一万多条数据就有点慢了 后面就想到了线程池ThreadPoolExecutor,而用的是Spring Boot项目,可以用Spring提供的对ThreadPoolExecutor封装的线程池Thr...

2019-06-21 17:13:21 371 0

原创 mybatis中#与$的区别

前言 最近在写代码过程中遇到一个问题,这里简单做下描述。本意想写如下这么一条SQL。 SELECT t.id, t.name, t.version, t.module, t.test_type, t.platform, t.test_case, t.test_group FROM UI_TEST_...

2019-06-19 18:36:12 33 0

原创 APP弱网测试

什么是弱网测试 弱网测试主要是在网络质量差的情况下导致丢包和延迟现象而引发的问题。 什么是弱网络 网络包括下行速度,下行速度,网络的响应延迟,网络的可靠性,网络的稳定性等这些特性。当这些特性出现问题是都能可以定义为弱网络。什么时候算弱网络是根据产品,没有特定数值,比如网络游戏需要一个网速的最低值,...

2019-06-09 19:08:16 495 0

原创 java多线程常见面试题(下)

1、什么是 ThreadLocal 变量? ThreadLocal 是 Java 里一种特殊的变量。每个线程都有一个 ThreadLocal 就是每个线程都拥有了自己独立的一个变量,竞争条件被彻底消除了。它是为创建代价高昂的对象获取线程安全的好方法,比如你可以用 ThreadLocal 让 Si...

2019-06-01 22:03:08 70 0

原创 java多线程常见面试题(上)

前言 Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎。大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在典型的 Java 面试中, 面试官会从线程的基...

2019-05-26 13:27:47 1130 0

转载 Java 注解 (Annotation)

文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。 Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还...

2019-05-26 12:54:13 40 0

原创 微信小程序测试方案

小程序架构 小程序主要分为两个主要的部分:view模块和service模块。view模块负责UI展示,它由wxml和wxss转换后的代码以及微信提供的辅助模块组成。一个view模块对应一个webview组件,小程序支持多个view存在,view模块通过微信jsbridge对象来跟后台通信。 小程...

2019-05-19 15:13:42 1588 0

原创 关于maven的一些问题

关于maven Maven 是 Apache 组织下的一个跨平台的项目管理工具,主要服务于基于Java平台的项目构建,项目管理和项目信息管理,提供了帮助管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。Maven 提供了标准的软件生命周期模...

2019-05-03 23:05:54 270 0

原创 spingboot集成ActiveMQ

回顾 第一篇:mac下安装ActiveMQ 第二篇:ActiveMQ两种模式 集成步骤 1、引入依赖 <!--后面两个依赖可以根据实际情况引入--> <dependency> <groupId>org.springframe...

2019-04-21 14:26:21 50 0

原创 现金流游戏的一点感悟

这篇文章终于是非技术相关的啦,昨天参与了《穷爸爸富爸爸》中的现金流游戏,所以将所获得的一点感悟写下来。 关于现金流游戏 它看上去就像一个“强手”或者“大富翁”一类的游戏,中间画着一只打扮入时的大老鼠。但它并不像那些游戏那样简单,游戏板上有两条路:一条在内部,一条在外部。游戏的目标是走出内部的路―...

2019-04-14 17:38:29 756 0

原创 解决Error: Could not detect Mac OS X Version from sw_vers output: '10.14.3'

在使用appium-doctor时遇到了如下问题: Error: Could not detect Mac OS X Version from sw_vers output: ‘10.14.3’ 【解决方案】 通过 vi /usr/local/lib/node_modules/appium/n...

2019-04-06 22:51:52 701 0

原创 解决IntelliJIDEA没有Spring Initializr

1、打开idea 2、进入settings—Plugins 3、在右边的输入框内搜索Spring 4、找到Spring Assistant。如果没下载就下载,然后安装后重启idea就行了。

2019-03-30 21:15:21 9929 0

原创 消息队列ActiveMQ两种模式

Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。 —百度百科 简介 消息队列是分布式系统中重要的组件,通用使用场景为当不需要立即获得结果,但...

2019-03-30 16:17:10 960 0

原创 testng简介

简介 在设计接口测试框架或者UI自动化框架的时候,大概率都会用到testng这个框架,本篇主要介绍testng这个框架的使用。 官方文档:http://testng.org/doc/index.html testng的特点 注解功能 TestNG使用Java和面向对象的功能 支持综合类测试(例如...

2019-03-23 18:38:00 120 0

原创 Mac安装ActiveMQ

【方案一】 1、通过brew安装 brew install activemq 安装完成后,可以通过如下命令查看是否安装成功,版本是什么。 activemq --version 启动activemq activemq start 【方案二】 1.ActiveMQ下载 下载地址http://ac...

2019-03-21 21:59:20 448 0

原创 Java中使用LDAP登录

近期,因接入集团登录系统,需要通过LDAP实现登录。 什么是LDAP LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持...

2019-03-18 09:50:38 2622 0

原创 git常用命令

本篇文章主要列举一些在工作中常用的git命令。 1、拉取工程至本地 git clone 工程地址 2、创建一个新的分支 git checkout -b 分支名 3、添加自己开发的模块 git add 本地文件路径+文件名 4、查看本地文件提交状态 git status 5、提交本地改动 g...

2019-03-10 16:18:32 47 0

原创 java发送邮件

try { String MY_EMAIL_ACCOUNT = "*********@163.com"; String MY_EMAIL_PASSWORD = "*****";// 密码或者是你自己的设置的授权码 ...

2019-02-17 12:59:14 390 0

原创 PG数据库和Oracle数据迁移

前言 近期需要将PG数据库的数据迁移至Oracle数据库,并对数据进行一个验证,本文对整个过程中遇到的坑做一个总结。 聊聊过程中的坑 1、maven引入Oracle的驱动 &amp;amp;amp;lt;dependency&amp;amp;amp;gt; &...

2019-01-26 12:07:46 1461 0

原创 v-charts细节调整之实战

近期平台接入了报表功能,因为前端平台使用的是vue,于是乎这块选择引入v-charts。期间因数据的种类各不相同,这篇文章针对这些细节处理做一个整理。 v-charts 在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点...

2019-01-19 14:06:10 5632 2

原创 基于X5内核的UI自动化

前言 最近无论是在微信、QQ浏览器、微信小程序还是加载X5内核的页面进行UI自动化,都会遇到X5内核自动化问题,这篇进行一个问题的总结。 基础介绍 1、什么是X5内核? X5内核是腾讯基于优秀开源Webkit深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上,更快,更便捷。 ...

2019-01-05 12:44:53 1200 5

原创 微信小程序及其兼容性

什么是微信小程序 微信小程序是2017年9月,正式发布公测,是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 可以取代低频APP,不占空间 适用功能单一的(小程序最大2M) 适合配合线下店铺一起使用,扫描即可获取信息 不适用流量和分发的产品(小程序不支...

2018-12-08 14:44:14 4279 0

原创 数据库规范

常用DDL/DML语句 DML语句(select、insert、update、delete) DDL语句(create、drop、alter) DCL语句(grant、revoke) 事务控制(commit、rollback) 表操作 create table student(id numb...

2018-11-24 13:53:06 40 0

原创 Android和iOS常用命令

安装应用 安卓 adb install xxx.apk iOS ideviceinstaller -i xxx.ipa iOS模拟器 fbsimctl install xxx.app 卸载应用 安卓 adb uninstall &lt;packageName&gt; iO...

2018-11-12 19:18:59 135 0

原创 缓存常见问题

后端缓存 主要讲述redis。简单来说,redis就是一个数据库,不过redis的数据存在内存中,所以存写速度非常快。接下来直接讲常见的缓存问题。 缓存击穿 概念:对于一些设置了过期时间的key,如果这些key可能会在某些时间点被超高并发地访问,是一种非常“热点”的数据 原因:缓存在某个时间点过...

2018-11-04 20:34:08 842 0

提示
确定要删除当前文章?
取消 删除