一边学 AWS 一边梳理概念,避免后续忘记。
设计模式梳理(更新中)
这里的例子来自于《Head First 设计模式》。
Github 代码仓库:https://github.com/ZenZing/design-patterns-carding
React State的使用及原理
本博客适用于React初学者。
React现在更推荐使用函数组件,React设计之初就基于函数式编程思想,数据与视图单向绑定,输入相同的数据永远输出相同的视图。
函数组件更符合函数式思想,我们将从函数组件的角度来了解React State,并会与Class组件中的State进行简单对比。
Web前端性能优化思路
Thoughtworks 洞见地址:https://insights.thoughtworks.cn/web-frontend-performance-tuning/
本文旨在整理常见Web前端性能优化的思路,可供前端开发参考。因为力求精简,限于篇幅,所以并未详述具体实施方案。
基于现代Web前端框架的应用,其原理是通过浏览器向服务器发送网络请求,获取必要的index.html和打包好的JS、CSS等资源,在浏览器内执行JS,动态获取数据并渲染页面,从而将结果呈现给用户。
CPU的基本结构
概述
目前常见的CPU,无论是x86、ARM或MIPS架构,均是建立在冯诺伊曼体系下的。
简单理解,冯诺伊曼体系计算机有以下几个部件组成:
- 运算器(ALU)
- 控制器(Controller)
- 存储器(Memory)
- 和输入输出(I/O)
操作系统中的信号量
概述
信号量是并发编程中的基本概念,由荷兰计算机科学家Dijkstra发明。简单来说,它是一种变量,用于控制多个进程对公共资源的访问。
其中,允许计数任意资源的信号量称为计数信号量,而将值限制为0和1的信号量称为二进制信号量,也就是锁。
二叉树的基本概念
概述
数据结构中的树有很多种,但是最常见的几种本质都是二叉树,比如说:红黑树、B树等。
二叉树因为每个结点只有两个分支,因此构造起来容易,使用起来方便。
归并排序的两种方式
概述
归并排序是目前最高效的排序算法之一,它兼具稳定和低复杂度的特点,其最坏时间复杂度O(nlogn)
,空间复杂度O(n)
。
归并排序采用计算机科学的分治思想,因此有两种实现方式:自顶向下和自底向上。