1. 前言
个人经历:
2017年 REDHAT intern
2018年 Ericsson intern
2019年 Ericsson developer
2. 推荐系列
- 从零快速解析之Tinyhttp源码解析(一)
- 从零快速解析之Tinyhttp源码解析(二)
- 从零快速解析之Tinyhttp源码解析(三)
- 网络编程之I_O Multiplexing总结(四)
- 高级IO之MMAP-缺页异常的理解(二)
- 多线程之问题的解决及使用GDB调试多线程多进程的手段(九)
- 多线程之你真的了解Spin_lock吗?(四)
- 进程IPC之论证充分的探讨Key和Identifier的关系(五)
- 多线程之Thread-safe和Async-signal safe分析(十二)
- 网络编程之Client/Server Design Testbench(二)
- 网络编程之Client/Server Design Concurrent Server(三)
- 网络编程之Client/Server Design Prefork Server(四)
- 网络编程之Client/Server Design 惊群分析篇(五)
3. 快速索引
3.1 网络编程篇
- 网络编程之Introduction and TCP/IP(一)
- 网络编程之Introduction and UDP(二)
- 网络编程之Introduction and TCP(三)
- 网络编程之Introduction and SCTP(四)
- 网络编程之Elementary TCP Sockets(一)
- 网络编程之Elementary TCP Sockets(二)
- 网络编程之Sockets Introduction(一)
- 网络编程之Sockets Introduction(二)
- 网络编程之TCP Client/Server Example(一)
- 网络编程之TCP Client/Server Example(二)
- 网络编程之TCP Client/Server Example(三)
- 网络编程之TCP Client/Server Example实验部分(四)
- 网络编程之I/O Multiplexing(一)
- 网络编程之I/O Multiplexing(二)
- 网络编程之I/O Multiplexing(三)
- 网络编程之I_O Multiplexing总结(四)
- 网络编程之Socket Options
- 网络编程之Elementary UDP Sockets(一)
- 网络编程之Elementary UDP Sockets(二)
- 网络编程之Elementary UDP Sockets(三)
- 网络编程之Name and Address Conversions(一)
- 网络编程之使用DNS来解析Name的TCP Server和Client(二)
- 网络编程之Name and Address Conversions(三)
- 网络编程之IPv4和IPv6的互通性(一)
- 网络编程之IPv4和IPv6的互通性剩余小知识点(二)
- 网络编程之Daemon Processes实现自己的daemon server(一)
- 网络编程之Unix Domain Protocols
- 网络编程之Advanced I/O Functions
- 网络编程之ioctl Operations
- 网络编程之Routing Sockets(一)
- 网络编程之Routing Sockets(二)
- 网络编程之Broadcasting(一)
- 网络编程之Broadcasting实验(二)
- 网络编程之Multicasting(一)
- 网络编程之Multicasting实验(二)
- 网络编程之Nonblocking I/O
- 网络编程之Advanced UDP Sockets实验(一)
- 网络编程之Out-of-Band Data中TCP\IP segment的理解(一)
- 网络编程之Out-of-Band Data实验(二)
- 网络编程之Threads实验
- 网络编程之Client/Server Design Alternatives(一)
- 网络编程之Client/Server Design Testbench(二)
- 网络编程之Client/Server Design Concurrent Server(三)
- 网络编程之Client/Server Design Prefork Server(四)
- 网络编程之网络编程之Client/Server Design 惊群分析篇(五)
- 网络编程之Client/Server Design Prethread server(UNP系列结尾篇)
####3.2 Linux高级环境编程
- IO之低层次File_I_O分析(一)
- IO之低层次File_I_O实验(二)
- IO之Standard I_O分析(一)
- IO之Standard I_O实验(二)
- 系统相关信息和文件基础(一)
- 系统相关信息和文件之时区相关实验(二)
- 文件和目录基础知识(一)
- 文件和目录基础知识(二)
- 文件和目录相关实验(三)
- 进程之Process Control(一)
- 进程之Process Control实验(二)
- 进程环境篇基本概念
- Job Control之进程关系分析(一)
- Job Control之后续实验(二)
- 信号之Signals综合分析(一)
- 信号之后续实验部分(二)
- 多线程之线程综合分析 (一)
- 多线程之Mutex(二)
- 多线程之Mutex和Condition Variable实验(三)
- 多线程之你真的了解Spin_lock吗?(四)
- 多线程之Barrier和Rwlock的小理论知识(五)
- 多线程之Job queue实验(六)
- 多线程之如何构造自己的barrier函数?(七)
- 多线程之Thread-fork_Data_singal(八)
- 多线程之问题的解决及使用GDB调试多线程多进程的手段(九)
- 多线程之可重入版本异步信号安全的putenv_r(十)
- 多线程之thread-fork_data细节实验确认(十一)
- 多线程之Thread-safe和Async-signal safe分析(十二)
- 高级IO之MMAP(一)
- 高级IO之MMAP-缺页异常的理解(二)
- 高级IO之非阻塞部分(三)
- 高级IO之Select_pselect_poll_epoll(四)
- 高级IO之简单的select_poll_epoll实验(五)
- 高级IO之较为复杂的AIO初探(六)
- 高级IO之异步IO回显程序实验(七)
- 高级IO之简单容易的Writev与Readv(八)
- 高级IO之RECORD(九)
- 关于Deamon编程的部分
- 进程IPC之PIPE(一)
- 进程IPC之PIPE实验(二)
- 进程IPC之FIFO实验(三)
- 进程IPC之POLL实验(四)
- 进程IPC之论证充分的探讨Key和Identifier的关系(五)
- 进程IPC之消息队列基础分析(六)
- 进程IPC之消息队列实验(七)
- 进程IPC之Semaphores(八)
- 进程IPC之Semaphores实验(九)
- 进程IPC之Shared memory(十)
- 进程IPC之Shared memory实验(十一)
- NetworkIPC之初识Socket(一)
- NetworkIPC之初识Client-Server(二)
- NetworkIPC之初识Client-Server(三)
- NetworkIPC之初识Client-Server实验部分(四)
- NetworkIPC之初识Client-Server实验部分(五)
- NetworkIPC之UNIX Sockt(一)
- NetworkIPC之Passing File Descriptors(二)
- NetworkIPC之Open Server(三)(有遗留问题)
3.3 HTTP协议学习
3.4 Zigbee协议栈解析
本部分内容直接引用笔者以前的博客
- Zigbee协议栈OSAL解析(第一天)
- ZigBee协议栈OSAL解析(第二天)
- ZigBee协议栈OSAL解析(第三天)
- zigbee协议栈OSAL之广播、组播、单播(第四天)
- zigbee协议栈OSAL之单播综合实验(第四天的补充)
3.5 32/8位单片机学习
3.6 Python学习记录
3.7 U-boot移植记录篇
本部分内容直接引用笔者以前的博客
- 从零移植uboot 2017 到nuc970(第一天)
- 从零移植uboot 2017 到nuc970(第二天)
- 从零移植uboot 2017 到nuc970(第三天)
- 从零移植uboot 2017 到nuc970(第四天)
- 从零移植uboot 2017 到nuc970(第五天)
- 从零移植uboot 2017 到nuc970(第六天)
- 从零移植uboot 2017 到nuc970(第七天)
- 从零移植uboot 2017 到nuc970(第八天)
- 中间的插曲 翻译之doc/readme.kconfig
- 从零移植uboot 2017 到nuc970(第九天)
- 从零移植uboot 2017 到nuc970(第十天)
- 从零移植uboot 2017 到nuc970(第十一天)
- 从零移植uboot 2017 到nuc970(第十二天)
- 从零移植uboot 2017 到nuc970(第十三天)
- 从零移植uboot 2017 到nuc970(第十四天)
- 从零移植uboot 2017 到nuc970(第十五天)
- 从零移植uboot 2017 到nuc970(第十六天)
- 从零移植uboot 2017 到nuc970(第十七天)
- 从零移植uboot 2017 到nuc970(第十八天)
- 从零移植uboot 2017 到nuc970(第十九天)
- 从零移植uboot 2017 到nuc970(第二十天)
- 从零移植uboot 2017 到nuc970(第二十一天)
- 从零移植uboot 2017 到nuc970(第二十二天)
- 从零移植uboot 2017 到nuc970(第二十三天)(第一阶段结束)
- 第二阶段工作之移植uboot2017(NAND篇)(一)
3.8 Tinyhttp解析
3.9 Nginx使用到解析
3.10 数据结构与算法篇
- 通用树的概念(一)
- The Search Tree的Python实现(二)
- DSAA之ALGORITHM ANALYSIS(一)
- DSAA之最大子序列之和问题(二)
- DSAA之最大子序列之和问题(三)
- DSAA之最大子序列之和问题(四)
- DSAA之LIST(一)
- DSAA之Stack(二)
- DSAA之中缀转后缀表达式(三)
- DSAA之Queue(四)
- DSAA之二叉查找树(一)
- DSAA之AVL树(二)
- DSAA之AVL树实现,特别强调删除(三)
- DSAA之伸展树(四)
- DSAA之伸展树实现(五)
- DSAA之B-tree(六)
- DSAA之遍序补充(七)
- DSAA之Open Hash(一)
- DSAA之Closed Hashing (二)
- DSAA之Closed Hashing Rehash(三)
- DSAA之Extendible Hashing(四)(书中有错误)
- DSAA之PRIORITY QUEUES (一)
- DSAA之PRIORITY QUEUES 实现(二)
- DSAA之Leftist Heaps(一)
- DSAA之Leftist Heaps(二)
- DSAA之斜堆
- DSAA之 Binomial Queues实现及层序遍历
- DSAA之插入排序与希尔排序
- DSAA之Heapsort
- DSAA之合并排序
- DSAA之快速排序(一)
- DSAA之快速选择排序(二)
- DSAA之排序下界分析(一)
- DSAA之Radix Sort(桶排序)(二)
- DSAA之THE DISJOINT SET ADT(一)
- DSAA之THE DISJOINT SET ADT(二)
- DSAA之图论基础定义部分(一)
- DSAA之图论表示部分(二)
- DSAA之图论Topological Sort
- DSAA之补充二分查找(一)
- DSAA之补充哈夫曼编码(二)
- DSAA之图论最短路径问题(BFS)(四)
- DSAA之图论Dijkstra(贪婪算法)(五)
- DSAA之图论Graphs with Negative Edge Costs(六)
- DSAA之图论Prim算法(六)
- DSAA之图论Kruskal算法(七)
- DSAA之图论DFS算法,初识回溯(八)
- DSAA补充之B树、B+树
- DSAA之图论Euler Circuits问题(九)
- DSAA之补充冒泡排序和选择排序
- DSAA之图论双连通及割点问题(十一)
3.12 Pixhawk2
- The Relation Between Mavproxy And Dronekit
- Pixhawk2 Interface With Other Tools (Edison,Mavproxy,Dronkit…)
- PIXHAWK2之输入命令部分翻译
3.13 Leetcode系列
- < Leetcode> Two Sum
- < Leetcode> Add Two Numbers
- < Leetcode> Longest Substring Without Repeating Characters
- < Leetcode>Median of Two Sorted Arrays
- < Leetcode> Container With Most Water(逻辑思维)
- 《DP学习系列》从零开始学习动态规划,初识01背包(一)
- 《DP学习系列》从零开始学习动态规划,完全背包(二)
- 《DP学习系列》从零开始学习动态规划,多重背包(三)
- < Leetcode>由Combination Sum看看动态规划的适用性
- 《DP学习系列》从零开始学习动态规划,混合背包(四)
- < Leetcode> 由Longest Palindromic Substring再看DP
- 《DP学习系列》从零开始学习动态规划,二维背包(五)
- 《DP学习系列》从零开始学习动态规划,分组背包(六)
- 《DP学习系列》从零开始学习动态规划,有依赖的背包问题(七)
- 《DP学习系列》从零开始学习动态规划,泛化物品(八)
- 从零开始算法篇之贪婪(一)
- 从零开始算法篇之分治(二)
- 算法补充之KMP作用原理(一)
- 从零开始算法篇之动态规划(三)
- 《DP学习系列》Longest Valid Parentheses的一些DP细节思考
- 《leetcode》第一阶段汇总(1-9题)
- 《leetcode》第一阶段汇总(10-20题)(一)
- 《牛客》做题阶段二错题总结(一)