Gift of White Box

1、起始点

  • 痴迷于掌握一门可见的职业技能。
  • 担任游戏测试时有Unix指令和Mysql操作的工作需求,从无到有地学习并略通皮毛。
  • 担任游戏策划时有Python脚本阅读和书写简单逻辑的工作需求,从无到有地学习并具备了初步的代码能力。
  • 大学时学习过C语言,再无其它计算机相关的在校学习经历。
  • 对程序员所追求的优雅与优美的境界感到好奇。

2、目的地

  • 不满于照葫芦画瓢,真正理解和掌握python这门脚本语言。
  • 更系统化的理解程序,理解软件工程与软件开发。
  • 有底气把掌握Python作为一种职业技能宣告。
  • 在学习的过程中,结识志同道合的朋友,瞻仰他们的风姿。
  • 学习的过程中,对于相关内容,切勿贪多。

3、学习计划

采用@左耳朵耗子 的《程序员练级技术攻略》,结合我自己的情况,制定如下:

a)、学习脚本语言Python

可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:

  • 处理文本文件,或者csv(关键词pythoncsv,pythonopen,pythonsys)读一个本地文件,逐行处理(例如wordcount,或者处理log)
  • 遍历本地文件系统(sys,os,path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果
  • 跟数据库打交道(pythonsqlite),写一个小脚本统计数据库里条目数量
  • 学会用各种print之类简单粗暴的方式进行调试
  • 学会用Google(phrase,domain,usereadertofollowtechblogs)

为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。
b)、用熟一种程序员的编辑器(不是IDE)和一些基本工具

  • Vim/Notepad++,学会如何配置代码补全,外观,外部命令等。
  • SourceInsight(或ctag)

使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。
c)、熟悉Unix/LinuxShell和常见的命令行

  • 如果你用windows,至少学会用虚拟机里的linux,vmwareplayer是免费的,装个Ubuntu吧
  • 一定要少用少用图形界面。
  • 学会使用man来查看帮助
  • 文件系统结构和基本操作ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip…
  • 学会使用一些文本操作命令sed/awk/grep/tail/less/more…
  • 学会使用一些管理命令ps/top/lsof/netstat/kill/tcpdump/iptables/dd…
  • 了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息
  • 了解正则表达式,使用正则表达式来查找文件。

对于程序员来说Unix/Linux比Windows简单多了。(参看我四年前CSDN的博文《其实Unix很简单》)学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。

posted on 2011-10-23 15:31  刘娟娟PRESSone  阅读(160)  评论(0编辑  收藏  举报