2024 年(3 篇文章)
因为更新按钮,我卸载了 Arc 浏览器

今天,我卸载了 Arc 浏览器。这是我第一次卸载一个我曾经如此喜欢的产品,而且是因为一个更新按钮。我觉得包括我自己在内的开发者都应该在设计软件更新策略时,切实地站在用户的立场上,权衡他们为了更新要付出的代价以及能够获得的价值。

你可能不知道的 TypeScript

本系列文章将从实用角度出发,介绍 TypeScript 中的许多可能不为人所知的理论和特性,希望能够通过这种方式尽可能地抹平我们关于 TypeScript 的一些进阶知识和技巧的信息差,并启发我们使用 TypeScript 解决生产实践中的一些看似无法解决的类型问题。

我是一只狐狸

在本篇文章中,我将与你一同走过一段自我发现的旅程。我会先从高中时期的挑战讲起,再到大学时期的挫败,之后我会介绍自己如何在反思中发现自己更像是一只狐狸,并以此重塑自信和改变行动模式,在这个被刺猬价值观主导的当代社会中保持自我。希望在读完这篇文章后,你也能发现自己的独特之处,不论是狐狸还是刺猬。

2023 年(1 篇文章)
2021 年(7 篇文章)
2020 年(12 篇文章)
记一次 Kubernetes Pod 资源分配设置不当导致的事故

背景 笔者最近加入了校内某在线课程平台的运维团队。此运维团队在 on-premise 的私有云上搭建了 Kubernetes 集群来管理服务,包括前后端服务以及数据库、消息队列等基础服务。 最近,由于种种原因,团队管理的供测试环境使用的 Kubernetes 集群需要支撑某研究生团队的 NLP 运算程序。他们每天都会...

探究 DDD 在前端开发中的应用(三):探究 DDD 在前端开发中的应用

前端之于 DDD 无论是 SSR 还是 SPA,结合上文讨论的 DDD 基础概念我们可以发现,从整个 DDD 软件的结构上看,前端主要处于 Presentation 层。也就是说,前端的主要任务是显示业务数据,并且支持用户交互动作,绝大多数的业务逻辑其实存在于服务端的 Domain 层中。当然前端有时候会存在一些业务...

探究 DDD 在前端开发中的应用(一):从软件开发的本质讲起

软件开发的本质 大多数普通人在听到“软件开发”这个词语的时候,会联想到这样一幅画面:一群穿着格子衫、桌子上摆着二次元手办的又瘦又高的眼镜仔坐在电脑前,对着屏幕上各种千奇百怪的代码敲打键盘,从白天直到黑夜。 这些给程序员加上的定语我们暂且不提,但软件开发并不是仅仅意味着编写代码。无论是在公司里上班,还是大学里几个伙伴的...

探究 DDD 在前端开发中的应用:前言

此文章文字稿取自我在学校某实验室的公众号上发表的技术分享文章。 一直以来,软件建模都是一个非常热门的概念,它提供了一张将要开发的软件的蓝图,在系统需求和系统实现之间架起了一坐桥梁,而程序员实际编写出的代码能否很好地满足需求,很大程度上取决于选用的建模方法是否合理。 我们今天要介绍的 DDD(“领域驱动设计“的英文缩写...

浅谈 JavaScript 异步编程(一):JS 异步编程的含义

异步与同步 在介绍 JS 异步编程以前,我们首先得理清一下什么是异步,以及什么是并发。异步与同步是消息通信机制中两个相对的概念。 同步:发出调用后,在得到结果之前,调用不返回。 异步:发出调用后,调用直接返回,此时并没有获得结果。 让我们设想一个场景:有一天中午,我从教学楼里走出来,正想着去吃饭,突然一时兴起在图书馆...

浅谈 JavaScript 异步编程:前言

2009 年,Ryan Dahl 正式发布服务端 JavaScript 解释器 Node.js,以其极高的性能震惊世人。在发布后的短短几年之间,Node.js 攻城略池,在 Web 服务端领域中占据了相当大的市场份额,并在之后的几年为伟大的前后端分离策略的诞生提供了物质基础。 Node.js 的成功也让 JavaSc...