今天想聊一聊优秀程序员的基本素养。我想你肯定遇到过这样一类程序员:他们无论是写代码,还是写文档,又或是和别人沟通,都显得特别专业。每次遇到这类人,我都在想,他们到底是怎么做到的?随着工作时间的增长,渐渐地我也总结出一些经验,他们身上都保持着一些看似很微小的优秀习惯,但正是因为这些...
当我每了解一个新技术或者新框架的时候,我都想要先把名字概念弄懂是什么,可见概念对于我们的帮助非常大。计算机网络中的概念也是非常庞杂,理解起来比较困难,所以这里,我给大家汇总了计算机网络中89个常见的概念,希望对你有所帮助。主机:计算机网络上任何一种能够连接网络的设备都被称为主机或...
Windows中内存泄露的文章已经写过两篇>"data-itemshowtype="11"tab="innerlink"data-linktype="2">和>"data-itemshowtype="11"tab="innerlink"data-linktype="2">。如果有...
在后端接口性能指标中一类重要的指标就是接口耗时。具体包括平均响应时间TP90、TP99耗时值等。这些值越低越好,一般来说是几毫秒,或者是几十毫秒。如果响应时间一旦过长,比如超过了1秒,在用户侧就能感觉到非常明显的卡顿。如果长此以往,用户可能就直接用脚投票,卸载我们的App了。在正...
昨天在群里有朋友问:把进程绑定到某个CPU上运行是怎么实现的。首先,我们先来了解下将进程与CPU进行绑定的好处。进程绑定CPU的好处:在多核CPU结构中,每个核心有各自的L1、L2缓存,而L3缓存是共用的。如果一个进程在核心间来回切换,各个核心的缓存命中率就会受到影响。相反如果进...
说起Web开发,大多数人会想到Java、Python、Golang... 因为它们的主流Web框架有很多,Java有非常知名的Spring全家桶,Python有大而全的Django、小而精的Flask、高性能的Tornado,Golang也有快速灵活的Gin、Echo等框架。相比...
前言于我而言,最开始学习就是C,除了计算机专业,其他专业可能学习的第一门编程语言为C语言,还是谭浩强爷爷那本,当时想着有点C基础,无外乎就是C语言的升级版,于是开启了C的路程。语言这个东西,可能过后你会发现,它真就一工具,你如果想做个爬虫或者数据分析,那多半会选择Python,无...
前言今天我们来深度解密一下负载均衡器LVS的秘密,相信大家看了你管这破玩意儿叫负载均衡?这篇文章后,还是有不少疑问,比如LVS看起来只有类似路由器的转发功能,为啥说它是四层(传输层)负载均衡器呢,今天我们就来逐渐揭开LVS的迷雾,本文将会用图解的方式浅入深地探讨LVS的工作机制最...
什么是一致性协议?注意,今天是大白话随便聊聊,目的是直白的了解raft是什么,不用太抠理论定义。什么是一致性协议?字面理解就是让某些东西保持一致的协议嘛。什么是一致?大白话就是内容完全相同呗。以存储场景举例,假设有三个磁盘文件,大小为1M,如果三个文件1M的数据都完全相同,那么这...
↓推荐关注↓1.PageCache1.1PageCache是什么?为了理解PageCache,我们不妨先看一下Linux的文件I/O系统,如下图所示:Figure1.Linux文件I/O系统上图中,红色部分为PageCache。可见PageCache的本质是由Linux内核管理的...
你是一台电脑,你的名字叫A很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。直到有一天,你希望与另一台电脑B建立通信,于是你们各开了一个网口,用一根网线连接了起来。用一根网线连接起来怎么就能"通信"了呢?我可以给你讲IO、讲中断、讲缓冲区,但这不是研究网络时该关心的问题。如果你纠...
↓推荐关注↓std::set/std::map(以下用std::map代表)是常用的关联式容器,也是ADT(抽象数据类型)。也就是说,其接口(不是OO意义下的interface)不仅规定了操作的功能,还规定了操作的复杂度(代价/cost)。例如set::insert(iterat...
【导语】:开源的在线流程图绘制工具。简介Wireflow是一个免费的、开源的在线流程图绘制工具,用于创建漂亮的流程图,无需Photoshop技能。支持使用100多种自定义图形、可进行多人协作、权限分配、实时聊天等功能,并拥有丰富的功能组件库。Wireflow的诞生是为了在项目规划...