Ⅰ 程序员主要做什么工作
程序员是从事程序开发、程序维护的专业人员。
程序员一般需要会做:确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图等。
通常情况下将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。
Ⅱ java去公司工作用到的是哪方面的知识
小公司做小项目一般都用SSH+jsp大公司做项目都是根据不同的项目 采取不同的框架技术,比如银行大部分都用 EJB等
第一:先学习Java的核心库(JavaSE)
JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……..
第二:MySQL数据库
搞定一门数据库相关的课程,例如:MySQL、Oracle,搞定一个就可以了,目前互联网公司,例如:京东、阿里等,他们都在使用MySQL,所以建议大家学习MySQL数据库,小巧轻盈,免费,由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,为了应付高并发。(搭建的比较多的时候,免费就很重要了。)
第三:WEB前端
以后从事Java开发,从事JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底层对JS进行了封装)…
第四:WEB后端(JavaWEB)
WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习一个异步编程技术AJAX。(完成网页的局部刷新,AJAX其实不属于后端,是前端浏览器上的程序。)
学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。
第五:最好能够停留下来,做一个项目。
这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)
这个项目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL….
在这个项目的开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)
第六:学习高级框架
Spring、SpringMVC、MyBatis(持久层框架,这个框架互联网公司使用比较多,因为互联网项目需要进行SQL优化,MyBatis的SQL优化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)
SpringBoot(新项目大部分使用的都是boot了。所以在项目中遇到还在使用SSM的一般都是遗留项目。)
当你走到这里之后,基本上你可以出山了。(去找工作,8K的薪资应该问题不大,但前提是你学的好。学习的深度够了,广度够了。)
第七:最好能有一个大型项目是使用框架来完成的。
SpringBoot做一个项目。
Spring SpringMVC MyBatis做一个项目。
这个项目最好是找几个人搭伙做一下。体验一下团队协作。(尤其是使用一些协作的工具。怎么沟通,怎么写日报,怎么开会,怎么使用Git,等等….)
第八:如果你的薪资想达到15K的话,你可能需要还要学习一些分布式相关的一些技术。
能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
java的知识体系构架
....祝 工作顺心 哈哈
Ⅲ 软件生命周期各阶段的任务是什么
软件生存周期可以分成6个阶段:可行性与计划研究阶段、需求分析阶段、设计阶段、实现阶段、测试阶段、运行与维护阶段。
各阶段任务:
1、在可行性分析(研究)与计划阶段的任务:
要确定该软件的开发目标和总的要求,要进行可行性分析、投资收益分析、制订开发计划,并完成可行性分析报告、开发计划等文档(输出)。
2、在需求分析阶段的任务:
由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、性能需求和设计约束,确定对文档编制的要求,作为本阶段工作的结果,输出有:软件需求规格说明(也称为:软件需求说明、软件规格说明)、数据要求说明和初步的用户手册应该编写出来。
3、在设计阶段的任务:
系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计,分析每个设计能履行的功能并进行相互比较,最后确定一个设计,包括该软件的结构、模块(或CSCI)的划分、功能的分配,以及处理流程。
系统比较复杂的情况下,设计阶段应分解成概要设计阶段和详细设计阶段两个步骤。在一般情况下,完成的文档包括:结构设计说明、详细设计说明和测试计划初稿。
4、在实现阶段的任务:
要完成源程序的编码、编译(或汇编)和排错调试得到无语法错的程序清单,要开始编写进度日报、周报和月报(是否要有日报或周报,取决于项目的重要性和规模),并且要完成用户手册、操作手册等面向用户的文档的编写工作,还要完成测试计划的编制。
5、在测试阶段的任务:
该程序将被全面地测试,已编制的文档将被检查审阅。一般要完成测试分析报告。作为开发工作的结束,所生产的程序、文档以及开发工作本身将逐项被评价,最后写出项目开发总结报告。
6、运行和维护阶段的任务:
软件将在运行使用中不断地被维护,根据新提出的需求进行必要而且可能的扩充和删改、更新和升级。软件维护分为改正性维护、适应性维护和预防性维护,分别对应于前面的三个问题。
改正性维护就是修改原有的缺陷、适应性维护就是使软件适应新的软硬件环境,预防性维护就是把今天的技术用在昨天的软件上,以期软件在明天还能使用。
每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
生命周期的每一个周期都有确定的任务,并产生一定规格的文档(资料),提交给下一个周期作为继续工作的依据。按照软件的生命周期,软件的开发不再只单单强调“编码”,而是概括了软件开发的全过程。
软件工程要求每一周期工作的开始只能必须是建立在前一个周期结果“正确”前提上的延续;因此,每一周期都是按“活动 ── 结果 ── 审核 ── 再活动 ── 直至结果正确”循环往复进展的。
Ⅳ 晨会、日报、周报的意义
对于大多数程序员,写日报或者周报都是一件非常痛苦的事情。首先是日常的开发任务比较重,写报告需要整理思路不说,还需要回忆。因为一天都在思考,回忆时出于本能的,是有所抗拒的。
上级为了掌握每位员工的工作饱和度,项目进度和在最后年终或者绩效考核时的凭据,就需要成员写日报或者周报。
学习过自我管理的人都知道,每天对自己的工作进行终结,是有利于自己提高自身的工作能力的。
回忆的过程是痛苦的,但是在做事之前,对事情规划。事中记录步骤、结果、任务,寻求别人的帮助,给别人派发任务。事后,进行总结。对于任何一个人来说,这都是需要养成的好习惯。
个人认为,做什么事情都必须是互惠的。认为对你好,而强制性人别人遵从你的意见,是不可取的。毕竟现在都21世纪的,我们有很多资源,很多案例,可以借鉴。以此,上级给下级强派日报的行为,个人不提倡。
反而上级应该加入到下级的工作总结中,帮助其完善工作总结。然后给总结打标签的方式,记录自己需要的信息。
不管是晨会还是日报周报,都是让员工成长,让员工寻求组织的帮助,上上级了解员工信息的途径。双方互惠,共同治理。
Ⅳ 程序员简历中的项目经验怎么写
简历是用人单位了解你的最初途径,如果写得不好,将失去面试的机会,那么程序员简历中的项目经验怎么写?
程序员简历中的项目经验怎么写(一)
项目:河北省风电监控系统
时间:2014—2015
开发环境:windows+eclipse+tomcat+oracle
框架:spring+springmvc+hibernate插件:jquery,raphael,highcharts,validate
个人主要工作内容:监控首页,风机监控,风机部件监控,日报模块,值班日志模块,风机,测风塔,用户,协议等各模块的管理功能(crud);页面细粒度权限控制。
监控首页,监控、协议等各模块的管理功能;页面权限控制。
程序员简历中的项目经验怎么写(二)
项目:网络信息安全系列产品的研发
时间:2011—2013
Linux下c语言、Java语言开发,涉及网络编程、数据挖掘,自然语言处理等;重点参与多个子项目的开发。
1,邮件信息过滤:对网络数据包采集与分析,采用多线程的方式对邮件数据包进行内容过滤与上报,负责协议分析部分开发。
2,网络通路检测:对网络中设置多个采样节点,使用UDP协议包,模拟icmp协议进行网络通路与时延探测,并将探测信息汇总上报。
3,微博突发话题检测与跟踪,对微博信息流数据突发话题数据进行挖掘,包括微博内容分词,测试并调整突发阈值参数等内容。与团队中其他人员共同研究微博突发话题发现与跟踪项目的方案,设计并实现了多个重要模块的开发。
程序员简历中的项目经验怎么写(三)
项目:云安全审查项目
时间:2016.02—2016.09
参与了项目的前期监控指标梳理、架构设计与讨论。并作为重要开发人员,参与项目的开发落地,部署上线与后期维护。
1,项目前期:ceph/rabbitmq/keystone等组件与核心基础设施的审查监控指标梳理;
2,云平台虚拟资源信息获取与展示;
3,云平台其他核心基础设施(如消息队列rabbitmq,ceph存储等)数据信息获取与展示;
4,对依赖于特定设备产生数据以方便对数据进行分析的模块,在前期设备未及时采购的情况下,通过设备方提供的资料,自行编写程序生成随机模拟数据,保证后期项目正常进行;
5,开发过程中,报表生成与https支持关键问题的解决等。