php怎么设置wsdl,哪些网站软件书或者其他帮助到你?
下面这几个属于常用的,根据各自需要选取就行。
1、VS强大的微软IDE + Visual Assist(强大的辅助工具)。
2、source insight编辑、查看代码,支持显示函数调用关系,直接跳转到函数,等很多强大功能。
3、PC-LINT静态检查代码的工具,它可以帮你避免很多低级编码错误。
4、source monitor检查函数全复杂度。
5、purify/purecoverage检查内存泄露,测试用例覆盖率。
6、IncrediBuild分布式编译工具。
7、visio画流程图,示意图。
8、beyond compare文本比较,文件夹比较。
9、tortoise svn团队工程管理。
10、notepad++、ultra edit查看文本文件。
11、everything超方便的查找文件/文件夹工具。
12、evernote、有道笔记:好用的笔记记录软件。
备注:如果做JAVA开发的,以下文字必看,如果不是,以下可以忽略。
以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域。学习这些工具可以帮助你改善代码质量,成为一个更高效的Java开发人员。
1.Eclipse
尽管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有调查表明,Eclipse仍然是几乎半数Java开发人员首选的开发环境。 Eclipse是IDE领域的瑞士军刀,有着大量定制的接口和无数的插件。它无处不在,后面本文将推荐的其他所有工具都提供Eclipse插件。
Eclipse的工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE的出发点。工作空间将项目、文件和配置设置组合在一个单独的 目录下。视角定义工具、视图和有效设置。虽然新手开发人员可能会觉得相比Netbeans和IntelliJ IDEA,Eclipse使用起来更难,但Eclipse的灵活性,使其成为企业开发的首选IDE。
Luna,Eclipse的最新版本,支持Java 8、分屏编辑、新的黑色主题,以及一个功能齐全的命令行终端。
官方网站:https://eclipse.org/
2.Gradle
Gradle是一个自动化项目工具,建立在Apache Maven和Apache Ant的功能上。虽然Gradle并不是最流行的构建工具(最流行的是Maven,64%的Java开发人员会选择它),但它的普及速度很快。它也可作为默认的Android构建工具。
Gradle引以为傲的是它的简单。Gradle使用Groovy编程语言,与Maven和Ant使用XML语法截然相反。一个基本的Gradle构建文件由一行简单的代码组成:
apply plugin: 'java'.
下面的命令会生成一个Gradle构建文件,创建项目文件的目录树,并附带一个项目便携式Gradle封装:
$ gradle init --type java-library
Gradle还有可用于添加新的语言,生成支持IDE的项目文件,构建本地二进制文档,检查依赖性更新等等的插件。
想要了解更多信息,请参见Gradle的Java / JVM入门指南。
官方网站:https://gradle.org/
3.Javadoc
Javadoc是Oracle提供的文档生成器。它可以将特殊格式的注释解析为HTML文档。以下截图就是Javadoc生成的Java SE 8 API规范:
Javadoc注释使用开放标签、关闭标签,以及一个或多个描述性标签的格式。开放式标签类似于标准Java多行注释标记,使用两个星号的除外。Javadoc也解析普通的HTML标签。
Javadoc自动格式化标签和关键字,除非另有规定。Javadoc广泛使用超链接,允许你参考和链接到代码的不同区域。许多IDE——包括 Eclipse——可以自动添加Javadoc注释模块到变量、类和方法中。支持Maven、Gradle和Ant的插件在编译代码的同时也可以构建 Javadoc HTML。
想要了解更多信息,请参阅Oracle关于如何为Javadoc工具写文档注释的文章。
官方网站:http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html
4.JUnit
JUnit是用于编写和运行单元测试的开源框架。一个基本的JUnit测试包括测试类、测试方法、以及执行测试的功能。 JUnit使用标注来确定测试如何构造和运行。例如,如果你的程序有一个类叫做MathClass,具有乘法和除法的方法,你可以创建JUnit测试来检 查不符合预期的值。输入数字2和5到乘法方法,你希望得到的结果为10。当输入0作为除法方法的第二个参数时,你会期望给出一个数字计算异常的警告因为除 数不能为0:
@Test标注规定,MathClass方法是一个测试用例。 在JUnit提供额外的标注,比如@Before,这样你就可以在测试运行之前设置环境。 JUnit还可以设置规则用于定义测试方法的行为。例如,TemporaryFolder规则使得一旦测试完成,由测试创建的文件或文件夹就会被删除。
想要了解更多信息,请参考JUnit入门。 此外还有使用JUnit单元测试的教程。
官方网站:http://junit.org/
5.Cobertura
Cobertura可用于分析Java代码的测试覆盖率。Cobertura根据没有被测试覆盖的代码生成基于HTML的报告。
Cobertura提供可用于插装、检查和测试代码的工具。通过监控可测试的代码,Cobertura允许你使用你选择的测试框架,甚至不需要测试框架就可以运行程序。
Cobertura根据行、分支和程序包三个方面给出代码覆盖报告。每个类别都有一个可自定义的阈值,如果覆盖面低于阈值,就会触发警告。Cobertura还集成了Maven和Gradle 的自动检测功能。
Mkyong.com提供了一个将Cobertura与Maven整合的示例。
官方网站:http://cobertura.github.io/cobertura/
6.FindBugs
FindBugs是一个匹配编译代码模式,而非使用bug数据库的工具。当提供源代码时,FindBugs还可高亮显示检测出bug的代码行。
在它的3.0.1版本中,FindBugs继续保持着数以百计的bug描述。根据bug的严重程度,FindBugs将bug分为四个水平:相关 的,令人困扰的,可怕的,以及最可怕的。除了图形用户界面,FindBugs还提供一个命令行界面,Ant任务,以及Eclipse插件。
官方网站:http://findbugs.sourceforge.net/
7.VisualVM
包含在JDK中的VisualVM是监控和审查Java应用程序性能的工具。 VisualVM检测并重视活跃的JVM实例来检索有关进程的诊断信息。
VisualVM可以很容易地实时诊断性能问题。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你还可以对JVM做一个快照,这样以后在任何时都能审查。
官方网站:http://visualvm.java.net/
8.Groovy
Groovy是一种编程语言,通过添加新的关键字,自动导入常用的类,以及可选类型变量声明,既简化又扩展了Java。
Groovy的核心优势之一是它的脚本功能。类可以被编译为Java字节码或使用Groovy Shell动态执行。Groovy的Java基础使得它相较于Jython和JRuby更容易为Java开发人员所接受。
想要了解更多信息,请参见Groovy的入门指南。
官方网站:http://www.groovy-lang.org/
其他选择
Java这个大世界中正在不断涌现新的工具、实用程序和库。如果你的首选工具没能进入上述名单,欢迎分享。
计算机面试编程选哪种语言较为有优势?
无论什么语言,能掌握了能干活是王道,
你这么说好像是全栈工程师一样,啥都会还用找工作吗?
那你的简历我帮你写好了。
HTML / CSS
【精通 HTML】
HTML,即超文本标记语言(Hyper Text Markup Language)
【精通 HTML5】
HTML5 是下一代 HTML 标准
【精通 CSS】
层叠样式表(Cascading StyleSheet)
【精通 CSS3】
CSS3是CSS技术的升级版本
【精通 Bootstrap3】
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架
【精通 Bootstrap4】
Bootstrap4 目前是 Bootstrap 的最新版本
【精通 Font Awesome】
Font Awesome 是一套绝佳的图标字体库和CSS框架。
【精通 Foundation】
Foundation 用于开发响应式的 HTML, CSS and JavaScript 框架
JavaScript
【精通 JavaScript】
JavaScript 是 Web 的编程语言
【精通 HTML DOM】
HTML DOM 定义了访问和操作 HTML 文档的标准方法
【精通 jQuery】
jQuery 是一个 JavaScript 库
【精通 AngularJS】
AngularJS 通过新的属性和表达式扩展了 HTML
【精通 AngularJS2】
AngularJS2 是一款开源JavaScript库,由Google维护。
【精通 Vue.js】
Vue.js 是一套构建用户界面的渐进式框架。
【精通 React】
React 是一个用于构建用户界面的 JAVASCRIPT 库
【精通 jQuery UI】
jQuery UI 是建立在 jQuery上的一组用户界面交互、特效、小部件及主题
【精通 jQuery EasyUI 】
jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件
【精通 Node.js】
Node.js 是运行在服务端的 JavaScript
【精通 AJAX】
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
【精通 JSON】
JSON 是存储和交换文本信息的语法
【精通 Highcharts】
Highcharts 是一个用纯JavaScript编写的一个图表库
【精通 Google 地图】
Google 地图接口使用说明
服务端
【精通 PHP】
PHP 是一种通用开源脚本语言
【精通 Python】
Python 是一种面向对象、解释型计算机程序设计语言
【精通 Python3】
Python 升级版,变化较大
【精通 Django】
Django是一个开放源代码的Web应用框架,由Python写成
【精通 Linux】
Linux是一套免费使用和自由传播的类Unix操作系统
【精通 Docker】
Docker 是一个开源的应用容器引擎,基于 Go 语言
【精通 Ruby】
一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言
【精通 Java】
一种可以撰写跨平台应用软件的面向对象的程序设计语言
【精通 C】
一门通用计算机编程语言
【精通 C++】
C++是在C语言的基础上开发的一种通用编程语言
【精通 Perl】
Perl 是高级、通用、直译式、动态的程序语言
【精通 Servlet 】
运行在 Web 服务器或应用服务器上的程序
【精通 JSP】
JSP与PHP、ASP、ASP.NET等语言类似,运行在服务端的语言
【精通 Lua】
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放
【精通 Scala】
Scala 是一门多范式(multi-paradigm)的编程语言。
【精通 Go】
Go语言是谷歌推出的一种全新的编程语言
【设计模式】
设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用
【正则表达式】
正则表达式是对字符串操作的一种逻辑公式
【精通 ASP】
ASP(Active Server Pages 动态服务器页面)是一种生成动态交互性网页的强有力工具
【精通 AppML】
AppML 是一个为web应用程序设计的HTML扩展框
【精通 VBScript】
一种微软环境下的轻量级的解释型语言
数据库
【精通 SQL】
结构化查询语言(Structured Query Language)
【精通 Mysql】
MySQL是一个关系型数据库管理系统
【精通 SQLite】
一款轻型的数据库
【精通 MongoDB】
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql)
【精通 Redis】
一个高性能的key-value数据库
【精通 Memcached】
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
移动端
【精通 Android】
Android 是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备
【精通 Swift】
Swift 是一种支持多编程范式和编译式的编程语言,用于开发 iOS,OS X 和 watchOS应用程序。
【精通 jQuery Mobile】
jQuery Mobile是jQuery 在手机上和平板设备上的版本
【精通 ionic】
ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。
【精通 Kotlin】
在 Java 虚拟机上运行的静态类型编程语言,Android 官方开发语言
XML 教程
【精通 XML】
XML 被设计用来传输和存储数据
【精通 DTD】
DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块
【精通 XML DOM】
XML DOM 定义访问和操作XML文档的标准方法
【精通 XSLT】
XSL 是一个 XML 文档的样式表语言,XSLT 指 XSL 转换
【精通 XPath】
XPath 是一门在 XML 文档中查找信息的语言
【精通 XQuery】
XQuery 被设计用来查询 XML 数据
【精通 XLink】
XLink 定义在 XML 文档中创建超级链接的标准方法
【精通 XPointer】
XPointer是在可扩展标志语言(XML)文件中定位数据的一种语言
【精通 XML Schema】
XML Schema 描述了 XML文档的结构
【精通 XSL-FO】
XSL-FO 指可扩展样式表语言格式化对象
【精通 SVG】
SVG 使用 XML 格式定义图像
ASP.NET
【精通 ASP.NET】
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架
【精通 C#】
C# 是一个简单的、现代的、通用的、面向对象的编程语言
【精通 Web Pages】
Web Pages 是三种网页编程模型中的一种,用于创建网站和web 应用程序
【精通 Razor】
Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中
【精通 MVC】
MVC(Model View Controller 模型-视图-控制器)
【精通 Web Forms】
Web Forms 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种
Web Service
【精通 Web Service】
Web Service 脚本平台需支持 XML + HTTP
【精通 WSDL】
WSDL是一门基于 XML 的语言,用于描述 Web Service 以及如何对它们进行访问
【精通 SOAP】
SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息
【精通 RSS】
RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议
【精通 RDF】
DF(资源描述框架)是描述网络资源的 W3C 标准
开发工具
【精通 Eclipse】
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台
【精通 Git】
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
【精通 Firebug】
Firebug 是一个开源的web开发工具
老板你开个价。
java高级工程师应该具备哪些技能?
精通java基础,java高级编程,及常用java设计模式
宏观方面
一、 JAVA。
要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您 对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。
二、 设计模式。
其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代 码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。 但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?
三、 XML。
现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解 XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置 信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。
四、 精通使用一种或两种框架。
“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开 发使你可以省出很多的开发成本”。这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您 会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。
五、 熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了 更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出 身,您还需要补充一些数据库原理方面的知识。
六、 精通一种或两种WEBServer。
因为作为JAVA工程师,特别时 想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它 的资源,这往往可以节省很多时间和精力。
七、 UML。
您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队 中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但 却很重要。
八、 站在高度分析问题:
这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而 不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在 您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。
九、 工具。
您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对 ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧
微观方面
1.Core Java部分
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a.面向对象编程思想(封装继承多态接口)
b.字符串处理
c.java.lang包,java.util包等常用包
d.java异常处理
2.Java高级部分
a.Java I/O流
b.Java多线程技术
c.Java网络编程
d.Java Swing
后两项可以了解即可,如果项目需要可以深入研究
3.前端基本技能
* HTML + CSS网页开发
* JavaScript
* Jquery
* 浏览器兼容性 CSS hack(了解)
4.熟练使用JSP + Servlet进行开发
5.MVC设计模式,原理,以及相关框架,如Struts
6.SSH框架
7.缓存技术 session & cookie
8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式 ==
11.Java反射机制
反射的各种用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,环境变量
14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15.数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目
20.了解windows系统批处理脚本bat
21.了解HTML5,最好学习过
22.熟悉一种JS框架,如Prototype
23.J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一门脚本语言,如python ,ruby
26.了解php/ asp
27.了解ftp协议及原理
28.熟练使用Junit测试,熟悉Mockito等测试工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
31.了解Flex(不学也没关系)
32.了解敏捷开发模式
33.工作流workflow至少用过一种,如OSworkflow,了解原理
34.使用过VP*了解其原理
35.熟悉jstl表达式和el表达式
36.熟悉webservice,WSDL,SOAP
37.图片处理,如图片上传,预览,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40.分页技术,最好自己实现过不仅仅是用过要知道原理
41.Java Mail
42.Java读写txt,excel,JXL技术
43.JVM原理,JVM内存管理,GC,Java堆栈池
44.熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程
45.UML建模工具Rational Rose等
46. 使用log4j
47.使用过开放Api如百度,腾讯街景,新浪微博等
48.页面静态化技术(伪静态页面)
49.报表技术,使用过报表制作工具,如水晶易表。
50.定时任务,如Spring batch ,学会自定义batch任务(不适用第三方工具)
51.了解uuid
52.b/s 和 c/s架构
53.正则表达式
54.了解jndi jms
55.ERP
56.UNICODE编码,乱码解决
57.开源网络编辑器,如ckEditor
58.二进制原理
59.使用过,了解过开源论坛框架,如discuzz
60.GWT,Closure框架
61.了解大数据,云计算
62.搜索引擎搜索技术
63.软件工程,项目管理