自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8796)
  • 论坛 (6)
  • 收藏
  • 关注

原创 SAP技术专家Jerry的技术分享微信群

SAP技术专家Jerry的技术分享微信群2020年10月19日才创建的微信群,里面会不定期分享我的工作感受和对SAP技术发展方向的个人看法,欢迎扫码加入。加入群后请将自己的昵称改成如下格式:<地区>-<所用的SAP产品,模块或技术>-<昵称>,比如成都-Commerce Cloud-Jerry...

2020-10-19 11:11:27 291 7

原创 一个SAP开发人员的2019年终总结

青春少年是样样红可是太匆匆流金岁月人去楼空人生渺渺在其中荣华富贵呀飞呀飞世上的人呀追呀追荣华富贵呀飞呀飞何时放下歇一歇能不能愿昼吉祥夜吉祥愿用家财万贯买个太阳不下山小的时候,听过黄安这首《样样红》,觉得是首口水歌曲。如今Jerry也到了上有老,下有小的年纪,即将年满四十,觉得歌词每一行都是金句,耐人寻味。我们每一位油腻的SAP中年从业者都曾经青春年少过,谁的青春岁月,没有意气...

2020-09-05 17:50:16 1356

原创 一个SAP开发人员的2018年终总结

我是SAP成都研究院的Jerry Wang,我喂自己袋盐。时间过得真快,2017年发生的事情还历历在目,一转眼,2018年又马上要结束了。Jerry惊恐地发现,随着年龄的增长,时光流逝的速度仿佛有加快的趋势。因此,年终的记录显得更为重要。把自己一年做的无论工作还是生活上的事情梳理一遍,若干年后来回味,一定非常有意思。2017年,Jerry的工作和生活,可以用这两个关键字概括:编程和游泳**...

2018-12-31 10:30:13 3410 1

原创 一个SAP开发人员的2017总结

今年的生活如此丰富多彩,不写一点什么怎么对得起这过去的一年? 就当记流水账,若干年之后回来看一定很有意思。 1月有幸成为SAP Community上2位来自China的SAP mentor之一:3月再次来到客户现场,和他们的架构师讨论二次开发时选用UI5还是用Vue.回到office之后,把这个讨论扔到cloud@SAP的微信群里,没想到激起同事们对这个top

2018-01-21 14:59:46 7964 2

原创 SAP成都研究院35岁以上的开发人员都去哪儿了?

2006年成立的SAP成都研究院,位于天府软件园B区。如今,因为研究院发展的不断壮大, 已经搬迁到天府软件园E区了,因此,发生在图片building各种充满悲欢离合的故事,已经成为一部分小伙伴脑海中难以磨灭的回忆,永远消逝于历史的长河之中。我为什么要写这篇文章SAP成都研究院有很多刚从大学毕业不久的年轻小伙伴加入。一起聊天时,有小伙伴悄悄向我打听,”咱们公司的开发人员们咋看起来都是年轻

2018-01-13 15:34:19 2925

原创 ABAP开发人员未来应该学些什么

2007年1月我大学毕业进入SAP Chengdu从事开发工作,到今天已经整整11年了。这张图在ABAP开发圈子里曾广为流传:为了避免这种窘境发生在ABAPer身上,我们应该做点什么呢?2017年刚开始的时候,我曾经在SAP community写过一篇文章: What should an ABAPer continue to learn as an application deve

2018-01-07 15:44:00 7860 1

原创 一个好用的查看Angular应用ngrx状态的Chrome扩展:Redux devTools

Redux DevTools:https://chrome.google.com/webstore/detail/lmhkpmbekcpmknklioeibfkpmmfibljd安装完毕后,在Chrome开发者工具里会多出一个Redux面板:以及在Chrome右上角的扩展工具栏里,会点亮Redux DevTools对应的图标。此时在redux面板里即可方便的查看ngrx相关的state和action:可以输入关键字进行过滤,比如查看和Currency加载相关的action:action

2020-11-22 21:18:28 15

原创 SAP Spartacus的发布方式以及语义化版本管理机制

Spartacus打包之后,以库的方式发布到npmjs.com上。Spartacus库主要有三个实体组成:core,Storefront和styles. 其中Storefront包含了用户肉眼可见的,组成Storefront外观的UI组件,客户可以重用和增强这些组件。Core则包含了Spartacus的控制逻辑,用户通过Angular依赖注入的机制,可以开发自己的服务类,然后注入到core框架之中。Styles包含了Spartacus的界面样式实现,客户可以对这些样式进行定制化,或者用自开发的样式来覆盖

2020-11-21 21:51:45 33

原创 Spartacus同SAP Commerce Cloud交互的示意图

链接:https://sap.github.io/spartacus-docs/connecting-to-other-systems/我们首先看图的最右边。Spartacus同Commerce系统的通信,通过HTTP协议完成。Connector发起HTTP调用,Connector维护了静态的配置信息,即API的endpoint. 比如从Commerce系统读取产品主数据,取的字段列表以url参数的形式出现在API endpoint里,这些字段列表可以在Connector的静态配置点里进行配置。Conne

2020-11-21 21:47:02 14

原创 SAP Spartacus使用到的技术栈

前面说到,Spartacus是基于现代Web开发技术打造而成的一个Storefront开发框架,因此涉及到的技术栈都是目前前端开发普遍使用的一些比较成熟的技术。Angular:由Google维护的一款web前端开发框架,采用了大量有十几二十年历史的成熟技术,比如依赖注入、接口、注解等等,同时也是一款与时俱进的框架,比如对TypeScript的支持,跟RxJS的深度整合,对PWA第一时间的支持等等。Spartacus1.0基于Angular 9.TypeScript: Angular的开发语言是

2020-11-21 21:45:50 32

原创 SAP Commerce Accelerator和SAP Spartacus的技术对比

Accelerator是Spartacus发布之前,SAP Commerce Cloud使用的Storefront实现。Accelerator是一个开箱即用的web实现模板,是Commerce平台的一部分,以源代码的方式交付给客户。客户通过一个叫做module generator的工具,基于Accelerator 模板代码生成自己的Storefront实现。Accelerator这种同Commerce平台的紧耦合关系,以及基于源代码级别的二次开发方式,给Commerce项目实施的可升级性带来很大的挑战。例如

2020-11-21 21:01:50 32

原创 一个问题:CDS view在HANA studio里执行,显示的耗时比在ABAP open SQL里少

Sent: Samstag, 8. Juli 2017 11:03Subject: RE: have a quick discussion about why the CDS view has a bad performance displayed in ST05 or SAT but the trace displayed in HANA studio shows a good performanceThanks a lot for your support.I have executed the

2020-11-21 20:44:58 12

原创 在StackBlitz上进行rxjs编程练习

网址:https://stackblitz.com/新建一个Angular应用,类型选择RxJS:StackBlitz会自动生成应用模板:源代码:import { of } from 'rxjs'; import { map } from 'rxjs/operators';const source = of('World').pipe( map(x => `Hello ${x}!`));source.subscribe(console.log);import { Ob

2020-11-21 09:47:06

原创 搬迁声明

我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:JerryWang_SAP,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply

2020-11-19 19:16:26 28

原创 SAP 2020全球技术大会(SAP 2020 TechEd)中国区会场现在开始报名啦!

今年由于疫情原因,SAP TechEd 全球技术大会将在线上盛大启幕。中国专场将在12月15日举行。SAP生态圈的业界领袖,行业专家,合作伙伴和研发者们将云集这个盛会,深入探索SAP的技术发展趋势。Jerry也是这次大会的主讲人之一。欢迎大家扫描Jerry的二维码进行报名。好多session已经报满了,大家赶快哦!...

2020-11-19 10:48:50 34

原创 Spartacus image alt属性的绑定实现

今天在程序员微信群里看到一条让所有在成都高新区天府软件园工作的程序员都觉得震惊的新闻。我们在成都天府软件园各大写字楼里工作的程序员,因为工作节奏非常快,中午吃饭一般通过点外卖解决,这样节省时间,中午可以利用午饭时间在座位上小睡一会。最近不是由于疫情原因嘛,送外卖的小哥无法像过去那样直接进入写字楼,把外卖送到电梯口,而是放在写字楼门外。今天我们得知,居然有人,专门偷这些放在写字楼外面,一时没人来取的外卖,更狗血的是还当场被捉住了。图片里这位黑色衣服被警察逮住的,就是偷外卖当场被抓的。据程序员爆料,更

2020-11-16 20:30:58 4325 13

原创 SAP Spartacus org unit list当前行is-current的判定逻辑

在Spartacus _list.scss里有这样的mixin定义:is-current-active-selection:定义在organization unit list行项目的a标签的class:is-current上运行时效果:换一种颜色:什么时候给这个tr标签分配的is-current class? <tr *ngFor="let item of data; trackBy: trackData" [class.is-current]="isC

2020-11-15 18:36:15 31

原创 SAP Spartacus后台CMS Component和Angular Component的映射关系

a skeleton using CMS Components from backend:ConfigModule.withConfig({ cmsComponents: { SimpleResponsiveBannerComponent: { component: MycomComponent }, CartComponent: { component: MyCartComponent

2020-11-15 12:32:27 30

原创 并不是所有SAP产品的UX,都得遵循Fiori UX风格

比如SAP Commerce Cloud Storefront的UX.一个朋友提问:求教Commerce 大拿:Spartacus 与 Commerce UX Design - Fiori 之间有什么联系吗?比如 Spartacus Storefront UI 也是Follow Fiori 设计原则和 Fiori 3.0 设计语言的吗?openSAP Spartacus公开课程的讲师之一,Tobias Ouwejan, 回答了这个问题:Fiori的诞生是为了business tools,其目标群体

2020-11-15 12:30:22 57

原创 关于SAP Kyma在国内的落地情况

一个朋友问我:我们现在做commerce扩展用kyma嘛?在国内落地了嘛?研究院有兄弟研究过这个玩意儿嘛?这个东西现在能部署在azure之类上吗?Jerry的回答我就研究过kyma,产品化就是Extension Factory,已经落地了。中国的客户,理论上只要购买了Azure,就可以一键将Kyma部署到Azure上。这叫BYOL,bring your own license,客户需要自己购买Azure的license,可以把Azure理解成最底层的IaaS,Kyma runs on top of

2020-11-15 12:00:06 30

原创 Jerry的反省:程序员不要轻易说出“这个功能技术上无法实现“

这是Jerry 2020年的第81篇文章,也是汪子熙公众号总共第263篇原创文章。Jerry之前的文章从医院到家,再重返SAP成都研究院,Jerry还没死 提到,我手术后重返SAP成都研究院,加入了Global的Spartacus开发团队,开始从事SAP Commerce Cloud新一代Storefront的开发工作。文章 SAP Spartacus简介,对SAP Spartacus做了一个概要介绍。本文给大家分享Jerry上周处理一个Spartacus issue的经历。本来Jerry也自诩是一位

2020-11-15 11:46:35 45

原创 HTML table标签和其子标签如td,td等不同区域focus然后回车的行为差异

第一版table:<html><body><table><thead> <tr> <th> Name </th> <th> Value </th> </tr></thead><tr><td> This is Jerry's very long name</td><td> 1&

2020-11-13 13:40:23 53

原创 SAP Spartacus org unit table不同区域focus然后回车的行为差异

使用tab键首先把focus设置在table row上,点回车:此时打开的是url:如果focus的是button:回车之后会展开该org unit:更多Jerry的原创文章,尽在:“汪子熙”:

2020-11-12 21:43:50 29

原创 SAP Spartacus org unit table的DOM structure

下图这个table的DOM元素结构:

2020-11-12 21:38:30 29

原创 一个能够保护个人收藏夹隐私的Chrome扩展

作为一个程序员,由于工作需要,经常得给其他人共享桌面。但我不想我分享桌面的时候,别人看到我浏览器的收藏夹,如下:我当然可以用快捷键Ctrl+Shift+B来隐藏整个收藏夹栏,但如此一来,我自己使用也很不方便了:后来我找到一个好用的Chrome收藏夹扩展:Neater Bookmarks:点击之后,点击屏幕右上角的扩展图标,会以树状结构显示我的收藏夹:并且打开的收藏夹具有记忆功能,比如这次展开了Angular文件夹,下次点击收藏夹icon之后,渲染的树状结构,Angular文件夹仍然是展开的

2020-11-12 21:33:51 79 1

原创 一个好用的Chrome倒数计时器扩展 - Calendar and Countdown

作为程序员,我采用番茄工作法,需要在指定的时间段内完成一些任务,比如30分钟之内,完成单用测试用例的编写,因此我需要一些软件或者Chrome扩展来帮助我完成倒数计时的任务。我在Chrome webstore上找到了这款扩展:Timer使用非常方便,指定倒数计时的时长,比如半小时,点击开始按钮Start即可:开始之后,浏览器会显示一个倒数计时的进度条,同时浏览器右上角出现一个小钟的图标,并且以绿色的数字显示倒计时的剩余时间,非常直观。可以随时用Stop,Resume和Restart来控制倒计时的

2020-11-12 16:52:06 66 1

原创 一个好用的时间管理Chrome扩展 - Calendar and Countdown

作为一个程序员,很多时候需要日期倒计时的功能(count down),比如还有多少天release某个产品的某个版本。为此我找了一个Chrome扩展,名叫Calendar and Countdown:这个扩展启动之后外观如下:单击日历上将来的任何一天,可以创建一个日期倒计时的里程碑,取个名字,比如在2020年12月15日,有一个事件:“我的演讲”。然后扩展会自动显示出当前日期,比如今天是2020年11月12日,2020年已经过了317天,还剩49天。还有33天到2020年12月15日,我的演讲

2020-11-12 16:39:51 63 1

原创 Chrome浏览器里的-webkit-focus-ring-color

我最初认为,下图的forms.scss会被其他的scss引用,然而根据forms.scss在整个项目进行搜索之后,没有发现任何文件引用到forms.scss:使用专业的文件搜索工具,发现最后生成的styles-es2015.js里包含了forms.scss:将SAP Spartacus :focus相关的scss都注释掉,会发现如今SAP Spartacus会使用浏览器默认的user agent stylesheet来渲染:focus效果:默认情况下,outline的颜色是-webkit-foc

2020-11-12 16:11:15 68 1

原创 SAP Spartacus forms.scss的引用问题

我最初认为,下图的forms.scss会被其他的scss引用,然而根据forms.scss在整个项目进行搜索之后,没有发现任何文件引用到forms.scss:使用专业的文件搜索工具,发现最后生成的styles-es2015.js里包含了forms.scss:更多Jerry的原创文章,尽在:“汪子熙”:...

2020-11-12 16:05:25 28

原创 SAP Spartacus里的@mixin visible-focus

有两个scss文件里定义了名为visible-focus的@mixin:可以把visible-focus看成一个变量的集合:第一个scss文件:feature-libs\organization_index.scss第二个scss文件:projects\storefrontstyles\scss\cxbase\mixins_visible-focus.scss这两处里定义的visible-focus值都一致。总共有五处通过@include visible-focus()重用了这个mixin.

2020-11-12 16:01:35 26

原创 SAP Spartacus org unit页面的三种focus border及细节讨论

最外面的矩形框,是table row里任意一个元素被focus之后,触发整个cx-table :focus-within的选择器后生成的效果:中间的一条竖线,是a标签 focus后的效果;button标签focus之后,产生一个小的矩形框;注意cx-table:focus-within的outline-offset -2px是必须的:否则最后整个table row的focus-within的border,就是下图上下两根线,会超出table border灰线,看起来很ugly.如果直接在Ch

2020-11-12 15:59:32 52

原创 我的工作日志 - 2020年11月11日星期三 阴

one row has 2 states:(1) the whole row is highlighted(2) only the arrow is highlightedbut the problem is with the second point:when we want to highlight arrow,the whole row is still highlighted我的任务Figure out a way to handle both scenariosboundary..

2020-11-12 11:27:44 36

原创 SAP Spartacus My Company list focus事件触发后,控件border的默认效果

在下面的状态下敲回车键:在下列的状态下敲回车键:更多Jerry的原创文章,尽在:“汪子熙”:

2020-11-12 11:16:58 34

原创 使用:focus-within实现下拉菜单效果

参考这个网站源代码:<html><style>/* General cleanup*/*,*:before,*:after { -webkit-box-sizing: border-box; box-sizing: border-box;}html,body { font-family: helvetica, arial, sans-serif; font-size: 18px; margin: 0; padding

2020-11-11 22:44:31 69

原创 一个使用:focus-within伪类实现的button选中动画效果

源代码:<html><style>.g-container { width: 300px; margin: 50px auto; } .g-container p { line-height: 1.4; padding-left: 40px; } .g-container input { position: absolute; border: none; outline: none; backgroun

2020-11-11 21:45:58 148

原创 :focus-within的冒泡触发

看个具体的例子:<html><style>html,body,.g-father,.g-children { padding: 30px; border:1px solid green;}input { display: block; border: none; outline: none; border: 1px solid black; margin: 0 auto;}input:focus {

2020-11-11 20:25:53 55

原创 如何给UI上可以接收focus事件的element动态注册onfocus处理函数

三大步骤:(1) 使用document.getElementById拿到待接收focus事件的ui元素:var button = document.getElementById(‘jerry’);(2) 动态创建一个onfocus的处理函数:var focused = function(event) { console.log('focused:' + event.type); }(3) 使用addEventListener注册:button.addEventListener('focus'

2020-11-11 19:23:15 60

原创 HTML里的onfocus事件处理函数

<html><style>div { margin:20px; height: 70px; border: 1px solid green; outline: 1px solid red; outline-offset: -4px;}:focus { background-color: blue;};</style><script>function focused(event){ debugger; console.log

2020-11-11 18:59:03 71

原创 关于div的outline-offset属性和focus事件的接收

outline-offset属性设置轮廓框架在 border 边缘外的偏移.Outlines在两个方面不同于边框:Outlines 不占用空间Outlines 可能非矩形outline-offset越大,越容易向外偏移:outline-offset越小,越容易向内偏移:<html><style>div { margin:20px; height: 70px; border: 1px solid green; outline: 1px solid .

2020-11-11 16:08:44 51

原创 CSS里:focus-within 的作用和用法

outline-offset属性设置轮廓框架在 border 边缘外的偏移.Outlines在两个方面不同于边框:Outlines 不占用空间Outlines 可能非矩形outline-offset越大,越容易向外偏移:outline-offset越小,越容易向内偏移:更多Jerry的原创文章,尽在:“汪子熙”:...

2020-11-11 15:17:21 25

空空如也

汪子熙的留言板

发表于 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的粉丝

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