节点连接符号

完整介绍 Git 分支策略 feat. Git Flow, GitHub Flow, GitLab Flow, TBD

近期在维护不同规模的专案,想说可以了解一下不同 Git 分支策略的优缺点来替专案选择适合的开发策略。现阶段我最常接触的是 Gitflow 的方式来进行开发,但发现这样的策略在小型规模的专案(5 人以下)并没有这么灵活好用,恰巧可以在全新的专案上尝试其他策略。

Tailwind LOGO

绝对要避免的 5 项 Tailwind 反模式

撰写这篇文章是因为接手过非常反人类的 Tailwind 项目,一些不应该出现的反模式其实都可以在早期被轻松避免,随着项目规模变大,这些反模式就会变成一个巨大的问题难以修正。本文将介绍一些我在项目中看到的反模式,并提醒你千万不要这样做!

键盘图示

我如何选择自己键盘的故事

我是一个物欲非常低的人,日常东西就是用到坏才换新,直到某天常用的薄膜键盘坏了才开始寻找新的键盘。在挑选新键盘的过程中让我想到选择键盘的一些故事促使写下这篇文章。作为软件工程师不外乎每天接触到的硬件生产力工具大概就是:键盘、鼠标、电脑、屏幕、椅子、笔电、大水杯(喝水非常重要),其中键盘绝对是情感最深厚的一一个。

有惊叹号的卡片的符号

建构正确的网页 UI 不应该是个麻烦的问题

身为前端工程近期工作的感悟是很多时候开发问题还是陷于界面的外观、行为或互动层面上,并不是说花时间制作这些层面的事情就很逊,它们实际需要依靠经验丰富的开发者通过多方面的研究与考量才能打造合理的架构,例如有许多要留意的事:性能、适用性、可维护性、可测试性、搜索引擎优化、跨平台兼容性、多语言……

机器人图示

如何在 AI 时代保障未来

AI 并不会离开我们的生活,并且只会越来越普及,这也意味着我们的生活将受到影响。什么事情是人类能 AI 不能的?未来的工作会是怎么样?人们能做什么来保证未来?什么事情是人类能 AI 不能的?未来的工作会是怎么样?人们能做什么来保证未来?思考以上问题。

检测性能符号

只要三步骤透过 Lighthouse CI 自动化检测网站效能

Lighthouse 是一款开源的自动化网页性能检测工具,通常在遇到网页性能问题时才逐个打开网页测试,手动测试总是会有:单次的测试结果不稳定、耗时费力、不利于团队开发的问题,今天来尝试使用 Lighthouse CI 自动化在每次代码更动时检测网页的性能问题吧!

文章搜寻符号

使用 Pagefind 替任何静态网站添加搜寻功能

不到 3 步骤让你的网站拥有以 WebAssembly 高效驱动的客制化搜寻功能。静态网站像是部落格、文件、个人网站、公司网站……等这类阅读体验为主的网站通常都有搜寻内容的需求,恰逢 Pagefind 1.0 的推出我把原先自制的fuse.js 搜寻功能换成Pagefind,分享如何在任何静态网站上加入搜寻功能。

一只手操纵触控板符号

如何正确地设计表单?必须知道的用户输入 UX 基础

表单是是网站中最常见的功能性元素也是与用户沟通的桥梁,像是购买商品、注册会员、问卷填写……等各项行动都离不开它,然而这么重要的体验却时常被忽略,于是我决定整理一个良好的表单应该具备的体验以及为什么应该这样设计,供所有人了解常见的表单设计问题。

警戒符号

如何处理 TypeScript 抛出的错误?

JavaScript 有 try...catch 语法用于捕捉程序中的错误情境,在需要时使用 throw 语法来抛出「任何错误」,通常建议会抛出 JS 默认的错误对象,但在 TypeScript 要怎么做才能确保抛出的错误的类型?

容器装载惊叹号符号

使用 Zod 于运行时检验类型

Zod 是以 TypeScript 为首的 Schema 声明和验证库,为什么有了 TypeScript 还需要 Zod?轻易的撰写运行时数据验证就是 Zod 的目的,像是验证第三方 API 传递的数据、用户输入在 URL 中或表单中的数据使用 Zod 来验证都很方便。

两个人相互沟通符号

达成共识的描述方式:目标、问题、解方

最近阅读 Stay SasSy 提到的 Goals, Problem, Solutions 猛然察觉这不是我日常工作拆分问题的方式吗!简直是不谋而合,正好也想写一篇文章来分享这个达成共识的方法,同时这也是一个很好向上沟通的方式,不管是对团队还是对上级沟通都有帮助。

眼睛上有一条斜线符号

为什么禁用输入通常是个糟糕的决定,以及如何正确禁用用户输入

网页原先是静态文件,但随着需求增加,动态的改动网页的状态已变得普遍,随意使用 `disabled` 属性就像是在用户路上堵上一颗巨石,这样的设计不仅无法帮助用户解决问题,还会让用户感到困惑。我们应该尽全力让用户知道问题原因,而不是只做到「阻止用户的错误行为」。