欢迎来到虫虫开发者社区 — 百万工程师技术资源
关于我们
网站地图
登录
注册
虫
虫虫开发者社区
首页
资源下载
资源专辑
热门软件
精品资源
电子书
上传资源
首页
›
技术阅读
技术阅读
工程师原创文章 · 技术经验分享 · 项目案例解析
共 3000 篇文章
✍️ 原创分享
持续更新
高端文 | CPU负载均衡实现
在《一文读懂 | 进程怎么绑定 CPU》这篇文章中介绍过,在 Linux 内核中会为每个 CPU 创建一个可运行进程队列,由于每个 CPU 都拥有一个可运行进程队列,那么就有可能会出现每个可运行进程队列之间的进程数不一样的问题,这就是所谓的 负载不均衡 问题,如下图所示:(图1)最极端的情况是,一个 CPU 的可运行进程队列拥有非常多的进...
2024-02-12
阅读全文 →
面试必备!TCP协议经典十五连问!
前言TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀公众号:捡田螺的小男孩1. 讲下TCP三次握手流程开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态第一次握手(SYN=1, seq=x),发送完毕后,客户端进入 SYN_SEND 状态第二次握手(SY...
2024-02-11
阅读全文 →
我是程序喵,不是程序猫!
平时聊天时总会有朋友叫猫哥猫哥的,开始时我会纠正一下,后来叫猫哥的实在太多了,我也实在纠正不过来,也是懒得纠正了。然而然而然而,我公众号后台其实是可以回复程序喵关键字领取资料,可是偏偏有人如图这样:总能在公众号后台看到有人回复“程序猫”,错误的关键词导致这些人看不到原本设置的关键词“程序喵”对应的回复内容。所以就会发生上面的对话,各位大哥大姐,本人程序喵在此...
2024-02-11
阅读全文 →
和各种诡异 Bug 打交道 13 年,我总结了 18 个经验
编译:伯乐在线 - 郑芸,英文:Henrik Warne来源:CPP开发者Bug 是绝佳的学习机会。所以我们怎样尽可能多地从修复的 bug 中吸取经验?我至今已经用了 13 年的一个方法是,写下这个 bug 的简单描述、修复方法以及吸取的经验。遥想 2002 年,我偶然发现一篇描述这个方法的博客(很不幸,我没再找到)。我从那时起就使用这个方法了,并...
2024-02-11
阅读全文 →
聊聊后端那些事儿
未来的软件,从诞生起,就是生在云上,长在云上的。这个说法绝对不是没有根据的,看看现在的互联网大厂在做的事情,你就知道了: 阿里宣布成立云原生技术委员会,并投入数十亿大力推动阿里经济体全面云原生化,对外赋能数百万家企业进行云原生改造,提升 30% 研发效率的同时降低30% IT 成本,帮助客户迈入数字原生时代。华为云在业界率先提出了云原生 2.0 的...
2024-02-11
阅读全文 →
Linux网络新技术基石 |eBPF and XDP
hi,大家好,欢迎来到极客重生的世界,今天给大家分享的是Linux 网络新技术,当前正流行网络技是什么?那就是eBPF和XDP技术,Cilium+eBPF超级火热,Google GCP也刚刚全面转过来。新技术出现的历史原因廉颇老矣,尚能饭否iptables/netfilteriptables/netfilter 是上个时代Linux网络提供的优秀的防火墙技术...
2024-02-11
阅读全文 →
如何阅读《深入理解计算机系统》?(文末送书)
导读:如果你也读CS专业,如果你也不知道怎么回答“学计算机不就是学修电脑”这个CS系的宿命之问,推荐一定读一读《深入理解计算机系统》。《深入理解计算机系统》是一本什么样的书呢?两个字,经典。原因有二,第一,这书无数业界大牛推荐,第二,这书和你印象中的经典一样,给人的第一感觉就是厚实。不过,厚实也很容易再给人一种感觉,那就是望而却步——你没准会想,这么厚的书,...
2024-02-11
阅读全文 →
为什么我十分喜欢C,却很不喜欢C++?
作者 | Kostya Shishkov 译者 | 弯月 责编 | 欧阳姝黎出品 | CSDN(ID:CSDNnews)C和C++孰优孰劣之争貌似永远不会有结果,我们也就看看热闹吧:虽然 C 语言并不是我所学的第一门语言,也不是我的最后一门语言,但是我仍然非常喜欢 C...
2024-02-11
阅读全文 →
shared_ptr是线程安全的吗?
来源 | https://blog.csdn.net/Solstice/article/details/8547547声明 | 本文为CSDN博主[陈硕]原创文章,如有侵权请联系删除最近看见交流群里小伙伴在讨论这个问题,自己也很感兴趣,上网找到了陈硕大佬的这篇文章,分享给大家!以下是正文:我在《Linux 多线程服务端编程:使用 muduo C++...
2024-02-11
阅读全文 →
编程5分钟,命名2小时!聊聊命名规则!
在软件中随处可见命名:要给变量、函数、参数、类和封包命名,还要给源代码及源代码所在目录命名,甚至还有jar文件、war文件和ear文件命名。但是,看似简单的命名,也是让不少程序员头疼的问题。有一些小伙伴,在进行变量命名的时候,对于自己熟悉的英文,可能还会用英文命名一下,如果需要命名的部分不会用英文表达,或许就直接用拼音了。有的童鞋一下想不起来怎么命名,直接用...
2024-02-11
阅读全文 →
Linux C++ 服务器端这条线怎么走?
封面是我最近在追的动漫《眷思量》,推荐给大家!本文作者:陈硕来源:https://www.zhihu.com/question/22608820/answer/21968467看完后不再迷茫!在校学生的编程语言和数据结构的基础还不错,我认为应该在《操作系统》和《计算机体系结构》这两门课上下功夫,然后才去读编程方面的 APUE、UNP 等书。下面简单谈谈我对学...
2024-02-11
阅读全文 →
百家号在线视频编辑器的技术演进
导读:随着移动互联网的发展,视频化浪潮借着5G的东风扑面而来。然而众多用户在进行视频化创作的过程中,被传统视频编辑器复杂的功能和陡峭的学习曲线劝退。为此,百度百家号业务研发团队结合用户的实际创作需求,开发出一款简单易用的在线视频编辑和发布工具——百家号在线视频编辑器。本文将细致地介绍这一编辑器的技术原理,架构和演进方向,并从一角揭示百度内部的技术合作与创新机...
2024-02-11
阅读全文 →
高端知识点 — socket fd 是什么?
socket fd 长什么样子?什么是 socket fd ?粗糙的来讲,就是网络 fd,比如我们最常见的 C/S 客户端服务端的编程模式,就是网络通信的一种方式。撇开底层和协议细节,网络通信和文件读写从接口上有本质区别吗?其实没啥区别,不就是读过来和写过去嘛,简称 IO 。我们先看一下 socket fd 是什么样子的?随便找了个进程root@ubuntu...
2024-02-11
阅读全文 →
C 语言的那些坑!
来源:IBN,作者:Cameron Lairdhttps://www.ibm.com/developerworks/cn/aix/library/au-memorytechniques.html本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻...
2024-02-11
阅读全文 →
高端 | 如何快速定位程序Core?
导读:程序core是指应用程序无法保持正常running状态而发生的崩溃行为。程序core时会生成相关的core-dump文件,是程序崩溃时程序状态的数据备份。core-dump文件中包含内存、处理器、寄存器、程序计数器、栈指针等状态信息。本文将介绍一些利用core-dump文件定位程序core原因的方法和技巧。全文7023字,预计阅读时间 13分钟。一、程...
2024-02-11
阅读全文 →
彷徨C++十几年,终于盯上 Rust
C++开发究竟需不需要学点Rust?个人认为:需要!早就是优势!多年以前,后端还是Java和C++的天下呢!那时好多人都说Go的生态不好,它作为后端主要语言还有很长一段距离。然而,看看现在,多数做后端开发的人都转到Go去了。貌似现在的Rust和当年的Go有点类似的味道?对于 Rust 这个新语言,很多人可能都听过,但是没用过。实际上,早从 16 年起,Rus...
2024-02-11
阅读全文 →
2021最稳C/C++学习路线
封面自己画的,应该还算比较可爱的吧,复古类型的可爱啦。为什么是森林呢,嗯~~周末看了书《挪威的森林》,其中有句话是:如果你掉进了黑暗里,你能做的,不过是静心等待,直到你的双眼适应黑暗。此篇文章关于 C/C++/Linux后端开发的全路线。前言于我而言,最开始学习就是 C++,除了计算机专业,其他专业可能学习的第一门编程语言为 C 语言,还是谭浩强爷爷那本,当...
2024-02-11
阅读全文 →
三个多月、40余场面试浓缩为6000字
卷友们好,我是阿秀。阿秀在去年找工作时,大概面试过四十余场,不敢说自己的面试经验很丰富,但至少也不差的。所以专门花了点时间把自己的面试经验总结了一下,分享给大家!可以说,三个多月的时间里,40 余场面试,都浓缩在这 6262个字里了。在此之前,先分享一下自己昨天的小确幸,可以说是20多年以来收到的最好的儿童节礼物了。尼古拉斯·赵四说过:“如果有什么比一件大喜...
2024-02-11
阅读全文 →
C++ 并行编程中的“锁”难题
转自:Guancheng (G.C.)在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。1、用锁来防止数据竞跑在进行并行编程时,我们常常需要使用锁来保护共享变量,以防止多个线程同时对该变量进行更新时产生数据竞跑(Data Race)。所...
2024-02-11
阅读全文 →
一个内核漏洞详解:容器逃逸
CVE-2021-22555:一个影响2006年(Linux kernel v2.6.19-rc1 发布)至今(Linux kernel v5.12-rc8)的所有Linux内核版本的漏洞,可导致本地提权与容器逃逸;该漏洞是个内核级漏洞,跟Linux的发行版本没有关系,也就是说只要Linux 内核版本在v2.6.19-rc1 ~v5.12-rc8 之间的内核...
2024-02-11
阅读全文 →
C++究竟难在哪里?
C++对比其他语言到底难在哪里?有人对C++异常推崇,除了性能优势,还有什么优点,怎么学好C++?01C++的能力上限非常高,可以说在软件领域没有C++做不好和做不到的事情,只是开发者水平和成本问题,而C++之后出现的语言都有些无论如何都做不好或根本做不到的事情。C++虽然能力上限高,但是达到这个上限对开发者的要求也很高,不是普通程序员可以做到的。其它语言虽...
2024-02-11
阅读全文 →
一文看懂 | 内存交换机制
本文基于 Linux-2.4.16 内核版本由于计算机的物理内存是有限的, 而进程对内存的使用是不确定的, 所以物理内存总有用完的可能性. 那么当系统的物理内存不足时, Linux内核使用什么方案来避免申请不到物理内存这个问题呢?相对于内存来说, 磁盘的容量是非常大的, 所以Linux内核实现了一个叫 内存交换 的功能 -- 把某些进程的...
2024-02-11
阅读全文 →
从零实现一个 http 服务器
我始终觉得,天生的出身很重要,但后天的努力更加重要,所以如今的很多“科班”往往不如后天努力的“非科班”。所以,我们需要重新给“专业”和“专家”下一个定义:所谓专业,就是别人不搞你搞,这就是你的“专业”;你和别人同时搞,你比别人搞的好,就是“专家”。说到http协议和http请求,很多人都知道,但是他们真的“知道”吗?我面试过很多求职者,一说到http协议,他...
2024-02-11
阅读全文 →
Linux字节对齐的那些事
最近一口君在做一个项目,遇到一个问题,运行于ARM上的threadx在与DSP通信采用消息队列的方式传递消息(最终实现原理是中断+共享内存的方式),在实际操作过程中发现threadx总是crash,于是经过排查,是因为传递消息的结构体没有考虑字节对齐的问题。随手整理一下C语言中字节对齐的问题与大家一起分享。一、概念 对齐跟数据在内存中的位置有关。如果一个变量...
2024-02-11
阅读全文 →
会吹牛逼真的很重要
经常看我文章的小伙伴可能有所察觉,最近公号的更新频率略低,是因为我最近在准备晋升答辩的ppt,从准备ppt内容到演练,来来回回不下十几遍,有点感悟,想在这里分享一下。技术很重要,但真的不是全部。没日没夜学的技术,根本用不到?以前,甚至一年前,我曾坚定的认为有技术就可以走遍天下,就可以躲过“35岁危机”。所以我始终追求技术,没日没夜的钻研技术,翻阅各种技术书籍...
2024-02-11
阅读全文 →
程序员需知的 58 个网站
众所周知,程序员是一个需要不断学习的职业,而幸运的是,在这个互联网时代,知识就在那里,等着我们去获取。作为一个 收藏从未停止,学习从未开始 的博主 :(秉承着好东西不能独享的态度,把收藏的学习网站整理分享出来。原文链接:https://mp.weixin.qq.com/s/LBsw9KatMl6TQrjNt--a_A好,那下面就开始上货了...
2024-02-11
阅读全文 →
看完这篇你还能不懂C语言/C++内存管理?
C 语言内存管理指对系统内存的分配、创建、使用这一系列操作。在内存管理中,由于是操作系统内存,使用不当会造成毕竟麻烦的结果。本文将从系统内存的分配、创建出发,并且使用例子来举例说明内存管理不当会出现的情况及解决办法。一、内存 在计算机中,每个应用程序之间的内存是相互独立的,通常情况下应用程序 A 并不能访问应用程序 B,当然一些特殊技巧可以访问,但此文并不详...
2024-02-11
阅读全文 →
手写线程池 - C语言版
1. 线程池原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务呢?线程池是一种多线程处...
2024-02-11
阅读全文 →
短视频go研发框架实践
导读:hulk是短视频研发部研发的基于GDP2(Go Develop Platform )的go服务开发框架。它是⼀款⾯向业务的Web开发框架,提供了诸多开箱即⽤的组件和功能,可以⽤来快速开发Web服务。同时,依托于hulk框架并结合⼚内/业界优秀的开发实践,初步构建了⼀个符合业务应⽤场景的go⽣态体系。全文7330字,预计阅读时间 12分钟。一、...
2024-02-11
阅读全文 →
链接两个"名字完全一样"的【动态库】,你会怎么处理?
【目录】第一个动态库文件应用程序第二个动态库文件错误做法:直接给它改名正解:patchelf 工具One More Thing在Linux应用的开发过程中,直接利用现成的第三方库(俗称:轮子)来完成自己的业务功能,是很常见的事情。不知道你是否遇到这样的场景:应用程序中需要使用两个动态库里的不同功能的函数,但是这两个动态库的作者发生心灵感应了,居然起了完全一样...
2024-02-11
阅读全文 →
首页
« 上一页
6
7
8
9
10
11
12
13
14
下一页 »
末页
用户登录
登录后可下载更多技术资源
×
加载中...
加载登录表单中...
用户注册
送10积分
加入工程师资源平台
×
加载中...
加载注册表单中...
找回密码
通过邮箱重置您的账号密码
×
加载中...
加载表单中...
需要登录
登录后即可使用更多功能
×
新用户注册即送10积分,可用于下载资源
👋
退出登录
确认要退出当前账号吗?
×
退出后需要重新登录才能下载资源