
程序员可以分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员,等等。今天我想谈的是Web程序员,一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西。 也许有些朋友会说,我知道Asp、Jsp,会做网站、会做bbs,这应该叫Web程序员了吧。确实,我承认,这些技术是一名Web程序员应该具备的;但是,你如果仅懂得这些,却只能叫做Asp程序员、Jsp程序员,而不是真正意义上的Web程序员。现在的世界是属于Internet的,大部分的应用基于Internet,大家可以想想,像Yahoo、Microsoft、Amazon那样的网站,其访问量之大、应用之复杂,需要什么样的技术才可以支撑,难道仅仅是硬件的功劳么。 我想在Windows平台下来谈谈Web程序员应该掌握的技术
1 首先,就是上面提到的各种脚本,asp、jsp、php等等,这些东西大同小异,基本可以举一反三。
2 数据库, 相信做Web的人肯定用过,像Access、Sql Server、Oracle。很多人会用各种数据库,但是仅限于写一些sql,select、update、insert,用ADO来 *** 作,如果这样,就算会用100种数据库又有什么用呢? 你应该考虑用户量、访问速度、内存消耗,这些东西和你的sql密切相关,我经常见到很多分页程序根本不去考虑数据库中有多少条数据,统统select出来,很明显,当你从数据库中查出1万条数据和100条数据,占用的内存是不同的。 另外,数据库连接池和事务机制是非常重要的,应该知道数据库用什么来保证事务,连接池如何实现,这些都是商务应用的关键。譬如,目前很多的应用服务,像weblogic、MTS,都包含事务处理,可以说好的事务处理决定了他们的竞争力。
3 组件技术 我想是现在的Web应用推动了组件技术的发展。以前,从老式的静态库、动态库(dll),到现在的COM/DCOM,再到正在兴起中的Web Service;从单机调用,到基于内部网的分布式调用,到现在基于Internet的分布式计算。现在的应用都是基于组件的n层结构,最明显的就是COM和JavaBean。 这些东西体现了软件架构的发展,以前是基于单机的应用,然后是C/S结构,到现在的B/S结构。我记得李维曾经说过,程序员一定要注意软件技术的发展趋势,只有这样,才不至于被淹没在技术的洪流中。我想,作为Web程序员,一定要明白COM的原理,如何实现这种调用、如何进行分布式调用。说实话,我觉得COM还是比较复杂的,否则微软为什么要提供ATL和VB呢,要搞明白,应该学学C++,因为VC中提供的ATL库可以很明显的说明COM的内部运行机制。
4 网络技术 这可以说是Web程序员最应该懂得东西。起码,应该知道Web服务器的机制,要明白>
当下Java程序员很多,但是成为一个合格的Java程序员却不是那么容易的事情,成为一个合格的Java程序员是有一定要求的,不想成为合格Java程序员的Java程序员,那么也不是想在Java行业长期获得好发展的程序员,想必没有哪个Java程序员不愿意自己在Java行业上越走越辉煌。
成为一个合格的Java程序员需要什么要求呢
1负责
这个是最基本的工作态度,但是并不是每个Java程序员都能够做到的,合格的Java程序员首先得要负责。怎样才算得上是负责呢首先,要谈负责,那么就是属于你的工作范畴的,那么你就一定要做好,比如属于你要处理的技术问题,那么你就得好好处理,不能以我不会,而草草了事,得具备抗压能力。
2提升
你觉得作为一个Java程序员,就只是不断的敲代码吗Java程序员并不是敲代码的机器,刚开始你的工作可能是常敲代码,但是你得学会提升自己,比如学会进行需求分析,学会设计数据库,学会写各类文档,学会如何写更好的代码,学会如何让自己的Java技术更上一个平台。
3抗压
作为一个Java程序员,你说没有压力是不可能的,压力还是比较大的。比如一个项目下来,要赶进度,一段时间就处于长期加班的状态,加班的话,压力还是比较大,如果客户需要不断更改的话,那么Java程序员的压力更大,IT培训认为作为一个Java程序员要想自己想合格更加靠近,必须抗压。
技术能力
嗯,这是一件明摆着的事;技术技能才能让你得到面试机会。当招聘一个Java开发人员时,公司会考虑若干因素。
基础
对Java编程语言基础的理解。
知道如何编写代码是很好的,但是知道代码背后的推理和/或所选择的算法将使你从人群中脱颖而出。
主流编程工具
今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:
构建工具:Maven或Gradle。
SCM:Git(不是GitHub。大不相同)。
构建自动化:Jenkins。
IDE:Netbeans或Eclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员。
Bug跟踪:Bugzilla或Jira。
主流编程框架
Spring MVC用于Web开发
JSF的知识
应用程序服务器
所有Java开发人员应该知道如何在Apache Tomcat中部署。
当Glassfish开发停止时,下一个最好的事情是JBoss WildFly。
云开发
在Amazon EC或PaaS上获取免费帐户。
Amazon的另一个选择是Red Hat OpenShift。
认知技能
对Java编程语言和各种工具有深入的了解自然是一件好事,但你的雇主/客户也会从以下方面对你进行评估。
沟通
沟通是我们做好一切事情的关键。我们必须与我们周围的环境互动,无论是在我们的私人还是职业生活中。这不仅仅是把字词放到一起的能力,也包括如何沟通我们面临的问题,或者提出这些问题的解决方案。一个伟大的沟通者知道如何在各种团体前面表达自己;记住,对你来说显而易见的东西,从让他人的角度来看可能并非如此。
问题解决
开发人员是问题解决者,也是哲学家和思想家。不要做那种只会写代码,不参与讨论如何解决问题的程序猿。不要成为那种只会说“告诉我要创建什么,我就创建什么,不要问我这是否为最佳方法”的程序猿。
有团队精神
无论是结对编程还是大型项目,所有开发人员都是作为团队的一部分在工作。你需要致力于团队的目的和目标。帮助指导初级成员,或帮助苦苦挣扎的团队成员克服障碍。不要有那种“我在这里只要做好我的工作,然后就可以回家了”的态度。成为团队的一部分。你不需要成为“团队小丑”或总是出去参与团队活动,但要成为团队的一员。
自学
这是一个非常重要的技能;在你自己的时间学习新技能的能力。不要总是等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从前端开发到架构模式,总是有一些新生事情值得学习。阅读博客和文章,尝试加入本地聚会小组。你学到的东西可以为你的事业开辟新的顶点。
一、需求理解能力
在开发过程中,要在需求细节不明的情况下,有责任设法搞清楚,积极学习编程思想和方法,并在设计、编码工作中自觉应用,对有一些复杂程度的设计,主动申请设计审查。并能在开发用户界面之前,尽可能使用界面原型方法获取用户的确认。
二、 合作与团队精神及计划性
服从分配的工作,并在保证质量的前提下尽快完成任务。如果接到的新任务没有给出工作量估计,首先估计出完成任务所需要的工作量,并有责任向领导说明其估计的合理性,如果接到的新任务已经给出工作量,除非能提出充分的理由,否则必须接受该工作量估计。提前完成任务时,应该及时通知上级。在同时承担几个模块任务时应能根据优先级的变化及时调整自己的工作时间分配。
三、 测试意识
在工作负担允许的情况下,采用测试驱动的编码方式,及时把完成编码的部分提交测试,并及时排错。不断通过自己的测试来驱动程序质量的提升。
四、规范化,标准化的代码编写习惯
良好的文档是正规研发流程中非常重要的环节,作为代码程序员,25%的工作时间写技术文档是很正常的。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
字串4
对正规的企业,会有完整的编码规定,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。代码具有良好的可读性,是程序员基本的素质需求。
五、总结与全局观
以项目全局为重,采取尽可能简捷的解决方案,把完美方案的设想提交设计人员,有问题时首先向同事们征求解决办法,不鼓励花大量时间解决难题,并鼓励给同事提供技术支持。项目结束,做出个人小结,以利个人和集体的改进。
现今互联网信息技术高速发展,很多人也想要尝试跟紧时代的步伐,投身与互联网科技中做一名程序员。但是却又不知道从哪里开始。那么如何从小白成为一名能工作的程序员呢接下来将由小编粗略的为各位说下吧。
1、了解自己是否喜欢这个行业:这个行业虽然很有趣(对部分人而言)但是也非常枯燥,如果没有兴趣的,那么你赶紧打消加入程序员行业的这个念头(能找钱方法太多了,不要为了高薪盲目跟随)
2、如果确定要入行了,那么计划学习拿得软件设计师资格证书:怎么学习呢?第一种参加软考培训,大概一千元左右(各个地方应该不同,但是超过三千就别报了)这种培训班基本都是培训到你过了为止,因为软件设计师比较好考,而且基本能工作了。
第二种自学!没错就是自学,作为一名合格的程序员一定要有很强的自学能力,英语不好就学、数学不好就学、c语言不好就学、c++不好就学、Java不好就学、数据结构不好就学。把以上几种学完,你大概就能拿下软件设计师证书了。
3、具体自学方法:1完全小白的英语不好的记住多背单词。
2、数学不好的也得学习(离散、高数、线代),主要是数学思维对一个程序员很重要。
3、c语言、Java、c++,数据结构可以去百度传课上看视频学(记得老师说的每一个程序都要自己动手在计算机上敲一遍,如果你不动手敲,那么你早点放弃吧,那么可以很直接告诉你,你不适合入这行,这行得动手,虽然大部分时间是思考)。
4、调查清楚软考时间和报名方式,这样你就能做好足够的准备。
很期待一件事,如果程序能有思维。
5、坚持,入行说难不难,但是坚持的过程很磨人,特别对于完全一点基础都没有的人,但是当你想改变的那一刻起,你就得明白你已经在挑战的道路上了。
从初入职场菜鸟到职场大咖,很多程序员在努力充实自己,有时候我们需要对自己进行一次能力定位,了解自己的优势和没有掌握的技术。芯学苑列出几点作为初入职场的新手评估自己,明了前进学习的方向。
1、技术能力(解决问题的能力)
这是非常重要的事;过硬的技术能让你得到面试机会,并在工作中游刃有余。当公司招聘一个Java开发人员时,是会优先考虑能力因素的。在实际的项目开发中,一个程序员的技术能力等于其解决问题的能力。
如果拿一个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的数量和难度来衡量。一个程序员能基本无误的完成项目中的一个功能算是合格,但在此之前,他对项目的生产力为负,为他布置的任务,中间环节的沟通,修补bug的时间其实要多于自己直接完成该功能的时间的。能较好完成一个完整模块的程序员才算是较好的程序员,也是项目中的主要开发者。能独立完成整个项目才是优秀的程序员。
2、专业基础(知识的积累)
一个程序员的知识积累很大程度上决定了其解决问题的能力。知道如何编写代码是基本的技能,但是知道Java编程语言的原理,知道代码背后的算法将使你从人群中脱颖而出。
3、主流编程工具
今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:
构建工具:Maven或Gradle。
SCM:Git(不是GitHub。大不相同)。
构建自动化:Jenkins。
IDE:Netbeans或Eclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员。
Bug跟踪:Bugzilla或Jira。
4、JSF的知识
应用程序服务器
所有Java开发人员应该知道如何在Apache Tomcat中部署。
当Glassfish开发停止时,下一个最好的事情是J Boss Wild Fly。
5、沟通的能力
沟通是我们做好一切事情的关键。我们必须与我们周围的环境保持互动,无论是在我们的私人还是职业生活中。一个良好的程序员知道如何在各种团体面表达自己。也许对你来说显而易见的东西在他人的角度来看并非如此。
从大的尺度(比如一个人的工作生涯)来看,一个程序员知识积累的多少只决定于其自学能力和他对编程本身的兴趣。
在一个分工明确的项目中,程序员需要理解产品,和领导沟通理解自己的任务,和同事们沟通以正确的方式进行合作。无论哪一个方面沟通出了问题都不是小事情,同时,程序员还需要正确的传达设计的实现难度,以及让别人正确的理解自己设计模块的接口。在不写文档时,正确的口头沟通非常重要,需要写文档时,良好的编辑能力也算做是沟通能力的一部分。
6、自学能力
这是一个非常重要的技能,在你自己的空闲时间学习新的技能。不要等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从Java后端开发到架构模式,总是有一些新事物值得学习。经常阅读博客和论坛,尝试加入本地聚会小组。你学到的东西可以帮助你的事业。知识刷新频率极快让人无法追赶的这个时代,难免会有超出自己知识范围的时候,此时你的自学能力决定了你能多快的完成任务。
7、良好的团队合作精神
无论是部分编程还是大型项目,所有开发人员都是作为团队的一部分在协同工作。你需要致力于团队的目的,或帮助新的团队成员克服障碍。不要存在这种“我只要做好我的本职工作,下班就直接回家”的态度。成为团队的一部分,帮助周围的同事,对自己的能力也是不小的提升。
就像拿破仑说的不想当元帅的士兵不是好士兵,追求参与一个大型软件系统的开发,是每个程序员的梦想。在此之前,应该学习更多的专业知识,达到优秀程序师的标准。最后希望各位程序员阅读本文后能够得到一些裨益,在这条路上走得更好。
怎么样才算是一名合格的PHP程序员答案是能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP功能模块的开发。昌平镇电脑培训发现完成这些内容的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有。
一名合格的PHP程序员需要学习的内容有哪些
1PHP:
基本语法数组、字符串、数据库、XML、Socket、GD/ImageMgk处理等等;熟悉各种跟MySQL *** 作链接的api(mysql/mysqli/PDO),知道各种编码问题的解决;知道常规熟练使用的PHP框架(ThinkPHP、Zendframework、Yii、Yaf等);了解基本MVC的运行机制和为什么这么做,稍微知道不同的PHP框架之间的区别;能够快速学习一个MVC框架。能够知道开发工程中的文件目录组织,有基本的良好的代码结构和风格,能够完成小系统的开发和中型系统中某个模块的开发工作。
2Nginx:
做到能够安装配置nginx+php,知道基本的nginx核心配置选项,知道server/fastcgi_pass/access_log等基础配置,目标是能够让nginx+php_fpm顺利工作。
3MySQL:
会自己搭建mysql,知道基本的mysql配置选项;知道innodb和myisam的区别,知道针对InnoDB和MyISAM两个引擎的不同配置选项;知道基本的两个引擎的差异和选择上面的区别;能够纯手工编译搭建一个MySQL数据库并且配置好编码等正常稳定运行;核心主旨是能够搭建一个可运行的MySQL数据库。
4Linux:
基本命令、 *** 作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed脚本命令等。
5前端:
如果条件时间允许,可以适当学习下HTML/CSS/JS等相关知识,知道什么web标准,div+css的web/wap页面模式,知道HTML5和HTML4的区别;了解一些基本的前端只是和JS框架(jQuery之类的);了解一些基本的JavaScript编程知识;(本项不是必须项,如果有时间,稍微了解一下是可以的,不过不建议作为重点,除非个人有强烈兴趣)
以上就是关于如何成为一名合格的程序员全部的内容,包括:如何成为一名合格的程序员、如何成为一名优秀的android程序员、成为一个合格的Java程序员有什么要求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)