• C 20新特性的小细节

    之前我整理过一篇C20新特性的文章全网首发!!C20新特性全在这一张图里了,里面提到过latch、barrier和semaphore,但是没有详细介绍过三者的作用和区别,这里详细介绍下。latch这个可能大多数人都有所了解,这就是我们经常会用到的CountDownLatch。用于...

    程序喵大人
    2021-10-12
  • 单片机程序又跑飞?! 三种跑飞现象分析

    ▼点击下方名片,关注公众号▼在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序总是跑飞,最后费了好长时间,花了很大功夫才找到问题原因,由此总结了单片机程序跑飞的三种现象、原因及解决方法。01、数组越界/溢出现象单片机程序在函数中运行时,总是在运行到函数末尾,要跳出函...

  • 程序员的天花板

    ‍‍我快被"卷死"了。跳槽到新公司,又赶上了一个超大的项目,精力几乎被榨干了,后台好几个读者在催更,实属抱歉!最近我也在调整状态和节奏,后续会多利用碎片化时间进行输出。这次回到大厂做技术管理,虽然才两个多月时间,但是输入的信息量极大,也让我对于技术管理和职场发展多了很多新的认识。...

    小林coding
    2021-10-12
    程序员
  • 云原生,八股文!

    最近,各大互联网巨头在技术战略层面,都把云原生列为了主要发展方向。以阿里巴巴为例,他们技术老大说,云原生是云计算释放红利的最短路径,是企业数字化的最短路径。如果你问我未来看好哪个方向,我一定毫不犹豫的告诉你,绝对是云原生。你可以去招聘网站上看看,现在云原生工程师、Kubernet...

    小林coding
    2021-10-12
  • 10 年工作经验的求职经历!

    ‍‍大家好,我是小林。愉快的周末又来了,虽然只有一天哈哈。最近我逛博客园的时候,看到一篇10年工作经验的老哥被裁员之后面试高级Java开发工程师的求职经历!他把自己面试过程中常见的知识也总结一下,我觉得非常干货,特此分享给大家,共勉!概述最近换工作,对最近面试的过程进行总结,总结...

    小林coding
    2021-10-12
  • C 内存模型

    ↓推荐关注↓本文是《C并发编程》一文的姊妹篇。将着重介绍C11标准引入的内存模型。前言在《C并发编程》一文中,我们已经介绍了C11到C17在并发编程方面的新增API。借助那篇文章中的知识,你应该已经可以开发一个完善的C并发系统。这对绝大部分人来说,是足够的了。但在一些情况下,我们...

  • 图解 Linux 网络包接收过程

    因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对Linux底层的理解不深的话,遇到很多线上性能瓶颈你会觉得狗拿刺猬,无从下手。我们今天用图解...

    CPP开发者
    2021-10-11
  • Modern C 有哪些能真正提升开发效率的语法糖?

    我们说的ModernC,一般指的是C11及以后的标准,从C11开始,ModernC引入了大量的实用的特性,主要是两大方面,学习的时候也可以从这两大方面学习:增强或者改善的语法特性;新增的或者改善的STL库。我们来看几个具体的案例:案例1:统一的类成员初始化语法与std::init...

    CPP开发者
    2021-10-11
    Modern
  • 为什么服务端程序都需要先 listen 一下?

    大家都知道,在创建一个服务器程序的时候,需要先listen一下,然后才能接收客户端的请求。例如下面的这段代码我们再熟悉不过了。int main(int argc, char const *argv[]){ int fd = socket(AF_INET, SOCK_STREAM,...

    CPP开发者
    2021-10-11
  • C 内存管理(建议收藏)

    ↓推荐关注↓内存管理是C最令人切齿痛恨的问题,也是C最有争议的问题,C高手从中获得了更好的性能,更大的自由,C菜鸟的收获则是一遍一遍的检查代码和对C的痛恨,但内存管理在C中无处不在,内存泄漏几乎在每个C程序中都会发生,因此要想成为C高手,内存管理一关是必须要过的,除非放弃C,转到...

  • 编写可移植 C/C 程序的一些要点

    ↓推荐关注↓以前做过两年C程序移植工作,从Win32平台移植到Linux平台。大约有上百万行C/C代码,历时一年多。在开发Win32版本时,已经强调了程序的可植性,无奈Win32团队里对Linux精通的人比较少,很多问题没有想到,直到后来移植工作开始时,才发现移植并非像想的那样简...

  • C 与正则表达式

    ↓推荐关注↓正则表达式可以说是软件开发中最常用的功能之一。本文将以C语言为例,介绍其中的正则表达式相关知识。前言当你想要判断许多字符串是否符合某个特定格式;当你想在一大段文本中查找出所有的日期和时间;当你想要修改大量日志中所有的时间格式,在这些情况下,正则表达式都能帮上忙。简单来...

    CPP开发者
    2021-10-11
  • TCP 连接中客户端的端口号是如何确定的?

    在TCP连接中,客户端在发起连接请求前会先确定一个客户端端口,然后用这个端口去和服务器端进行握手建立连接。那么在Linux上,客户端的端口到底是如何被确定下来的呢?事实上很多我们平时遇到的问题都和这个端口选择过程相关,如果能深度理解这个过程,将有助于我们对这些问题的深刻理解。Ca...

    CPP开发者
    2021-10-11
    端口 TCP
  • 为了一个 HTTPS,浏览器操碎了心···

    我是一个浏览器,每到夜深人静的时候,主人就打开我开始学习。为了不让别人看到浏览记录,主人选择了“无痕模式”。但网络中总是有很多坏人,他们通过抓包截获我和服务器的通信,主人干了什么,请求了什么数据全被他们知道了!光窃听也就罢了,他们还经常篡改内容,在网页里面插入诱人的小广告,真是太...

    CPP开发者
    2021-10-11
    浏览器
  • 关于 std::set/std::map 的几个为什么

    ↓推荐关注↓std::set/std::map(以下用std::map代表)是常用的关联式容器,也是ADT(抽象数据类型)。也就是说,其接口(不是OO意义下的interface)不仅规定了操作的功能,还规定了操作的复杂度(代价/cost)。例如set::insert(iterat...

    CPP开发者
    2021-10-11
    se
发布文章