在TypeScript和Angular中使用Getter和Setter

getter 和 setter 是一种众所周知的模式,在不同的语言中使用。在本文中,我想通过 TypeScript 中的示例帮助您理解 getter 和 setter。看看它如何在 Angular 应用程序中发挥作用。

阅读更多

更好的大屏幕设计

Material You 如何支持美观、高效的平板电脑和可折叠体验?

近年来,我们看到了更大屏幕的增长趋势。这在一定程度上是由于平板电脑、大型智能手机和台式机的日益普及。

在今年的 Google I/O 大会上,Material Design正在深入研究针对设计师和开发人员的大屏幕设计的最新指南。请关注我们的演讲并继续阅读,了解 Material如何帮助您应对针对多种设备进行设计的挑战和机遇,以满足应用程序用户不断增长的需求。

阅读更多

Material Design 3介绍

1. 什么是Material Design?

Material Design 是由 Google 设计师和开发人员构建和支持的设计系统。Material.io包含针对 Android、Flutter 和 Web 的深入 UX 指南和 UI 组件实现。

Material于2014年推出,多年来不断发展。
材料设计1(M1):第一代Material Design于2014年推出,存档并可访问:https://Material.io/archive/guidelines
材料设计2(M2):2018年推出的第二代材料设计引入了Material主题和Material组件。
Material Design 3(M3):2021年推出的第三代Material包括Material You功能,支持个性化、自适应和富有表现力的体验 - 从动态颜色和增强的无障碍功能,到大屏幕布局和设计Tokens的基础。
Material You:新的Material视觉风格和一系列功能,满足个人用户的个人和表达需求,是Material Design 3的一部分

最新版本 Material 3 支持个性化、响应式和富有表现力的体验 - 从动态颜色和增强的可访问性,到大屏幕布局和Design tokens的基础。

阅读更多

如何在Ubuntu 22.04上安装Sentry

Sentry 是一个免费和开源的错误跟踪平台,可以实时监控和修复崩溃。它使软件开发人员能够看到重要的东西,更快地解决问题,并不断了解他们的应用程序。这个平台提供了对生产部署的实时洞察力,并提供了重现和修复崩溃的信息。Sentry 支持所有主要的语言和框架,并与你喜欢的应用程序和服务集成。

阅读更多

使用rpm部署Strapi

strapi 是目前我最喜欢的 CMS 系统之一, 因为它可以嵌入到各种前端框架, 并于各种前端技术浑然天成, 这是我喜欢它的原因. 这里大胆预测一些, 它大概会成为下一代 CMS 系统的引领者. 虽然它还很年轻, 但是已经出现王者气象.

正如很多年轻技术一样, 它还有很多不够完善的地方, 今天就它对于 self-hosted 部署方式的不足之处, 我们另辟蹊径介绍一种我正在实践的自动部署方式. 那就是使用 rpm 包进行部署.

阅读更多

Angular中使用forroot和forchild

在本文中我们将深入探讨一些您可能已经见过的 Angular 模式和方法。我将讨论 Angular 管理依赖项辑器配置信息中经常会使用到的 forRoot 和 forChild 方法。

阅读更多

Angular独立组件介绍

Angular 14 引入了独立组件——该组件不属于任何 ngModule 的一部分,可以与其他独立或基于模块的组件一起使用。

从 Angular 14 开始,您可以创建整个应用程序,而无需制作任何自定义 Angular 模块,这可以通过使用独立组件来实现,这些组件提供了创建 Angular 应用程序的简化方法。

阅读更多

在Angular中使用async-await特性

Promise 和回调函数是在 JavaScript 中编写异步代码的构建块。

在 Angular 应用程序中,我们可以使用 Rx.js 来利用 Observables、Subject、BehaviorSubject 等的强大功能,以优雅的方式编写异步代码。

随着最新版本的 ECMA Script 草案,JavaScript 开始支持“异步等待”功能。

ECMAScript 最新草案 (ECMA-262)

阅读更多

Angular Async Pipe详解

Async Pipe可以对 Angular 应用程序的更改检测策略产生巨大影响。如果到目前为止您还感到困惑,请详解读完全文。我们一起来了解一下吧!

在 Angular 中,Async Pipe本质上是执行以下三个任务的管道:

  • 它订阅一个observable或一个Promise并返回最后发出的值。
  • 每当发出新值时,它都会标记组件为需要要检查的。这意味着Angular将在下一个周期中为该组件运行Change Detector。
  • 当组件被销毁时,它会取消订阅可观察的内容。

此外,作为最佳实践,建议尝试使用 onPush 更改检测策略上的组件和异步管道来订阅可观察对象。

如果您是Angular的初学者,也许上面对异步管道的解释让人不知所措。因此,在本文中,我们将尝试使用代码示例逐步理解异步管道。只需创建一个新的Angular 项目并继续操作即可;在文章的最后,您应该对异步管道有一些深刻的了解。

阅读更多

Angular整合strapi CMS

1. 前言

对于我们这些开发人员来说,启动一个新的web项目可能是一项乏味的工作。一些普通的增删改查都要自己亲自动手去写,那效率着实是大打折扣的。

一些技术选型工作要一次一次地被重复考虑.

  • 前端应该使用什么技术?
  • 我应该在后端使用什么技术?
  • 什么数据库是最好的?

因为现在所有的Javascript技术,如React、Angular和Vue,在构建Web应用程序时都非常流行,所以我们可以很快得到第一个问题的答案。
但是后端呢?我应该使用NodeJS还是.NET Core?
使用关系数据库还是非关系数据库更好?
后端解决方案Strapi已经找到了所有这些问题的答案。

在本文中,我们将使用Strapi和Angular构建一个简单的web应用程序。

阅读更多

Strapi的安装和使用

strapi一款基于Node.js开发的headless, 接口优先(API-first)的内容管理系统.

Strapi 应用程序可以本地安装在计算机上,也可以安装在远程服务器上。以下安装指南提供了有关如何在本地计算机上安装和创建新Strapi项目的分步说明。

Strapi CLI(命令行界面)安装脚本是让 Strapi 在本地运行的最快方法, 也是官方推荐的安装方式。

阅读更多

strapi 项目结构介绍

1. 项目结构

如果 Strapi 项目是使用starter CLI创建的,则其结构包括frontend和backend文件夹,其中backend文件夹具有默认结构。

阅读更多

如何在Strapi v4中创建Slug系统

在为客户或您自己构建网站时,您通常希望通过 URL 中的人类可读的 slug 来访问您的公共内容。这将有助于搜索引擎优化 (SEO),并且更容易让用户理解。值得庆幸的是,借助Strapi,您可以轻松地以这种方式访问​​您的内容。

阅读更多

计算机发展极简编年史

1. 前言

我为什么要写这篇文章? 计算机发展的速度太快了, 已经进入了蓬勃发展期. 但是依然看不到它的尽头, 看不清它的终极形态. 很多人都在追逐新的技术, 但是很少有人拿起笔系统的记录它的过去。 很多年以后当我们要追寻一项技术的来龙去脉的时候, 可能连它的”尸身”都找不到了.

比如说软盘驱动器(floppy disk driver)现在谁手上还保存有一张 1.44MB 的 3.5 英寸软盘, 谁电脑上还会装有软驱呢, 这在当时可是一项创新性的技术, 是便携式存储的鼻祖, 是一代人的回忆。 一张小小的软盘能装下一整套 DOS 操作系统, 能装下一个夏天的劳动成果. 但是现在当我想介绍存储技术的演进过程时, 不仅找不到一部软驱, 一张软盘, 就连一张合适的图片的很难找到了. 同样的命运的还有寻呼机机, 这个承载着很多人青春记忆的通信设备, 可能剩下脑海中的 只有它发出的 BiBi 声了. 同样的命运的还有功能机, 早已过了手机换脸盆的淘汰期, 曾经层出不穷的款式, 不知道现在还有几款健在. 更不用说他们所依赖的生态系统, 比如基站设备, 外设装置.

站在当下这个似乎还能朦朦胧胧看到过去的时间节点, 在不费太多力气的情况下, 将不太遥远的过去记录下来, 省得后来人花费昂贵的代价去考古, 也不失为一件幸事.

为什么以编年体的形式记录这段历史? 其实这是我的某项计划的一部分, 还处于材料收集阶段, 收集计算机发展史也是我副业中的副业, 没有太多时间深入研究和系统性地整理, 只能以最简单的方式快速呈现内容, 不至于让整个计划胎死腹中(我已经有很多文章由于计划过于宏大而胎死腹中的先例了). 编年体是快速理清脉络, 呈现材料的最好方式. 它不需要花太多时间去整理去构思, 而且结构也非常清晰. 另外我也非常喜欢将软件工程中的一些概念应用到写作中, 那就是小步快跑, 快速迭代; 再者就是重构. 有了足够的材料后, 我相信通过不断地重构, 不断地迭代, 能将其打造为我心中理想的样子. 所以这篇文章会是一篇不断完善的文章, 请有兴趣的朋友关注鹏叔的技术博客获取最新内容. 另外如何您有兴趣资助鹏叔的计划, 原文末尾有打赏功能, 请点一点, 在此表示感谢!

阅读更多