① GitHub 上有哪些值得推薦的開源電子書
語言無關類
操作系統
鳥哥的Linux私房菜 (簡體)
Linux 系統高級編程
The Linux Command Line (中英文版)
Linux 設備驅動 (第三版)
深入分析Linux內核源碼
UNIX TOOLBOX
Docker中文指南
Docker —— 從入門到實踐
FreeRADIUS新手入門
Mac 開發配置手冊
FreeBSD 使用手冊
Linux 命令行(中文版)
一步步搭建物聯網系統
Nginx開發從入門到精通 (淘寶團隊出品)
Git教程 (本文由 @廖雪峰 創作,如果覺得本教程對您有幫助,可以去 iTunes 購買)
git – 簡易指南
猴子都能懂的GIT入門
Git 參考手冊
Pro Git
Git Magic
GotGitHub
Git Community Book 中文版
Mercurial 使用教程
HgInit (中文版)
沉浸式學 Git
Git-Cheat-Sheet (感謝 @flyhigher139 翻譯了中文版)
GitHub秘籍
NoSQL資料庫筆談 (PDF)
Redis 設計與實現
Redis 命令參考
帶有詳細注釋的 Redis 3.0 代碼
帶有詳細注釋的 Redis 2.6 代碼
The Little MongoDB Book
The Little Redis Book
Neo4j 簡體中文手冊 v1.8
Neo4j .rb 中文資源
MySQL索引背後的數據結構及演算法原理
持續集成(第二版) (譯言網)
讓開發自動化系列專欄
追求代碼質量
selenium 中文文檔
Joel談軟體
約耳談軟體(Joel on Software)
關於瀏覽器和網路的 20 項須知
前端知識體系
瀏覽器開發工具的秘密
Chrome 開發者工具中文手冊
Chrome擴展開發文檔
Grunt中文文檔
移動Web前端知識庫
正則表達式30分鍾入門教程
前端開發體系建設日記
移動前端開發收藏夾
jsON風格指南
HTTP 介面設計指北
前端資源分享(一)
前端資源分享(二)
前端代碼規范 及 最佳實踐
w3school教程整理
大數據/數據挖掘/推薦系統/機器學習相關資源
程序員編程藝術
每個程序員都應該了解的內存知識(譯)【第一部分】
取悅的工序:如何理解游戲 (豆瓣閱讀,免費書籍)
OpenWrt智能、自動、透明翻牆路由器教程
awk程序設計語言
C++ 並發編程指南 (@傅海平ICT)
Linux C編程一站式學習 (宋勁杉, 北京亞嵌教育研究中心)
CGDB中文手冊
100個gdb小技巧
100個gcc小技巧
ZMQ 指南
How to Think Like a Computer Scientist (中英文版)
跟我一起寫Makefile(PDF)
GNU make中文手冊
GNU make 指南
Google C++ 風格指南
C/C++ Primer (by @andycai)
簡單易懂的C魔法
Cmake 實踐 (PDF版)
C++ FAQ LITE(中文版)
C++ Primer 5th Answers
學習CSS布局
通用 CSS 筆記、建議與指導
CSS參考手冊
Emmet 文檔
前端代碼規范 (騰訊alloyteam團隊)
Dart 語言導覽
Fortran77和90/95編程入門
實時 Java 系列
Apache Shiro 用戶指南
使用 Eclipse 和 Java SE 6 創建獨立 Web Services 應用程序
第 1 部分: Web Services 服務端應用程序
第 2 部分: Web 服務客戶端應用程序
JavaServer Faces 1.2 入門
第 1 部分: 構建基本應用程序
第 2 部分: JSF 生命周期、轉換、檢驗和階段監聽器
用 Eclipse Europa 進行 Web 開發
第 1 部分: Eclipse Java EE
第 2 部分: PHP 開發工具
第 3 部分: Ruby Development Toolkit 和 RadRails
使用 JavaServer Faces 構建 Apache Geronimo 應用程序
第 1 部分: 使用 Eclipse 和 Apache MyFaces Core 構建基本的應用程序
第 2 部分: 在 JavaServer Faces 中使用 Tomahawk
第 3 部分: 使用 ajax4jsf 添加 Ajax 功能
第 4 部分: 使用 Apache Trinidad 組件擴展 JSF
第 5 部分: 將 JSF 應用程序與 Spring 集成
Apache Geronimo 和 Spring 框架
第 1 部分: 開發方法學
第 2 部分: 構建第一個應用程序
第 3 部分: 集成 DAO 與 ORM
第 4 部分: 混合使用 Spring AOP 和 Spring Web Flow
第 5 部分: Spring MVC
第 6 部分: Spring MVC:使用 Web 視圖技術
終極 mashup —— Web 服務和語義 Web
第 1 部分: 使用與組合 Web 服務
第 2 部分: 管理 Mashup 數據緩存
第 3 部分: 理解 RDF 和 RDFs
第 4 部分: 創建本體
第 5 部分: 切換 Web 服務
Jersey 2.x 用戶指南
MyBatis中文文檔
Google JavaScript 代碼風格指南
Airbnb JavaScript 規范
JavaScript 標准參考教程(alpha)
Javascript編程指南 (源碼)
javascript 的 12 個怪癖
JavaScript 秘密花園
JavaScript核心概念及實踐 (PDF) (此書已由人民郵電出版社出版發行,但作者依然免費提供PDF版本,希望開發者們去購買,支持作者)
《JavaScript 模式》翻譯,此書中文版有售,但是紙質書翻譯的還沒有這個版本翻譯的好
命名函數表達式探秘 (注:原文由為之漫筆翻譯,原始地址無法打開,所以此處地址為我博客上的備份)
學用 JavaScript 設計模式 (開源中國)
深入理解JavaScript系列
ECMAScript 6 入門 (作者:阮一峰)
jQuery
jQuery 解構
簡單易懂的JQuery魔法
How to write jQuery plugin
Node.js
Node入門
七天學會NodeJS
Nodejs Wiki Book (繁體中文)
express.js 中文文檔
koa 中文文檔
使用 Express + MongoDB 搭建多人博客
Express框架
nodejs文檔
Node.js 包教不包會
Learn You The Node.js For Much Win! (中文版)
Node debug 三法三例
underscore.js
Underscore.js中文文檔
backbone.js
backbone.js入門教程 (PDF)
Backbone.js入門教程第二版
Developing Backbone.js Applications(中文版)
AngularJS
AngularJS最佳實踐和風格指南
AngularJS中譯本
AngularJS入門教程
構建自己的AngularJS
在Windows環境下用Yeoman構建AngularJS項目
zepto 簡明中文手冊
Sea.js
Hello Sea.js
CoffeeScript
CoffeeScript Cookbook
The Little Book on CoffeeScript中文版
ExtJS
Ext4.1.0 中文文檔
Chrome擴展及應用開發
JavaScript入門教程
PHP調試技術手冊(PDF)
XDebug 2中文手冊(譯) (CHM)
PHP之道
PHP 最佳實踐
PHP安全最佳實踐
深入理解PHP內核
PHP擴展開發及內核應用
CodeIgniter 用戶指南
Laravel4 中文文檔
Laravel 入門
Symfony2中文文檔 (未譯完)
Phalcon中文文檔(翻譯進行中)
YiiBook幾本Yii框架的在線教程
簡單易懂的PHP魔法
swoole文檔及入門教程
iOS開發60分鍾入門
iOS7人機界面指南
Google Objective-C Style Guide 中文版
iPhone 6 屏幕揭秘
Apple Watch開發初探
馬上著手開發 iOS 應用程序
網易斯坦福大學公開課:iOS 7應用開發字幕文件
Android Design(中文版)
Google Android官方培訓課程中文版
Android學習之路
小白的Python教程
簡明Python教程
零基礎學Python
Python 2.7 官方教程中文版
Python 3.3 官方教程中文版
深入 Python 3
PEP8 Python代碼風格規范
Google Python 風格指南 中文版
Python入門教程 (PDF)
Python的神奇方法指南
笨辦法學 Python (PDF版下載)
Django 文檔中文版
Django 最佳實踐
The Django Book 中文版
web.py 0.3 新手指南
Web.py Cookbook 簡體中文版
Dive Into Python 中文版
Bottle 文檔中文版 (需翻牆)
Flask 文檔中文版
Jinja2 文檔中文版
Werkzeug 文檔中文版
Flask之旅
Introction to Tornado 中文翻譯
Python自然語言處理中文版 (感謝陳濤同學的翻譯,也謝謝 @shwley 聯系了作者)
Python 繪圖庫 matplotlib 官方指南中文翻譯
Scrapy 0.25 文檔
ThinkPython
Ruby 風格指南
Rails 風格指南
笨方法學 Ruby
Ruby on Rails 指南
Ruby on Rails 實戰聖經
Ruby on Rails Tutorial 原書第 2 版 (本書網頁版免費提供,電子版以 PDF、EPub 和 Mobi 格式提供購買,僅售 9.9 美元)
編寫Ruby的C拓展
Ruby 源碼解讀
Shell腳本編程30分鍾入門
Go編程基礎
Go入門指南
學習Go語言 (PDF)
Go Web 編程 (此書已經出版,希望開發者們去購買,支持作者的創作)
Go實戰開發 (當我收錄此項目時,作者已經寫完第三章,如果讀完前面章節覺得有幫助,可以給作者捐贈,以鼓勵作者的繼續創作)
Network programming with Go 中文翻譯版本
實戰 Groovy 系列
一份其實很短的 LaTeX 入門文檔
一份不太簡短的 LATEX 2ε 介紹 (PDF版)
ANSI Common Lisp 中文翻譯版
Lua編程入門
Real World Haskell 中文版
R語言忍者秘笈
Scala課堂 (Twitter的Scala中文教程)
Effective Scala(Twitter的Scala最佳實踐的中文翻譯)
Scala指南
The Swift Programming Language 中文版
Modern Perl 中文版
Perl 程序員應該知道的事
笨辦法學Prolog
Vim中文文檔
笨方法學Vimscript 中譯本
Vim中文文檔
編譯原理(紫龍書)中文第2版習題答案
把《編程珠璣》讀薄
Effective C++讀書筆記
Golang 學習筆記、Python 學習筆記、C 學習筆記 (PDF)
Jsoup 學習筆記
學習筆記: Vim、Python、memcached
圖靈開放書翻譯計劃–C++、Python、Java等
蒂姆·奧萊利隨筆 (由譯言網翻譯,電子版免費)
Octave 入門 (PDF版)
SICP 解題集
精彩博客集合
正則表達式簡明參考
② java開源框架有哪些
Spring MVC
Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用Spring進行WEB開發時,可以選擇使用Spring的SpringMVC框架或集成其他MVC開發框架,如Struts1,Struts2等。
2. Struts 2
為了更詳細的闡述現代軟體工程師廣泛使用的現有Java框架,我們決定參考Apache的Struts 1後繼版本Struts 2。這個Java框架對於使用構建當代Java EE Web應用程序的工程師來說是一個很好的選擇。Apache軟體基金會為開發人員提供了一個廣泛的工具,用於創建企業級的面向Web的應用程序,開發過程的優化從開始貫徹到結束,還提供後期的維護。如果你還在為高負載系統(如廣播門戶)發愁,這個框架將是你的不二之選。
3. Hibernate
這個 Java 映射框架藉助於將持續存在的資料庫訪問操作替換為高層次的對象處理功能,來解決對象-關系的不匹配問題。每一個企業應用程序的情況都不同,而Hibernate則擁有功能強大的工具套件來幫助後台開發人員對其數據訪問層進行微調。這是一個高級的 ORM 框架,你可以用它來在 Java 對象(實體)上進行資料庫操作。利用 Hibernate 緩存來將 Java 環境中的數據持久化到資料庫是一個持久化的概念、
4. JSF
作為java EE的一部分,JavaServer Faces被Oracle所支持。雖然這不是一個可以進行快速java開發的最好框架,但它很容易使用,因為Oracle提供了大量文檔。此外,除非你離開java EE環境,JSF不需要任何的外部依賴,而功能非常強大。它擁有豐富的庫和工具(包括一個簡單的用戶界面生成工具),使之成為了一個神奇的魔法棒,無論應用程序可能看起來有多麼復雜,它都可以給予你支持與幫助。
5. Vaadin
當現代開發者創建商業應用程序,並使用GWT渲染終端網頁時,Vaadin稱得上是一個超級流行的框架。Vaadin利用一個眾所周知的基於組件的方法,能夠適應瀏覽器的變化,從而減輕了開發商的負擔。它擁有一套擴展的用戶界面組件,以及各種不同的部件和控制項,可以讓程序員在任何時候都可以建立一個很酷的應用程序。
6. Google Web Toolkit
GWT是另一個免費的java框架,它允許程序員創建和優化復雜的網路應用程序。GWT的軟體開發工具包包括核心的java API和小部件,構建隨後可以編譯成JavaScript的應用程序。
7. Grails
這個獨特的框架被視為是提升工程師生產效率的動態工具,因為其乾脆的API設計,合理的默認值以及約定架構。與java的無縫集成使得這個框架成為世界上眾多框架中的首選。一系列強大的特性,如基於sping的依賴注入和各式各樣的插件,可以提供創建現代基於web的app的所有需要的東西。
③ 怎麼通過jersey-client客戶端調用jersey的web服務
REST (REpresentation State Transfer) 描述了一個架構樣式的網路系統,比如 web 應用程序。它首次出現在 2000 年 Roy Fielding 的博士論文中,他是 HTTP 規范的主要編寫者之一。REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。Web 應用程序最重要的 REST 原則是,客戶端和伺服器之間的交互在請求之間是無狀態的。從客戶端到伺服器的每個請求都必須包含理解請求所必需的信息。如果伺服器在請求之間的任何時間點重啟,客戶端不會得到通知。此外,無狀態請求可以由任何可用伺服器回答,這十分適合雲計算之類的環境。客戶端可以緩存數據以改進性能。在伺服器端,應用程序狀態和功能可以分為各種資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程序對象、資料庫記錄、演算法等等。每個資源都使用 URI (Universal Resource Identifier) 得到一個惟一的地址。所有資源都共享統一的界面,以便在客戶端和伺服器之間傳輸狀態。使用的是標準的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。Hypermedia 是應用程序狀態的引擎,資源表示通過超鏈接互聯。另一個重要的 REST 原則是分層系統,這表示組件無法了解它與之交互的中間層以外的組件。通過將系統知識限制在單個層,可以限制整個系統的復雜性,促進了底層的獨立性。當REST 架構的約束條件作為一個整體應用時,將生成一個可以擴展到大量客戶端的應用程序。它還降低了客戶端和伺服器之間的交互延遲。統一界面簡化了整個系統架構,改進了子系統之間交互的可見性。REST 簡化了客戶端和伺服器的實現。RESTful的實現:RESTful Web 服務與 RPC 樣式的 Web 服務了解了什麼是什麼是REST,我們再看看RESTful的實現。最近,使用 RPC 樣式架構構建的基於 SOAP 的 Web 服務成為實現 SOA 最常用的方法。RPC 樣式的 Web 服務客戶端將一個裝滿數據的信封(包括方法和參數信息)通過 HTTP 發送到伺服器。伺服器打開信封並使用傳入參數執行指定的方法。方法的結果打包到一個信封並作為響應發回客戶端。客戶端收到響應並打開信封。每個對象都有自己獨特的方法以及僅公開一個 URI 的 RPC 樣式 Web 服務,URI 表示單個端點。它忽略 HTTP 的大部分特性且僅支持 POST 方法。由於輕量級以及通過 HTTP 直接傳輸數據的特性,Web 服務的 RESTful 方法已經成為最常見的替代方法。可以使用各種語言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])實現客戶端。RESTful Web 服務通常可以通過自動客戶端或代表用戶的應用程序訪問。但是,這種服務的簡便性讓用戶能夠與之直接交互,使用它們的 Web 瀏覽器構建一個 GET URL 並讀取返回的內容。在REST 樣式的 Web 服務中,每個資源都有一個地址。資源本身都是方法調用的目標,方法列表對所有資源都是一樣的。這些方法都是標准方法,包括 HTTP GET、POST、PUT、DELETE,還可能包括 HEADER 和 OPTIONS。在RPC 樣式的架構中,關注點在於方法,而在 REST 樣式的架構中,關注點在於資源 -- 將使用標准方法檢索並操作信息片段(使用表示的形式)。資源表示形式在表示形式中使用超鏈接互聯。Leonard Richardson 和 Sam Ruby 在他們的著作 RESTful Web Services 中引入了術語 REST-RPC 混合架構。REST-RPC 混合 Web 服務不使用信封包裝方法、參數和數據,而是直接通過 HTTP 傳輸數據,這與 REST 樣式的 Web 服務是類似的。但是它不使用標準的 HTTP 方法操作資源。它在 HTTP 請求的 URI 部分存儲方法信息。好幾個知名的 Web 服務,比如 Yahoo 的 Flickr API 和 del.icio.us API 都使用這種混合架構。RESTful的實現:RESTful Web 服務的 Java 框架有兩個 Java 框架可以幫助構建 RESTful Web 服務。erome Louvel 和 Dave Pawson 開發的 Restlet(見 參考資料)是輕量級的。它實現針對各種 RESTful 系統的資源、表示、連接器和媒體類型之類的概念,包括 Web 服務。在 Restlet 框架中,客戶端和伺服器都是組件。組件通過連接器互相通信。該框架最重要的類是抽象類 Uniform 及其具體的子類 Restlet,該類的子類是專用類,比如 Application、Filter、Finder、Router 和 Route。這些子類能夠一起處理驗證、過濾、安全、數據轉換以及將傳入請求路由到相應資源等操作。Resource 類生成客戶端的表示形式。JSR-311是 Sun Microsystems 的規范,可以為開發 RESTful Web 服務定義一組 Java API。Jersey是對 JSR-311 的參考實現。JSR-311 提供一組注釋,相關類和介面都可以用來將 Java 對象作為 Web 資源展示。該規范假定 HTTP 是底層網路協議。它使用注釋提供 URI 和相應資源類之間的清晰映射,以及 HTTP 方法與 Java 對象方法之間的映射。API 支持廣泛的 HTTP 實體內容類型,包括 HTML、XML、JSON、GIF、JPG 等。它還將提供所需的插件功能,以允許使用標准方法通過應用程序添加其他類型。RESTful的實現:構建 RESTful Web 服務的多層架構RESTful Web 服務和動態 Web 應用程序在許多方面都是類似的。有時它們提供相同或非常類似的數據和函數,盡管客戶端的種類不同。例如,在線電子商務分類網站為用戶提供一個瀏覽器界面,用於搜索、查看和訂購產品。如果還提供 Web 服務供公司、零售商甚至個人能夠自動訂購產品,它將非常有用。與大部分動態 Web 應用程序一樣,Web 服務可以從多層架構的關注點分離中受益。業務邏輯和數據可以由自動客戶端和 GUI 客戶端共享。惟一的不同點在於客戶端的本質和中間層的表示層。此外,從數據訪問中分離業務邏輯可實現資料庫獨立性,並為各種類型的數據存儲提供插件能力。圖1 展示了自動化客戶端,包括 Java 和各種語言編寫的腳本,這些語言包括 Python、Perl、Ruby、PHP 或命令行工具,比如 curl。在瀏覽器中運行且作為 RESTful Web 服務消費者運行的 Ajax、Flash、JavaFX、GWT、博客和 wiki 都屬於此列,因為它們都代表用戶以自動化樣式運行。自動化 Web 服務客戶端在 Web 層向 Resource Request Handler 發送 HTTP 響應。客戶端的無狀態請求在頭部包含方法信息,即 POST、GET、PUT 和 DELETE,這又將映射到 Resource Request Handler 中資源的相應操作。每個請求都包含所有必需的信息,包括 Resource Request Handler 用來處理請求的憑據。從Web 服務客戶端收到請求之後,Resource Request Handler 從業務邏輯層請求服務。Resource Request Handler 確定所有概念性的實體,系統將這些實體作為資源公開,並為每個資源分配一個惟一的 URI。但是,概念性的實體在該層是不存在的。它們存在於業務邏輯層。可以使用 Jersey 或其他框架(比如 Restlet)實現 Resource Request Handler,它應該是輕量級的,將大量職責工作委託給業務層。Ajax 和 RESTful Web 服務本質上是互為補充的。它們都可以利用大量 Web 技術和標准,比如 HTML、JavaScript、瀏覽器對象、XML/JSON 和 HTTP。當然也不需要購買、安裝或配置任何主要組件來支持 Ajax 前端和 RESTful Web 服務之間的交互。RESTful Web 服務為 Ajax 提供了非常簡單的 API 來處理伺服器上資源之間的交互。圖1 中的 Web 瀏覽器客戶端作為 GUI 的前端,使用表示層中的 Browser Request Handler 生成的 HTML 提供顯示功能。Browser Requester Handler 可以使用 MVC 模型(JSF、Struts 或 Spring 都是 Java 的例子)。它從瀏覽器接受請求,從業務邏輯層請求服務,生成表示並對瀏覽器做出響應。表示供用戶在瀏覽器中顯示使用。表示不僅包含內容,還包含顯示的屬性,比如 HTML 和 CSS。 業務規則可以集中到業務邏輯層,該層充當表示層和數據訪問層之間的數據交換的中間層。數據以域對象或值對象的形式提供給表示層。從業務邏輯層中解耦 Browser Request Handler 和 Resource Request Handler 有助於促進代碼重用,並能實現靈活和可擴展的架構。此外,由於將來可以使用新的 REST 和 MVC 框架,實現它們變得更加容易,無需重寫業務邏輯層。數據訪問層提供與數據存儲層的交互,可以使用 DAO 設計模式或者對象-關系映射解決方案(如 Hibernate、OJB 或 iBATIS)實現。作為替代方案,業務層和數據訪問層中的組件可以實現為 EJB 組件,並取得 EJB 容器的支持,該容器可以為組件生命周期提供便利,管理持久性、事務和資源配置。但是,這需要一個遵從 Java EE 的應用伺服器(比如 JBoss),並且可能無法處理 Tomcat。該層的作用在於針對不同的數據存儲技術,從業務邏輯中分離數據訪問代碼。數據訪問層還可以作為連接其他系統的集成點,可以成為其他 Web 服務的客戶端。數據存儲層包括資料庫系統、LDAP 伺服器、文件系統和企業信息系統(包括遺留系統、事務處理系統和企業資源規劃系統)。使用該架構,您可以開始看到 RESTful Web 服務的力量,它可以靈活地成為任何企業數據存儲的統一 API,從而向以用戶為中心的 Web 應用程序公開垂直數據,並自動化批量報告腳本。什麼是REST:結束語REST 描述了一個架構樣式的互聯系統(如 Web 應用程序)。REST 約束條件作為一個整體應用時,將生成一個簡單、可擴展、有效、安全、可靠的架構。由於它簡便、輕量級以及通過 HTTP 直接傳輸數據的特性,RESTful Web 服務成為基於 SOAP 服務的一個最有前途的替代方案。用於 web 服務和動態 Web 應用程序的多層架構可以實現可重用性、簡單性、可擴展性和組件可響應性的清晰分離。Ajax 和 RESTful Web 服務本質上是互為補充的。
④ PHP,JSP,ASP是什麼干什麼用的之間有什麼關系嗎
PHP,Hypertext Preprocessor,最初在95年問世(那時以前叫Personal Home Page)。PHP最初是製作動態網頁的伺服器端腳本語言,但現在PHP已經可以作為command line運行有GUI的standalone的程序。現在是PHP Group在開發和管理PHP的規則,功能等。但PHP大都用在dynamic webpage scripting上,好象沒聽過誰用它開發desktop application。
PHP使用率是製作動態網頁的幾種語言(JSP,ASP,ASP.NET, ColdFusion, Ruby, SHTML)中最高的。因為PHP在95年已經問世至今,以有相當數量的開發者。我們熟知的國際權威網路全書Wikipedia有90%用PHP寫的,而且國外流行多年的「校內網」FaceBook 也全部用PHP寫的,同時Yahoo, Sony官方,Pepsi百事官方這些網站都是用PHP的。根據維基網路(Wikipedia)的說法,PHP被超過20,000,000的網站所用,被超過1,000,000的網頁伺服器所用。目前到2008五月,PHP最新版本為5.2.6。
PHP不僅使用率高,而且能兼容各類平台。它可以在大多數網頁伺服器上運行(如:MS IIS,Apache),大多數操作系統上運行(如:Windows, UNIX, Linux)。而且PHP支持很大多數牌子的資料庫:MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Gerneric ODBC等。
結構方面,雖比JSP,ASP.NET差點,PHP也有很多Framework可用。微軟的ASP.NET結構是出名的,JSP的MVC結構也很厲害,所以開發大網站ASP.NET,JSP都很快。而PHP Group也為此付出很大努力,來開發自己特有的結構適應不同類型的大網站的需求。常見的PHP的Framework有:CakePHP, PRADO, Symfony, Zend等。
另外LAMP結構,是PHP最常用的開發模式,即是配合Linux, Apache, MySQL, PHP,合稱LAMP。個人認為這種方式才是ASP.NET,PHP,JSP中最簡單的。
3. 說說JSP。(本人工作中用的最多的就是JSP)
JSP, JavaServer Pages 是Java技術的一部分,可以說是Java Platform Enterprise Edition的一部分(JAVA主要3個大技術,Java SE, Java EE, Java ME)。軟體開發者可以用JSP來動態生成HTML,XML或者其他的文檔。然後把文檔response給網頁用戶。這項技術,可以用Java里的所有定義過的library來支持它的功能,所以JSP的API和普通Java EE的API一樣。
JSP里還有很多有功能的XML tag(如:<jsp:include>,<jsp:useBean)。這些都是JAVA內置功能,不需要導入新的外置 library。這些XML tag,可以在很多Web Server里使用(如:Apache, Apache TomCat, WebLogic等)。
JSP在編譯後就完全和Servlet一樣了。JSP頁面在第一次被用戶訪問的時候,首先被JAVA 編譯器,編譯成Java Servlet Class。然後編譯後Servlet Class,在以後被用戶訪問時,直接在JVM里運行,由JSP Web Container來輸出HTML給用戶。JSP這種「首次訪問-預編譯」的運行方式比傳統PHP(PHP 4和PHP以前版本),過時的ASP(所有版本的ASP),要快很多。(網路一位網友作過一個1萬次For Loop,循環的測試,結果發現JSP比傳統PHP,ASP快盡10被的速度就完成運算)。預編譯的運行方式後來被PHP5效仿,ASP.NET也是預編譯的。當然JSP還有一個好處,就是可以直接用純Java (無HTML),來寫一個Servlet,直接在JVM運行後,由JSP Web Container輸出HTML給用戶。只是Servlet有的時候寫一些presentation tier的東西很麻煩,因為它不能融合XML和輸出邏輯在一起。所以一般Servlet用於純Java的business logic邏輯。
JSP的tag還可以由用戶自己來創造和使用,這個和ASP.NET里的user-defined controls差不多。
MVC, Model-View-Controller,是JSP的普遍開發架構,用來把JSP技術中的presentation, business logic, data storage三層清楚的分開。這樣使開發過程更佳清楚明了,便於開發,維護。常用的MVB架構有:Barracuda, Apache Struts和Spring。JSF,JavaServer Faces是一個由SUN官方開發的Framework,是模仿ASP.NET的event-driven開發模式,和ASP.NET非常相似。但SUN 並沒有讓JSF替代JSP,相反JSF的開發者少之又少,但是據說現在JSF或JSP配合RAD(AJAX)開發很流行(校內網就是這樣,而且結合Struts)。
4. ASP(Active Server Pages), ASP.NET 兩個分別是 動態網頁開發語言,動態網頁開發語言和結構
(1) 關於ASP的淘汰
ASP, Active Server Pages已經過時了, 但因為其出現的早,96年就有了,所以現在有些中小網站還用(但,使用最多最廣的是PHP,最初於95年現世。ASP是微軟第一代動態網頁開發語言,只能在Windows系統 + MS IIS伺服器平台下運行。
Wikipedia, Facebook, 網路等都用PHP,PHP學習的簡單度和ASP差不多;JSP稍微難點,JSP用的一般都是銀行,購物等安全性較高的網站,Google也用JSP)。但隨著開發者的各種需求,ASP以後可以被ASP.NET取代,因為微軟停止對其的一切技術維護與功能更新。ASP.NET是革新版本的ASP(注意是「革新版本」,而非「改進版本」),或者說是完全新一代的Dynamic Web Scripting。
ASP代表著傳統的dynamic web scripting,與ASP.NET沒什麼關系,學了確實也沒用。因為ASP不象CGI(Common Gateway Interface),CGI是動態網站製作的始祖,所有ASP,JSP,PHP什麼的都根據CGI演化而來,而且ASP,PHP,JSP都包含了些 CGI的東西;而ASP卻沒有被衍生出任何新技術,ASP.NET也不算基於ASP,只能說ASP.NET開發理念,library,功能完全是基於.NET的其它組件。
其實PHP,JSP,ASP明白其中一種,其它的都很容易學會了。如果非要學學傳統的dynamic web scripting,那就學學PHP吧,不比ASP難,但比ASP功能多,穩定性好,PHP5運行速度也比ASP快很多(JSP稍難因為要學點 Java)。學了PHP或JSP什麼的,對學ASP.NET有好處,而且還可以直接用PHP,JSP進行開發。去google差差英文資源,有評價PHP 最好的,有評價JSP最好的,還從沒有聽誰說過ASP最好。
ASP.NET畢竟在.NET中,所以ASP.NET還是有相當地位的。
(2). 關於ASP.NET的優勢
ASP.NET是微軟.NET Framework的一部分。伴隨.NET 1.0在2002的問世,ASP.NET也出現在動態網頁開發語言的家族中(與PHP,JSP,ColdFusion, Ruby, SHTML等並行了)。
功能上,ASP.NET比ASP有更強大的library, 更好的穩定性。 ASP.NET可以使用.NET Framework中所有組件(也就是說.NET能實現的,ASP.NET一樣能實現),功能上顯然強大於傳統功能單調的ASP。最強的技術支持Web Service, 而且有.NET的所有library做後盾。而且ASP.NET 在.NET 3.5中還有微軟專門為AJAX開發的功能--ASP.NET AJAX。
結構上,傳統的ASP把所有代碼混為一團,簡單的用<%%>把HTML和VBScript(或JScript)分開,實現動態輸出 HTML。因為ASP.NET模仿JSP的MVC網頁結構,微軟為ASP.NET開發了自己的Code-Behind結構,將 presentation(文件拓展名:.aspx)和business logic(文件拓展名:.cs或.vb等)分離。同時Code-Behind模式也實現了讓ASP.NET開發者用.NET中最普通Winform的開發模式來開發網站,方便非網頁開發者製作動態網站。所以ASP.NET更容易維護,比ASP更適合於Enterprise Level 的大網站開發。
由於ASP.NET比JSP,PHP等更接近於.NET Winform的開發。如Tree View, Datagrid View(即高級Table)等高級UI,都可以直接用ASP.NET中的Web Control來實現,這比傳統的使用JavaScript + XTHML + CSS的DHTML開發方式簡單不少,也更好維護。同時ASP.NET開發這可以定義自己的User Control,製作自己特別的一種UI(如網站LOGO,版權等部分),而且此User Control可以被存為.ascx文件,方便讓每一頁(.aspx)來使用。
運行速度上,ASP.NET模仿了JSP的預編譯機制(Pre-Compile)。使編譯好的代碼(MSIL語言)在網頁伺服器上運行。這樣比傳統的ASP,傳統PHP(PHP4以前版本)更快,因為傳統的ASP是直接運行開發者寫的Script,相當於每運行一次,就得編譯一次那麼慢。 ASP.NET可以用VB, C#, J#等所有.NET Framework的語言開發.(但其實每種語言做的東西都一樣... 就象山東話, 東北話, 寫出來都是中文:)
不過ASP.NET對出學者可能有點難. 因為它其實在模擬desktop application development,即Winforms開發的模式, 不象傳統的JSP,PHP, ASP這樣容易明白。傳統的Dynamic Server Scripting, 象PHP 5, 這是現在最簡單的, 最有效的了。( 那個JSP也不難. 如果有錢還可以考慮下Adobe ColdFusion。)
ASP.NET的新潮的Dynamic Server Scripting, 在其帶動下SUN也推出自己的JavaServer Faces (其實是拓展JSP,但JSF無法取代JSP), 和ASP.NET很象, 也有很多Web Control(JTable, JTree),同時JSF也曾強了對WEB SERVCIE的支持, 也很適合ENTERPRISE LEVEL 的網站。
(3). ASP與ASP.NET的優劣總結:
-- ASP已經被微軟停止更新;ASP.NET卻在.NET(1.0, 2.0, 3.0, 3.5)中突飛猛進;
-- ASP在96年出現,並沒有引領一個潮流,PHP,ColdFusion都出現於95年,引領了整個潮流;ASP.NET引領新的動態網站開發潮流,SUN的JSF(JavaServer Faces)就是與ASP.NET極其相似;
-- ASP大多被用在是中小網站;PHP被Wikipedia, Facebook, 網路所用,JSP被GOOGLE所用;
-- ASP不支持Web Service; ASP.NET支持Web Service。要是了解.NET中的Web Service在大組織系統中的重要性,就能立桿見影的看出差距
-- ASP開發AJAX比較麻煩;而ASP.NET專門用AJAX控制項,更方便。要是了解Web 2.0,那麼AJAX是什麼地位,就不用我說了吧。
-- ASP.NET模仿JSP,是pre-compile的;ASP不compile,直接運行Script的速度顯然沒有compile之後的快。
-- ASP.NET的唯一缺點,就是開發用的IDE--Visual Studio Professional比較貴(express版免費的功能太少);ASP的唯一優點是,其
學起來最簡單,跟PHP一樣簡單,比JSP簡單,更比ASP.NET簡單幾倍。
⑤ 懂編程的來
日,一樓搞那麼多廢話放屁啊
你數學菜,英文又差,說實話這個很難,不過沒關系,你可以花兩個月的時間好好研究C 語言,然後學C#,或者C++,不過C++比C#難,原理都是差不多,面向對象的可視化語言`功能強大
⑥ 現在有什麼好用的java開發框架
分享10個最好的工具、框架和庫,以幫助 Java 開發人員在不同的 Java 項目中更好地執行單元測試和集成測試。
▌JUnit
JUnit 應該不需要過多介紹。哪怕你是一位 Java 初學者,我想你也應該聽說過它,它能夠讓你為 Java 代碼編寫單元測試。
幾乎所有常用的 IDE,比如 Eclipse、NetBeans 和 IntelliJ,都能夠集成 JUnit,這意味著開發者直接可以在這些 IDE 中編寫並運行單元測試。
目前大多數人仍然在使用 JUnit 4,事實上新的 JUnit 5 已經發布。你可以用 JUnit 進行單元測試和集成測試,此外,它還支持 Java 8 功能。