关于编程、开源项目系统学习的感悟

1 找到你绕不开的那个点-系统学习、刻意练习

愈来愈发现系统学习一个知识的重要,特别是我们在接触一个新知识的时候:一开始有许多不会的东西,然后随着练习和深入,发现总会有一个点,你绕都绕不开--如果不掌握它,你没法更好的进行下一步!你每次接触这个领域都会遇到它,而你对他总是浅尝辄止,因此没办法深入的把握!这个时候,你必须腾出时间去系统学习、可以联系,这个绕不开的点就是你成功掌握一门手艺敲门砖,也是关键

2 第一次有这个感受是学习ovs

在刚开始接触数据中心网络场景的时候,长期和ovs打交道,由于实体环境限制,需要通过linux搭建一些模拟环境!我发现总是绕不开linux网络命令行,包括最简单的配置ip、配置路由、配置端口模式、配置vlan、配置网络命名空间!一开始都是零碎的学习了一些知识点,说起来真的不算会用它!终于在经过了三个月的煎熬后,我准备正面以下这个问题–系统学习网络命令行!

开始学习后,我发现自己好像真的学晚了,原来网络如此简单,原来ovs、dc控制器这些东西和linux网络命令行连接如此紧密,实际上它并不难!但是学习了这个后,你更清楚开元软件ovs在做一个什么工作,openstack neutron在做一个什么工作,opendaylight又在做一个什么工作!这些个命令行虽然只是一个“壳”–但是提供了我们操作内核的接口!这些个开源软件不过如此!

3 最深的感受是正则表达式

因为工作基本都是和linux打交道,在反复纠结后换上了linux操作系统–经历了最开始的阵痛–不适应,不舒服,到后来越来越喜欢linux,特别是脚本编程,有了这个东西真的可以很方便的解决以前想都不敢想的好多问题!

曾经我什么都喜欢界面搞定,现在的自己什么都希望命令行能搞定!但是最开始接触这些东西,接触到高级语法的时候我发现了自己又遇到了一个瓶颈,无论是shell里面的find、grep、sed、awk,还是python处理文本,事实上都离不开正则表达式,有了它代码成倍的简化,工作效率也答复提高;没有它只是觉得很困难想筛选点东西识别写文字,于是我开始系统学习正则表达式,再回头系统看sed、awk,真的简单了好多,而且正则表达式,确实也是这样一个法宝,简化问题!

4 最近的刻意练习-awk

最近在系统学习awk,以前总认为它就是一个简单的shell命令行,只知道功能很强大,但是却不是很会用它。因为工作的需求,日志太多很难看,ovs流表几百条看得我眼花缭乱,我发现许多问题都需要文本处理,旁边的大神已经把这个玩意用的出神入化,于是下定决心好好研究一下它!

最开始只是准备写一个命令行总结,后来发现这玩意原来是一个有完整体系编程语言,有自己独立与shell的语法,结构,一篇文章远远描述不了它,于是决心把awk作为一个专题研究!尝试的通过awk谢了几个命令行确实大大提高了工作的效率,看流表,处理文本!遂决定留下来总结出来,一起学习!

5 最好的资料是官方文档和官方代码

这是最近帮着同事研究prometheus的一点心得,网上的资料和github上的示例代码着实很多,因此迫不及待的点开查看,也下载了许多的代码,包括主流开源代码引用的,以及别人特地写的教程。但是这些他人的总结我总是觉得不系统不全面,只是知道了怎么用最简单,但是实际上原理还有复杂的用法都不会!于是我回归根本,啃英文讲解,按着官方说明配置。扩展的写法也不在迷信别人的总结,直接看官方仓库的开源代码,看他们写的exporter,看他们写的测试用例;前面花一两天时间看别人总结的概念总是有种迷糊的感觉,到最后自己参考官方的源码很快完成下需求的功能!我觉得这就是官方的资料代码的优势–因为任何人不可能比设计这个产品的人更清楚产品,给谁用?怎么用?怎么扩展?如何优化?原理是什么?

如果你想了解技术概念用途,请看官方文档,并结合别人的理解;

如果是你是想正确使用一个开源项目,请看官方文档,看官方仓库的代码及用例说明!在找不到别人精心总结的资料前,这些就是最好的说明和用例!

官方源码的测试用例可能比别人总结的文档更然你明白一段代码!

说来自己对于awk的学习现在还是缺少了一些对于官方文档的系统理解,希望日后能一点点补全!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值