Skip to main content

· 约7分钟
Proca

导语

多数情况下,在开发、运行Python项目时,我们需要使用诸如 pip 的包管理工具,在Python环境中查找、下载、安装、卸载各种Python包。通常,包都会被安装到Python安装目录的 site-packages 文件夹下。这样,在同一Python环境中的不同项目,都会使用 site-packages 下所安装的包。

但不同项目对于同一种包的版本需求可能不同,并且当我们使用 pip install <pkgname> 时,通常不会仅仅安装一种包:

pip install Scrapy
...
Installing collected packages: PyDispatcher, pyasn1, incremental, constantly, zope.interface, w3lib, typing-extensions, six, queuelib, pycparser, pyasn1-modules, lxml, jmespath, itemadapter, hyperlink, filelock, cssselect, attrs, requests-file, protego, parsel, cffi, Automat, Twisted, tldextract, itemloaders, cryptography, service-identity, pyOpenSSL, Scrapy
...

可见,如果我们都只在单一Python环境中运行我们所有的项目,必定会带来包的版本混乱。最简单的方法是把不同的项目放在不同的Python环境中运行。

而命令 python -m venv 正是实现这一步的不二法宝。

· 约19分钟
Proca

导语

执行上下文(Execution Context)是JavaScript引擎解析可执行代码片段时创造的一种环境。在 深入理解:ECMAScript 3中的执行上下文 中,我们介绍到 ECMAScript 3 规范(下文简称 ES3 规范) 下的执行上下文由变量对象或活动对象、作用域链、调用者信息三部分内容组成,但同时我们也提到 ES3 规范 是古老的。在相较更新的 ECMAScript 6 规范 (下文简称 ES6 规范) 中, letconst 关键字的引入、类( class )在语言层面上的被支持,以及其他种种新特性,都让 ES3 规范 下的执行上下文显得无能为力。因此, ES6 规范 在引入新特性的同时,也要对执行上下文的相关机制做出调整。

本文将立足于 ES6 规范,介绍其执行上下文的组成以及其在实践中的运用。

· 约20分钟
Proca

导语

如果你已经接触了一段时间的JavaScript,你或多或少地会接触到一个名为“执行上下文”的术语。跟我们在进行文学鉴赏时涉及的“上下文”不同,执行上下文(Execution Context)指的是JavaScript引擎解析可执行代码片段时创造的一种环境,因此,执行上下文也被称为执行环境。

但是,“由JavaScript引擎创造的一种环境”?好像理解起来还是有些抽象:它是以什么机制创造的?创造了什么样的环境?有这些疑惑很正常,这也正是本文所要解决的问题。

让我们先从古老的 ECMAScript 3 规范 中的执行上下文了解起:

· 约23分钟
Proca

导语

这,是一个字符串

smile 😊

由于你的计算机只能识别 01 这样的数字,为了让它读懂这个字符串,需要建立字符串中的每个字符到特定内容的映射 (Mapping).

于是,ASCII、GBK、BIG-5、UTF-32、UTF-16、UTF-8等编码应运而生。它们基于对应的字符集 (Charset),将其中字符 (Character)码点 (Code Point) 之间的映射关系,进一步实现为字符计算机储存、传输内容(如二进制数、电脉冲)的映射关系,让我们得以在计算机上使用我们的语言.

为了更好地了解现代计算机所使用的编码规则,我们先从 ASCII 开始.

· 约18分钟
Josie Chow

目标:学习 CI/CD 的基本概念,GitLab CI/CD 使用方法。

前提:有 GitLab 的账号和基础知识,了解远程仓库、分支、提交、推送、合并申请等概念。如果不了解,可以学习教程 Hello World in GitLab

内容:学习 CI/CD 的基本概念,创建并部署一个 Flutter 项目到 GitLab,使用GitLab CI/CD 自动化执行项目的测试、打包、分发。

演示平台:macOS

· 约8分钟
Josie Chow

目标:创建一个 Flutter 应用程序(该项目可运行并包含至少一个测试),并且体验运行、测试、打包的流程。

演示平台:macOS

Flutter 是什么

Flutter 是一款移动应用程序SDK,一份代码可以同时生成 iOS 和 Android 两个应用程序。应用程序是用 Dart 语言编写的。

· 约3分钟
Josie Chow

Git 是什么

Git 是一个用于版本控制的软件,用于跟踪本地文件修改,并能与远程仓库同步。

· 约2分钟
Josie Chow

Homebrew 是什么

Homebrew 是软件包管理工具,可以方便地安装、卸载、查看、更新软件包,目前支持 macOSlinux 系统。在 Homebrew 的帮助下,我们不需要关心各种依赖和文件路径。

我们可以把 Homebrew 当做 AppStore,可以在其中安装下载各种软件包。

· 约23分钟
Josie Chow

前提:已学习教程《Hello world in GitLab》

适用对象:初次使用 Git 的人群。

演示平台:macOS

学习目标: Git 基础命令行操作和 Git 分支原理。

导入

如果您曾经在 GitLab Web IDE 上编辑文件,是否遇到过以下情况:

  • 不小心刷新网页,导致编辑内容消失。
  • 希望修改一个文件后立刻“保存”,但不希望产生一个 commit 记录。
  • 有时网络不佳,无法访问 GitLab 网页。

在这些情况下,我们希望能够在本地编辑文件 —— Git 能够实现这一点。

我们将通过一个教程来学习 Git 的使用方法和原理。在这个教程中,我们需要完成一个任务:在本地编辑 Exercises 项目 的 README.md 文件,用 “Hello from No.ID@ID @name” 的形式说一句 hello。