陈闻雷

Track and organize your meetings within your company

Get Started. It's Free
or sign up with your email address
Rocket clouds
陈闻雷 by Mind Map: 陈闻雷

1. linux(2009年至今)

1.1. 会读写bash,会使用 awk sed netstat grep等工具,会用自动化的方法解决问题,比如用管道命令查看网站的uv pv以及系统日志。

1.2. 懂得linux各文件作用,知道如何运用文件系统内的文档和资源,懂得如/boot /proc /dev /etc /usr 中的资源意思。

1.3. 会源码编译安装软件,会用rpm二进制包安装软件,会使用自动软件管理包,yum 和 apt-get等

1.4. 租用了阿里云服务器长期使用,自己的系统是linux Fedora 17。

1.5. 对命令行极为熟悉,几乎所有日常工作都习惯于寻找命令行的高效方式。

2. emacs编辑器

2.1. 能读写elisp代码

2.2. 快捷键熟练,几乎所有编辑和文字工作都在上面完成,平时用来看文字版web页面,也用来访问mysql客户端,查看源代码的技巧(如:跳转等)熟练,效率极高。

3. python语言

3.1. 参考了开源项目文章:《Create Your Own Search Engine with Python》,把玩和阅读了迷你搜索引擎源码。源码位置: http://42.121.133.101:8900/search.py/

4. lisp语言

4.1. 读完 practical common lisp书籍,并对全部源码作了练习。

4.2. 理解common lisp写的 html 解释器,并把玩过源码。源码位置:http://42.121.133.101:8900/lisp/practical%20common%20lisp/Chapter31/

4.3. 读了lisp经典文章《the root of lisp》,并重写了文章后面的22行lisp解释器,对递归和解释器有了更深理解。源码位置:http://42.121.133.101:8900/lisp/recursive.el

4.4. 读了lisp发明人John McCarthy的lisp论文

4.5. 基于递归的10行代码的的四则运算计算器。源码位置:http://42.121.133.101:8900/lisp/calc-1.el

4.6. 理解了广义函数的面向对象方式,并将其和c++,java原本的基于消息传递的面向对象作对比,理解了其优越的地方。

5. 经典书:linux内核0.11内核完全注释---赵炯

5.1. 详细看完宏观的2、3、4、14章,对内核有Overview,等待更长时间的熏修精进。

5.2. 源码位置:http://42.121.133.101:8900/linux-0.11/

5.3. 理解进程调度的各种状态

5.3.1. 就绪态

5.3.2. 用户运行态

5.3.3. 内核运行态

5.3.4. 可中断睡眠状态

5.3.5. 不可中断睡眠状态

5.3.6. 暂停状态

5.3.7. zombie状态

5.4. 已经理解了“写时复制”,以及其他内核在内存中启动和运行的数据/代码段的映射原理。

5.4.1. 写时复制:为了节约物理内存,在调用fork()生成新进程时,新进程与原进程会共享同意内存区,只有当其中一个进程进行写操作时,系统才会另外为其分配内存页面。

5.5. 理解文件系统的本质是基于高速缓冲器的逻辑处理,基础是高速缓冲器buffer

6. j2se j2me 有过少量练习经验

6.1. j2me上用绿色字符贴图实现黑客帝国字母流动画的小程序 (大二时期的windows vista上,系统崩溃,代码遗失)

6.2. 有一点android经验,以前在校也写过一些java代码

7. C++/win32

7.1. vc++ & Direct3D/DirectDraw 1万行的仿dnf 2D横版游戏项目经验 (大二时期的windows vista上,系统崩溃,代码遗失)

8. Unix高级程序设计(apue):其中很多内容和《Unix网络编程》重复,不赘述,使用系统函数时可查看众多linux文档。

9. 机器学习(只有粗浅了解),看过4集麻省理工机器学习公开课。读过《集体编程智慧》的部分章节。

10. 网络编程

10.1. 经典书:Unix网络编程1 (unpv13e)

10.2. 懂得如何查找RFC文档

10.3. TCP/IP

10.3.1. OSI网络各层结构和功能

10.3.2. tcp/ip 3次握手建立,4次握手释放。

10.4. 下载了tcpdump源码,还待找时间结合Unix网络函数去分析。从而理解抓包和读取包的信息。

11. 数学方面具备大学本科数学知识,以后会慢慢加深学习。

12. 会一些javascript,html,xml,css,DOM前端开发知识,能看懂,上手快。迷你搜索引擎源码也用到一些前端开发知识,无障碍,学习流畅。

13. 数据库

13.1. mysql

13.1.1. 会写sql

13.1.2. 安装部署过mysql

13.1.3. 阅读了近三分之一mysql官方manual,对权限管理和mysql各种表管理有基本认识。

14. 算法(跟随大学教材和《算法导论》学习,在校期间用c语言实现练习过,列出其中一部分)

14.1. 递归与分治

14.1.1. 分治法

14.1.2. 大整数乘法

14.1.3. 二分搜索

14.1.4. 棋盘覆盖

14.1.5. 快速排序

14.1.6. 合并排序

14.2. 动态规划

14.2.1. 最长公共子序列

14.2.2. 凸多边形最优三角剖分

14.2.3. 0-1背包问题

14.3. 贪心算法

14.3.1. 最优装载

14.3.2. 单源最短路径

14.3.3. 最小生成数

14.4. 回溯法

14.4.1. 0-1背包问题

14.4.2. n皇后问题

14.5. 分支限界法

14.5.1. 装载问题

14.5.2. 最大团问题

14.5.3. 旅行售货员问题

14.6. NP完全性理论与近似算法等还在学习中,略

14.7. 算法复杂度分析:时间复杂度、空间复杂度、大O 等

15. 80x86汇编 & gnu汇编,能读,但没有项目经验

16. 遗传算法研究中

17. email: [email protected] & [email protected]