logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

开篇词 | 怎样成长为优秀的软件架构师?

同时,架构也关乎用户需求,作为架构师,我们不只是要知道当前的用户需求是什么,我们还要预测需求未来可能的变化,预判什么会发生,而什么一定不会发生。所以,光靠把控软件工程师的水平,依赖他们自觉保障的工程质量,是远远不够的。有讲编程语言的、讲数据结构与算法的、讲操作系统的、讲编译原理的、讲架构设计的,还有领域技术类的(比如数据库、存储、大数据、人工智能之类)。这个世界是不断变化的,作为程序员,我们更多的

#架构
29 | 巧用上下文管理器和With语句精简代码

在任何一门编程语言中,文件的输入输出、数据库的连接断开等,都是很常见的资源管理操作。但资源都是有限的,在写程序时,我们必须保证这些资源在使用过后得到释放,不然就容易造成资源泄露,轻者使得系统处理缓慢,重则会使系统崩溃。这就是一个典型的资源泄露的例子。因为程序中同时打开了太多的文件,占据了太多的资源,造成系统崩溃。为了解决这个问题,不同的编程语言都引入了不同的机制。而在 Python 中,对应的解决

#python
16 | 异步机制:如何避免单线程模型的阻塞?

Redis 之所以被广泛应用,很重要的一个原因就是它支持高性能访问。也正因为这样,我们必须要重视所有可能影响 Redis 性能的因素(例如命令操作、系统配置、关键机制、硬件配置等),不仅要知道具体的机制,尽可能避免性能异常的情况出现,还要提前准备好应对异常的方案。所以,从这节开始,会用 6 节的介绍影响 Redis 性能的 5 大方面的潜在因素,分别是:Redis 内部的阻塞式操作;CPU 核和

12 | 树的深度优先搜索(下):如何才能高效率地查字典?

上节结尾留了道思考题:如何实现前缀树的构建和查询?如果你动手尝试之后,你会发现,这个案例的实现没有我们前面讲的那些排列组合这么直观。这是因为,从数学的思想,到最终的编程实现,其实需要一个比较长的过程。我们首先需要把问题转化成数学中的模型,然后使用数据结构和算法来刻画数学模型,最终才能落实到编码。而在前缀树中,我们需要同时涉及树的结构、树的动态构建和深度优先搜索,这个实现过程相对比较复杂。所以,这节

#深度优先#算法
05 | Spring DI容器:如何分析一个软件的模型?

今天,我们学习了如何了解设计的第一部分:看模型。理解模型,要知道项目提供了哪些模型,这些模型都提供了怎样的能力。但还有更重要的一步就是,要了解模型设计的来龙去脉。这样,一方面,可以增进了我们对它的了解,但另一方面,也会减少我们对模型的破坏或滥用。我以 Spring 的 DI 容器为例给你讲解了如何理解模型。DI 容器的引入有效地解决了对象的创建和组装的问题,让程序员们拥有了一个新的编程模型。按照这

02 | CAP理论:分布式系统的PH试纸,用它来测酸碱度

很多同学可能都有这样的感觉,每次要开发分布式系统的时候,就会遇到一个非常棘手的问题,那就是如何根据业务特点,为系统设计合适的分区容错一致性模型,以实现集群能力。这个问题棘手在当发生分区错误时,应该如何保障系统稳定运行,不影响业务。这和之前经历的一件事比较像,当时,负责自研 InfluxDB 系统的项目,接手这个项目后,。因为 InfluxDB 有 META 和 DATA 两个节点,它们的功能和数据

31 | 大数据架构:大数据技术架构的思想和原理是什么?

在开篇词讲到,任何新技术都不是凭空产生的,都是在既有技术的基础之上,进行了一些创新性的组合扩展,应用到一些合适的场景之中,然后爆发出来巨大的生产力。后面几篇我要讲的大数据技术,区块链技术都是如此。大数据技术其实是分布式技术在数据处理领域的创新性应用,本质和我们此前讲到的分布式技术思路一脉相承:用更多的计算机组成一个集群,提供更多的计算资源,从而满足更大的计算压力要求。前面我们讨论的各种分布式缓存、

#大数据#架构
13|如何利用HRTF实现听音辨位?

13|如何利用HRTF实现听音辨位?之前介绍了空间音频的基本概念,以及空间音频是如何采集和播放的。已经基本掌握了空间音频的基本原理。其实在游戏、社交、影视等场景中,空间音频被广泛地应用于构建虚拟的空间环境。在空间音频的应用里最常见的一种就是“听音辨位”。比如在很多射击游戏中,能够通过耳机中目标的脚步、枪声等信息来判断目标的方向。如何利用 HRTF(Head Related Transfer Fun

文章图片
#音视频#语音识别#人工智能
27 | 学会合理分解代码,提高代码可读性

今天这节课,我们简单讲述了如何提高 Python 代码的可读性,主要介绍了 PEP 8 规范,并通过实例的说明和改造,清楚如何对 Python 程序进行可读性优化。

#python
33 | 脑裂:一次奇怪的数据丢失

在使用主从集群时,曾遇到过这样一个问题:我们的主从集群有 1 个主库、5 个从库和 3 个哨兵实例,在使用的过程中,我们发现客户端发送的一些数据丢失了,这直接影响到了业务层的数据可靠性。通过一系列的问题排查,我们才知道,这其实是主从集群中的脑裂问题导致的。所谓的脑裂,就是指在主从集群中,同时有两个主节点,它们都能接收写请求。而脑裂最直接的影响,就是客户端不知道应该往哪个主节点写入数据,结果就是不同

    共 79 条
  • 1
  • 2
  • 3
  • 8
  • 请选择