本文翻译自 Trey 的这篇文章,并进行了略微修改。
如果你刚接触 React,你可能和我一样会被关键字 this
的使用搞糊涂。本文介绍了 JavaScript 以及 React 中 this
关键字的含义,以及更重要地,我们为什么时刻都在使用它。
代码如诗
本文翻译自 Trey 的这篇文章,并进行了略微修改。
如果你刚接触 React,你可能和我一样会被关键字 this
的使用搞糊涂。本文介绍了 JavaScript 以及 React 中 this
关键字的含义,以及更重要地,我们为什么时刻都在使用它。
在先前《CPython 中的垃圾回收机制》一文中,我们详细介绍了 Python 程序设计语言的默认实现 CPython 中完成垃圾回收的详细步骤。文中提到了有关垃圾回收流程中有关“代”(generation)的概念。本文详细介绍这种用于提升垃圾回收器性能的常见优化手段——将变量划分为多代。
本文主要参考自 Python Developer’s Guide 中的这篇文章
CPython 是你可以从 Python.org 网站上下载到的原生 Python 解析器。在大多数系统中,当你输入 python
指令运行你的程序时,你通常是在使用默认的 CPython 实现。与大多数具有自动存储器管理机制的编程语言类似,Python 具有垃圾回收(Garbage Collection,GC)特性。了解 CPython 是如何实现垃圾回收机制对于深入了解 Python 编程语言是重要的。
用户时常使用树莓派开发板进行物联网(Internet-of-Things,IoT)开发工作。其上运行的一些诸如 Home Assistant 的程序可能需要一个更新版本的 Python,而树莓派等系统通过 apt 包管理器预置的 Python 版本可能并非最新。我们以将树莓派 Raspberry 更新至 Python 3.9 为例,演示如何将系统 Python 版本升级至最新版本的操作。
自 2015 年 12 月 3 日 PHP 7.0 发布以来,PHP 已经有五年的时间没有更新过大版本号了。而就在最近几天,PHP 社区终于发布了下一个大版本——PHP 8.0。PHP 8.0 相比之前的版本有哪些更改呢?PHP 8.0 有哪些新特性呢?下面就带大家来看一看。
学习 Go 语言之前,我认为为程序员提供错误与异常处理的最方便的语言是 Python;学习 Go 语言之后,我的看法没有任何改变……
@DGideas
本文参考了 @ethancai 的这篇文章和 @davecheney 在 Gocon Spring 2016 上的这篇演讲稿,以及若干位于 golang.org 上的博客文章和文档。
Go 语言有着异于其他程序设计语言的错误处理体验。要说 Go 程序设计语言的一大特色,恐怕就是它频繁出现的 if err != nil
语句块了。得益于 Go 语言函数的多返回值(multiple results)特性,一个不一定总能成功执行的函数可以依靠一个类型为 error
的返回值表示其执行过程是否处于异常状态,例如:
f, err := os.Open("filename.ext")
if err != nil {
log.Fatal(err)
}
……显然,我们能通过名字使用对象。然而在 C++ 中,大多数对象都“有身份”;也就是说对象位于内存的某个地址中,如果我们知道对象的地址和类型,就能访问它……
翻译自 Bjarne Stroustrup 《The C++ Programming Language》(Fourth Edition),Chapter 7.
@Lollipop9z 同学在上次与我讨论时提出了这个很有趣的问题。由于 lollipop 之前有学习 Python 程序设计语言的背景,所以对于 C++ 等语言中为何提供这些特性感到困惑。事实上,很多学习过包含指针和/或引用概念程序设计语言的同学也仍然对于为什么会存在这些语言元素的原因缺乏思考。下述代码以 C++ 为例。