异步编程Promise

Promise的写法给异步带来了新的变化,当然写法的变化是基于V8执行层的变化 — 微任务队列。ES6中引入了微任务我们先来谈一谈微任务。 微任务在Event-Driven架构下,异步任务通过事件队列来处理,浏览器环境中,定时器任务、网络请求、交互响应等,都把回调任务加入到事件队列中。只有一个队列,如果一个定时任...

异步编程callback

什么是异步?你早上起来做饭,把食材放入之后,设定好时间,如果你只是等待,没有离开做别的事,就是同步;但你不会一直等着,多半会玩手机,或者打扫之类的,等到时间到了,或者打扫完了,才去吃饭,那就是异步。 什么是异步编程?要看异步编程,先看同步编程。什么是同步。同步,synchronous.就是按代码编写的顺序,从上往...

web应用架构

web应用架构1. 多层(Multi-tier)架构逻辑实体如何组织。 1-tier 架构 不需要联网的桌面应用就是1-tier架构,比如日历、单机游戏,本机自给自足,不需要其他服务。 2-tier架构 也就是C/S架构,服务器不连接外部服务 三层架构 client: ...

程序设计中的错误处理

错误码在C语言中,错误处理一般依赖于返回错误码的方式。比如打开文件操作,失败时返回NULL,通过设置全局变量errno来指示具体的错误类型。 1234567891011121314151617#include<stdio.h>#include<errno.h>int main() ...

区块链为什么发币

现在区块链备受关注。作为一种去中心化、安全、透明的分布式账本技术,区块链被广泛应用于加密货币、智能合约、供应链管理等领域。有个现象很有意思,几乎所有的区块链项目都伴随着自己的数字货币或代币。这是为什么?如果仅从技术上来讲,可以认为区块链就是分布式数据库。但是如果从经济系统的视角看,数字货币代表着什么? 激励相容一...

类型守卫

什么是类型守卫 A type guard is some expression that performs a runtime check that guarantees the type in some scope. Typescript在运行时只有Javascript,这时候如何确定变量的类型? 内置类...

面向对象与原型

JavaScript是基于原型的? 嗯。 那new、this是什么? 额。。。 什么是原型?照猫画虎。 你要建一座房,照着设计图建就是“面向对象”,照着邻居建就是“基于对象”。 之前提到过,基于原型就是基于已有的对象,描述不一样的特征,所以相同的特征就直接“复制”过来。 基于原型的面向对象系统通过“复制”的方式...

什么是面向对象

面向对象,什么是对象? ​ 面向对象思想的创始者Alan Kay受分子生物学的启发,提出了面向对象这一思想。可以看出,这里所说的对象更像是研究对象。一个实验中,每一个小白鼠都是一个对象,即使是同一对照组,独立的研究个体就是一个单独的对象。再来看Alan Kay 发明smalltalk语言之前启蒙面向对象的simu...

HTTPS

HTTPS 超文本传输安全协议(HyperText Transfer Protocol Secure,常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。 ...

HTTP

HTTP和REST1. HTTP? HTTP是应用层网络传输协议。所以,和其他网络协议一样,是为了实现两台电脑之间的信息传输,不过接收的电脑是作为服务器。 组成: 1.1 URL1. Uniform Resource Locator,统一资源定位符,顾名思义,用来标识服务器上的资源文件,和数据库的id一样,每...