摘要:
基本数据类型 整数int 浮点数float 字符串str 布尔值bool True False 可以用type()来判断变量类型。 字符串与其他的转换 字符串转整数 int('8') 整数转字符串 str(8) 整数与浮点 print(int(1.8)) #抹掉小数部分,保留整数部分 print(8 阅读全文
摘要:
分布式系统的麻烦 在分布式系统中,我们不再处于理想化的系统模型中,我们别无选择,只能面对现实世界的混乱现实。在分布式系统中,尽管系统的其他部分工作正常,但系统的某些部分可能会以某种不可预知的方式被破坏。这被称为部分失效。 关于如何构建大型计算系统有一系列的哲学: 规模的一端是高性能计算(HPC)领域 阅读全文
摘要:
初始化与清理 Java中采用构造器进行初始化,构造器采用与类相同的名称。 不接受任何参数的构造器称为默认构造器(无参构造器)。如果有定义其他的构造器,初始构造器不会被调用。 构造器可以进行重载,接受不同的参数,使用不同的初始化方法。为了区分,每个重载的方法需要有独一无二的参数类型列表。 会根据参数转 阅读全文
摘要:
Docker部署的MongoDB的用户鉴权问题 写这篇博客的起因是在阿里云上用Docker部署了一个MongoDB数据库,用来存毕设网站用到的数据库。因为数据量比较小,并且没有隐私数据,所以并没有设置密码。没想到被黑了,有人把所有的数据Copy走后把所有库都删除了,并且留下了一封勒索0.0015BT 阅读全文
摘要:
InnoDB有多个内存块组成的内存池,负责如下工作: 维护进程、线程内部数据结构 缓存磁盘上数据 后台线程的作用是刷新内存池中的数据,保证缓冲池中缓存是最新的数据。将已修改的数据文件刷新到磁盘文件。保证在数据库发生异常时可以恢复到正常状态。 后台线程 Master Thread 负责将缓冲池中数据异 阅读全文
摘要:
启动多线程 import threading def change_model(app): print("change start") t1 = threading.Thread(target=change_model, args=(app,)) t1.start() 锁 锁有两种,一种是只能锁一次 阅读全文
摘要:
并发编程 Goroutine Goroutine是Go语言特有的并发体,是一种轻量级的线程,由go关键字启动。在真实的Go语言的实现中,goroutine和系统线程也不是等价的。 一个Goroutine会以一个很小的栈启动(可能是2KB或4KB),当遇到深度递归导致当前栈空间不足时Goroutine 阅读全文
摘要:
函数、方法和接口 具名函数一般对应于包级的函数,是匿名函数的一种特例,当匿名函数引用了外部作用域中的变量时就成了闭包函数闭包函数是函数式编程语言的核心。 方法是绑定到一个具体类型的特殊函数,Go语言中的方法是依托于类型的,必须在编译时静态绑定。 接口定义了方法的集合,这些方法依托于运行时的接口对象, 阅读全文