计算机基础知识
谭光志
FE/Nodejs/Rust 全栈
Github: https://github.com/woai3c
展开
-
编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(修订版)
编译器是一个程序,作用是将一门语言翻译成另一门语言。例如 babel 就是一个编译器,它将 es6 版本的 js 翻译成 es5 版本的 js。从这个角度来看,将英语翻译成中文的翻译软件也属于编译器。一般的程序,CPU 是无法直接执行的,因为 CPU 只能识别机器指令。所以要想执行一个程序,首先要将高级语言编写的程序翻译为汇编代码(Java 还多了一个步骤,将高级语言翻译成字节码),再将汇编代码翻译为机器指令,这样 CPU 才能识别并执行。由于汇编语言和机器语言一一对应,并且汇编语言更具有可读性。所以原创 2020-11-10 14:59:03 · 689 阅读 · 0 评论 -
半小时搞懂 HTTP、HTTPS和HTTP2
HTTP 概述HTTP 超文本传输协议是位于 TCP/IP 体系结构中的应用层协议,它是万维网的数据通信的基础。当我们访问一个网站时,需要通过统一资源定位符 URL 来定位服务器并获取资源。<协议>://<域名>:<端口>/<路径>一个 URL 的一般形式通常如上所示(http://test.com ),现在最常用的协议就是 HTTP,HTTP 的默认端口是 80,通常可以省略。HTTP/1.1HTTP/1.1 是目前使用最广泛的版本,一般原创 2020-05-15 15:15:35 · 1180 阅读 · 0 评论 -
前端学习计算机理论知识的好处
前端学习计算机理论知识的好处原创 2020-04-03 12:12:55 · 243 阅读 · 0 评论 -
强烈推荐的两个神级教学项目: nand2tetris 与 MIT6.828
占位原创 2020-03-28 23:29:35 · 1270 阅读 · 0 评论 -
计算机系统要素-从零开始构建现代计算机-答案
关于这本书的好处 豆瓣上已经有一堆人说了 我就不重复了 直接附上项目答案练习题答案全套工具这本书的PDF可以百度自己下载内容简介本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代...原创 2018-09-30 13:43:24 · 1709 阅读 · 3 评论 -
程序性能优化-局部性原理
更多文章概念一个编写良好的计算机程序常常具有良好的局部性,它们倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身,这种倾向性,被称为局部性原理。有良好局部性的程序比局部性差的程序运行得更快。局部性通常有两种不同的形式:时间局部性 在一个具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的将来被多次引用。空间局部性 在一个具有良好空间局部性的程序中...原创 2019-01-17 13:11:13 · 383 阅读 · 0 评论 -
如何编写高质量代码
更多文章什么是高质量代码?高质量代码具有以下几个特点:可读性高结构清晰可扩展(方便维护)代码风格统一低复杂性简练编写高质量代码主要遵循以下几点:代码规范代码规范的好处规范的代码可以促进团队合作规范的代码可以降低维护成本规范的代码有助于代码审查养成代码规范的习惯,有助于程序员自身的成长每个程序员最烦的就是修改别人的代码,无论代码好坏。因为第一眼看上去没有熟悉感...原创 2019-01-09 17:11:02 · 431 阅读 · 0 评论 -
优化循环的方法-循环展开
更多文章循环展开是一种程序变换,通过增加每次迭代计算的元素的数量,减少循环的迭代次数。用代码来说明就是将for (i = 0; i < len; i++) { sum += arry[i]}替换为for (i = 0; i < len; i += 2) { newSum += arry[i] + arry[i + 1]}循环展开对于算术运算来说,优化的作用是很大...原创 2019-01-16 11:11:36 · 6730 阅读 · 2 评论