封面图

什么是 Angular 项目的 code split?

4 月 17 日
阅读 2 分钟
13
在讨论 Angular 项目中的代码分割 (code splitting) 之前,我们先要了解其基本概念及重要性。代码分割是一种优化网页性能的技术,通过将应用程序的代码分成多个较小的块,这些块可以按需加载,而不是一开始就加载整个应用程序。在 Angular 中,代码分割通常与路由 (routing) 和懒加载 (lazy loading) 密切相关。
封面图

.js 文件和 .mjs 文件的区别

4 月 17 日
阅读 2 分钟
14
在 Node.js 的世界中,.js 和 .mjs 文件扮演了非常重要的角色,它们代表了不同的模块系统:CommonJS 和 ECMAScript 模块。了解它们的差异不仅有助于编写更有效的代码,还可以帮助开发者更好地理解现代 JavaScript 的生态和发展趋势。

封面图

为什么说软件开发 architect 也需要具备 diplomat 的特质

4 月 17 日
阅读 2 分钟
8
在现代软件开发中,architect 的角色经常被强调其技术深度和对系统架构的全面理解。然而,这个职位同样需要一种看似与之无关的技能 —— diplomat(外交官)的特质。这种需求源于软件开发不仅仅是技术的堆砌,更是人与人之间协作和沟通的艺术。
封面图

使用 AIGC 归纳一段新闻生成简报

4 月 17 日
阅读 6 分钟
14
登录百度智能云的控制台,创建一个新的应用,把生成的 API Key 和 API Secret key 抄下来,因为后续换取 access token,需要用这两个字段去交换。
封面图

如何更改 Spartacus Product carousel 的相对位置

4 月 17 日
阅读 2 分钟
11
在 SAP Commerce Cloud 中调整产品轮播(Product Carousel)中产品的相对位置,可以通过几种不同的方法实现。这些方法涵盖从通过 ImpEx 脚本直接修改数据模型,到在 CMS 管理控制台进行配置的操作。以下内容详细介绍了如何执行这些操作,包括具体的代码示例和步骤说明。
封面图

软件开发领域里一个 architect 和一个 technologist 有什么区别

4 月 17 日
阅读 1 分钟
10
在信息技术领域,architect(架构师)和 technologist(技术专家)是两个关键的职位,虽然这两者在技术上可能有相交的部分,但它们在角色职责、工作重点及目标实现方式上有明显的区别。
封面图

Commerce Cloud Product Carousel Component

4 月 17 日
阅读 2 分钟
11
SAP Commerce Cloud 是一个全面的商业解决方案,旨在为企业提供强大的电子商务功能,包括网站管理、营销、产品内容管理和直接与客户的交互。作为 SAP Commerce Cloud 的一部分,Smartedit 提供了一个直观的网页编辑界面,使非技术用户可以轻松地管理和更新电子商务网站的内容。在 Smartedit 中,product carousel Compon...
封面图

Commerce Cloud OCC CMS API 返回的 Product Carousel Component 数据

4 月 17 日
阅读 2 分钟
13
SAP Commerce Cloud 是一款强大的电子商务解决方案,广泛应用于全球各大小企业中,以实现其多渠道销售的需要。在 SAP Commerce Cloud 中,product categories 属性是核心功能之一,用于组织和管理产品目录结构,从而为用户提供清晰、高效的购物体验。通过合理利用 product categories 属性,企业能够更好地进行商品分类...
封面图

Python GUI 设计的一个简单例子

4 月 17 日
阅读 3 分钟
15
这段代码是一个比较复杂的 Python 脚本,主要涉及图像处理、图形用户界面 (GUI) 创建、和一些操作系统级的功能。下面,我将逐行解释这段代码的作用和逻辑。
封面图

一个检测文字是否是 AI 生成的工具

4 月 17 日
阅读 2 分钟
8
在人工智能和自然语言处理领域,识别文本是否由机器生成的技术已经变得越来越重要。这些技术背后的原理通常涉及机器学习模型,特别是深度学习模型,用于分析和区分人类和机器生成的文本特征。这种能力对于抗击虚假信息、保护知识产权、确保内容的真实性等方面非常关键。
封面图

Commerce Cloud 里的 Product Catalog 和 Product Categories 的联系

4 月 17 日
阅读 2 分钟
11
SAP Commerce Cloud 是一个为企业提供全方位电子商务解决方案的平台,旨在帮助企业实现高效的在线销售和客户管理。其中,product catalog(产品目录)是该平台中一个核心的组件,它承载着企业对外展示商品信息的重要功能。
封面图

一个用来扫描文本是否由 AI 生成的网站

4 月 17 日
阅读 2 分钟
10
要在不违反 ChatGPT 使用政策的前提下,调整 ChatGPT 的 prompt 以减少 AI 生成文本的特征,我们可以从多个角度来思考和实施。理解这一过程的核心是提高文本的自然度、语境的连贯性以及个性化的表达,这样能够更加接近人类写作的风格。
封面图

什么是 DNS_PROBE_FINISHED_NO_INTERNET 错误

4 月 17 日
阅读 2 分钟
17
在讨论 DNS_PROBE_FINISHED_NO_INTERNET 这个问题之前,我们需要明确了解几个相关的概念,包括 DNS 服务、浏览器的工作机制,以及网络连接的基本原理。
封面图

SUSE 安装过程中的一个错误消息和解决方案

4 月 17 日
阅读 2 分钟
9
Failure! build file wasn't produced.Please read INSTALL md and associated NOTES-* files. You may also have tolook over your available compiler tool chain or change your configuration.ERROR!No C compiler found, please specify one with the environment variable Cc,or configure with an explicit confi...
封面图

Spartacus cart item remove 不会进入到 59 行这个分支

4 月 17 日
阅读 2 分钟
9
在 Angular 的开发过程中,ReplaySubject 是一个极为有用的类,属于 RxJS 库中的一部分。它主要用于在多个组件或服务之间共享数据。与基本的 Subject 不同,ReplaySubject 能够记录并重放它发出的值给新的订阅者,即使这些值是在订阅之前发出的。
封面图

什么是计算机软件中的 dashboard

4 月 16 日
阅读 2 分钟
24
在计算机软件领域,dashboard (仪表板)是一个重要的概念,它通常被设计用来提供快速的数据概览和分析,以便用户能够洞察重要的信息,并做出相应的决策。Dashboard 的设计可以极大地影响用户体验和效率,因为它直接关系到信息的展示方式和可操作性。
封面图

Spartacus cart list item 删除的实现原理

4 月 16 日
阅读 2 分钟
16
Remove url:Selector:cx-cart-item-list找到 Component 为 CartItemListComponent:selector 找错了,应该是这个:cx-cart-item-list-rowmarkAsDirty:在深入探讨 mark as dirty 的概念之前,我们需要明确它在计算机科学领域的广泛应用。mark as dirty(标记为脏)是一种常用的技术,用于优化数据处理、减少不必要的计...
封面图

KOI Backend - eventEmitter

4 月 16 日
阅读 3 分钟
14
本文介绍第二个环节。Web shop发送请求给WebSocket服务器:wsServer.js: 直接把请求通过eventEmitter抛一个事件出去:wsServer.js负责抛事件,不负责具体处理。具体处理交给application层面的wsServerforWebShop.js处理:来自Webshop的请求细节,line 120发送往Orchestra:在 Node.js 的广阔宇宙中,eventEmitter 是一...
封面图

KOI 后台新的架构下,webshop如何消费后台服务 - websocket 初始化

4 月 16 日
阅读 2 分钟
15
本文介绍图中绿色方框,Web shop是如何消费backend提供的微服务的。打开backend-ms repository的miniWebShop.html:通过这行代码建立和Web Socket服务器的连接:var socket = io('ws://127.0.0.1:8877');通过socket.emit API向Web服务器发送一个action,名称为requestFromWebShop, action的负载为oData。通过socket.on即...
封面图

WebShop WebSocket server 和 WebSocket 客户端的一对多关系维护

4 月 16 日
阅读 2 分钟
14
一个WebSocket服务器可以和多个WebSocket客户端连接。clientAddress:web socket服务器for Webshop的IP地址和端口号clientSocketID:web shop webpage的WebSocket ID:
封面图

KOI Orchestra 从微服务提供商获得结果,再发送回 WebSocket 服务器

4 月 16 日
阅读 2 分钟
14
Orchestra通过TCP 服务器接收微服务的响应:还是在TCPServer.js的handleInboundData里:和第二步骤相匹配,第五步也是接收数据,因此是inbound处理,通过后缀Response区分这是一个响应。找到对应的Web Shop的WebSocket服务器socket并发送数据。在深入探讨 Chrome 开发者工具的 Callstack 中 (anonymous) 显示的含义之前...
封面图

KOI 微服务提供者接收请求,提供服务并传回给 Orchestra

4 月 16 日
阅读 2 分钟
13
在technical stack的tcpClient.js里接受Orchestra发送过来的请求,然后通过事件messageFromOrchestra投递给具体的微服务实现:
封面图

KOI websocket服务器转发请求给 orchestra - 什么是 Client Address

4 月 16 日
阅读 2 分钟
9
本文介绍第三步:Orchestra接收web socket的请求Orchestra将请求转发给微服务提供商因为目前只有Orchestra一个服务器作为TCP服务器使用,所以大部分逻辑都直接写在tcpServer.js里:handleInboundData里面加上一个switch case的分支:只有Orchestra才知道对于一个请求,到底哪个微服务可以处理:拿到微服务提供商对应的套...
封面图

为什么在 SAP 圈子里,大家总是习惯将 SAP 发音成 S-A-P, 而不是 [sæp]?

4 月 15 日
阅读 2 分钟
20
我这个人比较懒,让我写写技术文章没问题。如果是亲自录制 SAP 相关技术视频,很早的时候我尝试过,一个短短 5 分钟的视频,后期的视频剪辑,比如配上字幕,就得花费 30 分钟左右。如果视频本身再长一些,那后期制作的时间足以将我劝退。
封面图

Angular ngOnChanges(changes SimpleChanges) 的作用和使用场景

4 月 15 日
阅读 2 分钟
14
在深入探讨 ngOnChanges(changes?: SimpleChanges) 的作用和使用场景之前,我们需要明白 Angular 框架的基础和响应式编程原则。Angular 是一个由 Google 维护的开源前端框架,旨在帮助开发者通过使用 TypeScript 构建动态的单页应用(SPA)。它为开发者提供了一整套工具和设计模式,用于构建高效和可维护的应用程序。
封面图

Angular UntypedFormControl markAsDirty 方法的用途介绍

4 月 15 日
阅读 3 分钟
14
理解 markAsDirty 方法的使用场景对于精确控制 Angular 表单的状态非常关键,尤其是在实现复杂交互逻辑的应用中。markAsDirty 方法是 Angular 表单控件的一个功能,它用于手动将表单控件标记为 dirty,即用户已对表单控件进行了修改。在默认情况下,当用户改变一个表单控件的值时,Angular 会自动将该控件标记为 dirty。...

什么是 web 应用的 composable 特性

4 月 15 日
阅读 2 分钟
16
在讨论 Web 应用的 composable 特性之前,我们需要明确 composable 这个概念。在 Web 开发中,composable 描述的是一种能够将不同的组件(通常是 UI 组件)组合起来构建应用的能力。这种方式强调的是组件的复用性、可维护性以及灵活性。通过组合小而专一的功能组件,开发者可以构建出复杂且功能丰富的 Web 应用。
封面图

什么是 Web 应用开发领域的 Frontend Fragmentation(前端碎片化)现象

4 月 15 日
阅读 2 分钟
17
在探讨 Web 应用开发领域的 Frontend Fragmentation(前端碎片化)现象之前,我们需要先明确几个基本概念。Web 前端开发,简而言之,是构建和优化用户在浏览器或 Web 应用程序中的交互体验的技术和过程。它包括但不限于 HTML、CSS 和 JavaScript 的使用,以及各种框架和工具的利用。然而,正是这些技术的广泛和多样化,...
封面图

Spartacus Cart item 点击了 remove 之后 HTTP Delete 请求的触发逻辑 - Adapter

4 月 15 日
阅读 2 分钟
12
在深入探讨 SAP Spartacus Storefront 中的 OccCartEntryAdapter 功能和使用场景之前,我们首先需要了解 Spartacus 本身以及它在当今的电子商务解决方案领域中扮演的角色。SAP Spartacus 是一个开源的 JavaScript 前端框架,专为 SAP Commerce Cloud 创建。其设计理念是提供一种轻量级、可扩展且易于自定义的方法,以构...
封面图

Spartacus cart 点了 remove 之后的 HTTP Delete 请求是怎么触发的

4 月 15 日
阅读 4 分钟
17
url:/occ/v2/electronics-spa/users/current/carts/00002473/entries/0?lang=en&curr=USD
封面图

Spartacus empty cart 页面的显示逻辑

4 月 15 日
阅读 3 分钟
15
在深入探讨 SAP Spartacus Storefront 中 CartPageLayoutHandler 的功能和使用场景之前,让我们先对 Spartacus 项目有一个基本的了解。SAP Spartacus 是一个开源的 JavaScript 前端框架,旨在创建 SAP Commerce Cloud 的电子商务网站。它采用现代化的技术栈,包括 Angular、RxJS 和 Ngrx 等,为开发者提供灵活性和可扩展...
封面图

什么是网络游戏里的人机概念

4 月 15 日
阅读 2 分钟
14
在讨论网络游戏中的人机概念之前,我们需要明确什么是人机。人机(AI),在游戏领域,指的是由计算机程序控制的非玩家角色(NPCs)的行为和决策过程。这些AI 角色可以从简单的静态敌人到能进行复杂决策和策略的对手不等。网络游戏中的人机不仅增加了游戏的丰富性和挑战性,还能在缺乏人类玩家时填补游戏世界,使其显得更...
封面图

Angular UntypedFormControl 的使用场景介绍

4 月 15 日
阅读 2 分钟
16
在深入探讨 UntypedFormControl 的作用与使用场景之前,我们需要理解 Angular 表单的基础概念以及 UntypedFormControl 是如何在这个框架中扮演重要角色的。Angular 提供了两种不同的表单构建策略:响应式表单和模板驱动表单。UntypedFormControl 是响应式表单策略中的一个关键概念。
封面图

一个成都七中的初中生,出于兴趣爱好实现的 Win12 UI 页面效果,佩服佩服

4 月 15 日
阅读 5 分钟
25
这个开源项目,作者没有使用任何诸如 Angular,React 和 Vue 等前端开发框架,而是纯 HTML 加上 JavaScript 编程,对照着前段时间微软发布的 Windows 12 概念版(Powered by PowerPoint),在浏览器里以网页版的形式实现了出来。