图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视讯显示器和打印机上显示图形。正如您所认为的那样,GDI是Windows非常重要的部分。不只您为Windows编写的应用系统在显示视觉信息时使用GDI,就连Windows本身也使用GDI来显示使用者接口对象,诸如菜单、滚动条、图标和鼠标光标。 不幸的是,如果要对GDI进行全面的讲述,将需要一
现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型,对现实的情况进行近似,这样处理起来会更容易一些,而且看起来也差不多一样。这些光照模型都是基于我们对光的物理特性的理解。其中一个模型被称为冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个分量组成:环境(Ambient)、漫反射(Di
引言 区块链是 21 世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现。 本质上,区块链只是一个分布式数据库而已。 不过,使它独一无二的是,区块链是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。 只有经过其他“数据库管理员”的同意,才能向数据库中添加新的记录。 此外,也正是由于区块链,才使得加密货币和智能合约成为现实。 在本系
基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 1. 基数排序 vs 计数排序 vs 桶排序 基数排序有两种方法: 这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异案例看大家发的: 基数排序:根据键值的每位数字来分配桶; 计数排序:每个桶只
颜色绝不会单独存在。事实上一个颜色的效果是由多种因素来决定的:反射的光,周边搭配的色彩,或是观看者的欣赏角度。 有十种基本的配色设计,分别叫做:无色设计(achromatic)、类比设计(analogous)、冲突设计(clash)、互补设计(complement)、单色设计(monochromatic)、中性设计(neutral)、分裂补色设计(splitcomplement)、原色设计(pri
注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。 本文是对The Enterprise Path to Service Mesh Architecutures一书的解读。 微服务将原先的单体架构中的应用内通信,转变为基于RPC的远程通信,虽然这样提高了研发效率,提高了开发语言选择的多样性,但是随着单体应用的解体,原先的巨石散落为石块变得四处都
本节总结了本书中涉及的有关线性代数、微分和概率的基础知识。为避免赘述本书未涉及的数学背景知识,本节中的少数定义稍有简化。 线性代数 下面分别概括了向量、矩阵、运算、范数、特征向量和特征值的概念。 向量 本书中的向量指的是列向量。一个$n$维向量$\boldsymbol{x}$的表达式可写成 $$\boldsymbol{x} = \begin{bmatrix} x{1} \ x{2} \ \vdot
新建我们的person.ts,我们通过这一个文件,使用所有的基础类型。 实验 实验一 代码 enum Choose { Wife = 1, Mother = 2} // 选择 妻子 还是 妈妈 function question(choose: Choose) : void{ console.log('你老婆和你妈妈同时掉进水里你先救哪个?'); console.log('你的选
让我们带着问题,去寻找答案。 我们的目标是玩烂ts。 需要一定的 JS 基础,或者后端面向对象语言(JAVA、PHP、C#等都行)的基础 ts 安装与更新 首先我们安装我们的typescript命令行工具,同样你也可以使用该命令更新版本。 npm install -g typescript 它会给我们安装tsc这个命令,它是typescript compile的缩写 婴儿的第一声啼哭 切换到你的工
概括来说,fpm的实现就是创建一个master进程,在master进程中创建并监听socket,然后fork出多个子进程,这些子进程各自accept请求,子进程的处理非常简单,它在启动后阻塞在accept上,有请求到达后开始读取请求数据,读取完成后开始处理然后再返回,在这期间是不会接收其它请求的,也就是说fpm的子进程同时只能响应一个请求,只有把这个请求处理完成后才会accept下一个请求,这一点
节点(Node):一个节点是一个运行 Kubernetes 中的主机。 容器组(Pod):一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷(volume)。 容器组生命周期(pos-states):包含所有容器状态集合,包括容器组状态类型,容器组生命周期,事件,重启策略,以及 replication controllers。 Replication Controller
基本架构 Docker 采用了 C/S 架构,包括客户端和服务端。Docker 守护进程 (Daemon)作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。 图 1.16.1.1 - Docker 基本架构 Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端
基本概念 Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具。 使用 Swarm 集群之前需要了解以下几个概念。 节点 运行 Docker 的主机可以主动初始化一个 Swarm 集群或者加入一个已存在的 Swarm 集群,这样这个运行 Docker 的主机就成为一个 Swarm 集群的节点 (node) 。 节点分为管理 (manager) 节点和工作
Docker 包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository) 理解了这三个概念,就理解了 Docker 的整个生命周期。