- 浏览: 229124 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (188)
- Java (68)
- SQL (9)
- JavaScript (1)
- Spring (3)
- Struts (0)
- OS (4)
- Mywork (8)
- IT News (10)
- Passtime (15)
- English (11)
- SCJP (2)
- Linux (4)
- Maven (6)
- OpenSource (1)
- 持续集成CI (1)
- CVS (3)
- Hudson (3)
- OpenID (5)
- Web (8)
- Project Management (6)
- CRM (3)
- CaseStudy (2)
- SSO (1)
- OpenLDAP (4)
- Thinking (1)
- JGroup (1)
最新评论
-
guji528:
谢谢分享!
一些关于Emma的资料 -
atgoingguoat:
我也碰到这个问题
Linux 下具体如何处理.
java.net.UnknownHostException: ibatis.apache.org -
zerostar88:
http://www.limodev.cn/blog/arch ...
HTC G3 刷 Recovery and ROM -
zerostar88:
but DES now is deprecated, we u ...
DES/CBC/PKCS5Padding密码 -
xnxylxh:
辛苦了
数字证书
http://sd.csdn.net/a/20100820/278429.html
体会: 10点当中我觉得第一条很重要,我就是缺乏这一点所以有机会一定要把握这一点!
Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》,为我们分享如何才能完成程序员从初级到中级的蜕变,现将中文译文转载于此,供大家借鉴。 在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。这个观点很好,有关程序员如何从初级跃升到中级的信息极少。以下是为了实现这种转变需要你去做的10件事。 1.学习另一门语言 其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造为更好的程序员。能学会一门与你日常使用的语言风格迥异的语言则更佳。打个比方,如果你是C#程序员,学习VB.NET或者Java对你的帮助就没有学习Ruby或者Groovy大。 我说“学另一门语言”的意思是要真正学会它。学习一门语言包括三个领域的知识:语法、内置操作符和库,以及“如何使用”。前面两个简单;我认为一名有经验的程序员,根据语言的不同,能在半小时到几小时内掌握足以维护代码的语法知识。操作符和库只不过是知识逐步积累的过程,你什么时候想清楚要了解什么了,再去查阅参考材料也不迟。只有第三项,“如何使用它”-要花上你几个月的时间去跟这门语言打交道,真正的奇迹就在此发生。我建议用这门语言的风格去做一个适合该语言的项目。 真正学会了另一门语言之后,我敢保证你的程序员水平一定会突飞猛进。 2.学习先进的搜索技术、手段和及策略 作为一名好的程序员,不仅仅是技能的问题了,而是你寻找信息的技巧,这个趋势越来越明显。对大部分人而言,仅仅输入“现代语言及开发框架”,这都是泛泛之谈,记不住多少的。因此,你完成工作的能力通常取决于你的检索能力。不幸的是,了解到如何找到准确而高质量的信息可不仅仅是跑到TechRepublic来找答案,或者在你选好的搜索引擎上敲几个字那么简单。 “技术(Techniques)”、“手段(tactics)”和“策略(strategies)”看起来是一回事,实际上并非如此。你需要学会的技术是掌握你喜爱的搜索引擎的高级搜索系统;你需要了解诸如布尔操作符,如何过滤结果(像“非”关键字,域限制等等),关键字的词序扮演什么角色,等等。一句话,RTFM(Read The Fucking Manual,读那些他妈的手册)吧。 你应该学会这些手段,诸如如何接近特定的搜索,以及了解自己实际上想查些什么。查错误很容易—只需查出错代码即可—但是许多搜索的关键字选择要困难得多。 至于策略,你需要学会的东西,包括像应该使用哪种搜索引擎(提示:普通的搜索引擎不一定就是最佳选择),使用普通搜索引擎前应该访问哪个网站,甚至是应该到哪个论坛去寻求帮助,等等。 3.帮助别人 教别人始终是学习一切东西的最好方法之一。相对而言,由于你在开发领域还是个新手,认为自己没什么可教给人家的,这可以理解。但这毫无意义。记住,你所学到的一切都是你从别人或别处学到的;因此请尝试一下,成为另外一个人要请教的“别人”。每天尽量花一点时间试着回答TechRepublic上的问题,其他网站的亦可。读读其他会员的回答,你也可以学到很多东西。 4.有耐心,常练习 研究表明,要成为一名“专家”,需要花费10年,或者10000到20000小时的刻意练习时间。真的很久。还有,成为专家不尽然就是执行10年同样的任务;通常这意味着要在特定领域内执行广泛的任务。需要花费大量的时间和精力才能成为“专家”;做几年程序员是不够的。想在30岁左右成为一名高级软件开发工程师?要么尽早接受教育/培训,要么你得愿意在闲暇时间进行大量的工作、阅读和练习。我从高中开始编程,还牺牲了许多休息时间去跟踪行业发展、学习新技能等等。结果,我获得中级和高级程序员的时间就比我的大部分同事都要早得多,随着时间的推移,这些就转化成为很多的金钱。 5.对教条拒之门外 是时候开诚布公了:也许初级程序员了解的东西还不足以说出做某件事情有一种最好的方式。尊重朋友或者权威的观点是好的,但直到你更有经验之前,不要把他们的观点说成是你自己的。很简单,如果你所了解的不足以让你独立地找出这些东西来,你又怎么会认为你知道哪一位“专家”是对的呢?话是难听了点,不过请相信我;由于受某些愚蠢建议的蛊惑,或者追随某些根本不知道自己在说些什么的所谓专家,白白把自己的职业生涯耽搁了几年,这样毛头小伙程序员,我见过多了。这一点有一个很好的例子,就是面向对象结构的滥用。比如说,许多初级者读了一些有关面向对象的信息后,突然间,他们那简单的应用程序的类图看起来就像埃菲尔铁塔一样了。 6.深入学习一点先进理念 成为一名中级程序员,很大一部分是要在代码里面体现出一些所擅长的概念。就我而言,是多线程/并行性,是正则表达式,以及如何对动态语言进行变化(后两个在我离Perl渐行渐远后开始退化)。这是如何发生的?多线程和并行处理是因为我读了相关文章,觉得它看起来很有趣,然后再自己把它弄清楚了;然后我就一直使用这些技术来写应用。我做过一件工作,是用Perl写的,里面运用了大量的正则表达式。我也用一个过程引擎模板和内置数据库系统写过我自己的电子商务引擎;那时我几乎花了2年时间在这上面。 找到真正令你着迷的东西。也许是图像处理,也许是数据库设计,等等。即便你是一个入门级的程序员,也要尝试一下成为某一自己所关注领域的专家。这会让你相当快速地进入到中级水平,一旦你到了那个水平,你的专家之路也走到一半了。 7.学习你的领域里面的基本理论 写出“Hello World”,跟理解那些字是如何显示到屏幕上的是两码事。通过学习支撑你所从事的工作的“基础/底层工作(groundwork)”,你会变得更加在行。为什么?因为你会理解事物为何会以这种方式运作,当东西坏了就能知道是哪里的问题,等等。通过掌握工作的底层机制,你变会得更出色。 如果你是Web程序员,读读HTTP RFC和HTML规范。如果你使用代码生成器,好好看看它生成的代码;如果你使用数据库工具,看看它生成的底层SQL语句,不一而足。 8.看看高级程序员的代码 在工作中看看高级程序员写的代码,然后问一问事情是如何以某种特别的方式完成的,为什么?可能的话看看开源的项目。甚至即使其他程序员没有最好的编程习惯,你也会学到许多编程经验。当然,要小心别学到坏习惯。我的意思是说不要生搬硬套人家的东西;你要能领会到哪些是能行的通的,哪些是有道理的,然后再模仿人家。 9.学习好的习惯 愚蠢的变量名,糟糕的缩进习惯以及其他一些凌乱的迹象就是一个没有经验的程序员的最好标记。一个程序员在学会如何编程时,却经常没有被传授到那些不那么有趣的细节,像代码格式编排。甚至尽管学习这些东西并不会令你的代码更好,也不会令你成为更好的程序员,它也会确保你不被同事视为入门级的程序员。甚至即使某人是高级程序员,如果他的变量是以他那97只猫的名字来命名,或者其函数叫做“doSomething()”的,他们看起来也不像是知道自己在干什么的人。而且会令其代码在过程中更难以维护。 10.要玩的开心 想要痴迷于单调乏味的工作?痛恨工作吧。要想升级为中级程序员可不仅仅是为了拿到不断增长的工资不达目的誓不罢休,而是要真正享受工作。如果你不喜欢自己的工作,且还是初级程序员,你怎么会认为成为中级或高级程序员情况就会有所好转呢?换工作或改职业吧。反过来说,如果你喜爱所从事的工作,那就好!只要你坚持下去,我保证你能成为一名更好的程序员。(Justin James) 【人物小传】 Justin James Justin James Justin James就职于Levit & James, Inc,并在公司中承担着混合编程、网络管理员、系统管理员多项职务。自2005年就在TechRepublic开博,博客地址:http://blogs.techrepublic.com.com/10things/。程序员从初级到中级10个秘诀
发表评论
-
Java 代码块加载顺序
2015-07-19 13:29 555静态代码块 > 构造代码块 > 构造方法 pu ... -
Sprint JPA Test
2015-02-14 13:45 817@RunWith(SpringJUnit4ClassRunn ... -
WARNING: JMockit was initialized on demand, which may cause certain tests to fai
2013-08-05 09:04 2279When we using Jmokit and Junit ... -
Common log4j Console output when unit testing
2013-08-02 10:23 706#set up stdout appenderlog4j.ap ... -
JGroups 广播检查
2013-01-08 09:52 873先下载JGroup jar包 设置到环境变量CLASSPAT ... -
(转)一步步优化JVM4:决定Java堆的大小以及内存占用
2012-09-22 10:45 884一步步优化JVM4:决定Java堆的大小以及内存占用 htt ... -
让开发自动化: 用 Eclipse 插件提高代码质量
2012-08-02 22:25 1060让开发自动化: 用 Eclipse ... -
从 Java 代码到 Java 堆 理解和优化您的应用程序的内存使用
2012-08-01 09:29 952从 Java 代码到 Java 堆 理解和优化您的应用程 ... -
Unable to read TLD from JAR file
2011-07-06 14:35 1329Today I try myBatis project Jpe ... -
Java Trouble shooting from IBM
2011-06-16 15:50 753Here is a good repository for J ... -
DES/CBC/PKCS5Padding密码
2011-05-10 10:06 3568DES/CBC/PKCS5Padding 加密解密 i ... -
【java】AES加密解密 AES/CBC/PKCS5Padding
2011-05-10 10:05 18074<Source>http://www.cnblog ... -
Tomcat JNDI configuration
2010-10-18 14:15 1091Tomcat JNDI configuration ... -
(转)设计与开发 JAX-WS 2.0 Web 服务
2010-10-11 08:33 982https://www6.software.ibm.com/d ... -
初学者如何开发出高质量J2EE系统
2010-09-16 08:34 819(转自CSDN)初学者如何开发出高质量J2EE系统 S ... -
Jpetstore
2010-09-16 08:32 996http://www.hudong.com/wiki/Jpet ... -
Google SAML2 SSO
2010-09-09 16:40 1484Source: http://code.google.com/ ... -
(Forward)Debug your Java code with ease using JPDA
2010-09-07 13:02 950Debug your Java code with ease ... -
为什么5%的技术人员开发效率是其他95%的20倍?
2010-08-22 10:54 823Source: http://sd.csdn.net/a/20 ... -
2009 Java 专区最受欢迎内容
2010-08-18 14:02 7812009 Java 专区最受欢迎内容 http://www. ...
相关推荐
forward是一款很有用的软件,在工程方面、测井方面,勘探方面经常用到 Forward for Windows平台提供多种应用挂接方式,如何应用(包括DOS应用) 经方法管理器加入平台后,自动具备各种平台特性(如方法拖拉、接收井...
Forward 2.71 安装程序,Forward2.71软件的安装及使用。
试验环境如上图 防火墙网卡1与客户端在一个物理网络,ftp服务器与http服务器与防火墙网卡2在同一物理网络。...~]# iptables -P FORWARD DROP #FORWARD默认规则置为DROP ~]# setenforce 0 #关闭selinux
Embedded wire feed forward equalization Embedded wire feed forward equalization Embedded wire feed forward equalization Embedded wire feed forward equalization Feed-forward optical equalization using ...
1、forward与include共亨Request范围内的对象,而redirect则不行,即:如果一个javabean被声明为request范围的话,则被forward到的资源也可以访问这个javabean,而redriect则不行。2、forward与include基本上都是转发...
一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系) session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求 ...
forward[a-c]forward[a-c]forward[a-c]
Linux 中ip forward功能是一个比较方便实用的功能,只需要简单配置,添加几条路由,即可实现ip转发。...其次本地直连网段192.168.1.0 IP有限,而又希望直接从本机(如图Win10) ssh连接到这些虚拟机,因此考虑使用Lin
全能测井解释软件Forward_2.7_最全教程
RequestDispatcher对象的forward方法在使用时应注意的问题
国产地层油气藏测井评价系统forward工程技术手册,提供forward平台各模块的功能细节描述,应与forward用户实用手册配合使用。
splunk-forward设置
运用forward方法只能重定向到同一个Web应用程序中的一个资源。而sendRedirect方法可以让你重定向到任何URL。 表单form的action="/uu";sendRedirect("/uu");表示相对于服务器根路径。如http://localhost:8080/Test...
为帮助千万人步入it企业而准备, 8.JAVA SERVLET API中forward() 与redirect()的区别? forward()方法可以使用原来的对象,而且速度较快。 9.JAVA解析XML的方式?
Matlab 实现机器人 forward kinematics
Action与Forward属性的含义
forward操作介绍,详细、通俗易懂,易学易上手!
forward.net应用培训手册 forwardnet的应用手册,自学各个模块有帮助
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。还有,转发...
一本揭示高效程序员的思考模式,一本告诉你如何缩短你与优秀程序员的差距 Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive ...