上周末应@COVER老师邀请,去了趟华中师范大学,和@徐潇@treasure@liuyuantao 及其他几个小伙伴,讨论了些Open edX相关的技术话题,关于Open edX架构、源码结构、源码阅读建议、开发及工作流建议、遇到的坑及解决思路相关的问题

由于我们踩过的坑比较多,分享完前车之鉴,大家希望我分享些源码阅读经验和入门资料,我说我最近正好在思考这个问题,回去写成博客好啦,所以有下边这篇文章


哈哈上边的总结未免官方,我真正想说的是作为一个能吃辣地南方人,武汉的菜很合我胃口呀 :) 与大家相处的周末很开心,像回到一年多以前,在学校里与一群热爱技术的小伙伴在一起的感觉


@MT在前些日子写过一篇Open edX涉及的开发语言、框架和开源组件 ,整理得很全了,对整个技术栈有兴趣的小伙伴,可以看那篇

哦对了,招聘要求往往也是很不错的技能风向标,所以学堂在线招兵买马当然也是很好的参考啦

我在这里主要整理我认为开发Open edX主要涉及的技术以及我自己比较喜欢的入门书籍,以及其他一些我的个人建议,分以下几个部分

  • 通用技能
  • 后端技能
  • 前端技能
  • 运维技能

#通用技能

Git

建议:团队中应当至少有一人熟练使用Git,这样能省下大量的时间。如果不能熟练使用Git,那么团队的协作将举步维艰,大多可以通过版本管理轻松解决的问题,将变为手工操作,效率极大地下降。当然也不要求所有人都精通Git,大多成员只要会最基本的操作就行,对于新手,SourceTree是十分不错的工具

推荐资料:

#后端技能 ###Linux(Ubuntu) 推荐几个特别有用的工具:

  • tmux
  • ssh
  • IPython
  • sshuttle
  • ngrok
  • htop
  • nethogs

推荐资料:

###Python

推荐资料:

进阶:

###Django 我自己的入门资料是djangobook,十分喜欢这本书,往复翻了有好几遍。此外的建议是边看书,边去github上找些小项目跟着做,写个小博客就是很好的练手项目

推荐资料:

###Mako * http://docs.makotemplates.org/ * Python模板库Mako的语法

###数据库 * Mysql * 21分钟 MySQL 入门教程
* MongoDB * The Little MongoDB Book

###可选:Docker * []()


#Todo

#前端技能 HTML、CSS、Javascript(jQuery)当然是必备的

###调试工具 * 浏览器开发工具的秘密 * Chrome DevTools

###Backbone.js

###Require.js

###Sass

#运维技能 ###Linux(Ubuntu)

# ##Nginx

###Ansible

#附录 ###vim 我日常使用vim作为编辑器,如果你想学习vim,推荐这篇文章简明 Vim 练级攻略