SAP Spartacus 开源项目里 activeCartId$ 的实现
我们可以在 app.module.ts 里使用如下代码,获得当前 cart id: export class AppModule { constructor(_cart: ActiveCartService){ _cart.getActiveCartId().subscribe((data) => console.log('Jerry: ', da
关于单页面应用的 Token Storage 设计策略
单页面应用(Single Page Application) 通过 API 调用同外界交互。调用 API 时我们通常需要在请求中附加访问令牌,即 Access Token. SPA 开发人员需要确保令牌和其他敏感数据不易受到跨站点脚本 (XSS) 的攻击,并且不会被恶意 JavaScript 读取。 Auth0 SDK 建议将令牌存储在浏览器内存中作为最安全的选项。 使用 Web Worke
使用 Chrome 开发者工具的 Memory 标签页分析内存泄漏问题
当以服务器端渲染模式运行的 Web 应用的 Node.js 进程遇到内存泄漏问题时,通常我们能够观察到注意到频繁的内存峰值和 pod 重启,如下图 Dynatrace 工具所示: 分析内存泄漏问题的关键是在不同的时间点收集多个内存转储(Memory Dump),并比较每个收集之间的对象增长,例如 在 Pod 重新启动后不久和内存饱和之前不久。 可以在 Chrome 中从浏览器开发工具 &g
运行在 SSR 模式下的 Angular 应用的内存泄漏问题分析
运行在 SSR 模式下的 Angular 应用,为了避免服务器端和客户端两次调用同样的 API 引起屏幕的 Flickering 问题,通过都会使用 Angular TransferState 服务将信息从服务器发送到客户端,其工作原理如下图所示: 首先在应用程序 app.module.ts 中导入 BrowserTransferStateModule: import { BrowserM
SAP 云平台 (Cloud Platform) 架构概述
引言在我们开始SAP云平台的架构之旅之前,让我们先看看SAP已经发布的一些其他云产品。这些云产品方案可以分为公有云和私有云两种。SAP公有云解决方案见下图最右侧,比较著名的有SAP SuccessFactors和SAP Cloud for Customer(C4C)等,作为SAP软件即服务(SaaS)的解决方案。以SAP C4C为例,软件应用和计算资源均由SAP提供,部署于SAP的数据
微信小程序开发系列 (四) :微信小程序的页面跳转路由设计
笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。 本教程前面三篇文章: 微信小程序开发系列 (一) :开发环境搭建和微信小程序的视图设计与开发微信小程序开发系列 (二) :微信小程序的单步调试和控制器实现步骤概述微信小程序开发系列 (三) :微信小程序如何响应用户点击
微信小程序如何响应用户点击事件和微信平台 API 的使用方法介绍
笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。 本教程前面两篇文章: 微信小程序开发系列 (一) :开发环境搭建和微信小程序的视图设计与开发微信小程序开发系列 (二) :微信小程序的单步调试和控制器实现步骤概述 通过本教程前面两篇文章的介绍,大家对微信小程序的视图
微信小程序开发系列 (二) :微信小程序的单步调试和控制器实现步骤概述
笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。 本系列的前一篇文章:微信小程序开发系列 (一) :开发环境搭建和微信小程序的视图设计与开发, 我们介绍了微信小程序的开发环境搭建,并且从一个 Hello World 级别的例子,了解了微信小程序 MVC 架构中 View 即
使用自定义 Query 实现 SAP UI5 页面路由的书签功能试读版
一套适合 SAP UI5 初学者循序渐进的学习教程教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP UI5 的引导过程 Bootstrap SAP UI5 应用开发教程之三:开始接触第一个 SAP UI5 控件 SAP UI5 应用开发教程之四:XML 视图初探 SAP UI5 应用开发教程
SAP UI5 应用开发教程之七十二 - SAP UI5 页面路由的动画效果设置试读版
一套适合 SAP UI5 初学者循序渐进的学习教程教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP UI5 的引导过程 Bootstrap SAP UI5 应用开发教程之三:开始接触第一个 SAP UI5 控件 SAP UI5 应用开发教程之四:XML 视图初探 SAP UI5 应用开发教程
运行在 CCV2 环境上的 Angular 服务器端渲染应用的性能瓶颈分析
在 Angular 应用程序中使用服务器端渲染,出于以下几种原因: SSR 有助于搜索引擎优化。 搜索引擎爬虫可以解析通过服务器端渲染的 HTML 页面源代码。而运行在 CSR 模式下的单页面应用,页面源代码是在客户端浏览器里执行复杂的 JavaScript 生成,现代很多爬虫对此内容无能为力。 Facebook 和 Twitter 等社交媒体平台,可以在共享时显示 SSR 渲染出的网站的
运行在 CCV2 环境上的 Spartacus Storefront 如果出现性能问题该怎么分析
理论上来说,一旦用户请求到达 Spartacus SSR 服务器,通常有三个潜在的响应时间贡献者,其中最后一个也可以细分成多个潜在的性能瓶颈: 执行 Node.js 代码所花费的时间在 apache 层上向 OCC 层请求所花费的时间请求 OCC 层在 API 服务器上花费的时间 对于第三点,下列原因都可能造成 API 服务器响应时间过长: API pod 上的资源耗尽DB 锁定/D
运行在生产系统中的企业级 JavaScript 应用的性能问题分析指南
企业级 JavaScript 应用部署在生产系统并运行后,如果出现性能问题,则找出引起这些性能问题的根源,往往不像找出引起运行时故障或者异常的根源那么简单。JavaScript 应用的性能问题往往表现在用户请求响应时间的下降,系统可用资源的降低甚至耗尽。 本文以一个开源的电商 Storefront 企业级应用Spartacus为例,来给大家分享 JavaScript 应用在生产系统遇到性能问题时
SAP UI5 应用开发教程之七十 - 如何使用按钮控件触发页面路由跳转试读版
一套适合 SAP UI5 初学者循序渐进的学习教程教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP UI5 的引导过程 Bootstrap SAP UI5 应用开发教程之三:开始接触第一个 SAP UI5 控件 SAP UI5 应用开发教程之四:XML 视图初探 SAP UI5 应用开发教程
在技术社区编写技术博客的一些心得体会
在技术社区进行技术博客的写作,能让程序员有机会分享专业和个人经验、观点、见解和专业知识。它还使技术文章创作者建立自己的个人品牌,并与自己行业的同行、合作伙伴、客户和潜在客户进行互动。 技术社区中的博客文章涵盖了广泛的主题,可能包括但不限于与大量程序开发主题相关的理论、策略和观点。在社区中撰写和发布博客文章时,请考虑文章的主题是否与社区受众相关。它是否为博客的读者们解决了问题? 以下是我这些年来
微信小程序开发系列(一) :开发环境搭建和微信小程序的视图设计与开发
笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。 步骤1:微信小程序的申请和开发环境的搭建本步骤主要是微信小程序的注册和开发环境的搭建。 首先我们要在微信官方网站申请一个属于自己的微信小程序: 点击按钮 前往注册。注意我们需要使用一个没有注册过微信小程序或者微信公众
Docker 实战教程之从入门到提高 (七)
本教程的前六篇文章: Docker 实战教程之从入门到提高 (一)Docker 实战教程之从入门到提高 (二)Docker 实战教程之从入门到提高 (三)Docker 实战教程之从入门到提高 (四)Docker 实战教程之从入门到提高 (五)Docker 实战教程之从入门到提高 (六) 以及通过这篇文章的介绍,我们深入学习了 Docker 技术的三大要点。 从本文开始,我们将学习如何将
Docker 实战教程之从入门到提高 (六)
本教程的前五篇文章: Docker 实战教程之从入门到提高 (一)Docker 实战教程之从入门到提高 (二)Docker 实战教程之从入门到提高 (三)Docker 实战教程之从入门到提高 (四)Docker 实战教程之从入门到提高 (五) 以及通过这篇文章的介绍,我们深入学习了 Docker 技术的三大要点。 本文继续通过实战来深入了解 Docker 技术。 练习1:运行在 Doc
Docker 实战教程之从入门到提高 (五)
本系列的前四篇文章,我们学习了如何在 Ubuntu 操作系统安装 Docker,并且通过实战练习,了解了 Docker 和宿主机操作系统文件目录互相隔离的实现原理,以及 Docker Volume 的工作原理。通过动手对 Nginx Docker 镜像进行修改,达到自定义其首页显示的目的。 Docker 实战教程之从入门到提高 (一)Docker 实战教程之从入门到提高 (二)Docker
Docker 实战教程之从入门到提高 (八)
本教程的前七篇文章: Docker 实战教程之从入门到提高 (一)Docker 实战教程之从入门到提高 (二)Docker 实战教程之从入门到提高 (三)Docker 实战教程之从入门到提高 (四)Docker 实战教程之从入门到提高 (五)Docker 实战教程之从入门到提高 (六)Docker 实战教程之从入门到提高 (七) 以及通过这篇文章的介绍,我们深入学习了 Docker 技术的