关于 Angular 工程文件 angular.json 里的 inlineCritical 属性
Angular 工作区根级别的 angular.json 文件提供工作区范围和项目特定的默认配置。这些用于 Angular CLI 提供的构建和开发工具。 配置中给出的路径值是相对于根工作区目录的。 其中有个参数:inlineCritical,用于提取和内联关键 CSS 定义以改进 First Contentful Paint,默认值为 true. First Contentful Pai
关于 Spartacus 在 PWA 模式下运行时的 index.html hash 不匹配的问题
Spartacus 开源项目提供将 Angular 实现的 电商 Storefront 站点作为 PWA 运行的功能。 这提高了用户性能,改善了用户体验,添加了另一个缓存层并减少了服务器端渲染 (SSR) 服务的负载。 PWA 的工作方式是,对于应用程序定义的文件列表,它会根据文件的内容生成文件哈希。客户端浏览器根据这个 hash 值来判断文件是否发生了更改。如果发生更改,则浏览器需要重新
关于 Safari back 按钮在 iOS 16 不能按照期望工作的问题分析
设备: iOS: 16.1.1User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1 问题重现步骤: 使用 iOS 16.1.1 Safari
使用 SAP ABAP Memory Inspector 对应用程序消耗内存进行检测时常犯的错误试读版
本教程前面的步骤,我们花了 4 篇文章的篇幅,来系统阐述了 ABAP 程序运行时消耗内存的话题。 77. 简单聊聊 ABAP 变量消耗的内存空间这个话题 78. 浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题 79. 使用 OPEN CURSOR 和 FETCH NEXT CURSOR 对 SAP 数据库表进行分块读写 80. 使用事务码 SAT 比较传统的 SELECT SQL
什么是 ABAP 编程语言的 Used Memory 和 Allocated Memory
ABAP 必须在连续的内存空间中存储 Internal Table 和字符串。 出于这个原因,ABAP 总是为这些类型对象分配比实际需要更多的存储空间。额外的存储允许高效地增长表和字符串。如果没有额外的空间,ABAP 将不得不在第一次向表中添加新行或延长字符串时,将内表或字符串复制到更大的连续内存空间。因此,ABAP 这种激进的内存分配策略,是一种典型的空间换取时间的思路。 对于字符串和内部表
ABAP 编程语言里的 Reference Semantic - 引用语义
ABAP 编程语言里,对 ABAP 类实例(类对象)或匿名数据对象的多个引用,使用引用语义(Reference Semantic)解析。 这意味着: 引用单个类对象或匿名数据对象的所有变量,在内存中 共享该对象的单个副本。 将这样的对象分配给变量会创建一个引用,而不是引用内存对象的单独副本。 通过特定变量对类对象或匿名数据对象的更改对于引用同一对象的所有其他变量都是可见的。 与表
ABAP Memory Inspector 里对动态内存对象的内存消耗度量方式
ABAP 静态内存对象是其大小在设计时由数据类型声明设置的对象。 除非更改程序代码本身,否则程序中此类变量占用的内存不会更改。 在 ABAP 术语中,静态变量也称为 flat variable 或 flat Component. 下面是这种类型的变量在 ABAP Memory Inspector 里显示的例子: 值语义(Value semantics)和引用语义(reference s
Standard ABAP Debugger 和 Classic ABAP Debugger 的实现差异
这两种 ABAP 调试器,可以在 SAPGUI 里这个菜单的位置进行切换: Standard ABAP 调试器有时候又称为新调试器。 新的 ABAP 调试器在一个同被调试的 ABAP 程序完全不同的 External Session 内运行。 关于 External Session 的含义,请参阅笔者的教程: 58. 通俗易懂的 SAP ABAP 会话管理(Session Manage
keychron K3 键盘和 Windows11 操作系统的笔记本电脑通过蓝牙配对出现问题的解决方案
最近一直使用良好的 keychron k3 键盘,忽然出现了一些问题。 我用的是 Windows11 操作系统。keychron k3 采用蓝牙模式连接。能够成功配对,但 Connected 状态只能持续1秒钟,随即就变成了 Paired 状态。 下图是短暂的1秒钟能够成功连接的状态: 同这台笔记本电脑连接的其他蓝牙设备,比如蓝牙音箱和蓝牙鼠标,一直工作正常。 这个 k3 键盘已经
使用 Excel cdata addin 连接 SAP ABAP 系统时遇到错误消息
错误消息: Detail: NilHSBufInit: already initialized RFC_COMMUNICATION_FAILURE cdata 选项,没有填写 SAProuter 的地方,大概是哪里的问题? 笔者在 AG3 做 CRM 开发时,并没有手动维护 saprouter 的地址,如下图所示: 从蓝色高亮的 cdata 连接维护界面里的 Connec
使用事务码 SAT 比较 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取的性能差异
从 77 开始的连续三篇文章,我们了解 ABAP 程序中变量占用内存空间的话题。通过一位读者朋友向我咨询过的实际问题,介绍了使用 OPEN CURSOR 和 FETCH NEXT CURSOR 这组 ABAP 关键字来实现 ABAP 数据库表分块读取的方法。 77. 简单聊聊 ABAP 变量消耗的内存空间这个话题 78. 浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题 79. 使用
使用 Excel cdata addmin 连接 SAP ABAP 系统时需要填写的参数定义解释
这个链接 包含了一个能够直接在 Excel 里连接 SAP ABAP 系统的 Excel addin,安装之后,在 Excel 里看到一个新的名叫 cdata 的标签页,维护目标 ABAP 系统的明细后,可以直接在 Excel 里连接 ABAP 系统。 需要维护目标 ABAP 系统的下列信息,我用图例1,2,3,4 来代表。本文余下部分分别介绍这四个字段的含义和填写方式。 我们可以在 SA
关于 Angular 开发时对主流浏览器支持的话题
理想情况下,一个 Angular 应用将在客户使用的任何浏览器中统一呈现。 然而,Web 浏览器并不都支持相同的 Web 标准,它们也不以相同的方式处理这些标准。 例如,有不同的方式来解释标准的规范,进行设计决策。这些不同的设计决策方式,会导致不同的结果,以及出现一些只有在某种浏览器上才能重现的错误。 对于受支持的每个浏览器,都会产生包括 QA、架构决策和技术决策在内的实施工作。 总
关于现代浏览器的 back-and-forward 缓存机制
setUpLocationChangeListener:设置位置更改侦听器。 这个侦听器检测从路由器外部触发的导航(例如,浏览器后退/前进按钮)并安排相应的路由器导航,以便触发正确的 guard event. Angular 路由文档里提到: Had you clicked the browser’s back button instead of the application’s “Ba
Angular 应用如何回退到之前曾经浏览过的页面
我们使用下面的代码,将 Router 注入到应用程序 Component 的构造函数里,然后再调用其 navigate 方法,这种思路只能实现 SPA 应用间的静态路由跳转。 import { Router } from '@angular/router' @Component({...}) export class UserDetailComponent { co
关于 Angular 应用对浏览器 Back 按钮支持问题的讨论
需求1:如果开发人员想禁用整个应用程序或多个组件的后退按钮需求2:如果只想禁用特定组件的后退按钮 对于第一个要求,一个可行的办法是,实现一个 Guard 并将其应用于所需的路由。 示例代码: import { LocationStrategy } from '@angular/common'; @Component({ selector: 'app-roo
SAP UI5 应用 manifest.json 文件里 Routes 数组元素的相对顺序,不可忽视的试读版
本教程第 77 篇文章发表之后,一位学习非常仔细的朋友发现了一个问题: SAP UI5 应用开发教程之七十七 - SAP UI5 动态页面路由的高级用法:路由记录 routes 和 target 的一对多关系 Hi,Jerry,我在复刻这个篇章的代码的时候遇到了一个问题:在mainfest.json文件中配置routes时,若把该篇的新的路由路径写在最后,点击Home对应的按钮会跳转到
不懂技术有机会进 SAP 吗?
本文标题是知乎上一个网友提出的问题: 专业是经济,没学过编程,可以进 SAP 做哪些职位,如何准备? 因为平时经常有朋友通过知乎或者微信公众号等渠道,向我询问一些关于 SAP 招聘方面的问题。其实 SAP 招聘信息,除了在 SAP 官方招聘公众号上能够查找之外,也可以在 https://jobs.sap.com 这个网站上查询最新的职位列表。 Jerry 把在知乎网站上的回复,粘
使用 OPEN CURSOR 和 FETCH NEXT CURSOR 对 SAP 数据库表进行分块读写试读版
@TOC 在本教程前一步骤,我们介绍了需要对 ABAP 数据库表进行分块读写的场合,这是来自一个朋友向我咨询的实际问题。 78. 浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题 开发任务开发一个 ABAP 函数: 输入参数为 iv_count, 指定该 ABAP 函数的调用者,期望函数返回的记录个数。 输出参数为 et_data, 这是一张内表,包含了满足指定条件的来自数据
浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题试读版
本专栏计划的文章数在 300 篇左右,到 2023年1月8日为止,目前已经更新了 78 篇,专栏完成度为 26%笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大学习者一如既往的支持。本教程计划花费 150 左右的篇幅,向大家详细介绍 SAP ABAP 开发的方方面面。 大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程