• 每周算法:跳跃游戏

    leetcode第55题,难度为medium。本题可以用的思路比较多,可行的方法有:回溯算法、动态规划、贪心算法。

  • fork和vfork的区别

    fork和vfork都是用来创建子进程的系统调用函数,本文主要对比了二者的区别。

  • 线程API总结

    线程的使用在软件开发中是十分普遍的,本文总结了两种常用的线程API接口:POSIX线程和CPP11线程。

  • 谈谈自己在开发launchy时的一些收获

    在开发launchy时,我学到了很多开发相关的技巧,对于如何做好一款软件也有了更加全面的认识。

  • C++常用的时间接口

    与时间相关的操作在开发中是十分常见的,本文总结了常用时间接口,并给出了示例代码。

  • 数据结构 - 堆

    在计算机科学中,堆是一种特殊的、基于树(tree)的、满足堆特性的数据结构。本文以堆数据结构作为切入点,介绍了与之相关的优先队列和堆排序。

  • 常见排序算法总结

    排序是计算机编程中很常见的操作,本文对常见的排序算法进行了总结,并针对每种算法给出了示例代码。

  • C++中的智能指针

    C++中有很多智能指针如 unique_ptrshared_ptr ,本篇文章主要介绍这些指针的功能和应用场景。

  • 写在launchy3.0.3发布之后

    维护launchy也有一段时间了,目前已经发了4个版本,整体功能也趋于稳定。在维护launchy的过程中有很多思考,今天集中写下来,算是里程碑样的记录。

  • 每周算法:找出指定求和的组合

    leetcode第39题,难度为medium,考察回溯算法(backtracking)的使用。

  • UDP协议(RFC768)

    UDP协议是一种无连接(connectless)的通信协议,UDP协议需要与IP协议配合使用。

  • 网络协议的抓包分析

    本文主要内容是对tcpdump所抓取的数据包进行分析,按照网络协议解出每个字节所代表的含义。
    通过前面几篇博客的学习和总结,我对网络协议有了一定的了解,这时需要理论结合实际,使学到的知识记忆更加深刻。