请教:0编程基础,希望大家给点学习编程路径图,一步一步学习。高手给点建议,让我少走弯路,谢谢!

2013-07-25 15:02:28 +08:00
 alexwang
1.一直从事CISCO、SA 方面工作。
2.0编程基础,希望大家给点学习编程路径图,一步一步学习。高手给点建议,让我少走弯路,谢谢!
3968 次点击
所在节点    问与答
10 条回复
yuelang85
2013-07-25 15:47:43 +08:00
这样的经历,建议学后端。

后端的话,python最容易上手。先找个短的语法文章,一天内看完。然后用django,web.py一类的写个blog,建议django,资料比较全。然后把blog多优化优化,顺便也把html/css/js简单了解下。

然后就可以找工作了,降低姿态,先找个地方上上,主要是攒经验,打打小怪熟悉下操作。

既然做过SA,找工作的时候就多说说对各种服务器的熟练程度。nginx,mysql,memcache,redis优化啥的,这个还是挺加分的,后端一方面是编码能力,另一方面需要对服务器有很深了解,这样才能做出好价购。

兄弟,如果你是个经验尚可,技术还不错的sa,你做后端已经成功一大半了。
alexwang
2013-07-25 16:44:16 +08:00
谢谢@yuelang85
网络CISCO、服务器系统(linux\bsd\unix\mysql\apache\cacti\nagios.......)都非常熟悉,经验还行。
就是一点编程基础都没有,想学习编程,苦问编程语言太多PHP\JAVA\.NET......不知道怎么学起,告知学习路径图。
yuelang85
2013-07-25 17:04:18 +08:00
@alexwang

所以我说对于你,python后端 应该是最高效的。

python学习曲线不陡,后端又正好和你sa经历相辅相成。

而且现在python很热门,工作好找,工资也不会很低。

java,php,.net这三个在初期工资都会很低,你会过的比较辛苦,相信我工资低绝对会影响你的学习效率。

java门槛其实并不低。

.net跟你的sa经历基本没交集。

php现在越来越下滑,将来道路会很窄。
alexwang
2013-07-25 17:21:24 +08:00
@yuelang85感谢您,指点我。
python 开始学,是否可以提供一些学习步骤和方法,虽然工作很多年一直做SA和网络方面事情,谢谢
yuelang85
2013-07-25 17:49:48 +08:00
@alexwang 我一开始回复的就是 我的学习路线。
lecher
2013-07-25 17:56:53 +08:00
我也是SA转后端的。我算是一个失败的例子,你可以看看怎么做是行不通的,少走点弯路。
python是个不错的路线。我在做sa的工作时,用python做两个事情,
第一,用python写自动化运维的脚本,比如查询某些服务的状态,如果挂掉了就重启,或者抓取日志,把结果写到文件中。
第二,用python的web框架django或者其它简单的web框架写一个最简单的web页面,前期没有用数据库,就做最简单的管理页面,比如看哪些服务还在跑,做一个点击的时候就会去执行某些系统查询命令的网页,然后把查询结果显示到网页上的东西。

这么做可以把python和系统运维结合起来用。
熟悉了之后我上了数据库,学学mysql的数据库操作,把系统管理的自动化运维脚本运行的结果或者状态的数据插入到数据库中。然后网页从数据库调用数据。

这么做之后,我就去面试一些做云计算的公司了,他们主要用python做云服务的后端管理系统,调度资源什么的。得到面试机会的概率高一些。
如果做web开发的话姿态要放低一些,因为就算有sa的经验,web的东西毕竟离sa有点远,像什么javascript,html页面,这类的基础毕竟sa没什么机会用,要突击也不容易出效果,一问web页面的到事情就直接挂掉了。反正做好从底层做起的心理准备,具有系统管理经验对于后端开发的加成是很大的,后劲还是很足的。

我比较懒所以大概花了一年的时间完成的学习,学习路线大致这么走我不知道是不是行得通,因为我最好没有正经的面试上任何工作:
python基础(learning python in hard way)。这个我把例子都手敲过一遍,基本的思路都理解了。
python高级特性(deep in python)。这个只是看过,有很多高级特性没有理解。
正则表达式。这个只是看过,用过基本的正则匹配去做过日志处理
mysql基础 。只是知道搭建,建表,增删改查,高级一些的联合查询都没有做过。
tornado框架(看文档,看introduce to tornado)。这个框架太简单了,没有数据库管理,没有session,没有任何orm的东西,web新手学起来会很痛苦,我看了一个月的文档都没有做出来一个可用的web服务,据说django会简单很多,新手还是从django入门吧。
其它像linux基础,nginx基础,高可用集群服务这些都是sa都做过的就没有特别去学习。

就这样花了一年的时间慢慢做python方面的学习,框架选了tornado,大概学到了可以用tornado搭一个简单的blog的程度,就去找工作了,结果django的机会更多一些,最后面试的时候关于数据库和python高级特性的技术问题都没有答好,准确的说其实我的数据库和python高级特性都没掌握好,所以没有面试上任何公司。

最后是投奔了一个朋友的创业公司,正好可以从服务器架构做起,他做主程,带我做全套服务器配置到web后台开发的事情。

我走过的弯路就这些,太懒没有坚持把比较难的事情坚持下去,比如:没有好好看python高级特性的东西,没有学好数据库,没有选择一个简单的web框架去学习。
希望这些能对楼主有些帮助。
yuelang85
2013-07-25 18:34:42 +08:00
@alexwang

@lecher 提醒我了,没事儿多翻翻python cookbook,不管是学习还是对付面试,都超级有用。

手边备一本python源码导读,和 C程序设计现代方法(作为读python源码导读的工具书)。这两本书结合起来,不懂的python内部机制问题,基本都能搞定。
gotounix
2013-07-25 21:18:07 +08:00
熟悉linux,bsd,unix的sa怎么能说没编程基础?!shell,python在你工作中就重来没用过么?
alexwang
2013-07-26 09:36:51 +08:00
@gotounix 算半个SA,不是一个非常合格SA,会SHELL简单编程,其他所有编程都不会,但系统管理,CISCO CCNP非常精通。
alexwang
2013-07-28 15:25:11 +08:00
@yuelang85
@gotounix
@lecher
感谢。从python开始,努力学习。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/76928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX