大家好,我是小林。互联网公司最开始也是从单体应用架构起步的,因为当时的用户量少、并发量低、数据量小,一般情况下只需要单个服务器就可以满足需求。此时的后端开发团队就比较简单,一个团队就能完成设计、开发、部署、运维工作。但即使是这样一个简单后端团队,也是需要好几个人。开发一个应用,开...
不管你是从事开发还是运维工作,或多或少都会接触到Linux基本命令,Linux命令也是Linux系统正常运行的核心。但是Linux命令那么多,都要学习吗?当然不是了,一般只需掌握工作中常用的命令以及命令本身的参数选项就够了,其他的等遇到需要的时候再自行查阅。今天给大家分享一份超详...
这是一个纷杂而无规则的世界,越想忘掉的事情,越难忘记。 正文 Redis本身内容繁杂,要是上来就研究一细节点,如连接池、数据结构,虽可直接学到某个点的详尽源码内容,甚至尽快解决一些事故,但容易溺死在细节汪洋,无法整体把控Redis。最好是先建立起“架构”。想精通Red...
程序员的手有多巧?近日,一对北漂夫妇从北京回到河南周口老家,当程序员的丈夫自己动手把农村老家的土屋改造成了“花园别墅”,一共花费才八万元。这是房子改造前的模样:这是房子改造后的模样:据房子女主人王女士说,夫妻俩北漂十年,一直没有归属感,眼看孩子大了要上学,因为北京房价太高,又没有...
如图是真实世界实践中C项目protected继承和private继承的情况:其中public继承总的平均下来几乎占99.9%,而protected继承几乎没有。private继承还能占极小部分,但也完全可以用public继承复合取代。实践是检验真理的唯一标准,现实世界中的这些项目...
最近发现一个关于ADC模数转换器的系列文档,来自模拟器件大厂——ADI官方,全文252页,非常详细、齐全!ADC和计算机一样,经历了从低速到高速的发展过程,低速ADC(>300us)架构有积分型、斜坡型、跟踪型,中速ADC(1-300us)有逐次逼近型,高速(
大家好,我是ZhengN。本次给大家分享一些芯片原厂的代码仓库,这些资源已收录到咱们嵌入式大杂烩的资源仓库里了:https://gitee.com/zhengnianli/EmbedSummary我们用到一个新的芯片时,一般在它们的官网都可以找到一些入门、上手的资料。除此之外,有...
今天给大家讲讲衡量网络性能的四大指标:带宽、时延、抖动、丢包。如何客户需要我们去评估一个网络的性能,我们就可以从这四方面去进行评估。带宽1、带宽概念:带宽在百度百科中定义:在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。计算机网络的带宽是指网络可通过的最高数据率,即...
来自公众号:大胖聊编程作者:大胖ASan,即AddressSanitizer,是一个适用于c/c程序的动态内存错误检测器,它由一个编译器检测模块(LLVMpass)和一个替换malloc函数的运行时库组成,在性能及检测内存错误方面都优于Valgrind,你值得拥有。一适用平台在L...
一朋友和我讨论他前段时间面试某大公司的一题目:企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事o...
随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题,系统架构也在不断演进。传统的集中式系统已经逐渐无法满足要求,分布式系统被使...
肯定有不少人会想:这怎么可能呢?就算用几乎零配置的SpringBoot,写一个最简单的接口也得有3行代码啊!@RequestMapping("test/{request}")public String test(@PathVariable String request) { ...
一、文件我们将该项目的所有功能函数放到以该函数名命名的c文件,同时放到对应名称的子目录中。比如函数allfree(),存放到allfree/allfree.c中最终目录结构如下图所示: peng@ubuntu:/mnt/hgfs/code/phone$ tree ..├── al...
在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB的使用方式,而是大概介绍GDB的实现原理,当然GDB是一个庞大...