使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试
这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的“阅读原文”获得。后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称这种方式对他们自己的API性能测试很有用,所以我觉得还是值得用中文再写一遍。在SAP官网api.sap.com里有大量发布的API,方便合作伙伴和客户自开发应用同SAP解决方案进行集成。比如Jerry上个月做的一个项目,
使用apache的HttpClient进行http通讯,隐藏的HTTP请求头部字段是如何自动被添加的
我们用apache的HttpClient这个库消费云端的Restful API时,一般都需要两次HTTP调用,第一次获得某种token,比如获取防止跨域请求伪造攻击Cross-site request forgery - CSRF的token,或者比如微信API的access token,第二次再进行真正的API消费。通常情况下,第一次请求完毕后,服务器都会给客户端返回一些cookie字段,在第二
来自Google资深工程师的API设计最佳实践
来自Google资深工程师Joshua Bloch的分享:API设计最佳实践为什么API设计如此重要?API是一个公司最重要的资产。为什么API的设计对程序员如此重要?API一旦发布,出于兼容性考虑,不能轻易地随心所欲进行修改,比如删除参数。从API的上帝 - 设计者的视角出发,有助于提高代码质量。一个优秀的API应该满足下列标准:易学易用,甚至是自描述的,不需文档也能让新手快速上手。不易造成误解
如何使用jMeter对某个OData服务进行高并发性能测试
For project reason I have to measure the performance of OData service being accessed parallelly. And I plan to use the open source tool JMeter to generate a huge number of request in parallel and meas
使用jMeter构造逻辑上有依赖关系的一系列并发请求
相信前端开发工程师对CSRF(Cross-site request forgery)跨站请求伪造这个概念都非常熟悉,有的时候也简写成XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。CSRF攻击的防御方式有多种,最简单最易实现的一种思路就是在客户端向服务器发起的请求中放入攻击
Java实现的有道云笔记图片批量下载工具
有朋友问我每天哪里找时间写这么多文章。作为一个程序员,当然要善于利用各种工具提高自己做事情的效率了。如果没有现成的工具,就得自己造。我写文章一般是在云笔记里编辑,完成之后直接复制粘贴到自媒体平台。我有一个需求,能够把云笔记里包含的所有图片批量下载到本地某个文件夹里,这样我就可以批量上传文件到自媒体平台,省去了手工一张张上传的麻烦。我曾经写过一篇文章:使用ABAP批量下载有道云笔记中的图片,然而AB
如何通过一个SAPGUI屏幕反查这个屏幕对应的事务码
假设我通过某种跳转方式打开了下图这个SAPGUI的屏幕,但我想搞清楚用哪一个事务码可以直接到达这个屏幕,而不通过繁琐的点击,应该怎么做?步骤1,点击Order字段,按F1打开帮助界面,点上图的图标显示技术信息,得到了实现这个屏幕的程序名称:SAPLCOCU:双击程序名,进入程序实现,再点击这个图标:从而打开了这个程序所属的function group COCU,其对应的ABAP包为CO:在这个pa
不同编程语言在发生stackoverflow之前支持的调用栈最大嵌套层数
今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是?Java 1.8private static void recur(int i){ System.out.println("Stack level: " + i);
使用ABAP代码创建S/4HANA里的Sales Order
下图是使用ABAP代码创建的S/4HANA的Sales Order的截图:其中红色区域的值是我代码里硬编码的,而蓝色是函数SD_SALESDOCUMENT_CREATE自己创建的。来看下代码:DATA: ls_header TYPE bapisdhd1, ls_headerx &nbs
如何处理Eclipse错误消息 The declared package does not match the expected package
我从github下载了一个开源项目后,导入到自己Eclipse之后,遇到了这个烦人的错误消息:The declared package "com.sap.smartService" does not match the expected package "main.java.com.sap.smartService"这是我的项目文件目录:解决方案:对项目点击
用代码判断当前系统是否支持某个版本的feature
JDK9已经出来有一段时间了,因此很多流行的Java应用纷纷增添了对JDK9乃至JDK10的支持,比如Tomcat。我们通过这个链接下载最新的Tomcat源文件包,总共7MB:https://tomcat.apache.org/download-90.cgi解压之后,在文件夹apache-tomcat-9.0.10-srcjavaorgapachecatalinacore里找到文件JreMemor
让您的Eclipse具有千变万化的外观
大家每天用Eclipse做Java开发,是否厌倦了Eclipse千篇一律的白色背景呢?看看Jerry这几种不同风格的Eclipse外观,是不是有耳目一新的感觉?如何做到的?需要给Eclipse安装Eclipse Color Theme这个插件。点击Help->Eclipse Marketplace:在搜索框里输入Eclipse Color Theme,点Go,马上就得到搜索结果。点Insta
使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据
所谓图片元数据,就是除了我们肉眼看到的图片内容外,隐藏在这些内容背后的一些技术数据。本文介绍如何使用Java代码将一张图片的隐藏信息读取出来。首先不需要下载任何额外的Java库,用JDK自带的库就能工作。import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStr
自己开发的在线视频下载工具,基于Java多线程
比如这个在线视频:我们可以正常播放,但是找不到下载按钮。打开Chrome开发者工具,在Network标签页里能看到很多网络传输请求:随便看一个请求的响应,发现类型为video,大小为500多k。因此,这个在线视频被拆分成了若干500多k的小片段,然后通过浏览器下载到本地进行播放。这个片段的url:http://d2vvqvds83fsd.cloudfront.net/vin02/vsmedia/d
ABAP,Java, nodejs和go语言的web server编程
ABAP and Javasee my blog.nodejs用nodejs现成的express module,几行代码就能写个server出来:var express = require('express');var routesEngine = require('./jerryapp/routes/i
Java Web项目,Android和微信小程序的初始页面配置
Java Web项目我们在Eclipse里开了Java Web项目之后,Run As Tomcat或者Apache服务器,本地运行,如果直接用http://localhost:8080访问项目,会发现浏览器会打开一个默认的页面。这个页面是在什么地方配置的呢?每个Java Web工程的目录下面,都有一个名为WEB-INF的目录,里面包含一个配置文件web.xml。Web项目的默认页面就定义在里面的w
Eclipse被卡死了或者失去响应了后分析根源的一个小技巧
提升程序员工作效率的工具/技巧推荐系列推荐一个功能强大的文件搜索工具SearchMyFiles介绍一个好用的免费流程图和UML绘制软件-Diagram Designer介绍Windows任务管理器的替代者-Process Explorer介绍一个强大的磁盘空间检测工具Space Sniffer如何在电脑上比较两个相似文件的差异程序员工作效率提升系列-推荐一个JSON文件查看和修改的小工具将Chro
程序员面试系列之Java单例模式的攻击与防御
我写的程序员面试系列Java面试系列-webapp文件夹和WebContent文件夹的区别?程序员面试系列:Spring MVC能响应HTTP请求的原因?Java程序员面试系列-什么是Java Marker Interface(标记接口)使用JDK自带的工具jstack找出造成运行程序死锁的原因编程面试题:编写一个会造成数据库死锁的应用JavaScript面试系列:JavaScript设计模式之桥
推荐一款功能强大的Tomcat 管理监控工具,可替代Tomcat Manager
我们在本地启动Tomcat服务器后,用localhost:<默认端口>访问:再点Manager App,即可进入Tomcat自带的Manager这个应用,此处可以单独部署/卸载每一个应用。可以看到在Manager应用里提供的功能是很有限的。最近我在github上找到一个功能强大的Tomcat 管理监控工具,可以用来替代Tomcat默认的Manager应用:https://github.
如何通过Java代码判断当前的环境是否支持JRE 9
JDK9已经出来有一段时间了,因此很多流行的Java应用纷纷增添了对JDK9乃至JDK10的支持,比如Tomcat。我们通过这个链接下载最新的Tomcat源文件包,总共7MB:https://tomcat.apache.org/download-90.cgi解压之后,在文件夹apache-tomcat-9.0.10-srcjavaorgapachecatalinacore里找到文件JreMemor