程序员学python_程序猿学习技术的方法分享

2009-07-29 手机技术 阅读:

i> z(Gi)l'-iiii-kx?i企业管理,了解企业文化,了解如何做人,了解如何做事,了解如何卖一件产品,了解经济是个什么东西,如何去追女孩子。

我曾想过我能否当一名大师级的摄影师,也想过我能否做一个成功的生意人,也有想过我能否当一名歌手进入娱乐圈。

最后只因为以前不懂事的时候说过的一句话,选择了现在的职业。——“我要当高级程序员”

说话要算话么,所以我做到了。就在我成为一名普通程序员的时候,我的一个好友在我的QQ上贴上了架构师的标签。

我觉得这个标签很合适,所以一直就放着,目的也很明显了。

有些事冥冥之中自有安排,你如果是这种人,就会走到这一步,不管是有意,还是无意,不管走了多少弯路,最终还是会走到这一步。

所以,有人说搞技术没前途,不如做管理,不如做销售,这种P话我压根就没相信过。

或者我会说,“你Y不早说,等我选好职业选好英雄了你才说有P用啊”。

所以,当你选择好一个方向时,你的抗干扰能力会提高n的倍数,心也不会在这个花花世界里到处游荡。

选择行业

又是选择,选择是一个很重要的环节,解决了这个问题,后面学习道路就舒坦多了。

程序员这个职业很特殊,因为软件应用领域很广泛。

所以软件行业按职称分又分为可以分为嵌入式工程师,软件设计师(高级程序员),系统架构师,系统分析师,项目管理规划师,网络规划师,数据库管理员。。。

按领域划分,搞教育事业的,搞科学研究的,搞企业应用的,搞互联网的,搞电子电路的,搞工业数控的。

这些领域所需要的知识结构和技术都有点差距的,选好了就不要轻易的换了,选好了就不要纠结了。

这样你会少了很多烦恼,选好了做个决定。

所谓选择比努力重要,意思不是说选了教育事业却发现人家搞互联网风生水起,就觉得选错了要重新选。

而是说选择了,再去努力,重新选择努力白费。

打个比方,我们搞ERP开发,搞了几年发现不就是CRUD,没搞头,不然搞网游去吧,然后有些那边的directX不懂,3D图形不精,会设计ERP流程但不会设计RPG剧情,PHP/JSP/ASP等WEB开发技术多少要荒废些,之前有很多努力白费。

就好像有的销售是卖药的,他的客户不是药店,就是经销商。忽然去卖车了,销售技巧和理念是相通的没错,但是之前辛苦建立的人脉就有损失了。

所以以前有人跟我说程序语言是相通的,会一种其他都会了,我问谁告诉你的,他说老师说的,我不争论我笑了。

系统学习

如果你已经做好了选择,那么恭喜你,你一定能够分辨出什么对你是重要的,你的注意力会集中在一点,然后爆发。

在爆发之前还需要强化一些综合的知识结构,不要什么资料都在网上搜索,那样太不系统,久而久之会产生一种恐惧。

那新事物的恐惧,因为你完全不知道它是从哪里冒出来的,等它冒出来了以后你会觉得怎么又一个新的名词没接触过。

我先讲个故事,以前群,群里有个大神,大神被许多小菜膜拜,直到有一天,大神有所领悟,对一群小菜说,“我现在才知道算法是多么的重要,程序到底不外乎就是些算法。”,然后抛出各种算法名词,于是一群人就跟着学算法。

各位观众,能看出一些问题吗?

程序(面向过程)=数据结构+算法;程序(面向对象)=对象+消息;

我表达的是,在这个园子里,有的人会说算法很重要,有的人会反驳.Net里面算法不太重要,到底重不重要?这个问题将搞得许多小鸟很纠结。

或许每天都有人拿出一个技术的名词是你没见过的,如果你没有对计算机软件有个大范围的系统性地了解,是很容易在技术的海洋里迷失方向的。

而跟读大学课程,能够让你对计算机有个系统性的了解。

注意一下,有的人说大学里学不到东西,有几种可能性的:

1、自身问题,没学,当然学不到东西。(每天就知道败家和泡妞,没有人生目标)

2、学校问题,师资差,教材差,氛围差。(老师混口饭吃,教材接不上,C++语法都没教,直接MFC来了谁学得会,或者干脆北大青鸟教材当大学教材)

3、是学不到,学不到太多对工作直接有帮助的。(名牌大学,其实此人技术高超,由于大学基础扎实,懂得原理,后面学Java比一般人轻松,比一般人快,但学校真没教Java)

总结,搜集好一点的学校的课程,有条件看国外的也行。懂得原理,将不再对新技术产生恐惧。

这里推荐一些大纲:C/C++语法(以后有许多著名的书籍是用这个语言描述的,比如网络编程、设计模式),C#/java(二选一,以后将会遇到许多著名的书籍用这个语言描述,学一种,另一种语法保证你看得懂),WEB开发(js,html,asp/php/jsp选一种了解一下Web开发原理和CGI的那点事),数据库和数据库原理(或许你有一天会接触到分布式事务,集群,锁的概念在其他领域也经常遇到,不太推荐用oracle来学习原理),嵌入式系统开发(被编入系统架构师大纲,了解一点没什么不好),软件工程(涉及到一些设计方法学、敏捷开发,极限编程,项目管理),计算机网络(5层协议,了解一下,以后WCF、socket等都用的是这些原理)

细化深化

经历以上三步,坚持下来的一般都是人才了,有目标,有想法,有规划,又受过高等教育。

在懂得原理的情况下,深入学习任何一方面应该都不难,但深入学习还是有方法的。

综合提升等级,比如说你要深入研究数据库,不要想一下子把数据库研究到底,除非你的工作就只是研究数据库。

因为有了前面几步做铺垫,再根据吸引力法则,你自然而然会学得很深入。比如遇到一个问题,一个报表SQL语句查询有3分钟,那肯定需要调优了,你会从各种原理入手开始优化,表设计、索引类型、外键,约束,返回结果集、关系模型和非关系模型、条件、函数索引、分区、执行计划、跟踪,经过努力,报表终于查询的速度终于可以接受了,但是在这个过程当中,你不止是用到数据库。

还考虑到网络传输,有的人说写存储过程减少网络传输开销,那又有什么所谓,根据实际情况网络环境,根据带宽计算一下网络传输的代价,内部局域网,还是英特网,局域网的话会产生多少广播风暴,考虑并发性。如果情况允许的话可以多次操作数据库。有些人还喜欢在存储过程里面写业务逻辑,把业务逻辑层该做的事情都做了,结果程序中没有业务逻辑,没有业务对象,重用性很低。然后数据库里面存储过程套存储过程再套函数,想法是很好,只可惜用的是关系型数据库,不是面向对象数据库,这么来有点过了。

为了减少数据库I/O的开销,还用了服务器缓存,缓存、数据库内存深入下去又是内存,到最后又是操作系统层面的东西了。

学了要用,书看了要做,做完要分享出来。看了书后,写点Demo,想想应用场景,再应用到实践当中,最后和朋友交流或者分享到博客。这样才是真的学到了,分享出来既锻炼语言组织能力和沟通能力,又可以保持一种状态。

结束

关于学习,就讨论到这里。

等忙过一阵子后,我打算再写点东西,一些用的到的东西。

程序员学python_程序猿学习技术的方法分享

http://m.quanqiunao.cn/yingjianxiangguan/13784/

推荐访问:程序猿图片 程序猿是什么

手机技术推荐文章

推荐内容

上一篇:GE买下莫利斯3D打印技术公司、将为LEAP飞机引打印零部件 下一篇:【创业者心中的山】IT创业者可以从Facebook身上学习这些东西