Stay Hungry, Stay Foolish.
技术最前端,专注 Web 技术学习与总结。JavaScript, JS, ES6, TypeScript, Vue, PHP, CSS3, Html5, Node, Git, Markdown 等技术文章。
最前端 Stay Hungry, Stay Foolish.
随着前端项目复杂度的提升,模块化开发已成为标配。NPM(Node Package Manager)作为 JavaScript 生态系统中最大的包管理工具,不仅让我们能够便捷地使用他人的代码,也为我们提供了分享自己代码的平台。
本文将从零开始,循序渐进地介绍如何发布和管理 npm 包,涵盖从入门到进阶的完整知识体系,让初学者能够快速上手,也让有经验的开发者能够查漏补缺。
译文:Write Code That Speaks: A Developer’s Guide to Clean Code
"Code is read more often than it is written." — Uncle Bob
编写整洁的代码是每个开发者都曾经历过的噩梦(我自己也亲身经历过这个噩梦)。
当我刚入行时,没有人给我一份整洁代码的清单。我写的代码只要能运行就行。它确实能运行,直到出现 bug、代码评审耗时且费劲,以及未来的修改变成雷区。
我曾经害怕代码评审。问题不仅在于代码是否能运行,而在于为什么它如此难以阅读。但随着时间的推移,通过大量尝试、犯错和资深开发者的指导,我开始掌握一些模式。慢慢地,这些模式变成了习惯。
如今,这些习惯帮助我:
整洁的代码不是魔法技能,而是一种实践。一步一个脚印。这篇文章就是这些虽小但有力的步骤的集合。让我们开始吧 👇
译文:Setting Up an NGINX Reverse Proxy with a Node.js Cluster Using Docker
在本文中,我将向大家介绍一个项目,在这个项目中,我设置了一个 Nginx 服务器作为反向代理来处理 Node.js 应用程序集群的请求。该设置使用 Docker 对 Nginx 服务器和 Node.js 应用程序进行容器化,从而实现无缝扩展和管理。在本文结束时,您将明白为什么 Nginx 是现代网络开发的必备工具,以及如何为此类用例进行配置。
译文:Understanding Data Structures in TypeScript: A Practical Guide with Real-World Examples
大家好!今天,我们将开始一段令人兴奋的旅程,探索 TypeScript 中的数据结构领域。无论你是经验丰富的老鸟还是刚刚入门小白,了解数据结构对于编写高效、可维护的代码都至关重要。所以,拿起你最喜欢的饮料,让我们一起来学习吧!
我已经使用 TypeScript 超过四年了,总的来说,这是一次非常棒的体验。随着时间的推移,使用它的摩擦逐渐减少,直到完全消失,这使得我在编写类型或以类型优先的方式解决问题时变得更加高效。虽然我还远未成为真正的类型大师,但我敢说自己已经熟练掌握了这门语言,经历了类型体操、条件类型、嵌套泛型,并深刻理解了 type 和 interface 之间的神圣差异。说实话,我认为我对这门语言已经有了相当不错的理解。
直到我发现我错了。其实,有一个关于 TypeScript 的特定问题我完全理解错了,我相信你也可能犯过同样的错误。而这并不是某个你从未听说过、可能永远不会用到的复杂边缘案例。恰恰相反,这是你和其他所有 TypeScript 开发者直接交互过数百次的东西,一直在我们眼前游弋。
软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。每个程序员都可以从理解编程原则和模式中受益。
软件设计原则是一组帮助我们避开不良设计的指导方针。根据 Robert Martin
下面这些软件设计原则是我从一些书籍和网络中收集而来,并不完整,而且你也需要在一些有「冲突的原则」之间进行权衡和取舍。本文或许会对你的编程、程序设计、讨论或评审工作有所帮助。
无论是在注册流程、多视图步进器,还是在单调的数据输入界面中,表单都是数字产品设计中最重要的组成部分之一。本文着重介绍了表单设计中常见的该做和不该做的事情。请记住,这些都是一般准则,每个规则都有例外。

多栏会破坏用户在垂直方向上的关注趋势。
调试 JavaScript 中的异步代码,有时会感觉像在趟雷。你不知道 console.log 何时何地会打印出来,你也不知道你的代码是如何执行的。
你很难正确地构造异步代码,使其按照你的意图以正确的顺序执行。
如果你在编写异步代码时有一些指导,并且在你即将犯错时得到一个有用的信息,那不是很好吗?
幸运的是,在我们将代码推送到生产中之前,我们有提示器来捕捉一些错误。下面是一个编译的提示规则列表,专门帮助你在 JavaScript 和 Node.js 中编写异步代码。
即使你最终没有在你的项目中使用这些规则,阅读它们的描述也会使你更好地理解异步代码,提高你的开发技能。
当异步处理过多的时候,比如 Promise.all() 并发发起多个 Promise,假设 Promise 是 tcp 连接,并且数量达到几万个,会带来性能问题或触发系统限制。
关注前端开发