首页
学习
活动
专区
工具
TVP
发布

高性能服务器开发

专栏成员
344
文章
551124
阅读量
214
订阅数
网络编程到底要怎么学?
你需要掌握基础的如三次握手和四次挥手的过程以及各个状态值,我建议使用 tcpdump 命令实际抓下包就一目了然了,然后就是网络分层,各层的用途,重点熟悉下 TCP/IP 层相关的知识,还有就是 TCP/UDP 的区别,TCP 的滑动窗口机制、拥塞控制算法、TCP 的保序、重传、确认机制。
范蠡
2023-01-10
1.1K0
买了很多书,看了很多教程,仍然看不懂开源代码......
想在技术上有所造诣或者想成为某一技术领域的专家的同学一定要认认真真的研读几个开源项目的源码。
范蠡
2023-01-04
1K0
一个优秀的程序员应该养成哪些好的习惯?
多次担任技术面试官,遇到很多优秀的名校毕业生。凡此种种,从自己和别人身上总结出如下一些好的习惯。
范蠡
2023-01-04
1.3K1
如果让你重新开始学计算机,你的学习路线会是怎么选择?(文中有福利)
这篇文章是回答 小方说服务器知识星球 一位大一计算器同学小 Q 的回头,断断续续写了三天。总体来说小方说服务器知识星球为球友提供如下帮助: 1. 优问优答 2. 不定期的技术直播和录像 3. 优质源码分享和指导 4. 不限次数的职业解惑、模拟面试和简历 review(实时语音一对一辅导) 5. 大厂内推和面试辅导 6. 11 个技术球友专项技术系列专栏。 星球开通以来已帮助几百位同学提高技术和进入大厂,现在加入与 1000+ 球友一起进步。 国庆快到了,星球做一波优惠活动,扫描下面的优惠码加入星球可以优惠
范蠡
2022-09-26
5300
(文末赠书)为什么建议大家使用 Linux 开发?有那么爽吗?
Linux 能用吗? Linux 有图形界面 支持日常开发 社交沟通没问题 Linux 能替代 Windows 吗? Linux 下运行 Android 应用 Linux 有什么优势吗? Linux 是优雅的 Linux 是高效的 Linux 是自由的 Linux 也可以是美的 ---- 「Linux 能用吗?」 我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使用)? 「Linux 有图形界面」
范蠡
2022-09-20
3.5K0
女朋友问:这些年你看过哪些网络编程书籍?
最近有点忙,今天就写一篇摸鱼文章吧。 之前写过一篇《网络编程到底要怎么学?》的文章,今天就和大家聊一聊我这些年读过的网络编程书籍(这里不包括纯讲计算机理论的书籍),我会结合自身阅读感受和对实践的帮助来谈一谈我的读后感。 一、Socket 编程类书籍 1. 尹圣雨的《TCP/IP 网络编程》 如果你从来未接触过网络编程,或者想找一本网络编程入门书籍,那么我建议你选择尹圣雨的《TCP/IP 网络编程》,作者韩国人。这本书的特点是: 针对零基础读者,讲解了什么是网络编程(Socket 编程); 详细地介绍 Soc
范蠡
2022-08-26
1.2K0
C++17一个很冷门很有意思的新特性
最近发现了一个有意思的特性:void_t。 void_t是C++17引入的一个新特性,它的定义很简单(有些编译器的实现可能不是这样,但也大体类似): template< class... >using void_t = void; 看着它很简单,但它搭配SFINAE却可以在模板元编程中发挥巨大作用。 比如在编译期判断类是否有某个类型using: template <class, class = std::void_t<>>struct has_type : std::false_type {}
范蠡
2022-07-01
6500
570个最常用的Linux命令,1349页Linux命令速查手册,PDF开放下载!
不管你是从事开发还是运维工作,或多或少都会接触到Linux基本命令,Linux命令也是Linux系统正常运行的核心。 但是Linux命令那么多,都要学习吗? 当然不是了,一般只需掌握工作中常用的命令以及命令本身的参数选项就够了,其他的等遇到需要的时候再自行查阅。 今天给大家分享一份超详细的 Linux 命令速查手册,它包括570多个Linux命令,共1349页。内容全面丰富,代码清晰可复制。所有命令由A到Z排列,查找方便。Ctrl+F一键定位,快速查阅需要的命令,特别方便,建议大家人手一份。 【领取方式见文
范蠡
2022-06-16
2.6K0
高性能服务器开发 2021 年原创文章汇总
满纸荒唐言 你伤害了我,却一笑而过。 寻一句温馨的话 工作 3 万,副业 5 万 写代码太苦了,我决定改行送外卖了...... 曾经想去的二三四五,曾经想娶的女子...... 轩猿传 我苦难的转行计算机开发的经历 小方哥,你一个月挣多少钱? 如果你不喜欢你现在的大学怎么办? 我的第一份工作 4000 块钱的 offer 我把 b 站拉黑了! 我不想上班了! 写给未猝死的打工人 想去字节跳动 写给想去字节写 Go 的你 为什么你面试字节跳动没下文了? 大厂伤我千百遍,我待大厂如初恋 字节跳动应届生薪资都能
范蠡
2022-05-30
6120
深入理解 Linux CPU 上下文切换
我们都知道 Linux 是一个多任务操作系统,它支持的任务同时运行的数量远远大于 CPU 的数量。 当然,这些任务实际上并不是同时运行的(Single CPU),而是因为系统在短时间内将 CPU 轮流分配给任务,造成了多个任务同时运行的假象。 CPU 上下文(CPU Context) 在每个任务运行之前,CPU 需要知道在哪里加载和启动任务。这意味着系统需要提前帮助设置 CPU 寄存器和程序计数器。 CPU 寄存器是内置于 CPU 中的小型但速度极快的内存。程序计数器用于存储 CPU 正在执行的或下一条要
范蠡
2022-05-25
5770
使用epoll时需要将socket设为非阻塞吗?
一、结论 提出这个问题说明对网络编程的一些基础原理未搞明白,先说下结论: 一个 socket 是否设置为阻塞模式,只会影响到 connect/accept/send/recv 等四个 socket API 函数,不会影响到 select/poll/epoll_wait 函数,后三个函数的超时或者阻塞时间是由其函数自身参数控制的。 二、原理分析 下面详细的解释,为了方便解释,在这之前我们先明确几个基础概念: connfd:创建 socket,主动发起连接的一端(客户端),该端调用 connect 函数主动发起
范蠡
2022-04-21
2.3K0
从 Kafka 看时间轮算法设计
点击上方“高性能服务器开发”,马上关注回复“文章下载”,获取一份专属大礼包真爱,请设置“星标”或点个“在看” 前言 Kafka 中有很多延时操作,比如对于耗时的网络请求(比如 Produce 时等待 ISR 副本复制成功)会被封装成 DelayOperation 进行延迟处理操作,防止阻塞 Kafka请求处理线程。 Kafka 没有使用 JDK 自带的 Timer 和 DelayQueue 实现。因为时间复杂度上这两者插入和删除操作都是 O(logn),不能满足 Kafka 的高性能要求。 冷知识:JDK
范蠡
2022-03-04
7000
Linux 的 epoll 使用 LT + 非阻塞 IO 和 ET + 非阻塞 IO 有效率上的区别吗?
综合 select 和 poll 的一些优缺点,Linux 从内核 2.6 版本开始引入了更高效的 epoll 模型,本文我们来详细介绍 epoll 模型。
范蠡
2021-06-17
2.3K0
Linux之父:我们不会用Rust取代C语言开发内核
Linux 诞生于 1991 年,距今已经 30 年了。虽然它一开始只是 Linus 的一个个人项目,而非出于要开发一个新操作系统的伟大梦想,但如今的 Linux 早已无处不在。
范蠡
2021-06-17
1K0
图解 | 深入揭秘 epoll 是如何实现 IO 多路复用的!
进程在 Linux 上是一个开销不小的家伙,先不说创建,光是上下文切换一次就得几个微秒。所以为了高效地对海量用户提供服务,必须要让一个进程能同时处理很多个 tcp 连接才行。现在假设一个进程保持了 10000 条连接,那么如何发现哪条连接上有数据可读了、哪条连接可写了 ?
范蠡
2021-04-08
1.6K0
如何实现一个定时器?
定时器在各种场景都需要用到,比如游戏的Buff实现,Redis中的过期任务,Linux中的定时任务等等。顾名思义,定时器的主要用途是执行定时任务。
范蠡
2021-04-08
1.6K0
如何排查句柄泄露问题
人间四月天,bug无处钻,让bug没有藏身之地。今天,我们来聊句柄泄漏的定位。部分朋友遇到性能问题时,束手无策。别担心,我们一起实践,不信你搞不定。
范蠡
2021-04-08
4.7K0
Shell 信号发送与捕捉
信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相应的处理函数。
范蠡
2021-01-14
2.2K0
Linux内核源码规范解析
曾经在开发Linux内核驱动的时候,创建了一个补丁文件,但是在把补丁打到主分支的时候提示很多编码风格的错误问题,后来重做了补丁才解决了问题,这也是没有严格按照的Linux编码风格从而导致的问题。因为当时代码量不大,所以解决问题的时间相对较少。在代码量增大的情况下可以借助工具进行自动修改。
范蠡
2021-01-04
2.8K0
内存问题探微
因为这是我被问的最频繁的问题,哎呀我的程序 OOM 了怎么办,我的程序内存超过配额被 k8s 杀掉了怎么办,我的程序看起来内存占用很高正常吗?
范蠡
2020-12-15
8760
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档