一文看懂Shell
1. 基础概念 Shell是一个命令行解释器,它允许你运行程序、提供输入,并以半结构化的方式查看输出。几乎所有的计算机操作系统都以某种形式提供了Shell,目前最广泛使用的Shell是Bourne Again SHell,简称BASH。 missing:~$ date Fri 10 Jan 2020 11:49:31 AM EST 上面是BASH的主要文本界面。它告诉你当前所在的计算机...
1. 基础概念 Shell是一个命令行解释器,它允许你运行程序、提供输入,并以半结构化的方式查看输出。几乎所有的计算机操作系统都以某种形式提供了Shell,目前最广泛使用的Shell是Bourne Again SHell,简称BASH。 missing:~$ date Fri 10 Jan 2020 11:49:31 AM EST 上面是BASH的主要文本界面。它告诉你当前所在的计算机...
如何准备面试 先做足自己的功课,没有提前准备好5个以上STAR故事的普通人,别侥幸认为自己能拿下dream offer。 你自己所有的故事一定要dive deep,你的故事和经验不需要高大上,你不需要有百万美金级别的成果,但是你能用一个很顺畅、很有逻辑的方法讲出来,就能让对方信服给你具备潜力去达成目标。 整理好自己的经验故事后,建议根据网上的经验,自己的理解,请提前预判一下对...
DNS查询 域名对应的IP地址,都保存在DNS服务器。我们输入域名,浏览器就会在后台,自动向DNS服务器发出请求,获取对应的IP地址。这就是DNS查询。 域名的树状结构 DNS是一个分布式系统,1.1.1.1只是用户查询入口,它也需要再向其他DNS服务器查询,才能获得最终的IP地址。要说清楚DNS完整的查询过程,就必须了解域名是一个树状结构。 最顶层的域名是根域名(root),然后是...
互联网技术发展简史 在互联网发展的不同阶段,Web技术经历了三个重要时代,每个时代都有其独特的特点和技术革新。 时代 时间范围 主要特点 代表性技术 典型应用 Web 1.0 1990s - 2000s 静态页面、单向信息传递、超链接导航 ...
Linux是基于UNIX的系统,UNIX是1969年由贝尔实验室开发的操作系统。 Linux操作系统概要 程序 在计算机系统运行时,在硬件设备上会重复执行以下步骤。 用户通过输入设备或网络适配器,直接或通过中间件(web服务器、数据库等)向OS发起请求。 OS读取内存中的命令,并在CPU上执行,把结果写入负责保存数据的内存区域中。 OS将内存中的数据写入外部存储器(HDD、...
什么是 Docker? Docker是一种工具,用于创建、部署和运行应用程序(通过使用容器)。容器使开发人员可以将应用与需要的所有部件(库、框架、依赖项等)打包为一个包一起交付。使用容器可确保此应用的运行与之前相同,而不受任何自定义设置或运行该应用的计算机上先前安装的库的影响(运行应用的计算机可能与用于编写和测试应用代码的计算机不同)。这使开发人员可以专注于编写代码,而无需操心将运行代码的系...
收集一些自己认为还不错的名人的言论放在这里,以激励自己。 Elon musk work super hard, don’t care about failure and never give up. When my brother and I were starting our first company, instead of getting an apartment, we just...
Software Engineering at Google的中文译本。 作者通过github制作的电子书网站很精美,自己也可以抽空学习一下怎么制作。 本书强调了三个基本原则,我们认为软件组织在设计、架构和编写代码时应该牢记这些原则: Time and Change:How code will need to adapt over the length of its li...
标准模板库(standard template library,STL)是基于泛型编程的,即C++官方通过函数模板和类模板提前写好大量通用的数据类型和算法,并内置在支持C++的编译器中,以方便程序员开发软件时快速调用,而不必关注具体的数据类型。STL是容器(即类模板)的集合,这些容器在算法库的支持下使程序开发变得简单、高效。STL无须额外安装,使用起来非常方便。 以在C++中定义一个数组为...
Git是由Linux之父Linus Torvalds于2005年开发的分布式版本控制系统。在Git出现之前,Linux内核开发团队一直使用BitKeeper作为版本控制系统。然而,在2005年,BitKeeper的所有者收回了Linux社区免费使用BitKeeper的权利。这促使Linus开发了一个全新的版本控制系统。 Linus开发Git的主要目标是: 快速 简单的设计 对...