『壹』 成為java軟體開發工程師要學哪些東西
第一階段: 您將學習 JAVA 編程的基礎部分
J2SE 和JAVA 開發基礎知識;
Eclipse 開發環境;
J2SE 5.0 API ;
多線程技術;
Socket 網路技術;
Regular Expression;
Java反射技術;
實戰數據結構 數據結構實戰訓練;
數組、鏈表等常用數據結構
第二階段: 您將學習指數 JAVA WEB 技術,共分 7 門課程
名稱 內容簡介 涉及到的項目
資料庫技術 Oracle 基礎管理;
SQL 語言;
PL/SQL 語言;
觸發器唯斗首、存儲過程;
MySQL 簡介;
SQLServer 簡介; 選課系統
雇員管理系統
BBS 系統
JDBC技術 JDBC Connection;
Statement;
PreparedStatement;
CallableStatement;
ResultSet;
Scrollable RS;
Updatable RS;
RowSet and DataSource;
HTML & CSS
& JavaScript
網頁技術 HTML 語言;
CSS 語言;
JavaScript 語言;
JS常用模版;
後台管理模版; 用戶注冊模塊
用戶管理模塊
JSP&Servlet 技術 Servlet 技術;
JSP 技術;
Tag Library 技術;
Filter技術;
報表系統;
FileUploading;
Tomcat 伺服器技術; 在線商城
統計報表模塊
BBS 系統
SCM技術 CVS初步;
SVN簡介;
Java Web 實戰演練 綜合運用所學知識;
HTML + CSS + JS;
JSP + Servlet +
JavaBean;
FileUploading;
分頁技術;
數據校驗;
MVC初步; 在線商城
XML + WebService技術 Apache Axis初步;
XML + XSL + DTD/Schema;
SOAP + WSDL + UDDI;
REST技術簡介 在線商城增強
AJAX技術 AJAX技術基礎;
AJAX技術框架;
AJAX技術調試技巧; 在線商城增強
第三階段: 您將學習 J2EE 技術
名稱 內容簡介 涉及到的項目
流行Web框架簡介 Struts / WebWork / Tapestry
JSF / Velocity / Freemarker
Hibernate / Ibatis SQLMap等簡介
Struts and JSTL Struts應用開發基礎;
MVC理論基礎;
Struts TagLib;
JSTL基礎;
Struts國際化支持;
Hibernate Hibernate應用開發基礎;
ORM基礎理論;
關系映射技銷旅術;
性能調優技術;
Spring Spring IoC技術;
Spring AOP技術;
Spring 與 Struts / Hibernate結合運用;
Spring 聲明事務管理;
Log4J and JUnit技術 Logging API;
JUnit單元測試技術;
SSH項目實戰 綜合運用所學知識;
Spring + Struts + Hibernate;
CVS;
Log4J;
JUnit; WEB OA 系統
UML UML技術;
UML分析技術;
UML設計技術;
UML與軟體架構;
RationalRose / MagicDraw CRM系統
UML + SSH項目實戰 綜合運用UML + SSH;
Spring + Struts + Hibernate;
CRM基礎理論; CRM系統
EJB3.0 EJB3.0基礎知識;
SessionBean;
EntityBean;
MetaData技術;
PersistenceAPI;
JBoss; 信用管理系統
『貳』 自學web開發要多久呢
有c和c++的基礎氏旦兆就很容易了,大約學4個月左右就行了(瘋狂的學,不斷的練習才行)下面是學習的大致步驟:
第一階段: 您將學習 JAVA 編程的基礎部分,即 J2SE 部分,共分 2 門課程
名稱 內容簡介 涉及到的項目
J2SE JAVA 開發基礎知識;
Eclipse 開發環境;
J2SE 5.0 API ;
多線程技術;
Socket 網路技術;
Regular Expression;
Java反射技術;
Properties技術; 聊天室系統
坦克大戰游戲
貪吃遲櫻蛇
實戰數據結構 數據結構實戰訓練;
數組、鏈表等常用數據結構實戰; 實戰鏈表開發
第二階段: 您將學習 JAVA WEB 技術,共分 7 門課程
名稱 內容簡介 涉及到的項目
資料庫技術 Oracle 基礎管理;
SQL 語言;
PL/SQL 語言;
觸發器、存儲過程;
MySQL 簡介;
SQLServer 簡介; 選課系統
雇員管理系統
BBS 系統
JDBC技術 JDBC Connection;
Statement;
PreparedStatement;
CallableStatement;
ResultSet;
Scrollable RS;
Updatable RS;
RowSet and DataSource;
連接池技術; 在線商城類別管理模塊
HTML & CSS
& JavaScript
網頁技術 HTML 語言;
CSS 語言;
JavaScript 語言;
JS常用模版;
後台管理模版; 用戶注冊模塊
用戶管理模塊
JSP&Servlet 技術 Servlet 技術;
JSP 技術;殲租
Tag Library 技術;
Filter技術;
報表系統;
FileUploading;
Tomcat 伺服器技術; 在線商城
統計報表模塊
BBS 系統
SCM技術 CVS初步;
SVN簡介;
Java Web 實戰演練 綜合運用所學知識;
HTML + CSS + JS;
JSP + Servlet +
JavaBean;
FileUploading;
分頁技術;
數據校驗;
MVC初步; 在線商城
XML + WebService技術 Apache Axis初步;
XML + XSL + DTD/Schema;
SOAP + WSDL + UDDI;
REST技術簡介 在線商城增強
AJAX技術 AJAX技術基礎;
AJAX技術框架;
AJAX技術調試技巧; 在線商城增強
第三階段: 您將學習 J2EE 技術
名稱 內容簡介 涉及到的項目
流行Web框架簡介 Struts / WebWork / Tapestry
JSF / Velocity / Freemarker
Hibernate / Ibatis SQLMap等簡介
Struts and JSTL Struts應用開發基礎;
MVC理論基礎;
Struts TagLib;
JSTL基礎;
Struts國際化支持;
Hibernate Hibernate應用開發基礎;
ORM基礎理論;
關系映射技術;
性能調優技術;
Spring Spring IoC技術;
Spring AOP技術;
Spring 與 Struts / Hibernate結合運用;
Spring 聲明事務管理;
Log4J and JUnit技術 Logging API;
JUnit單元測試技術;
SSH項目實戰 綜合運用所學知識;
Spring + Struts + Hibernate;
CVS;
Log4J;
JUnit; WEB OA 系統
UML UML技術;
UML分析技術;
UML設計技術;
UML與軟體架構;
RationalRose / MagicDraw CRM系統
UML + SSH項目實戰 綜合運用UML + SSH;
Spring + Struts + Hibernate;
CRM基礎理論; CRM系統
EJB3.0 EJB3.0基礎知識;
SessionBean;
EntityBean;
MetaData技術;
PersistenceAPI;
JBoss; 信用管理系統
項目實戰 綜合運用所學知識 信用管理系統
linux技術 Linux操作系統基礎;
Linux下配置Java開發環境;
Linux下開發Java程序;
『叄』 java培養訓練主要培養訓練啥
主要培養訓練什麼?你是不是想問,java培養訓練都是要學哪些知識點?
下面就來看一下動力節點所需要學習哪些知識點洞枝:
第一階段:JavaSE基礎,一定要把基礎打好了,當前的知乎才幹學的更徹底。JavaSE基礎包括:Java開發環境搭建、Java基礎語法、Java面向對象。1、Java開發環境搭建:Java順序的載入與執行;類載入器機制;Java8的下載與裝置;path和classpath環境變數;第一個Java順序的編寫;Java中的注釋;public class和class的區別;2、Java基礎語法:標識符;關鍵字;字面量;數據類型;字元編碼;進制換算;變數;運算符;控制語句 ;辦法;辦法重載;辦法執行的內存剖析;遞歸演算法;3、Java面向對象:面向進程和面向對象的區別、類和對象、this、super、JVM運轉內存分析、成員變數 和部分變數、隱藏和封裝、深化結構器、類的承繼、辦法重寫、多態、承繼與組合、初 始化塊、處置對象、類成員、final 修飾符、籠統類、介面及作用、外部類、枚舉類、 對象與渣滓回收、修飾符的適用范圍、運用Jar文件、外部類
第二階段:環境搭建、基礎語法、面向對象中心、異常、數組、常用類、集合、線程、IO流、反射機制、網路編程。1、異常:異常承繼構造圖、捕獲異常、聲明異常、異常與辦法重寫、自定義異常、手動拋出異常 、Java7多異常捕捉、 拜訪異常信息、 運用finally回收資源、 異常處置的嵌套、Java 7自動封閉資源、catch 和 throw 同時運用、Java7加強的throw 語句、異常鏈追蹤 信息。2、數組/演算法:數組存儲構造、數組優缺陷、一維數組、二維數組、多維數組、冒泡排序、選擇排序、 二分法查找、工具類Arrays、二維數組完成酒店管理系統、數組拷貝、main辦法的 args參數解析、數組擴容。3、常用類:字元串相關String、StringBuffer、StringBuilder;八種根本數據類型對應的包裝類 ;日期處置相關;數字處置相關;枚舉類型;4、集合/數據構造:Collection和Map集合承繼構造圖;Collections工具類;Iterator迭代集合;Array List、LinkedList、Vector集適宜用場景剖析以及Vector運用較少的緣由;數組、單 向鏈表、雙向鏈表數據構造;各種集合源碼級剖析;哈希表散列表數據構造;Hashtab le以及Properties屬性類詳解;SorteMap、TreeSet、TreeMap集合排序機制;紅 黑樹;5、IO流:迅雷下載演示流的原理;流的分類;裝飾器設計形式;IO流體系承繼構造;文件位元組/字 符輸出輸入流;帶有緩沖區的位元組/字元輸出輸入流;對象流、序列化和反序列化;規范 輸入流、改動規范輸入流的輸入方向;數據流型巧;文件File類以及遞歸演算法復制目錄;zip 緊縮技術;6、線程線程和進程;線程生命周期;線程調度;線程同步7、反射機制獲取Class的方式;讀取配置文件中的類名來實例化對象;經過反射操作Field、Metho d、Constructor;經過反射機制調用Method;經過反射獲取父類型;8、網路編程IP地址以及埠號的作用;TCP/IP協議;UrlDecoder和UrlEncoder;Socket編程基 礎;UDP協議以及多點播送;9、註解Annotation註解和配置文件的區別;Java自帶註解;自定義註解;經過反射機制讀取註解;10、MySQL初級MySQL的裝置與配置;常用命令;復雜納租敏查詢;要求查詢;排序;數據處置函數;分組函 數;分組查詢;銜接查詢;子查詢;union;limit;表的創立;增刪改表構造;約束; 存儲引擎;事務;索引;視圖;DBA命令;資料庫設計三範式;MySQL存儲進程;11、JDBCJDBC實質;JDBC開發前預備職業;編程六步;採用Class.forName方式注冊驅動以 及注冊原理;SQL注入;避免SQL注入;Statement和PreparedStatment比對; JDBC事務;JDBC行級鎖;JDBC完成銀行賬戶轉賬。
第三階段:1、HTML/HTML5HTML根本構造、HTML表格、HTML超鏈接、HTML圖片、HTML背景圖片和背風光、 HTML字體、HTML列表、HTML根本標簽、HTML格式標簽、HTML實體符號、HTML 表單、HTML向伺服器發送懇求的多種方式、HTML DOM、HTML節點id屬性、div和 span規劃、HTML框架。2、CSS/CSS3標簽選擇器、ID選擇器、類選擇器、CSS高級語法、派生選擇器、屬性選擇器、CSS常 用款式、CSS框模型、CSS定位3、JavaScriptJavaScript中心語法;JavaScript DOM編程;JavaScript BOM編程;JavaScript 承繼;JavaScript閉包;手動開發jQuery框架;4、jQueryjQuery九大選擇器;增刪改節點;款式操作;屬性操作;事情操作;5、Bootstrap下拉菜單、按鈕組、按鈕式下拉菜單,輸出框組、面板和Well、正告框、進度條和列表 組件、導航和導航條Bootstrap媒體對象、柵格系統6、XML+XPathXML是什麼;開發中主要用XML干什麼;XML和HTML的區別與聯絡;XML/DTD/XS D/XSL關系;XML的SAX解析和DOM解析;Java解析XML;dom4j解析XML;XML +XPath解析XML文件;7、ServletServlet/GenericServlet/HttpServlet;Servlet生命周期;Http協議分析;GET和 POST區別;轉發和重定向;Cookie;Session;Servlet標准中常用介面的解說;8、JspJsp實質;Jsp和Servlet區別以及職責;小腳本;聲明;表達式;舉措;九大內置對象9、EL經過EL表達式從作用域中取數據;EL的隱含對象;從數組、List、Map中取數據;EL常 用運算符;10、JSTL中心標簽core的運用;JSTL的完成原理;自定義標簽;
第四階段:1、Filter完成Filter過濾器、Filter中辦法分析、Gof設計形式之責任鏈設計形式、分析Tomcat 伺服器源碼檢查Filter調用進程、字元編碼過濾器完成、web站點登錄阻攔過濾器完成 、web站點ip地址過濾器完成、AOP編程思想、Filter生命周期、FilterConfig詳解2、Listener怎麼完成一個Listener監聽器、ServletContextListener詳解、SessionListener詳 解、Session對象銷毀時完成購物車耐久化操作、Gof設計形式之監聽器形式、伺服器 啟動時監聽器初始化資源、伺服器封閉時監聽器回收資源3、Servlet3.0@WebServlet、@WebInitParam、@WebFilter、@WebListener、 @MultipartConfig、非同步處置支持、可插性加強、ServletContext功能加強、 HttpServletRequest對文件上傳的支持4、AJAXajax發送get/post懇求、eval函數、json處置、中文亂碼處理方案、ajax中心對象創 建、注冊回調函數、回調函數詳解、readyState屬性詳解、status屬性詳解、 responseText屬性詳解、ajax完成自動補全功用、下拉列表聯動效果、表單驗證效果5、MVC系統職能分工、MVC架構形式優點、開發准繩:高內聚、低耦合。組件獨立性/復用性、 Model數據:業務數據剖析service、資料庫數據剖析。View視圖:JSP、 Freemarker等。Controller控制器:完成調度,管理Model與View。MVC表現了 Gof設計形式之監聽形式6、ThreadLocal系統職能分工、MVC架構形式優點、開發准繩:高內聚、低耦合。組件獨立性/復用性、 Model數據:業務數據剖析service、資料庫數據剖析。View視圖:JSP、 Freemarker等。Controller控制器:完成調度,管理Model與View。MVC表現了 Gof設計形式之監聽形式7、Gof之代理形式靜態代理形式;JDK自帶的靜態代理;CGLIB代理;靜態代理方式控制事務;8、銜接池/C3P0/DBCP/Druid銜接池完成原理;常用銜接池C3P0/DBCP的運用;阿里巴巴的Druid銜接池;9、JNDIJava Naming and Directory Interface,SUN公司提供的一種規范的Java命名系統 介面;JNDI和銜接池結合運用;10、Gof之工廠形式工廠形式的適用場所、復雜工廠形式、工廠辦法形式、籠統工廠形式11、MySQL高級事務、隔離級別、隔離級別與分歧性成績的關系、並發事務與隔離級別示例、MySQL架 構組成,MySQL備份和恢復,MySQL查詢和索引優化、MySQL存儲引擎優化, MySQL鎖機制優化及高可用設計、MySQL集群、視圖、DBA命令、導入導出12、OracleOracle的裝置、服務的啟動和封閉、監聽器、網路服務名、VARCHAR2、sequence、 rowid、rownum、通用的分頁SQL、Oracle索引完成原理分析、資料庫平安管理、表 空間、系統表、PLSQL Developer客戶端工具的運用13、PL/SQLPL/ SQL 字元集、 PL/ SQL 塊、 PL/ SQL 高級編程、用 PL/ SQL 順序拜訪資料庫、 聲明和運用子順序、進程和函數、記載類型、%type和%rowtype屬性、游標、集合、 異常處置、 PL/SQL 順序類型(包括:匿名 PL/SQL 塊、存儲進程和函數、刪除存儲過 程和函數 ) 、觸發器14、SQL優化什麼是執行策劃、SQL語句能否清楚的告知查詢優化器它想干什麼、索引查找和全表掃 描、一致SQL語句寫法、不要把SQL語句編寫的太復雜、明晰SQL語句執行順序、運用 暫時表暫存中間後果、一些SQL查詢語句添加nolock、運用like停止模糊查詢應留意什 么、數據類型的隱式轉換對查詢效率的影響、盡量防止大事務操作,進步系統並發才能15、MyBatisMyBatis完成原理、MyBatis入門、裝置和配置MyBatis、運用映射語句、執行非查詢 語句、運用高級查詢技術、事務、運用靜態SQL、運用高速緩存進步功能、MyBatis數 據拜訪對象、DAO運用進階。
當然,這些知識點一定是不片面的,假如你想理解詳細的話你可以去動力節點實地去看一下,最近他們彷彿有一個java實驗班可以收費的協助本人測驗適不合適學習java而且還可以報銷路費以及住宿費,假如你有時刻可以去理解一下。
『肆』 學xml編程的好書,誰知道的
《XML完全探索》(Inside XML)(中國青年出版社) 一本在美國非常暢銷的XML專著。該書作者Steven Holzner是XML技術專家,畢業於麻省理工學院,並在康奈爾大學獲得博士學位,現同時任職於該兩所大學。自XML標准發布以來,Steven Holzner一直從事XML書籍的撰寫工作。現已發表了關於程序設計的著作64部,銷量達百萬冊。其著作被譯成多達16國語言,其中很多成為暢銷書籍。 Holzner是一個熟練程序員,他在XML領域的實踐經驗,是其他作者所不能做到的。他在書中介紹了XML的每一個主要的問題,詳細闡述了當今XML的使用方法。從在瀏覽器中使用XML到建立獨立的Jav a/XML應用程序,從應用XPointers和XLink到XSL樣式語言,從XML名稱空間到數據綁定,都作了一一介紹。通過本書講解可以使讀者詳細理解創建有效、規范的XML文檔、文檔類型定義、模式、XML文檔對象模型(Document Object Model,DOM)、標準的XML、XML和資料庫……等等,只要是你所需要的這里都有。 《XML實用大全》(中國水利水電出版社) 對於初學者,學習XML從哪裡入手?我們推薦《XML實用大全》一書。《XML實用大全》和其他關於XML的書籍不同,它不是從軟體開發者的觀點出發,而是從Web頁面編寫者的觀點出發,向讀者說明如何使用XML和目前已有的工具來更有效地創建Web站點。作者在用了11頁的篇幅講述了XML的概況之後,很快就引入了XML應用,這對於初學者來說解開了很多心頭的疑惑,看到了XML不僅僅是理念的技術,它已經被應用到信息技術中,使很多過去不可能實現的東西變成了現實。然後作者才開始講述XML的具體技術。 作者從數據的結構化、XSL、結構完整性到DTD、XLink、XPointer、Nam eSpace、RDF、XHTML等等,每一方面的技術都結合了實例講解,對於初學者來說是非常好的教材。 《XML高級編程》(機械工業出版社) 如果你想學習更深入的XML知識,《XML高級編程》將是你最好的選擇。《XML高級編程》是Wrox公司的產品。本書著重於將XML作為一種開放技術的實現應用工具,用通俗易懂的專業語言介紹了精彩的設計技巧,展示了如何在支持XML的應用程序與Web應用程序和資料庫系統之間提供介面。本書適用於任何希望用XML構建應用程序和系統的讀者,Web站點的開發者能夠學到把自己的站點提高到一個新的層次上的技術,編程人員和軟體系統程序員能夠學到在自身系統的那些部分使用XML的方法,以及如何使用它來解決應用程序集成中的問題。這本書無論是從廣度還是深度上來說都是高級程序員的首選。 XML&ASP(PHP、Java、XSL、WML、Internet、JSP等)的結合使用 XML不是孤立的技術,如果你是某特定語言的程序員,也已經有相應的圖書可供選擇:Visual Basic方面有《Visual Basic 6 XML專業技術》(人民郵電出版社,2000年12月,Wrox出品),Java方面有《Java XML編程指南》(電子工業出版社,2001年4月,Wrox產品)和《Java與XML》(中國電力出版社,2001年4月,OReilly出品)。此外還有資料庫方面的《Oracle XML開發手冊》(機械工業出版社,2001年1月,Oracle技術系列叢書)、《Microsoft SQL Server 2000 XML和Internet支持》(科學出版社,2000年10月,MS Press)等等。 《走進XML》本站特約作者 王順 XML這項炙手可熱的技術,從一出現就成為業界一道亮麗的風景線,並在各個領域充分展開應用。顧名思義XML為可擴展標記語言,它簡潔而快速地根據企業、科學等領域的需求來定製相關的標記集,實現最大限度的信息共享。。。。。。 閱讀全文請進 >>> 《Java vs XML》編譯/楊軍 我們不需要Java.因為我們有了XML……XML(Extenslble Markup Language),即可擴展標記語言,使用它就可以用一種容易而一致的方式格式化和傳送數據,這在互聯網上尤其方便,它將基於網路的信息置標化,使得開發者和電腦易於辨認,實際上也就是發展了一種對象傳輸協議,而這一切正是Java所做的。而Java編程語言,宣稱「一次編寫,到處運行」,提供給開發者一個跨平台編程環境,用來開發跨平台的網路應用。但是其強調跨平台性能的同時,它的運行速度卻很慢,這使得Java一般都運行在企業級的運用中。。。。。。 閱讀全文請進 >>> 《用JSP和XML開發電子商務的四書組合》撰文/張智雄 。。。。。。 今天的軟體開發,更多地需要多種組件的綜台利用。作為程序員,很多工作都沒有必要像以前一樣自已采寫B樹、自已在屏幕上畫餘弦曲線了。掌握一兩門純語言,城許足以讓你拿一個高分,但這不足以令你自傲:如果沒有掌握一套相應的解決方案,你就找不到利用它的地方。目前的開發大都講究套路的組合: PowerBuilder+PowerDynamo+Sybase;VB+ASP+SQL Server+IIS+Windows 2000(NT); PHP+ mysql+ Apache+ Linux; Visual Age+ Servelet+ DB2等等。這些組合,也就是所謂的軟體「體系結構」,需要你學習更多。。。。。。 轉自: http://hi..com/frozen828_dh/blog/item/9ed6de1b8a4470d7ac6e751f.html
『伍』 java前輩高手請進
第一階段:
Oracle資料庫 包括Oracle體系結構、Oracle 基礎管理、SQL 語言、面試難題分析、Sequence和同義詞、數據字典及用戶管理、E-R模型、Power Designer設計工具
具體要求:1、掌握Oracle、MySQL資料庫的基本使用,會使用SQL操作資料庫;2、能對資料庫進行基本的管理。
程序員在實際的開發中,關注更多的是程序代碼的結構、可重用性等關鍵問題,對於資料庫,程序員要掌握的就是基本的命令和SQL語法,在本課程講解中,將圍繞各種復雜的SQL語法進行分析、總結,並以面試題推動學員對於知識點的理解。
第二階段:JAVA SE核心課程
具體內容:核心語法、面向對象編程、多線程、文件編程、Java新特性、常用類庫、網路編程、資料庫編程、數據結構/類集
具體要求:
1、掌握JAVA語言核心語法(類與對象、繼承與多態、異常處理等);
2、了解面向對象的分析與設計做咐;
3、能使用JAVA進行IO文件、資料庫等進行JAVA數據開發;
4、能使用JAVA進行基本的網路程序開發;
5、可以靈活的使用JAVA中的常用類庫;
6、了解數據結構在JAVA中的基本實現;
7、掌握類集框架的各個組成部分;
8、掌握Java的各種新特性技術:Assert、Generic、Enum、Annotation、Static Import、Autoboxing、Unboxing;
9、可以使用反射機制完成各種復雜操作
10、可以使用Oracle進行開發。
在整個java核心體系中,JAVA SE是一項最重要的技術,根據MLDN從java job上的面試調查,發現市面上的大部分程序員都不能很好的理解及應用java基純笑純礎中的很多知識,對很多知識都存在模糊或錯誤的理解,MLDN根據多年的培訓經驗,以高端開發為最終目標,java se的講解中將圍繞各種設計思想進行講解,對於JDK 1.5的新特性也將進行全面的講解,並通過代碼進行系統的知識分析,讓學員可以建立起完整的面向對象分析思路,並運用程序的手段來解決現實生活中的一系列問題。
Java的學習重點分為以下幾個部分:
• Java面向對象思想的運用,可以靈活的運用各個知識點進行現實世界的抽象
• Java集合框架及數據結構,集合作為java最重要的部分,要清楚的掌握集合中各個操作細小的部分及區別,並可以編寫數據結構,以鞏固java類集的理解。
• Java IO操作,為日後的JAVA EE開發打下基礎
• Java資料庫編程,任何系統都是基於資料庫的操作,所以Java資料庫編程將是任何系統開發的基礎升掘
在課程講解中將結合UML一起進行設計及講解操作,可以對問題進行完整OOA、OOD、OOP的分析及設計。
第三階段:JAVA SE核心課程
具體內容:網頁前台製作、開發環境搭建、JSP基礎語法、JavaBean編程、Servlet 、MySQL
具體要求:
1、掌握JSP開發動態網站程序;
2、可以使用JavaScript進行復雜的頁面開發;
3、熟練使用Tomcat伺服器進行WEB項目的開發及部署;
4、熟練掌握JSP中的基礎語法以及各常用內置對象的使用;
5、可以熟練的使用分頁演算法,完成分頁顯示功能;
6、可以使用Smartupload完成文件的上傳操作,並可以自動將上傳文件更名;
7、掌握過濾、監聽的開發;
8、掌握MVC開發模式應用;
WEB課程是一門綜合性較強的課程,要求開發人員必須具備網頁製作(HTML、CSS)、Java Script、伺服器的配置、JAVA SE基礎、資料庫等各個學科的知識才能夠開始學習。
第四階段:框架開發技術
具體內容:JAVA EE架構、Hibernate 3、IBatis、Spring 2、AJAX框架、Struts 2
具體要求:1、掌握完整的JAVA EE架構;
2、可以使用AJAX各種常用框架完成富客戶端的開發;
3、掌握主流開發框架:Struts / Struts2 + Hibernate + Spring的聯合開發;
4、掌握Struts 2.0與Struts 1.x的區別及使用,並可以使用Spring進行SSH2整合;
5、了解IBatis框架的基本使用。
6、實現技術:
• 使用SSH和SSH2,並結合AJAX的各種框架進行開發;
• 使用ECSide完成報表顯示。
第五階段:分布式開發技術
具體內容:RMI高級編程 包括遠程方法調用、存根、命名查找
具體要求:
1、了解分布式開發的原理及作用;
2、可以了解RMI的基本作用及實現;
3、掌握SUN最新的開發技術 —— EJB 3.0的各個組成部分,以及使用Jboss伺服器完成EJB的開發;
4、掌握Web Services技術以及使用XFire、EJB 3.0實現WebServices;
5、掌握JavaMail服務的使用。
第六階段:專向開發技術
具體內容:搜索引擎、JBPM
具體要求:
1、掌握搜索引擎的搭建原理及實現;
2、掌握工作流系統的原理及實現。
第七階段:Linux操作系統
具體內容:Linux安裝、Linux基本命令、VI使用、Shell編程、FTP、SVN、Apache、Tomcat、MySQL、發布JAVA EE程序
具體要求:
1、熟練使用Linux的常用命令;
2、能在Linux下進行項目的開發及部署。
這是從網站上搜索到的,希望對你有幫助。另外給你推薦一些MLDN的視頻,都是免費可以下載的,學習起來比較簡單。
『陸』 j2ee具體包括哪些東西
一、准備篇
1 什麼是J2EE?它和普通的Java有什麼不同?
答:J2EE全稱為Java2 Platform, Enterprise Edition。
「J2EE平台本質上是一個分布式的伺服器應用程序設計環境——一個Java環境,它提供了:
·宿主應用的一個運行基礎框架環境。
·一套用來創建應用的Java擴展API。」(引自《J2EE伺服器端高級編程》)
2 J2EE好學嗎?
答:J2EE是很多技術的集合體,並且還在成長中。
你會遇到很多專有名詞:比如(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,Web Service……。
尤其是XML和Web Service正在快速成長。幸運的是,你不需要等到學會所有技術後再開始編程。
大體上J2EE可以分成3個主要應用:Servlet/JSP,EJB,XML/Web Service 和一些支撐技術例如JDBC和JNDI。
你可以一個一個的學。
3 J2EE有什麼用?
答:用來建設大型的分布式企業級應用程序。或者用更時髦的名詞說就是「電子商務」應用程序。
這些企業可能大到擁有中心資料庫伺服器,Web伺服器集群和遍布全國的辦公終端,也可能小到只不過想做一個網站。
4 學J2EE有前途嗎?
答:在這一市場目前只有一種技術可以和J2EE競爭,那就是Microsoft的.NET。
相對來說.NET要「新」一些而J2EE要「老」一些。
但是.NET只能用於Windows平台(Microsoft聲稱要開發C#在Linux上的虛擬機但是尚未兌現該諾言),
考慮到Linux的發展勢頭,你可以相信.NET不會一統天下。
5 據說J2EE的性能不如.NET好,是真的嗎?
答:在Sun公司提供的樣常式序Pet Store上,Microsoft聲稱不如相同的.NET程序好。
而Sun公司反駁說這一程序不能真正體現J2EE的性能,並且指責Microsoft在資料庫上做了優化。
作者沒有學習過.NET因而不能妄下斷言。
無論如何,大型分布式程序中的性能瓶頸通常首先來則譽自於錯誤的設計。
6 聽你說了這么多,我想學著玩玩。
答:除非你想靠它當飯吃或者作為技術儲備,否則請不要浪費你的時間。
Flash要好玩得多。計算機游戲就更加好玩了。
7 學習J2EE該怎麼開始?
答:首先,下載一個J2EE伺服器。其次,去java.sun.com下載J2EE的API。第三,找一本好的參考書。最後,找一個順手的IDE。
J2EE伺服器。你可以用Sun的J2EE SDK(免費),或者Weblogic(性能最好,但是太大,而且作者不推薦盜版行為),或者JBoss(免費,就是文檔太少),或者JRun(開發版免費,作者用這個)。參考書作者感覺Wrox的《彎猜J2EE伺服器端高級編程》不錯,但是太老(作者手頭的是2001年中文版)。你還需要去下載一些最新的技術資料(當然肯定是英文的)。
IDE如果你的機器配置夠好(內存至少512M以上,256M或以下請勿考慮),可以用IBM的WSAD,不然就繼續用Eclipse或者其他。
你也可以經常去水木清華的Java版逛逛,但是在發貼前先看看精華區里有沒有你要的答案。
8 我下了一個J2EE伺服器但是不會配置。
答:請認真閱讀隨機指導文檔,不同的伺服器的配置都不一樣,作者愛莫能助。
9 我發現你沒有提到Tomcat。
答:Tomcat只是一個Web伺服器,更准確地說主要只是一個Web Container。
如果你想要學習EJB的話,Tomcat無法滿足你的需要。
二、 Servlet/JSP篇
10 什麼是Servlet?
答:一個Servlet是一個Java類。它處理Http(s)請求並作出響孫鬧段應,包括返回一個HTML頁面或轉交給其他URL處理。
Servlet必須運行在一個Web Container例如Tomcat中。
Servlet必須是javax.servlet.http.Http Servlet的子類,
你可以繼承doGet()或者doPost()方法,兩者分別對應於Http(s)中的Get請求和Post請求。
11 我怎麼獲得Http請求里的參數?
答:HttpRequest的getParameter()方法。例如:String paramValue = request.getParameter("paramName");
12 我怎麼返回結果?
答:你可以利用相關API打開一個輸出流,並向流中直接寫入一個HTML頁面。
但是作者完全不贊成這樣做。一方面這樣做會很羅嗦。
另一方面從Model-View-Controller模式(在《J2EE核心模式》中被歸為Front Controller模式)的觀點來看,
你應當提供一些HTML或者JSP作為視圖(view),而Servlet則根據請求參數決定轉到哪一個視圖。
你可以利用response.sendRedirect(...)方法或request.getDispatcher(...).forward()方法來實現。
13 sendRedirect()和forward()有什麼不同?
答:sendRedirect()是向瀏覽器發送一個redirect通知,瀏覽器重定向到新的URL。
而forward是在伺服器端直接轉到新的URL,對於瀏覽器是透明的。
前者瀏覽器的地址欄顯示的是新的URL,後者瀏覽器的地址欄顯示的是Servlet的URL。
因而當目標URL會自動刷新時,兩者會造成一些差別。
14 我寫了一個Servlet程序,怎麼運行它?
答:開發J2EE程序有一個部署(deploy)的概念,實際上是開發——部署——運行的三部曲。
大多數伺服器支持Hot deploy。你只需要在相應的Application目錄(具體路徑依賴於伺服器)下面
建立一個符合WAR或EAR格式(參見16,17)的目錄,啟動伺服器,就可以通過瀏覽器訪問了。
特別的,你的Servlet的class文件應當放在/WEB-INF/classes目錄中。
注意J2EE SDK不支持Hot deploy,你需要通過它的deploy tool來部署。
Tomcat只支持WAR格式。
15 EAR和WAR有什麼不同?
答:EAR是一個完整的J2EE應用程序,包括Web部分和EJB部分。
WAR只是其中的Web部分。
16 EAR格式是怎樣的?
答:一個EAR可以包含任意多個WAR或EJB JAR,並且包含一個META-INF的目錄。
在/META-INF中包含了一個application.xml,其中描述了這個EAR包含哪些模塊,以及安全性配置。
細節請看參考書。
17 WAR格式是怎樣的?
答:一個WAR包含一個WEB-INF的目錄,這個目錄下包含classes目錄,lib目錄和web.xml。
/WEB-INF/classes存放按package組織的class文件,/WEB-INF/lib目錄存放jar文件,
web.xml描述了很多東西,請讀參考書。
18 我的普通HTML文件應當放在哪裡?
答:放在除了/WEB-INF以外的其他地方。
19 我訪問不到servlet,甚至連HTML文件都訪問不到!
答:第一你沒啟動伺服器。第二你敲錯了埠。第三你沒有正確配置context-path。
第四你的伺服器不支持auto reload或者你關閉了這一選項,你得重啟伺服器。
第五確認你沒有把HTML放在/WEB-INF目錄下,那是訪問不到的。
20 我能訪問HTML但是訪問不到servlet。
答:請檢查你的web.xml文件。確保你正確定義了<servlet>和<servlet-mapping>元素。
前者標識了一個servlet,後者將一個相對於context-path的URL映射到一個servlet。
在Tomcat中你可以通過/context-path/servlet/package/servletname的形式訪問servlet,
但是這只是Tomcat的便捷訪問方式,並不是正式規范。
細節請看參考書。
21 什麼是JSP?它和Servlet有什麼區別?
答:你可以將JSP當做一個可擴充的HTML來對待。
雖然在本質上JSP文件會被伺服器自動翻譯為相應的Servlet來執行。
可以說Servlet是面向Java程序員而JSP是面向HTML程序員的,除此之外兩者功能完全等價。
『柒』 linux系統下怎麼搭建網站伺服器
具體方法如下:
1、使用putty或類似的SSH工具登錄伺服器(本地安裝跳過);
『捌』 如何成為一名程序員 6種方法來成為一名程序員
目錄方法1:網路編程1、了解網路編程的含義。2、瀏覽不同的網站,了解它們的外觀。3、學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟體。4、熟悉網站結構。5、趕緊學一門圖形設計的課程。6、了解網路下部構造的基本情況。7、學習HTML和CSS語言。8、學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。9、先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。10、學習客戶端腳本語言。11、熟悉你所學的客戶端腳本語言。12、學習至少一種伺服器端腳本語言。13、學完伺服器端編程語言之後就開始創建一個試驗項目。14、獲得你的網站,開始用你自己的網頁實驗。方法2:桌面軟體編程1、弄清楚桌面軟體編程是怎麼回事。2、了解不同的電腦硬體結構。3、學習一種入門級(小孩子學的那種)編程語言。4、學習程序化、面向對象、函數設序設計規范的入門。5、學習一種程序化程式設計語言的入門課程。6、學習至少一種高級建模技術,比如UML 或ORM。7、開始編寫一些小的主控台應用程式或類似的應用程式。8、學習一門你選擇的編程語言的更高級課程。9、應用你所10、至少再學習一門編程語言規范的入門課程。11、試著比較你所學的兩門編程語言。12、利用你學過的一種語言來學習可視化編程概念。13、開始把你所學的知識運用到你設計的軟體小工程中。14、創建一個虛擬的"畢業工程"。15、通過學習更高級的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架構/庫/包的理解。16、搜索其他含可視化元素的包/庫並學習它們。17、學習圖形學課程(而非圖形設計)。18、成為游戲程序員(不是必須的)。方法3:分布式程序設計1、處理分布式應用編程。2、快速了解通信系統及其硬體。3、熟悉網路硬體結構和設備,比如集線器、接線台和路由器。4、學習網路協議的課程。5、學習XML 語言,並熟悉它。6、開始學習一門shell腳本語言。7、開始時用上你學的腳本知識,只運用程序化程式設計。8、使用你所學的腳本語言,寫出實現機器之間通信的腳本。9、轉移到桌面腳本/編程語言。10、專注於語言的核心部分,尤其hi那些支持網路。11、學習分布式應用設計與結構的課程。12、使用你所學的編程語言來了解服務部分建構和服務。13、學習如下技術中一種或更多。方法4:庫/平台/框架/核心編程1、了解什麼是核心編程。2、學習一門支持創建可重復使用內容/包的編程語言,如果你還沒學過的話。3、學習一門UML 和ORM的高級課程。4、學習軟體工程的課程。5、學習至少一個模塊,基於內容的、面對對象的和 事件驅動編程技術和概念。6、進一步了解不同的操作系統及其支持的編程架構。7、集中學習獨立平台架構、編程語言和技術。8、如果到目前為止你學習的編程語言具有ANSI/ISO/EEE/W3C標准版本,那麼掌握這些標准。9、嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。10、在你的編程領域內尋找開源的包。11、學習不同方法。方法5:系統編程1、了解系統編程的定義。2、跟著"桌面應用程序員"的前三個步驟。3、學習線性代數的入門課程。4、學習微積分課程。5、學習邏輯學和/或離散數學課程。6、了解不同的"准操作系統"。7、學習計算機硬體結構的課程(或者作為替代,看看書)。8、深入理解不同的計算機硬體平台。9、初步熟悉你所選擇的硬體平台/操作系統的匯編語言。10、學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。11、在你選擇的平台上理解並實踐C/C++標准庫。12、搜索網路資源、書籍和課程來理解你的平台獨特的C風格。13、用C/C++練習編寫高級代碼。14、學習更高級的Assembly。15、學習操作系統設計的課程。16、尋找並閱讀你所選擇的平台的相關文章。17、練習你已經掌握的知識。18、以最有益的順序學習語言。方法6:編程科學1、了解編程科學家是做什麼的。2、累積和四年制計算機科學學歷同等多的科學知識。3、選擇特定的領域。4、考慮獲取更高級的學歷。5、了解你選擇的編程領域的相關技術和編程語言。成為程序員是一個日積月累的過程,需要日復一日年復一年的技能增長。編程本身是有趣的,並且有回報(腦力層面、精神層面、經濟層面)。這份指南不能保證你輕松當上程序員。不要神化下面這些步驟,從中你大概能了解在現今編程界如何成為一名程序員。
方法1:網路編程
1、了解網路編程的含義。網路應用是指設計在網路結構頂層的軟體部分。這就意味著這些應用是通過諸如火狐或IE之類的瀏覽器來處理的。架構於網路結構的頂層並不一定要連接到網路。這就是說網路應用建立在如下標准網路技術的頂層:HTTP
FTP
POP3
SMTP
TCP
IP協議
HTML
XML
Coldfusion
ASP
JSP
PHP
ASP.NET
2、瀏覽不同的網站,了解它們的外觀。(右擊,選擇"查看源"或按F12。)尋找網站類型/內容的多樣性,而非數量。通常你需要訪問以下網站類型中至少一種: 團體網站(商業公司,非營利機構/組織,政府組織)
網路索引引擎(搜索引擎,meta搜索網站,專業化搜索引擎,目錄)
數據挖掘網站
個人網站
信息/網路全書式網頁(維基,數據單,技術規格,人工列表目錄,博客和日誌,新聞和新聞機構網站,黃頁,等等。)
社交網站(社交門戶,書簽網站,記錄筆記網站)
合作網站(這包含了上面提及的目錄,比如維基和博客)
3、學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟體。例如:頭腦風暴圖和微軟Visio。
4、熟悉網站結構。指的是創建概念化網路範式、網路地圖和導航結構。
5、趕緊學一門圖形設計的課程。盡量學習至少一個圖形編輯/操作軟體包(不是必須的,但強烈推薦)
6、了解網路下部構造的基本情況。包括了解以下: 基本網路服務協議(HTTP,FTP, SMTP和POP3或IMAP4)
網路伺服器軟體(最好其中一個就是你以後主要工作的平台)
網路瀏覽軟體
郵件伺服器和客戶端軟體
7、學習HTML和CSS語言。或許你還想要"所見即所得"軟體包來編輯HTML。
8、學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。
9、先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。
10、學習客戶端腳本語言。多數人要麼學Java,要麼學VB,但也有一些人學習Perl和DHTML。
11、熟悉你所學的客戶端腳本語言。潛意識里提醒自己只用你學的那個語言。只有在你熟悉你的客戶端腳本語言之後才能進入下個步驟。
12、學習至少一種伺服器端腳本語言。如果你只用一種伺服器軟體,那就學其中一種編程語言。否則,你得每個伺服器軟體都學至少一種編程語言。
13、學完伺服器端編程語言之後就開始創建一個試驗項目。
14、獲得你的網站,開始用你自己的網頁實驗。
方法2:桌面軟體編程
1、弄清楚桌面軟體編程是怎麼回事。多數桌面軟體程序員都是編寫商務需要的代碼,所以好好了解一下商業及其組織和經濟結構將對節省時間、提高效率大有裨益。
2、了解不同的電腦硬體結構。看看數字電路設計和電腦結構的入門級課程,但是也有人認為這對於剛起步來說太超前了,所以看兩三篇說明的文章(比如 這一篇 和 這一篇)就夠了。學完第一種編程語言後你可以再返回這個步驟。
3、學習一種入門級(小孩子學的那種)編程語言。不要因為你不是個小孩子就不好意思去學。這些入門級語言能大大減輕你正式學習第一門編程語言時的痛苦和壓力。然而這一步也不是必須的。你也可以在上一步之前完成。
4、學習程序化、面向對象、函數設序設計規范的入門。
5、學習一種程序化程式設計語言的入門課程。無論你以後選擇何種編程語言,在某種程度上它都要求程序化程式設計。此外,據多數程序員反映,程序化程式設計總的來說是了解編程的一個很好的切入點。
6、學習至少一種高級建模技術,比如UML 或ORM。
7、開始編寫一些小的主控台應用程式或類似的應用程式。你可以利用編程書中的常見小練習。選擇一個工具,用你所學的編程語言編寫程序。
8、學習一門你選擇的編程語言的更高級課程。確保進展之前先理解下列概念,並能熟練運用。對程序用戶輸入輸出信息。
程式化設計語言寫成的程序中的邏輯流程和執行流程。
聲明、分配和比較變數
編程結構分支,比如if..then..else 和 select/switch..case.
循環結構,比如while..do, do..while/until, for..next.
創建、調用程序與函數的編程句法
數據類型及如何操控
用戶定義數據類型(records/structs/units)及其使用
如果你的語言支持超載函數,理解它。
你選擇的語言的內存處理方式(指針,變數窺視,等等。)
如果你的語言支持運營商超載,理解它。
如果你的語言支持delegates/函數指針,理解它。
9、應用你所學的高級技能 面向對象的規范
10、至少再學習一門編程語言規范的入門課程。推薦學習每種範式的編程語言,多數高級程序員確實是這么做的,然而,通常你開始時只學一種,應用所學知識訓練了一段時間,獲得了編程的鮮活經驗,然後接著學習另一種。試試下面的語言: 邏輯編程範式
函數編程範式
面向對象的範式
11、試著比較你所學的兩門編程語言。評估各自利弊。通常可按以下方法完成拿出你在學習第一門編程語言時編寫的簡單範例,現在用第二門語言重新編寫。
創建一個工程,盡量用上兩種語言完成它。有時取決於你選擇的工程和語言,你可能僅用一門語言還無法完成這個工程呢!
寫一份兩種語言之間相似結構和獨特之處對比的速查表或一覽表。
盡量使用另一門語言找到模仿這兩門語言中獨特之處的辦法。
12、利用你學過的一種語言來學習可視化編程概念。幾乎所有的編程語言都具有支持可視化編程和其他支持控制台或類似控制台編程的版本/庫。同時進行的包括: 初步了解事件驅動編程。在某種程度上,多數可視化編程依賴事件及事件處理(用上你選擇的語言)。
盡可能多的嘗試桌面軟體,理解軟體是做什麼的。多數軟體開發公司會提供產品的測試版,你可以拿來測試軟體。在完善用戶界面方面保持更新。
閱讀關於圖形用戶界面的文章或教程。
13、開始把你所學的知識運用到你設計的軟體小工程中。盡量把你的編程專業知識運用到你日常生活中的問題上。比如,編寫程序,批量重命名文件,視覺上比較文本文件,復制目錄里的文件名到內存/文本文件之類的東西。剛開始簡單一點。
14、創建一個虛擬的"畢業工程"。把這個放到最後完成,用上你到目前為止學到的可視化編程技術。
15、通過學習更高級的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架構/庫/包的理解。
16、搜索其他含可視化元素的包/庫並學習它們。
17、學習圖形學課程(而非圖形設計)。對於想要寫出吸引人的用戶界面元素的程序員來說,這將大有裨益。
18、成為游戲程序員(不是必須的)。很大程度上游戲編程是被當作桌面編程的。如果你想成為游戲程序員,完成這些步驟後你需要進一步學習游戲編程。對於游戲程序員而言,圖形學課程是必須的,後續步驟中第二門語言應該選擇邏輯/函數編程語言(最好是Prolog或Lisp)。
方法3:分布式程序設計
1、處理分布式應用編程。分布式應用編程被許多人認為是最難學的一種,它要求計算機和通信技術中的不同知識。
2、快速了解通信系統及其硬體。這個步驟不是必須的,但是對於理解網路拓撲結構很有用。
3、熟悉網路硬體結構和設備,比如集線器、接線台和路由器。
4、學習網路協議的課程。在你開始分布式應用編程之前,你需要好好理解"開放系統互聯 (OSI) "模型、以太、IP、TCP、UDP和HTTP 。
5、學習XML 語言,並熟悉它。
6、開始學習一門shell腳本語言。對基於Windows的編程,可以是任何能與Windows腳本宿主兼容的腳本。對基於Linux的編程,Bash腳本和 Perl就夠了。對這兩個平台都強烈推薦Java,原因如下: 幾乎所有操作系統的都支持腳本宿主(Windows 腳本宿主默認支持java ,大多數Linux發行版都有支持java腳本控制的包)。
許多開發者認為它很容易學。
當你需要學第二門編程語言(C,C++,C#,Java和J#都有ALGOL開源句法)時,它擁有的ALGLO開源句法就能使你熟悉更多編程語言
通過學習java,你會熟悉網頁的客戶端腳本,這可謂一大福利!
7、開始時用上你學的腳本知識,只運用程序化程式設計。之後,根據你的腳本語言和它所支持的,你可以用上更高級的編程技巧和範式。所有的腳本語言在某種程度上都有程序化程式設計的一些方面。
8、使用你所學的腳本語言,寫出實現機器之間通信的腳本。學習完成這個所必需的東西。簡單的通信就足夠了。
9、轉移到桌面腳本/編程語言。一個比較好的是多範式語言,比如Python。簡單了解第二門語言。有許多理由讓多數程序員選擇java。然而,在這個領域內C#正在獲得多數優勢。Java和C#被青睞的原因如下:它們是面向對象的編程語言,使大量程序員免遭實現細節之苦,因為它們都支持組成部分(代碼單元、預編譯,它們可以執行特定任務,並被用到其他程序中)。
它們支持事件驅動編程,在某種程度上還支持OO和程式化程序設計。
建立語言的架構按屬性分布(比如Java)。
有許多現成的包來處理。社交網路同時作為開源代碼和架構內置包,這使得程序員繼續其他人工作更加容易。
10、專注於語言的核心部分,尤其hi那些支持網路。少注意用戶界面元素,比如輸出,窗口設計和技術等。
11、學習分布式應用設計與結構的課程。可以通過書本、網上教程或學術課程來完成。然而,十分有必要理解分布式應用的結構及其概念。
12、使用你所學的編程語言來了解服務部分建構和服務。
13、學習如下技術中一種或更多。推薦你每一種都了解以下。多數分布式應用程序員不會止於一兩門編程語言,他們會每個操作系統各學至少一種語言。這是因為如果你希望你的應用"分布式",你應該至少為每個主要的操作系統各提供一個版本。公共對象訪問代理體系結構(CORBA)
簡單對象訪問協議(SOAP)
非同步JavaScript和XML(AJAX)
分布式組建對象模型(DCOM)
.NET遠程處理
XML 網路服務
方法4:庫/平台/框架/核心編程
1、了解什麼是核心編程。核心程序員幾乎都是高級程序員,已經從編寫應用轉變為給其他程序員編寫代碼匯編。
2、學習一門支持創建可重復使用內容/包的編程語言,如果你還沒學過的話。
3、學習一門UML 和ORM的高級課程。多數庫開發者使用其中一種,或兩種都用。
4、學習軟體工程的課程。
5、學習至少一個模塊,基於內容的、面對對象的和 事件驅動編程技術和概念。你所學覆蓋越多編程範式和語言,你就能成為越成功的庫/包程序員。
6、進一步了解不同的操作系統及其支持的編程架構。
7、集中學習獨立平台架構、編程語言和技術。
8、如果到目前為止你學習的編程語言具有ANSI/ISO/EEE/W3C標准版本,那麼掌握這些標准。無論何時盡可能使用標准代碼。
9、嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。這在成為庫/包程序員的早期階段十分有用。從簡單的包開始,比如單位轉換和中間科學計算包。如果你是大學生,利用你的非編程課程,嘗試把這些課程的方程式與核心科學用作庫。
10、在你的編程領域內尋找開源的包。首先下載包的二進制/可執行文件。盡量去用,並發現它的利弊。之後,下載源,盡量弄明白它是怎麼完成的。嘗試再創造這些庫或其部分。剛開始,看完代碼再做;之後,先做再看代碼。後期階段,嘗試完善那些庫。
11、學習不同方法。給程序員分發、配送內容。通常,庫/包程序員傾向於以遞歸和/或迭代的思想來思考他們面臨的所有問題 。盡量把每個問題當作一個小問題的匯編(一系列更小的任務)或一個重復的不斷縮小問題范圍直至把這些更小的范圍彼此堆到一起的處理過程去思考。
庫/包程序員傾向於概括化。也就是說,當面臨一個特定的簡單的問題時,他們通常會想到一個更為概括的問題,並努力解決這個更概括的問題,如此,小問題便不攻自破。
方法5:系統編程
1、了解系統編程的定義。系統編程處理的是編程的"科學",而不是具體的編程實現。不要把你自己栓到特定平台上。
2、跟著"桌面應用程序員"的前三個步驟。
3、學習線性代數的入門課程。
4、學習微積分課程。
5、學習邏輯學和/或離散數學課程。
6、了解不同的"准操作系統"。這可以通過以下途徑完成:了解操作系統是如何安裝的。
了解在一台PC上如何安裝不同的操作系統(不是必須的,但作為推薦)
安裝不止一種操作系統。不要在系統中安裝任何輔助包,相反,僅利用操作系統本身提供的函數。
7、學習計算機硬體結構的課程(或者作為替代,看看書)。
8、深入理解不同的計算機硬體平台。
9、初步熟悉你所選擇的硬體平台/操作系統的匯編語言。稍後你會學習其他平台/系統的匯編。
10、學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。
11、在你選擇的平台上理解並實踐C/C++標准庫。尤其注意標准模板庫(STL)和活動模板庫(ATL)。
12、搜索網路資源、書籍和課程來理解你的平台獨特的C風格。
13、用C/C++練習編寫高級代碼。
14、學習更高級的Assembly。
15、學習操作系統設計的課程。
16、尋找並閱讀你所選擇的平台的相關文章。如果你選的是基於Unix的操作系統就會容易得多。充分理解你今後將要用來工作的系統。
17、練習你已經掌握的知識。首先創建小的系統軟體。如下通常很有用: 試著重創你系統中已有的小工具。
試著把其他系統中的應用移植到你的系統里。
18、以最有益的順序學習語言。此處是唯一強調第一門編程語言的地方。首先學習ANSI C 而不是 C++、C#、Java 、D。然後學習 C++。限制你第一門語言僅為C是因為系統編程要求程序員熟悉如下概念:源代碼真實、完全的編譯
低級對象輸出文件
鏈接二進制
低級機器語言/匯編編程。C語言被某些人認為是偽飾過的/更容易學習的匯編語言。只要你願意,它還支持插入匯編語言代碼,並且它只是程序化的(像匯編)。
方法6:編程科學
1、了解編程科學家是做什麼的。編程科學家是十分高級的程序員,他們不開發程序,但他們研究計算科學,比如密碼學、編程語言和數據挖掘演算法。沒有深入的學術研究是很難達到這個水準的。
2、累積和四年制計算機科學學歷同等多的科學知識。可通過如下其中一種完成: 獲得真實的學術學歷(這也是通常情況)。
從現代大學中獲得該學歷要求的課程大綱,自學課程或 分開一門門學。理論上這樣做也可以,但還是推薦第一種做法。
3、選擇特定的領域。越具體越好。這取決於你的偏好。但是這里給出計算機編程領域中一些主要的課題:演算法設計(例如搜索、分類、密碼、解碼、錯誤檢測 等)
編程語言/編譯器設計/最優化
人工智慧領域(模式識別,語音識別,自然語言處理,神經網路)
機器人技術
科學編程
超級計算
計算機輔助設計/模式(CAD/CAM)
虛擬現實
計算機圖形學(計算機圖形學通常和圖形設計或圖形用戶界面設計混淆,計算機圖形學是研究如何表示和操控計算機系統中的圖形的領域)
4、考慮獲取更高級的學歷。或許你想追求碩士學歷或博士學歷。
5、了解你選擇的編程領域的相關技術和編程語言。
小提示不管你想嘗試哪種編程,不管你想達到何種水平,考慮去學校或本地社區大學上課。不要被諸如「計算機科學」一類的術語嚇到。你參加的任何不需要預備課程的課程都應該集中教一些編程的基礎知識。在上課之前先咨詢一下老師或客服,確保這門課是你想要的,像「計算機文化」這樣的課很有可能更多地集中在教你更熟悉辦公應用之類。