个人认为 C++ 语言最经典的入门书籍就是 《C++ Primer》了,大学自学编程的时候看的就是《C++ Primer》,只不过当时看的是第 4 版,那一版还没有介绍 C++ 11 标准。相比于 C98 标准,C 语言发生了大量变化,为了写出 Modern C++ 程序,又重新看了一遍 《C++ Primer》第 5 版。
ip 命令概览
iproute2 是 Linux 系统上提供的网络管理套件,用于取代之前 Linux 系统上提供的网络管理命令(例如 ifconfig、arp、route 等命令)。其主要包括 ip、tc 以及其他一些命令。虽然为了向后兼容,Linux 系统仍然提供了 ifconfig 等命令,但是这些命令已经不支持新的特性,例如 network namespace 等,甚至很多新 Linux 发行版本已经不再包含这些陈旧的网络管理命令了。这篇文章将学习 iproute2 中 ip 命令的使用。
其实 iproute2 早在 2000 年就已经存在了,但是其文档比较少,导致很多人并不怎么使用这些新的命令。iproute2 能够让你对 Linux 的网络特性有更多的控制手段,同时也能丰富你的调试工具箱。
Pro Git(3):Git 分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程:常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。
Git 的分支模型可以认为是它的 必杀技特性。Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。
Pro Git(2):Git 基础
本篇文章涵盖你在使用 Git 完成各种工作时将会用到的各种基础命令。通过这篇文章,将学习配置并初始化一个仓库(respository),开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。这篇文章也将演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作,如何浏览你的项目的历史版本以及不同提交间的差异、如何向你的远程仓库推送(push)以及如何从你的仓库拉取(pull)文件。
Pro Git(1):Git 起步
Git 作为一种分布式版本控制系统,和 CVS、SVN 等集中化版本控制系统有显著的区别。本系列文章是《Pro Git》的读书笔记,通过阅读这本书,将学习掌握 Git 的工作原理、使用方法。
Hello World in P4
网络行业新技术层出不穷,最近又学习了解了 P4。P4 思想诞生于 2013 年,距离现在时间也不是很长。作为一门新技术,其资料还比较少,主要集中在其官方网站和 github 主页。这篇文章是基于我个人理解所写的一篇关于 P4 的入门介绍。
光谷买房记
好久没更新博客了,虽然书一直在读,笔记一直在写,但是却没在博客上分享,还是太懒了,得反省自己。之所以今天想到更新博客,是因为上周六我买房了。写完这句话,脑海里突然出现一个网络上的段子:明年的房价一定涨,因为今年我买房了。
好了,不管怎么样,终于不是无产阶级了。这么重要的人生节点,还是得好好说说感受。
Shell 脚本 101(2):缺失的代码库
Unix 的优点之一就是允许你根据现有的命令创建出新的程序。尽管 Unix 已经有上百个命令,而且可以通过多种方式来组合他们,但是有时候我们还是会碰到不够用的情况。Perl、Python,甚至 C 都包含了库以提供扩展能力,而 shell 脚本更像是一个自己动手的世界。本章将创建一个基础脚本库,通过它们可以编写出更加复杂的脚本。
Shell 脚本 101(1):开启 Shell 编程之旅
当今,Unix-Like 操作系统比以往任何时候都使用地更为广泛。的确,如果把 Android 智能手机也计算在内的话,那么它也许就是世界上最普遍的操作系统了。尽管 Unix-Like 操作系统发生了很多变化,但是 Bourne-again shell,或者称为 bash,始终都是 Unix 用户最喜欢的 shell。
在系统管理员、工程师或者业余爱好者的技能箱中,火力全开地使用 bash 永远都是一项必备技能。
本系列文章不是 bash 的入门知识。相反,我将通过编写一系列简短精炼的脚本,来扎扎实实地提高自己的 bash 编程功底。
IP 组播地址
今天定位一个 IP 组播问题,在抓到该组播报文并分析其以太头时,发现其目的 MAC 地址比较有趣,才学习到原来 IPv4 组播地址与 MAC 组播地址有一定的对应关系,这篇文章将介绍这一知识。