-
Typescript-03-basic syntax 基本语法
TypeScript 基础语法
TypeScript 程序由以下几个部分组成:
模块
函数
变量
语句和表达式
注释
TSC 编译
可以一次编译多个 ts 文件:
tsc file1.ts file2.ts file3.ts
编译参数
参数
...
2021-03-09 08:52:15 |
Web
-
Typescript-02-install 安装
TypeScript 安装
本文介绍 TypeScript 环境的安装。
NPM 安装 TypeScript
如果你的本地环境已经安装了 npm 工具,可以使用以下命令来安装。
npm 安装
此处不再赘述,可参考 npm 使用入门
λ npm -version
6.14.4
安装 TypeScript
npm install -g typescript
可能会出现安装比...
2021-03-09 08:52:15 |
Web
-
Typescript-01-overview 概览入门
Typescript
Typescript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。
TypeScript 由微软开发的自由和开源的编程语言。
TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。
特性
始于JavaScript,归于Jav...
2021-03-09 08:52:15 |
Web
-
mybatis plus BatchUpdateException ORA-00001 违反唯一约束条件应该如何捕获?
问题描述
对于 oracle 数据库,我们的表通常会创建唯一索引。
不过有时候因为并发等问题,重复插入失败是很正常的,我们希望捕获掉对应的异常,输出 warn 级别的日志即可。
实际使用的 mybatis-plus 作为数据库操作框架,记录一下一些小问题。
单个插入的重复
这个比较符合预期,实现如下:
try {
userService.insert(user);
} c...
2021-03-09 08:52:15 |
Database
-
Failed to connect to github.com port 443 Timed out
问题描述
git push 失败。
浏览器可以正常访问 github.com
方案一
可能原因
代理导致的。
解决方案
取消代理:
git config --global --unset http.proxy
自测无效。
地址失效
查询可以用的IP
在 http://ping.chinaz.com/github.com 查询对应的耗时情况。
修改 hosts 文件...
2021-03-06 08:52:15 |
Distributed
-
分布式系统-09-MVCC 多版本并发控制
基于MVCC的分布式事务
实现分布式事务除了使用类似“两阶段提交协议等方式外,另一种简单高效的方式就是使用MVCC(Multi version Cocurrent Control ,多版本并发控制技术。
MVCC 技术最初也是在数据库系统中被提出,但这种思想并不局限于单机的分布式系统,在分布式系统中同样有效。
MVCC简介
顾名思义,MVCC 即多个不同版本的数据实现并发控制的技术,...
2021-03-06 08:52:15 |
Distributed
-
分布式系统-08-two phase commit 两阶段提交协议
两阶段提交协议
两阶段提交协议是一种经典的强一致性中心化副本控制协议。
虽然在工程中该协议有较多的问题,但研究该协议能很好的理解分布式系统的几个典型问题。
问题背景
两阶段提交(two phase commit )协议是一种历史悠久的分布式控制协议。
最早用于在分布式数据库中,实现分布式事务。
这里有必要首先简单介绍一下两阶段提交的最初问题背景,从而能更好的理解该协议。
业务背...
2021-03-06 08:52:15 |
Distributed
-
分布式系统-07-log 日志技术
日志技术
日志技术是宕机恢复的主要技术之一。
日志技术最初使用在数据库系统中。
严格来说日志技术不是一种分布式系统的技术,但在分布式系统的实践中,却广泛使用了日志技术 做宕机恢复,甚至如 BigTable 等系统将日志保存到一个分布式系统中进一步增强了系统容错能力 。
本章首先简单介绍数据库系统中的日志技术,进而抽象简化问题模型,在简化模型的基础上介绍两种实用的日志技术 Redo L...
2021-03-06 08:52:15 |
Distributed