女王控的博客

后端

26 篇文章

Go 入门学习

入门 Hello, World 我们以现已成为传统的 案例来开始吧 Go 是一门编译型语言,Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令 go 调用,go 命令有一系列子命令。最简单的一个子命令就是 run。这个命令编译一个或多个以 .go 结尾的源文件,链接库文件,并运行最终生成的可执行文件(本书使用 表示命令行提示符。) 毫无意外,这个命令会输出: Go 语言原生支持 Unicode… »

系统设计深入学习

高并发架构 消息队列 为什么使用消息队列? 优点 解耦:通过一个 MQ,Pub/Sub 发布订阅消息这么一个模型,A 系统就跟其它系统彻底解耦了。 异步:任务发到消息队列,由消费者异步消费 削峰:任务发到消息队列,由消费者决定消费速度 缺点 系统可用性降低:MQ 挂了如何处理?即如何保证消息队列的高可用? 系统复杂度提高:怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性? 一致性问题:A 系统处理完直接返回成功,发到消息队列后供 B、C、D 消费,如果 B、D 成功、C… »

分布式服务入门学习

分布式系统、单体系统区别 分布式系统是对单体系统的一种改进,但这种改进同样也带来了复杂度和实现难度。 背景 单体系统存在以下情况不能应对: 业务复杂度和产品迭代速度 处理高并发、大数据量的用户请求 代码维护和团队协作 但是分布式系统引入了新问题 网络传输的三态性 数据的一致性 可用性 // TODO https://juejin.cn/book/7106442254533066787/section/7106701956340514857 »

编写高质量Python

培养 Pythonic 思维 第 1 条:查询自己使用的 Python 版本 Python 2 于 2020 年 1 月 1 日退场,到这一刻,所有的 bug 修复、安全补丁,以及特性向后移植都会停止。此后,如果你还坚持使用 Python 2,那么会面临很多不利因素,因为它不会再获得正式的维护了。深度依赖 Python 2 代码库的开发者可以考虑用 2to3(Python 预装的工具)与 six 这样的工具过渡到 Python 3。 第 2 条:遵循 PEP… »

Rust练手测试

背景知识 Rust 语言圣经 变量绑定与解构 问题一 变量只有在初始化后才能被使用 我的解答 问题二 可以使用 mut 将变量标记为可变 我的解答 问题三 作用域是一个变量在程序中能够保持合法的范围 我的解答 最佳解答 问题四 我的解答 最佳解答 问题五 若后面的变量声明的名称和之前的变量相同,则我们说:第一个变量被第二个同名变量遮蔽了(shadowing) 我的解答 问题六 删除一行代码以通过编译 我的解答 问题七 使用以下方法来修复编译器输出的 warning… »

0%