2017.4.18

阅读了 ,感觉很多东西确实是 C 语言的高级用法,这些到现在都还么有用到过。

比如对c文件的检查工具,lint, cscope,indent,还有的就是编译器携带的

对二进制的查看工具,strings,ltrace,strace

查看二进制符号的一些工具,ldd,nm,size,disassembler,objdump等

初步计划是学会 GDB 的编程技巧,使用多现编调试和多进程调试,使用到栈帧 bt full , frame 的调试方法


看到池老师的微信公众号的文章,对于程序员进阶之道,又有了一点心得认识,学习语言或者学习技术,不能基于某一个点,应该基于某一个平台来学习自己的技术栈。

比如学习c#等基于.net 平台,学习Java基于java EE 平台,那么我学习 c/c++ ,基于什么平台呢,我的思考是,基于 linux 平台,做服务器方向。

linux 服务器方向需要懂得的知识很多,基础知识,最基本的就是操作系统,计算机网络,c/c++,数据结构和算法等。

我准备构建的技术栈路线是,汇编作为底层调试手段和理解操作系统底层实现原理的手段,是需要学习的一门语言。这也是针对 C 语言高级编程技巧的一个手段,能够提高程序的性能,但是对平台或者系统的依赖性比较高,可移植行不高。

语言以c/c++作为基础语言方向,向上为 lua 语言,一般在服务器中会通过内建 lua 环境 的方式,兼容lua脚本,这种架构更加易于扩展

在通过 golang ,即 go 语言做系统服务,go 语言轻便,简单,特别适合做服务器方向。

当然,还需要了解基本的服务器高并发和相关框架,以及设计模式的知识,这些也是我现在迫切需要完成学习的内容。

目前只要的学习方向,心里有一个初步的调整计划和方案,就是现在把去年 redis 源代码为学完成的这个月研究完,然后重点研究 redis 是如何在内部构建 lua 环境的,是否能够通过这种方式,应用到我现在的工作中来,如何实现易扩展的方式。

然后就是 GO 语言,同时,针对 C 的一些高级特性,还有 C++ 的 template 都需要学习。

今年的奋斗目标,就是在12月份,完成这个只是体系的初步构建,心中对这个技术栈有一个明确的方向和理解。

一年的时间,还有八个月,八个月能够做很多的事情,还需要寻找合适的工作机会,加油。

你可能感兴趣的:(2017.4.18)