• 带你走近Go语言编程思维

    经过十几年的演化和发展,Go语言在全世界范围内已经拥有了百万级别的拥趸,在这些开发者当中,除了一部分新入行的编程语言初学者之外,更多的是从其他编程语言阵营转过来的...
    JAVA C Go   2022.05.05 05:40
  • 一个测试记录:利用分段锁来处理并发情况下的资源竞争问题

    别人的经验,我们的阶梯! 在开发中经常遇到多个并发执行的线程,需要对同一个资源进行访问,也就是发生资源竞争。 在这种场景中,一般的做法就是加锁,通过锁机制对临界区进行保护,以达到资源独占的目的。 这篇文章主要描述的就是使用分段锁来解决这个问题,说起来很简单:就是把锁的粒度降低,以达到资源独占、最大程 ...
    C语言   2022-05-22 13:14
  • 栈溢出基础

    栈溢出基础 之前已经介绍了C语言函数调用栈,本文将正式介绍栈溢出攻击。 当函数调用结束时,将发生函数跳转,通过读取存放在栈上的信息(返回地址),跳转执行下一条指令。通过栈溢出的方式,可以将返回地址覆盖为攻击指令的地址,这样函数调用结束后,将跳转到攻击指令继续执行。 Stack Canary cana ...
    C/C++ pwn   2022-05-27 19:11
  • Unix 网络编程05:TCP C/S 程序示例

    TCP客户/服务器程序示例 系列文章导航:《Unix 网络编程》笔记 目标 ECHO-Application 结构如下: graph LR; A[标准输入/输出] --fgets--> B[TCP-Client] --writen/read--> C[TCP-Server] C --readline ...
    Unix 网络 计算机基础   2022-05-28 10:06
  • shell脚本获取文件名字

        我们有时候需要获取某个文件路径的文件名或者文件所在目录名,那么如何操作呢?下面介绍两种方法。一、利用 ${}1、${var##*/}    该命令的作用是去掉变量var从左边算起...
    C   2022.06.02 13:33