2023 第 7 期

 

读一读

函数式组件/React hooks

函数式组件与类组件有何不同? — Overreacted

Deep dive: How do React hooks really work?

  • Tag: #JavaScript #前端
  • 作者:-
  • 引言:

    在前端的实际开发中,“闭包”这一概念变得越发重要,相对应的,原型链这一概念显得越来越边缘(当然,原型链无时不刻不在我们编写的 JS 脚本中起作用,只是现目前的前端开发越来越回避 ES6 Class,更不用提及直接修改原型链了)—— 这种变化归根到底来说是 React Hook 带来的。

    第一篇文章讲解了函数式组件与类组件最大的不同:在函数式组件中,同一个 state 在一次渲染中总是被认为是不可变的(immutable)—— state 的变化总是和重新渲染、重新计算函数式组件的值挂钩。然而在类组件中,state 被挂载在 “this” 关键词之下,而 this 关键词则是可变(mutable)的,对于一个异步任务而言,this.state 的值有可能其与进入消息循环时的不同了。

    然而函数式组件是如何保障数据的不变性的呢?这里就要提到 JavaScript 的重要概念 —— 闭包。第二篇文章 How do React hooks really work? 用简单的 React hooks 建模简单讲解了闭包如何使得 state 具有 “不变性”,也可以让读者对 React Hook 有着更深层次的认识。

由 ChatGPT 帮我写代码所想到的

由 ChatGPT 帮我写代码所想到的 · angrychow 的博客

  • Tag: #观点
  • 作者:angrychow
  • 引言:

    ChatGPT 问世已有半年有余,这半年以来,读者的工作流有何变化呢?这篇文章的作者说:

    “ChatGPT,我想,他最大的好处就在于,他把我们从具体工程中的漫天文档中解救出来,让我们不用关心那么多繁冗的细节。在没有 ChatGPT 的时候,开发者形成对这些繁冗细节的良好理解力的最好的方式是积累开发的经验 —— 然而 ChatGPT 的出现正好让一个缺乏具体开发经验的人也能写出来一个不错的项目。

    在这篇短文里,我也不想发出类似于“前端已死!”这样的感叹 —— 一来我的资历仍然还是浅薄的很,并不支撑我做如此论断,二来天天呼喊“狼来了”也纯属庸人自扰,徒引人发笑耳。

    只是,ChatGPT 强大的功能,让我构想出第三次工业革命时期的一个画面:一位原本自得于娴熟操纵复杂机械的工人,看着一台袖珍的计算机用密密麻麻的电线向机械以一秒钟上万次的频率控制着机器,心中暗忖自己这几十年的“技术”算是白干了。”

持续输出,不做 CURD Boy

【开源之夏校园行】宋鹏威(青藤木鸟):持续输出,不做 CURD Boy_哔哩哔哩_bilibili

  • Tag: #开源之夏校园行
  • 作者:-
  • 引言:

    工程开发有他的 AB 面。

    A 面是最新潮的技术,最酷炫的科技。作为工程师,你可以用尽你的想象力,将最先进的东西带到你的项目中,你可以尽情的享受创造的乐趣。B 面是工程中无尽的琐碎细节。作为工程师,无论你使用了多先进的技术,使用了多优秀的设计 —— 你终归是在同现实世界打交道。现实世界里的东西很少有那种可以让人着迷的数学原理,更多的是琐碎细节的累积。

    作为一个工程师,如何不向开发的 B 面投降,不做 CURD Boy,成为酷炫的享受开发的工程师?也许这一段视频可以给你带来一些启发。

什么是”Database as Code”

什么是”Database as Code” - 知乎

  • Tag: #数据库
  • 作者:-
  • 引言:

    “我们通过版本控制来处理应用程序的代码和发布,代码就是开发的命脉。但是,数据库的更改难道不更应该享有与程序代码相同的版本控制/源代码控制、自动化、快速和按需发布功能,以及 DevOps 的能力吗?”

    让我们像是管理代码一样管理 SQL 脚本吧。

One More Thing…

「One more thing…」Apple Vision Pro 发布有感 | Ender’s Blog (enderr.tech)


If you like xLens.Space, don’t forget to give me a star. :star2:

Star This Project