自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 资源 (9)
  • 论坛 (6)
  • 收藏
  • 关注

原创 《SAP 传奇人物》系列人物故事:看透生死远没有操作0和1那么简单

本文内容来自SAP官方微信公众号:SAP中国研究院SAP招聘人们对程序员的印象总是:理智、逻辑、条理分明,Jerry Wang 也如此自我评价的,他还引用了乔帮主那句著名的“stay hungry, stay foolish”当座右铭。截止目前,Jerry 已经在SAP成都研究院工作将近15年,是位产品开发专家。但打开他现在的公众号文章,你会发现他对生活的描述,是充满情感和镜头感的:“我每天要数次穿梭于医院的这条走廊,发现这里写满了人生百态。身旁有一大堆行李日用品的,估计是外地赶来的家属; 对着

2021-01-31 20:47:32 162 2

原创 汪子熙微信公众号的写作计划

写作计划UI5控件ID的生成逻辑UI5控件的多语言(国际化,Internationalization,i18n)支持的实现原理XML视图里的button控件button控件和它背后的DOM元素Jerry有一个微信公众号“汪子熙”,2017年底开始写作,至今已经发表了290余篇原创文章。过去的历史文章一个SAP成都研究院开发工程师 2020 年的所有文章列表SAP成都研究院小伙伴们2018~2019两年间的179篇原创文章合集欢迎扫码关注:...

2021-01-31 20:40:15 67

原创 SAP UI的加载动画效果和幽灵设计(Ghost Design)

这是Jerry 2021年的第 14 篇文章,也是汪子熙公众号总共第 285 篇原创文章。在本篇文章之前,Jerry 印象最深的幽灵,应该要算《星际争霸I》里人族能够隐形的空中单位 Wraith( 幽灵战机 ),以及能施放核弹的 Ghost( 幽灵特工).[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uNpGpMWf-1612082799207)(https://upload-images.jianshu.io/upload_images/2085791-76ccbeb

2021-01-31 16:47:00 90

原创 SAP Spartacus B2B Org Unit树状结构的ghost数据

在下列org-unit.effect.ts的第147行,即org unit成功取数之后的callback里设置断点:然后就能看到ghost数据了:这些灰色的矩形框显示的就是SAP Spartacus的幽灵数据:幽灵数据有专门的css class,例如.ghost:ghostData的定义位置在list.service.ts里:更多Jerry的原创文章,尽在:“汪子熙”:...

2021-01-31 16:37:42 57

原创 使用格式工厂给视频添加背景音乐

Jerry最近的公众号文章嵌入了一些技术视频,这些技术视频发布在腾讯视频上,但是因为视频没有声音,所以导致上传失败,联系了腾讯视频客服后,得知视频必须包含背景音乐才行,所以我使用格式工厂(FormatFactory) Video处理项的Mux功能:分别在视频流(video stream)和音频流(audio stream)里添加视频和音频文件:点击start即可得到合并后的视频文件:更多Jerry的原创文章,尽在:“汪子熙”:...

2021-01-31 16:36:20 57

原创 SAP GUI 最新版本7.70于2021年1月29日发布了

2021年1月29日,SAP GUI 7.70发布。包含了新的Fiori 3 Quartz主题,终于和其他流行IDE一样,支持暗黑风格的编程背景了。该版本也第一次同时支持基于微软Edge / IE的HTML Control,改善了多显示器环境里的缩放效果。下载链接如下.更多Jerry的原创文章,尽在:“汪子熙”:...

2021-01-30 10:10:49 2174

原创 SAP Spartacus B2B Org Unit树状结构的加载机制

list.service.ts里的pagination作为出发点:我在unit list service里设置一个断点,停下来就行了?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NvRT20J8-1611916769563)(https://upload-images.jianshu.io/upload_images/2085791-6763a40995f935ab.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1

2021-01-29 18:39:44 82

原创 关于SAP Spartacus在服务器端渲染模式和SAP Commerce Cloud API白名单的问题

We are configuring our Spartacus application with SSR in SAP Commerce Cloud. Also we used the IP Filter Set to secure our endpoints in SAP Commerce Cloud, (JS Applications, Backoffice and API).Spartacus部署在Commerce Cloud上。SAP Commerce Cloud的API endp.

2021-01-29 16:40:09 68

原创 SAP Spartacus category在breadcrumb里显示不正确的一个问题

在B2C的页面里,先点击某个category,观察其breadcrumb显示:显示的是category name:而B2B模式下,显示的category code,而不是category name,这个问题需要从SAP Commerce Cloud后台修复。更多Jerry的原创文章,尽在:“汪子熙”:...

2021-01-29 16:04:38 52

原创 SAP Spartacus 当购物车里添加的商品个数过多后引起的性能问题以及解决方案

问题:https://github.com/SAP/spartacus/issues/10379解决方案:https://github.com/SAP/spartacus/pull/10865/files

2021-01-29 15:21:21 47

原创 试图安装客户出现SSR问题的Spartacus Storefront时遇到的错误消息

首先是错误:EPERM operation not permitted:切换成用Administrator权限运行cmd后该问题消失,但是又出现新的问题:最后还是会出现包破损之类的安装不下去。网上搜索了一下,有网友建议:最简单的方式就是找到破损的文件,单独安装npm install **@X.Y.Y更多Jerry的原创文章,尽在:“汪子熙”:...

2021-01-29 15:17:43 77

原创 SAP Spartacus用户登录的实现

登录界面:实现Component:login-form.component.html:上图第1行,触发submitForm函数:用了promise技术: /** * Authorize with ResourceOwnerPasswordFlow. * * @param userId * @param password * * @return token response from the lib */ authorizeWithPasswor

2021-01-29 15:14:04 55

原创 SAP Spartacus里的place holder Component - CMSFlexComponent

For Angular or web components that do not need any data from CMS (for example, login), you can use the CMS component of type CMSFlexComponent as a placeholder.This CMS component contains the special flexType attribute. Spartacus use the flexType attribu.

2021-01-29 14:49:17 60

原创 SAP S/4HANA 的30天免费试用版

登录网站https://www.sap.com, 点击Free Trials:选择SAP S/4HANA onPrem Free trials,点击:Try now:登录用户的邮箱会收到一封邮件,包含SAP Cloud Appliance Library 访问该SAP S/4HANA实例的url:点击 I Accept 接收用户协议:Cloud Appliance Library新建Solution实例:注意,客户必须自己提供运行该SAP S/4HANA的Cloud Provider的s

2021-01-29 14:46:13 192

原创 SAP Spartacus服务器端渲染模式下的调试方法

在使用本文章介绍的步骤进行SAP Spartacus Storefront在服务器端渲染模式(SSR)下的调试之前,请您确保已经按照如下帮助文档的介绍,已经成功启用了服务器端渲染:https://sap.github.io/spartacus-docs/server-side-rendering-in-spartacus/并且成功通过下列命令行启动了Spartacus Storefront:node dist/standalone/server/main.js本文介绍SAP Spartacus St

2021-01-29 14:21:17 65

原创 SAP Spartacus directive学习笔记

directive: 目的是给DOM元素添加自定义行为,可以和Component class一样,实现life cycle hooks:css selector:在template中唯一标识一个Directive,并且触发Directive实例的初始化。看一个错误:Can’t bind to ‘cxFocusConfig’ since it isn’t a known property of ‘div’. ("答案:you cant use input/output outside c

2021-01-28 13:51:11 85

原创 SAP Spartacus部署到SAP Commerce Cloud并开启SSR之后,如何查看log

这个note有说明:2708660 - How to Get Support for Spartacus JS Storefront SAP Commerce CloudSAP帮助文档Once the build is redeployed, the SSR feature is active. To troubleshoot SSR issues, search for jsapps logs in Kibana.A simple way to get logs for the js storef

2021-01-28 11:11:40 53

原创 SAP Spartacus一个客户项目无法启用SSR服务器端渲染的实际例子和分析方法

Customer support - SSR not workingMain problemIn the codebase I found multiple instances of access to properties inside this.windowRef.nativeWindow.This works correctly on client side, but on server side (SSR) nativeWindow is undefined.RecommendationA

2021-01-28 10:46:23 78

原创 SAP Spartacus B2B List里的listData$设计原理

一个最佳实践:使用pipe结合tap,将stream里的数据取出来,赋给this的某些字段:开始执行getData:pagination:10如果table structure里有pagination配置,则同list的pagination$做合并:Unit实现了自己的取数逻辑,重载了load方法:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBBWdRDq-1611754060195)(https://upload-images.jianshu.io/u

2021-01-27 21:28:08 65

原创 SAP Spartacus的pagination$ -默认的分页设置10

很多时候我们会希望 Subject 对象能够保存当前的状态,当新增订阅者的时候,自动把当前最新的值发送给订阅者。要实现这个功能,我们就需要使用 BehaviorSubject。BehaviorSubject 跟 Subject 最大的不同就是 BehaviorSubject 是用来保存当前最新的值,而不是单纯的发送事件。BehaviorSubject 会记住最近一次发送的值,并把该值作为当前值保存在内部的属性中。上述代码第72行定义了SAP Spartacus默认的分页设置:10...

2021-01-27 21:24:10 63

原创 SAP Spartacus Unit List Component的设计明细 - UnitListComponent

Unit list Component 源代码:这个service是依赖注入的:this.service指向unit list specific service class:在这个specific service class里,存在dedicated的service字段:更多Jerry的原创文章,尽在:“汪子熙”:

2021-01-27 21:21:59 68

原创 SAP Spartacus breakpoint服务中platformID的注入逻辑

@Inject(PLATFORM_ID) protected platform: any这个PLATFORM_ID来自@angular/core:在platform-browser.js里能查看到其注入值为browser:const INTERNAL_BROWSER_PLATFORM_PROVIDERS = [ { provide: PLATFORM_ID, useValue: ɵ0$4 }, { provide: PLATFORM_INITIALIZER, useValue:

2021-01-27 20:03:49 90

原创 SAP Spartacus里的WindowRef对象

WindowRef是breakpoint.service.ts的依赖之一:实现位于文件window-ref.ts里:整个Spartacus都没有定义这个window对象:定义在VSCode-1.48.2文件夹下面:更多Jerry的原创文章,尽在:“汪子熙”:

2021-01-27 19:56:57 61

原创 SAP Spartacus B2B table的配置信息的merge原理

以SAP Spartacus b2b unit table的配置信息为例:位于文件units.config.ts里:运行时,这些配置信息,被merge在table.service.ts的this.config.table变量里:该配置通过一个函数unitsTableConfigFactory暴露给消费者:依赖注入时,该函数会通过工厂模式被触发:而且是惰性触发,也就是说,如果没有进入到B2B page的任何一个table,不会触发依赖注入:看运行时的调用栈:useFactory字段的

2021-01-27 19:51:45 51

原创 SAP Spartacus B2B table的配置信息从哪里来?

运行时的table配置:实现位于table.config.ts里:以unit table为例,配置的实现在units.config.ts文件里:运行时的效果:更多Jerry的原创文章,尽在:“汪子熙”:

2021-01-27 14:08:55 49

原创 SAP Spartacus breakpoint的决定逻辑

table.service.ts里的breakpointService:breakpointService是TableService的一个依赖:运行时这个xl的breakpoint值从哪里来的?breakPointService有一个字段winRef,指向浏览器平台的document对象:_breakpoints包含了所有可用的kreakpoint:tableService的getTableConfig方法返回的配置:返回的table配置,包含cell的名称,以及实现cell的Ang

2021-01-27 13:37:23 70

原创 SAP Spartacus b2b表格的cell配置解析逻辑

table.service.ts里的breakpointService:breakpointService是TableService的一个依赖:运行时这个xl的breakpoint值从哪里来的?breakPointService有一个字段winRef,指向浏览器平台的document对象:_breakpoints包含了所有可用的kreakpoint:tableService的getTableConfig方法返回的配置:返回的table配置,包含cell的名称,以及实现cell的Ang

2021-01-27 11:54:30 57

原创 SAP Spartacus b2b table,通过listService的table type字段来控制要加载的数据类型

通过get运算,巧妙地将viewType重定向到tableType了:view type和table type指向同一个字段:table type:structure的生成通过table service完成。unit list Component依赖于list Component:这个orgUnit的table type,运行时什么时候被填充的呢?运行时的this,实际上指向UnitListService:在unit-list.service.ts里硬编码了viewType为..

2021-01-27 11:19:49 64

原创 SAP Spartacus和Table相关的配置结构ResponsiveTableConfiguration

ResponsiveTableConfiguration的父类是TableStructureConfiguration:export interface TableStructureConfiguration { /** * Provide the bare structure of the table. */ cells?: string[]; /** * Global table structure options. */ options?: TableOp

2021-01-27 10:06:23 68 1

原创 SAP Spartacus 服务器端渲染编程规范

链接:https://sap.github.io/spartacus-docs/server-side-rendering-coding-guidelines禁止使用只有在浏览器环境下才可用的全局对象,比如window, document, navigator等等,因为在服务器端渲染模式下,这些对象不可用。Do not access global objects that are available in the browser. For example, do not use the window,

2021-01-27 10:02:06 62

原创 git for windows的下载地址

下载地址:https://git-scm.com/download/win点击:click here to download manually安装完毕之后,windows cmd里,输入git,如果看到下列提示信息,说明安装成功了:

2021-01-26 13:35:19 53

原创 如何自定义SAP Spartacus的路由路径

地址:https://stackoverflow.com/questions/65830446/customise-spartacus-cart-path以chart为例:By default it’s /cart, but what if I want to change it to (for example) /checkout/cart?解决方案In defaultStorefrontRoutesConfig we have cart: { paths: [‘cart’] },. You

2021-01-25 19:04:22 53

原创 SAP Spartacus index.html里的meta标签

meta标签用来描述页面的元数据。我把index.htmll里的meta标签注释掉,仍然能够正常工作,这是为什么呢?后台url维护在Environment.occBaseUrl字段里:注入ConfigurationChunk这个injection token时,触发:meta变量指向index.html的document对象:首先试图从MetaTagContent里解析出url:如果拿不到:如果meta里指定了baseUrl并且不等于默认的OCC_BACKEND_BASE_URL

2021-01-25 18:53:25 56

原创 SAP Spartacus的持久化存储学习笔记

https://sap.github.io/spartacus-docs/configurable-state-persistence-and-rehydration/Spartacus offers a mechanism to sync NGRX’s store slices to the specified browser’s storage - localStorage or sessionStorage.ngrx的存储slice暂时同步到浏览器的storage里去:localStorage

2021-01-25 16:20:43 62

原创 SAP Spartacus Loader Meta Reducer学习笔记 - loaderReducer

链接:https://sap.github.io/spartacus-docs/loader-meta-reducer/#creating-actionsTo give better feedback to users, based on their actions, we often have to keep information such as “cart is loading”, “fetching user address failed”, and so on.为了给用户提供更好的用户体验

2021-01-25 15:41:48 67

原创 SAP Spartacus not found页面的显示触发机制 - ErrorPageTemplate

在什么情况下,SAP Spartacus会显示404 not found页面?请求id为not-found的content page:not-found.handler.ts:semantic路由路径notFound对应的url path: not-found再根据notFound关键字搜索:找到了cms-page-guard.service.ts的canActivateNotFoundPage实现:首先调用cmsService.getPage读取notFoundCms Page:

2021-01-25 15:25:29 91 2

原创 SAP Spartacus服务器端渲染的main.js所起的作用

main.js is basically all browser angular javascript code wrapped into rendering layer (and server)what you get by using curl is basically the result of running main.jsgenerally, if you get anything more than , it means that SSR by itself worksin your .

2021-01-25 14:41:13 56

原创 以非生产模式的方式启用SAP Spartacus的服务器端渲染SSR

思路就是:在package.json里找到对应命令,去除–prod选项:ng build && ng run standalone:server成功执行:server目录似乎被覆盖了:我之前把main.js重命名成main.1221.js, 发现执行完命令后,消失了:之前main.js只有5MB大。Project target does not exist这个project target,定义在angular.json文件里:现在生成的main.js, 有12M

2021-01-25 14:18:27 64

原创 SAP UI渲染模式:客户端渲染 VS 服务器端渲染

今年由于疫情原因,SAP一年一度的DKOM(Developer Kick-Off Meeting)切换成了线上模式,刚刚于昨天圆满落幕。时间过得真快,去年的DKOM仿佛还历历在目:SAP成都研究院数字创新空间小伙伴们在2020 SAP上海DKOM.但是Jerry昨天没有太多时间去在线观看,只因为… 我们团队昨天收到了一个优先级为VERY HIGH的客户incident:这个incident是客户在使用SAP Spartacus并试图启用其服务器端渲染模式(Server Side Rendering

2021-01-24 21:45:01 121

原创 SAP Spartacus页面fake Url的防御机制 - not found页面的显示逻辑

SAP Spartacus里的路由机制共同有4种:When Spartacus is launched, the route is handled by the router logic. There are 4 different types of routing that will be evaluated:(1) the route should be handled by a custom router path; the customer has added hard-coded routes

2021-01-22 21:53:54 65

SAP CRM WebClient UI 培训 Slide

SAP CRM WebClient UI 培训 Slide

2021-07-04

适合程序员使用的文件搜索工具,支持各种高级搜索条件

程序员

2021-02-20

将近2万个汉语四字成语大全,txt格式存储

将近2万个汉语四字成语大全,txt格式存储

2021-04-06

SAP Fiori Elements Overview 页面的创建.mp4

SAP Fiori Elements 提供了预定义的模板和 UI 样式,适用于 SAP 应用的通用应用场合。 使用 SAP Fiori Elements,应用开发人员可以创建基于 OData 服务和注解的 Fiori 应用,而无需额外的 JavaScript 编程。 运行时,SAP UI5 解析 OData 服务和注解中包含的元数据,将其同业务数据一起,使用框架统一提供的视图来渲染页面。

2021-05-23

在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 的配套源代码

在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 文章的配套源代码

2021-04-16

dgreadiness_v3.6.zip

windows10 1909版本,如果想安装VMWare Workstation player 15.5.5,需要使用该powershell脚本,在Administration模式下,禁掉hyper V

2021-02-17

winzip70 (1).exe

winzip的经典版本,适用于windows 98实体操作系统及虚拟机

2021-02-16

自己用Java编写的有道云笔记图片批量下载工具

使用方式:java -jar tool.jar [0,1,2] 0,1,2分别是有道云笔记的编号。0的guid:c91a710af51c1e1b20f5d1da2140a9e4; 1的guid:4cc557ab9b7cbde0515b49a155c5dce3 2的guid:6eaae532daaa678cc610f2a34cbc9119

2020-11-29

《Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现》文章的源代码

《Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现》文章的源代码下载,解压之后手动复制粘贴到ABAP系统的SE24或者SE80事物码里。

2020-11-24

汪子熙的留言板

发表于 2020-01-02 最后回复 2020-03-20

怎样才是理想的程序员

发表于 2015-06-28 最后回复 2019-07-29

SAP的这三款CRM解决方案,您能区分清楚么

发表于 2018-01-08 最后回复 2018-01-09

脑子快”的程序员更优秀吗

发表于 2015-08-09 最后回复 2015-10-27

一个平庸程序员的自白

发表于 2015-08-22 最后回复 2015-08-22

金庸小说里程序猿的练级心法

发表于 2015-06-28 最后回复 2015-08-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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