Day: 2023年3月31日

web应用 101 -介绍 Web 应用是什么,比如 SPA(单页应用)、SSR(服务器端渲染)、SSG(静态网站生成)

让我们从一个故事开始:当我的职业泡沫之外的人问我我在做什么时,我说“我建立网站”。如果他们好奇,我补充说这些网站相当复杂。如果他们继续问,我会尝试用一些例子来详细说明:Facebook、Spotify、Twitter。并不是我为这些公司工作,而是希望给他们一个“我建什么样的网站”的好印象。然而,大多数情况下,谈话不会超出“我建立网站”的范围,我对此没有意见。

如今,一个网站不等于另一个网站。网站的范围从产品营销网站到成熟的社交媒体平台。作为 web 开发的新手,要了解整个情况并不容易:从 HTML 和 CSS 的传统简单网站开始,从 web 服务器返回,变成一个复杂得多的具有复杂客户端的全栈应用程序- 服务器通信和状态管理。

如果您已经在学习 HTML、CSS 和 JavaScript,并且不了解网站和 Web 应用程序的基础知识,那么这本综合指南适合您。…

重写、重构还是重新发明?6 个软件重写故事的经验教训

重写、重构还是重新发明?

6 个软件重写故事的经验教训

对这个古老问题的新看法:您应该从头开始重写您的应用程序,还是“任何软件公司都可能犯的最严重的战略错误”?事实证明,处理成熟的代码库有两种以上的选择。

大约二十年前,Joel Spolsky 在他具有里程碑意义的文章“你永远不应该做的事情”中斥责 Netscape 重写了他们的代码库。

他的结论是,一个功能正常的应用程序永远、永远都不应该从头开始重写。他的论点围绕两点展开:

  • 应用程序代码库中看起来很粗糙的部分通常嵌入了关于极端情况和奇怪错误的来之不易的知识。
  • 重写是一项漫长的工作,它使您无法改进现有产品,而在此期间竞争对您有利。

对于许多人来说,乔尔的结论成为了一种信仰。我知道这对我当时的想法影响很大。

在接下来的几年里,我读到一些反对意见,认为在某些情况下,从头开始重写很有意义。例如:

  • 有时,遗留代码库确实一团糟,无法修复,以至于即使是简单的更改也需要对代码的其他部分进行级联更改。
  • 最初的技术选择可能会阻止您进行必要的改进。
  • 或者,原始技术可能已经过时,导致很难(或昂贵)招募到优秀的开发人员。

当然,正确的答案是,这在很大程度上取决于具体情况。是的,有时逐步重构遗留代码更有意义。是的,有时候把它全部扔掉并重新开始是有意义的。

但这些并不是唯一的选择。让我们快速浏览一下六个故事,看看我们可以吸取哪些教训。

(奖励:每个故事的 ASCII 艺术摘要!)

1.网景

网景...  4.0  5.0 ☠ 6.0  

C 语言学习注意点

作者整理了自己学习 C 语言过程的一些笔记,相当于列出了 C 语言一些的学习难点。

学习C对我来说是相当困难的。语言本身的基础还不错,但是“用 C 编程”需要很多其他种类的知识,这些知识并不那么容易掌握:

  • C 没有消除平台或操作系统差异的环境;你也需要了解你的平台
  • 有许多 C 编译器选项和构建工具,即使运行一个简单的程序也需要做出很多决定
  • 通常有与 CPU、操作系统、编译代码相关的重要概念
  • 它的使用方式多种多样,以至于与其他语言相比,集中的“社区”或风格要少得多