Meteor基础知识之系统篇

技术文档网 2021-05-13
课程目标
  1. 理解Meteor的运行环境和安装过程;

  2. 获得Linux;

  3. 能够在Linux系统中进行简单的文件操作;

为什么是Linux

请大家思考一个问题:Windows的知名度、用户数和“易用性”都比Linux高很多, 为什么要选择Linux作为开发和部署环境?

要回答这个问题,首先得搞清楚:操作系统作为人类发明的数不清的工具中的一种, Windows和Linux各自的定位是什么,或者说它们的目标用户是谁?

回顾二者的历史,不难发现Windows的目标用户是普通计算机用户, 使用计算机主要用来完成日常工作和娱乐;Linux是一群程序员为自己开发的操作系统, 设计目标是为自己和世界提供一个新的选择,一个完全自由、可定制的系统。

本质上,Windows是一件商品,它的首要目标是创造利润(养活生产者),其次是易于使用; Linux是一件自制工具,它的首要目标是易于制造(方便生产者),其次是易于使用。

这段话似乎比较虚,但你一定要记在心里,因为后续各种差异,都是这个区别的表象, 理解了这个区别,可以帮助你避免无数纠结和口水战,把宝贵的生命用在创造上,而不是选择和争论上。

Windows推崇封闭(为什么?),用户只要用它做事情就好,不需要也不能深入到系统内部,了解它的机制, Linux推崇开放,所有的东西尽可能公开,用户可以方便地了解它的运行机制, 融入自己的理解,把它变成自己喜欢的样子。

落实到实现层面,Windows喜欢二进制文件,Linux喜欢文本文件(为什么?) 用Gancarz的话说,Linux是基于文本的操作系统,Windows是基于图形的操作系统。

Windows这种风格给许多人造成的一个误解:所有的数据都需要通过某个软件来编辑、展现, 如果你不会用某个软件,那么很遗憾对应的数据你就没法用了。 这显然是很荒谬的,写在磁盘上的数据与写在纸上的数据没有任何区别, 阅读它们唯一需要的是我们的眼睛, 如果某个软件商告诉你还需要借助他们搞出来的某个软件, 那只是他们惯于使用的无中生有创造利润的伎俩而已。

所以,作为一名开发者,你有权利了解你手里的工具是怎么工作的, 你需要把自己培养成赤手空拳也能在森林里活下去的特种兵, 而不是只会用别人给你的工具按部就班生产的流水线工人。

P.S.: 这里的Linux是“基于Linux内核的操作系统”的简称。

获得Linux

编写中……

在Windows或者Mac上安装Linux虚拟机

在电脑上安装Linux

双系统

单一系统

熟悉Linux环境

首先了解一下Linux与Windows最直观的不同之处:

  1. Linux只有一个根目录,它没有“盘符”的概念,但仍然可以将多个逻辑分区组织在一起(它是怎样做到的?)

  2. Linux的文件夹和文件名都区分大小写;

  3. Linux的命令行(严格来说这货叫shell)是全能选手,Web开发的全部工作都可以在命令行里进行;

  4. Linux有一个神奇的文本编辑器叫vim,不同于Windows的文本编辑器,比如记事本、Word等等,它会彻底颠覆你对“文本编辑”这件事的理解;

下面我们结合Meteor的几个命令来初步认识一下你未来的工作环境:

curl https://install.meteor.com/ | sh

Todo:

  1. 命令格式说明;

  2. 管道符的作用和用法;

  3. curl ... | sh是一种常用的远程安装范式;

meteor create simple-todos

Todo: 复杂命令的格式说明

Linux的简单文件操作

数据管理四项基本内容:增删改查。

  • ls

  • cat

  • echo

  • mkdir

  • cd

  • rm

  • vi

最简vi使用教程

在领略vi博大精深的文本编辑能力之前,不妨先用记事本的方法使用它:

  1. 按"i"键进入编辑模式;

  2. 当记事本用,但没有鼠标哦,方向键移动光标,Del/Backspace删除;

  3. 编辑完后按"ESC"键返回标准模式;

  4. 按下:x两个键保存内容并退出vi;

总结

掌握了这部分内容,你就初步理解了Meteor的开发和部署环境, 认识了Linux这个有趣的操作系统, 这是成为Meteor开发高手的第一步,难度不大,但需要你改变过去的一些习惯, 刚开始可能会不适应,但随着时间的流逝,你会越来越确信:这些付出是值得的。

相关文章

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod

随机推荐

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod