1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错 应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需 要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、 javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对 java实际上还很不了解。
3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、 Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工 程管理、常用选项的设置、插件的安装配置以及进行调试。
4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是必 须熟悉的,否则不可能熟练的运用Java,包括:
1)、java.lang包下的80%以上的类的功能的灵活运用。
2)、java.util包下的80%以上的类的灵活运用,特别是集合类体系、 规则表达式、zip、以及时间、随机数、属性、资源和Timer。
3)、java.io包下的60%以上的类的使用,理解IO体系的基于管道模型 的设计思路以及常用IO类的特性和使用场合。
4)、java.math包下的100%的内容。
5)、java.net包下的60%以上的内容,对各个类的功能比较熟悉。
6)、java.text包下的60%以上的内容,特别是各种格式化类。
7)、熟练运用JDBC。
8)、java.security包下40%以上的内容,如果对于安全没有接触的话根 本就不可能掌握java。
9)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、 常用组件、打印。
10)、Swing的基本内容,和AWT的要求类似。
11)、XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用 其中的一种完成XML的解析及内容处理。
5、测试:必须熟悉使用junit编写测试用例完成代码的自动测试。
6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译 、生成javadoc、生成jar、版本控制、自动测试。
7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。
8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是 真正的Java系统。
9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大 写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全 部小写等,这样程序的可读性才比较好。
Tag Archives: 编程
『程序员』[.Net]一位老工程师的忠告
诸位,咱当工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强!
[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手!
[2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!
[3]不要去做技术高手,只去做综合素质高手!在企业里混,我们时常瞧不起某人,说他“什么都不懂,凭啥拿那么多钱,凭啥升官!”这是普遍的典型的工程师的迂腐之言。8051很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?人家或许善于管理,善于领会老板意图,善于部门协调等等。因此务必培养自己多方面的能力,包括管理,亲和力,察言观色能力,攻关能力等,要成为综合素质的高手,则前途无量,否则只能躲在角落看示波器!技术以外的技能才是更重要的本事!!从古到今,美国日本,一律如此!
[4]多交社会三教九流的朋友!不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理,那么你整日面对的就是这些人。了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低!
[5]知识涉猎不一定专,但一定要广!多看看其他方面的书,金融,财会,进出口,税务,法律等等,为以后做一些积累,以后的用处会更大!会少交许多学费!!
[6]抓住时机向技术管理或市场销售方面的转变!要想有前途就不能一直搞开发,适当时候要转变为管理或销售,前途会更大,以前搞技术也没有白搞,以后还用得着。搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己以后发展积累庞大的人脉!应该说这才是前途的真正支柱!!!
[7]逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。这些工程师普遍存在的性格弱点必须改变!很难吗?只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好–尽管你可能技术不错!
[8]工作的同时要为以后做准备!建立自己的工作环境!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!先把东西准备好,等待机会, 否则,有了机会也抓不住!
[9]要学会善于推销自己!不仅要能干,还要能说,能写,善于利用一切机会推销自己,树立自己的品牌形象,很必要!要创造条件让别人了解自己,不然老板怎么知道你能干?外面的投资人怎么相信你?提早把自己推销出去,机会自然会来找你!搞个个人主页是个好注意!!特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会…
[10]该出手时便出手!永远不可能有100%把握!!!条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败。不经历风雨,怎么见彩虹,没有人能随随便便成功!
非常给力的编程新手教程
那些密密麻麻的E文是一些很棒的编程教程,令人激动的是~~全是英文版的。可因为是菜鸟教程,SO很简单阅读,边练编程技术边成为英语高手,哇塞,非常不错的哦!
Quicl温馨提醒,如果觉得自己在编程方面还是初级入门,我嘛~强烈建议你把本页设为你的收藏夹。
C
C Optimization Tutorial
Compiling C and C++ Programs on UNIX Systems – gcc/g++
Building and Using Static and Shared C Libraries
Programming in C: UNIX System Calls and Subroutines Using C
Introduction to C Programming
C FAQ
C Programming Class Notes
ANSI C for Programmers on UNIX Systems
Sams Teach Yourself C in 24 Hours
Sams Teach Yourself C in 21 Days (4th Ed.)
The Standard C Library for Linux – Part 1: file functions
The Standard C Library for Linux – Part 2: character input/output
The Standard C Library for Linux – Part 3: formatted input/output
The Standard C Library for Linux – Part 4: Character Handling
The Standard C Library for Linux – Part 5: Miscellaneous Functions
Programming in C: A Tutorial
An Introduction to C Development on Linux
C Programming Course
C Language Tutorial
CScene: An Online Magazine for C and C++ Programming
C++
C++ Tutorial
Understanding C++: An Accelerated Introduction
An Introduction to C++ Class Hierarchies
G++ FAQ
Introduction to Object-Oriented Programming Using C++
Compiling C and C++ Programs on UNIX Systems – gcc/g++
C++ FAQ Lite
C++ Programming Language Tutorials
Reducing Dependencies in C++
C++ Exception Handling
Part 1: Unicode
Part 2: A Complete String Class
Making C++ Loadable Modules Work
Sams Teach Yourself C++ in 21 Days (2nd Ed.)
C++ Portability Guide
C++ Tips
C++ Language Tutorial
CScene: An Online Magazine for C and C++ Programming
C++ Libraries FAQ
CGI
CGI Programming Tutorial
CGI Programming 101
CGI Manual of Style
CGI Developer’s Guide
CGI Programming Unleashed
Sams Teach Yourself CGI Programming with Perl 5 in a Week (2nd Ed.)
CGI/Perl Tips, Tricks and Hints
A Tour of HTML Forms and CGI Scripts
Reading CGI Data: URL-Encoding and the CGI Protocol
CGI Programming FAQ
CORBA
CORBA FAQ
A Brief Tutorial on CORBA
CORBA 2.0 Specification
CORBA Tutorials
Sams Teach Yourself CORBA in 14 Days
Linux Network Programming, Part 3 – CORBA: The Software Bus
CORBA Program Development, Part 1
CORBA Program Development, Part 2
CORBA Program Development, Part 3
CSS
CSS2 Tutorial
CVS
CVS Tutorial
Concurrent Version System Tutorial
DHTML
Introduction to Dynamic HTML
Emacs
Emacs: The Software Engineer’s “Swiss Army Knife”
Emacs FAQ
GNU Emacs Lisp Reference Manual
Programming in Emacs Lisp
GNU Emacs Manual
A Tutorial Introduction to Emacs
EMACSulation: Internet-ready!
EMACSulation: Ediff – An Emacs interface to diff and patch
EMACSulation: Emacs as a Server
EMACSulation: Customizing Emacs
Basic Emacs
EMACSulation: Templating Mechanisms
Emacs Macros and the Power-Macros Package
Polyglot Emacs 20.4
Expect
Advanced Programming in Expect: A Bulletproof Interface
Automating Tasks with Expect
What Can you Expect?–A Data Collection Project Using Linux
Fortran
Professional Programmer’s Guide to Fortran 77
Fortran 90 and Computational Science
User Notes on Fortran Programming
Fortran Programming for Physics and Astronomy
A Fortran 90 Tutorial
Using GNU Fortran
Fortran 90: A Course for Fortran 77 Programmers
Fortran 90 for the Fortran 77 Programmer
Introduction to Fortran
GIMP
GIMP Tutorial Index
A Tutorial for Perl GIMP Users
A Scheme Tutorial for GIMP Users
GIMP Guide
The GIMP User Manual
Pseudo 3-D with GIMP
Graphical Photocomposition with GIMP
Creating Text with the GIMP
Creating Fire Effects with the GIMP
Creating and Editing Animations with GIMP
GIMP-Perl: GIMP Scripting for the Rest of Us
Writing a GIMP Plugin
GIMP: The RRU Tutorial
GIMP User FAQ
Script-Fu Tutorial
The Quick Start Guide to the GIMP, Part 1
The Quick Start Guide to the GIMP, Part 2
The Quick Start Guide to the GIMP, Part 3
The Quick Start Guide to the GIMP, Part 4
GNOME
Application Programming Using the GNOME Libraries
Part 1: Everything You Need to Get Started
Part 2: Building a Sample Genealogy Program
Part 3: Adding File Saving and Loading Using libxml
Creating GTK+ Widgets with GOB: An Easier Way to Derive New GTK+ Widgets
Handling Multipel Documents: Using the GnomeMDI Framework
Livening Things Up: Graphics Made Easy Using the GNOME Canvas
Developing Gnome Applications with Python – Part 1
GTK
GDK Reference Manual
GLib Reference Manual
GTK+ Reference Manual
The GIMP Toolkit
GTK+ FAQ
GTK V1.2 Tutorial
Drawing and Event Handling in GTK
An Introduction to the GIMP Tool Kit
Gnuplot
Constrained Dynamics
Continuum Dynamics
Differential Equation Basics
Energy Functions and Stiffness
Particle System Dynamics
An Introduction to Physically Based Modeling
Rigid Body Dynamics I
Rigid Body Dynamics II
Scientific Visualization Tutorials
Gnuplot – An Interactive Plotting Program
GIF Animation Tutorial
HTML
HTML Table Tutorial
HTML by Example
How to Use HTML 3.2
Creating a Client-Side Image Map
Advanced HTML: How to Create Complex Multimedia Documents for the Web
The ABCs of HTML
Sharky’s Netscape Frames Tutorial
IP-Masquerading
ipchains: Packet Filtering for Linux 2.2
Setting Up IP Masquerade
Setting Up IP-Masquerading
Ipchains: Easy Links to the Net
Linux Networking Using Ipchains
ILU
ILU Reference Manual
Using ILU with ANSI C: A Tutorial
Using ILU with Java: A Tutorial
Using ILU with Python: A Tutorial
ML
ML Tutorial
Programming in Standard ML ’97
A Gentle Introduction to ML
Moscow ML Owner’s Manual
IPC
Advanced 4.4BSD Interpprocess Communication Tutorial
UNIX Multi-Process Programming and IPC
Java
Enterprise JavaBeans Tutorial
JavaBeans Short Course
Introduction to the JavaBeans API
JDBC Short Course
Essentials of the Java Programming Language, Part 1
Essentials of the Java Programming Language, Part 2
Writing Advanced Applications for the Java Platform
Fundamentals of Java Security
Fundamentals of Java Servlets
Introduction to the Collections Framework
Introduction to CORBA
Fundamentals of RMI
Advanced
Introductory
Intermediate
Java Language Specification
Java Tutorial: Servlet Trail
Java Virtual Machine Specification (2nd Ed.)
Glossary of Java and Related Terms
The Java Language Environment
Java Look and Feel Design Guidelines
Story of a Servlet: An Instant Tutorial
Introduction to Java
Java2D: An Introduction and Tutorial
Java Servlet Tutorial
comp.lang.java FAQ
Brewing Java: A Tutorial
Shlurrrppp … Java: The First User-Friendly Tutorial on Java
Swing Tutorial
Swing: A Quick Tutorial for AWT Programmers
Thinking in Java
Java RMI Tutorial
Java for C++ Programmers
The Advanced Jav/aJ2EE Tutorial
Hacking Java: The Java Professional’s Resource Kit
JFC Unleashed
Java Developer’s Guide
Java Developer’s Reference
Sams Teach Yourself Java in 21 Days (Professional Reference Ed.)
Java Unleashed (2nd Ed.)
Java 1.1 Unleashed (3rd Ed.)
Java Game Programming Tutorial
Java Networking FAQ
Java Tutorial: A Practical Guide for Programmers
Sockets Programming in Java
Programming with Java – Part I
Programming with Java – Part II
Setting Up a Java Development Environment for Linux
Understanding Java
Beginner’s Guide to JDK
GUI Development in Java
Java Servlets: An introduction to writing and running Java servlets on Linux
JavaScript
Introductory JavaScript Tutorials
JavaScript Authoring Guide
Client-Side JavaScript 1.3 Guide
Client-Side JavaScript 1.3 Reference
Core JavaScript 1.4 Guide
Core JavaScript 1.4 Reference
Server-Side JavaScript 1.4 Guide
JavaScript FAQ
JavaScript Tutorial
The Way of JavaScript
Voodoo’s Introduction to JavaScript
JavaScript Tutorial for Programmers
JavaScript Primer
EchoEcho JavaScript Tutorial
Sams Teach Yourself JavaScript 1.1 in a Week (2nd Ed.)
Lisp
Common Lisp Hints
Common Lisp the Language (2nd Ed.)
Lisp FAQ
Lisp Programming Tutorial
Lisp Tutorial
LISP Tutorial
Common Lisp HyperSpec
Matlab
Matlab Basics Tutorial
Matlab Summary and Tutorial
Matlab – Official Online Manuals in PDF
Misc
The Soar 8 Tutorial Home Page
MIDI
Basic MIDI Tutorials
Tutorial on MIDI and Music Synthesis
MPI
An MPI Tutorial
Tutorial on MPI
MPI: Portable Parallel Programming for Scientific Computing
Tuning MPI Applications for Peak Performance
MPI: From Fundamentals to Applications
MPI Tutorial
MPI: The Complete Reference
Introduction to Parallel Programming Using MPI
Basics of MPI Programming