jerry

如何使用SAP Intelligent Robotic Process Automation自动操作Excel

为君一笑 提交于 2020-02-08 19:45:00
今天是鼠年正月十二。这是Jerry鼠年的第 11 篇文章,也是汪子熙公众号总共第 210 篇原创文章。 之前Jerry的文章 使用ABAP操作Excel的几种方法 ,介绍的是通过ABAP这门编程语言去操作Excel的方法。 除了编程语言之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级自动化流程解决方案,善加利用,可以在不需要编程的情况下,像使用编程语言一样灵活地操作Excel. 我们来看个具体而又简单的例子,用SAP Intelligent Robotic Process Automation操作一个Excel文件,往里面的单元格写入一个字符串,设置背景色然后关闭。 在动手做这个例子之前,你也许需要先阅读这两篇文章,以了解SAP iRPA的上下文。 SAP智能机器人流程自动化解决方案 使用SAP iRPA Studio创建的本地项目,如何部署到SAP云平台上? 打开SAP Intelligent Robotic Process Automation Desktop Studio,导入SAP预置的操作Excel的nodejs脚本库文件。 在库文件里选择Excel Integration. 从下图能发现,SAP iRPA除了Excel之外

一个CRM OData的性能问题分析

China☆狼群 提交于 2020-02-08 19:41:09
In My appointment application, when jerry clicks F4 on account field, there will be odata request to retrieve account information. To my surprise, this odata request took more than one minute to get response: Then I did a performance trace in jerry system and found out most time is spent on your code CL_CRM_BP_ODATA_RT~ SELECT_ENTITYSET_BY_SQL. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ANZPgsKn-1580818103722)( https://upload-images.jianshu.io/upload_images/2085791-389aca4950fcc13e.png?imageMogr2/auto-orient/strip )] I wrote a report in jerry system MOR/300 to reproduce this performance issue,

如何判断一个对象是数组还是对象

烂漫一生 提交于 2020-02-08 10:05:42
如何判断一个对象是数组还是对象 一、 typeof判断数据类型(判断数组跟对象都返回object) console.log(typeof null); // "object" console.log(typeof function () { return 1; }); // "function" console.log(typeof '梦龙小站'); // "string" console.log(typeof 1); // "number" console.log(typeof a); // "undefined" console.log(typeof undefined); // "undefined" console.log(typeof []); // "object" console.log(typeof NaN); // "number" console.log(typeof {}); // "object" 二、 instanceof判断对象的原型链是否是指向构造函数的prototype   var arr = [1,2,3,1];   console.log(arr instanceof Array)//true 三、 对象的constructor属性   var arr = [1,2,3,1];   console.log(arr.constructor ===

oscp——DC-2

五迷三道 提交于 2020-02-07 05:02:47
0x00 前言 第二十二台机子了,继续努力鸭 0x01 信息收集 全端口扫描 0x01 Web 修改host之后发现是一个wp的站 打开flag,有一个提示,用 cewl收集密码 先用wpscan跑一下 然后cewl 收集密码 cewl http://dc-2/ -w ./wordlist.txt 使用wpscan进行爆破,我们可以拿到两个账号的账号和密码 tom, Password: parturient jerry, Password: adipiscing 在jerry下看到了如下内容,尝试ssh连接 然后ssh连接一下 发现命令都没法执行 使用以下方法获取/bin/sh 在tom目录下 cat一下flag 在/home/jerry/flag4.txt 切换一下用户 用git提权 git help config !/bin/sh 拿到最后的flag 总结 这里主要可以学习 ssh连接不能使用命令的解决方法 来源: CSDN 作者: Bubble_zhu 链接: https://blog.csdn.net/qq_36869808/article/details/104197922

SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考

☆樱花仙子☆ 提交于 2020-02-05 05:21:52
今天的文章来自Jerry的同事,曾经的搭档郑晓霞(Zheng Kate)。郑晓霞是在Jerry心中是一位很有实力的程序媛,2011年从西安某软件公司跳槽到SAP成都研究院。当时,成都研究院的CRM团队刚刚成立,Jerry和郑晓霞都在一个大组。 2012年夏天,我们接到任务,要把SAP Customer Briefing这款已经发布的iOS应用移植到Android平台。因为只有1年的期限,老板组建了一只特殊的开发团队,由Jerry, 郑晓霞和另外两位男同事组成。是的,因为需求很清楚,就是把iOS版本上的功能移植到Android平台,所以这只团队没有产品经理,没有架构师,郑晓霞担任了开发人员和Scrum Master的双重身份, UX也是项目中后期从上海找了一位同事远程加入项目组。由于我们4位以前都没接触过Android开发,因此也是边学习边干活。这个微型团队的学习气氛非常好,一个人遇到困难,其他三位都会积极热心参与讨论和提供帮助。 Jerry印象最深的一件事是,当时我负责实现一个company profile的功能,即客户可以从一个下拉列表里选择一个企业,从而进入该企业明细页面,显示该企业的概述,包含文字简介,企业人数,财政收入等等。概述信息通过消费wikipedia提供的Restful API,传入企业名称,返回响应

SAP成都研究院CEC团队三巨头之一:M君的文章预告

ぐ巨炮叔叔 提交于 2020-02-05 03:12:43
国人总倾向于把特点或者作用类似的人或物放在一起比较并做出排名,于是就有了许多“某某某三巨头”的称谓。 最举世闻名的莫过于 二战三巨头: 丘吉尔,罗斯福和斯大林。 还有陪伴咱八零后童年时光的 黄金三巨头 (具体人选争议较大): 以及 冥界三巨头 艾亚哥斯,米诺斯和拉达曼迪斯。 Jerry小时候不知道还有 “ 少不看水浒,老不看三国 ” 一说,水浒传看得是热血沸腾。儿时Jerry心中的梁山泊三巨头人选依次是:卢俊义,吴用,公孙胜。 理由也很简单:卢俊义武力值在水浒传120回出场人物里排的上TOP3,吴用姑且算是诸葛武侯的山寨版,公孙胜有水浒里首屈一指的魔法输出能力。宋江?看了第二十一回《宋江怒杀阎婆惜》里施耐庵对宋江的动作描写,Jerry也是醉了。就这样的身手,凭什么林冲,武松,鲁智深这样的好汉要听宋江指挥? 直到工作了这么多年,Jerry才意识到自己当初简直too young too simple。如果要让Jerry用一个单词来描述宋江,Jerry的答案是 leadership 。如果梁山泊的CEO让托塔天王晁盖来当,结局又会如何?这个话题知乎上有很多讨论,这里不再赘述,咱们今天还是聊聊SAP成都研究院CEC开发团队的三巨头吧。 Jerry曾经工作于SAP成都研究院CEC团队。这个团队有100多位同事,又细分成若干个小组,每个小组负责一个SAP产品。 按照在CEC团队的重要程度

揭开SAP Fiori编程模型规范里注解的神秘面纱 - @ObjectModel

喜夏-厌秋 提交于 2020-01-31 05:26:18
今天是农历鼠年大年初五,本文是鼠年第5篇文章,也是汪子熙公众号第204篇原创文章。 最近大家真是谈蝙蝠色变呀! SAP官网的ABAP Programming Model for Fiori帮助文档里,定义了很多注解(Annotation): https://help.sap.com/viewer/cc0c305d2fab47bd808adcad3ca7ee9d/1709%20000/en-US/896496ecfe4f4f8b857c6d93d4489841.html 对于这些注解,我们可以从其字面含义和SAP帮助文档去掌握其用法和功能。 以@ObjectModel.readOnly为例,施加了这个注解的CDS view字段,在对应的Fiori UI上以只读的方式渲染: 并且也不能通过编程的方式进行修改。 大家在使用这些注解的时候,有没有想过,它们是怎么工作的? 以@ObjectModel.readOnly为例,现在就请跟着Jerry一起,去探索它的前后台实现原理。 在Chrome开发者工具的UI5面板里,找到Posting Date这个控件对应的属性,发现字段editable属性值为false,这就是其在UI不能编辑的原因。 如果你的Chrome开发者工具没有UI5这个标签,请参考Jerry这篇文章,安装Chrome for UI5的扩展: Jerry的Fiori原创文章合集

[设计模式]代理模式

无人久伴 提交于 2020-01-29 19:09:11
1. 定义   为其他对象提供一种代理以控制对这个对象的访问。   代理模式是通过创建一个代理对象,用这个代理对象去代表真实的对象,客户端得到这个代理对象后,对客户端并没有什么影响,就跟得到了真实对象一样来使用。   当客户端操作这个代理对象的时候,实际上功能最终还是会由真实的对象来完成,只不过是通过代理操作的,也就是客户端操作代理,代理操作真正的对象。 2. 类图      Proxy: 代理对象,通常包含了以下功能,实现了与具体目标对象一样的借口,保存一个指向具体目标对象的引用,可以在需要的时候调用具体的目标对象,可以控制对具体目标对象的访问,并可以负责创建和删除它。   Subject: 目标对象,定义代理和具体目标对象的借口。   RealSubject: 具体目标对象,真正实现目标对象要求的功能。 3. 实例    package com.jerry.designpattern.proxy; /** * * @author Jerry * @date 2015年1月21日 上午10:39:09 */ public interface Player { void killMonster(); } package com.jerry.designpattern.proxy; /** * * @author Jerry * @date 2015年1月21日 上午10:46:10

Linux 中实现文件传输服务(二)

馋奶兔 提交于 2020-01-28 16:06:39
继续上章vsftpd,介绍vsftpd的虚拟用户配置 一、 背景需求 当有多个用户需要不同的权限时,本地用户、匿名用户都无法控制那么精细,这时候可以考虑下虚拟用户了,例如有如下要求。 家目录 读 写 删除 是否允许切换目录 tom /myftp/tom √ × × × jerry /myftp/jerry √ √ × × admin /myftp √ √ √ √ 二、详细配置 ``` a. 安装程序: [root@node1 ~]# yum -y install vsftpd b. 创建配置文件: [root@node1 ~]# cp /etc/vsftpd/vsftpd.conf{,.bak} [root@node1 ~]# vim /etc/vsftpd/vsftpd.conf #关闭匿名用户,本地用户必须开启,否则虚拟用户无法正常运行 anonymous_enable=NO local_enable=YES write_enable=YES #设置禁锢用户,默认开启后/etc/vsftpd/chroot_list文件中的用户都被禁锢 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #设置虚拟用户相应功能(虚拟用户对应的本地用户、 guest_enable=YES guest_username

五. python面向对象(多态 和metaclass=abc.ABCMeta)

▼魔方 西西 提交于 2020-01-21 14:40:31
一. 多态 多肽: 一种事物的多种形态 叫多肽 例如 动物(animal) 猫 狗 ....... # animal.py 文件 # 动物类 都有名字这个属性 和吃这个方法 class Animal(object): def __init__(self,name): self.name=name def eat(self): print(self.name+"吃1111111111111111") # cat.py文件 # 让定的猫这个属性去继承动这个方法 from animal import Animal class Cat(Animal): def __init__(self, name): # self.name=name super(Cat, self).__init__(name) # def eat() # print(self.name+"吃") # mouse.py文件 # 让mouse去继承动物这个类 from animal import Animal class Mouse(Animal): def __init__(self,name): #self.name=name super(Mouse,self).__init__(name) #def eat(): #print(self.name+"吃") # person.py文件 class Person