一、jQuery與Vue
- jQuery:jQuery是一個快速、簡潔JavaScript框架,具備獨特的鏈式語法和短小清晰的多功能接口;具備高效靈活的css選擇器,它封裝JavaScript經常使用的功能代碼,提供一種簡便的JavaScript設計模式,優化HTML文檔操做、事件處理、動畫設計和Ajax交互
- vue:vue是一個興起的前端js庫,是一個精簡的MVVM。從技術角度講,Vue.js 專一於 MVVM 模型的 ViewModel 層。它經過雙向數據綁定把 View 層和 Model 層鏈接了起來,經過對數據的操做就能夠完成對頁面視圖的渲染
二者的區別:css
jQuery是使用選擇器($)選取DOM對象,對其進行賦值、取值、事件綁定等操做,其實和原生的HTML的區別只在於能夠更方便的選取和操做DOM對象,而數據和界面是在一塊兒的。好比須要獲取label標籤的內容:$("lable").val();
,它仍是依賴DOM元素的值。 前端
Vue則是經過Vue對象將數據和View徹底分離開來了。對數據進行操做再也不須要引用相應的DOM對象,能夠說數據和View是分離的,他們經過Vue對象這個vm實現相互的綁定。這就是傳說中的MVVM。vue
爲何說如今jQuery 的使用率愈來愈低,主流已經不是jQuery?java
如今國內比較火的React 、Vue 、Angular框架,都是屬於MV*框架的範疇,其設計特色,主要是以數據爲核心。能夠說操做DOM的事兒,就留給框架去作了。這比傳統jQuery開發效率高,代碼可維護性高,可擴展性強、性能好。mysql
打個比方:react
我讓jQuery去買瓶醬油,給了他100塊錢,這時咱們須要告訴他去小賣鋪的路怎麼走、怎麼跟老闆說買啥醬油,買多少錢的醬油,找多少零錢,還得告訴他怎麼回來(命令式)。程序員
這時我讓Vue去買醬油去了,這時我只須要給他錢,而且告訴他目的地在哪兒,買什麼醬油便可,不須要手把手教他(函數式)。算法
這就是傳統開發和現代框架開發的不一樣。sql
使用現代框架開發,可使用Webpack(固然使用jQuery也可使用Webpack),可使用人家提供的現成的腳手架,比方說create-react-app,vue-cli。極大提升了開發的效率,而且可使用最新的ES六、ES7語法進行開發,在編碼體驗上,就提升了一個檔次。vue-cli
二、MySQL與SQL Server
MySQL:
MySQL數據庫是一個開放碼源的數據庫並普遍應用在於小型企業或者組織中的小型數據管理系統,MySQL數據庫因其體積小、速度快、整體擁有成本低受到中小企業的熱捧
優勢:
- 使用C和C++編寫,並使用了多種編譯器進行測試,保證源代碼的可移植性
- 支持多種操做系統
- 支持多線程,充分利用CPU資源
- 優化SQL查詢算法,有效提升查詢速度
- Mysql是開源的,因此你不須要支付額外的費用
- 支持大型數據庫。能夠處理成千上萬條記錄的大型數據庫
缺點:
- 不徹底支持陌生的關鍵詞
- 缺少一些存儲程序的功能
- 使用缺省的ip端口,可是有時候這些ip也會被一些黑客闖入
- 使用myisam配置,若是你不慎損壞數據庫,結果可能會致使全部的數據丟失
SQL Server:
是一個關係數據庫管理系統,SQL Server可以知足今天的商業環境要求不一樣類型的數據庫解決方案,憑藉易用性、適合分佈式組織的可伸縮性,成爲了最受用戶歡迎的數據庫管理系統之一
優勢:
- 圖形化的用戶界面,使系統管理和數據庫管理更加直觀、簡單
- 有很好的伸縮性,能夠跨平臺使用
- 提供數據倉庫功能,這個功能只在Oracle和其餘 昂貴的DBMS中才有
- 與WinNT徹底集成,利用了NT的許多功能,如發送和接受消息,管理登陸安全性等,SQL Server也能夠很好地與Microsoft BackOffice產品集成
缺點:
- 開放性。只能運行在微軟的windows平臺,沒有絲毫的開放性所言
- 可伸縮性,並行性。並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限
- 性能穩定性。SQLServer當用戶鏈接多時性能會變的不好,而且不夠穩定
- 使用風險。SQLServer徹底重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需時間來證實。並不十分兼容早期產品。使用須要冒必定風險
二者區別:
- MySQL是開源的
- mysql支持enum,和set類型,sql server不支持
- mysql不支持nchar,nvarchar,ntext類型
- mysql的遞增語句是AUTO_INCREMENT,而mssql是identity(1,1)
- mssql識別符是[],[type]表示他區別於關鍵字,可是mysql倒是 `,也就是按鍵1左邊的那個符號
更多的區別:點擊此網址
https://www.jb51.net/article/54346.htm
三、Hidernate框架
Hidernate 是一個開放源代碼的對象關係映射框架,它對JDBC進行了很是輕量級的對象封裝,使得java程序員能夠爲所欲爲的使用對象編程思惟來操做數據庫。 Hibernate能夠應用在任何使用JDBC的場合,既能夠在Java的客戶端程序使用,也能夠在Servlet/JSP的Web應用中使用。
Hibernate的核心接口一共有6個,分別爲:Session、SessionFactory、Transaction、Query、Criteria和Configuration:
- Session接口:Session接口負責執行被持久化對象的CRUD操做(CRUD的任務是完成與數據庫的交流,包含了不少常見的SQL語句)。但須要注意的是Session對象是非線程安全的。同時,Hibernate的session不一樣於JSP應用中的HttpSession。這裏當使用session這個術語時,其實指的是Hibernate中的session,而之後會將HttpSession對象稱爲用戶session
- SessionFactory接口:SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,並負責建立Session對象。這裏用到了工廠模式。須要注意的是SessionFactory並非輕量級的,由於通常狀況下,一個項目一般只須要一個SessionFactory就夠,當須要操做多個數據庫時,能夠爲每一個數據庫指定一個SessionFactory
- Transaction:Transaction接口負責事務相關的操做。它是可選的,開發人員也能夠設計編寫本身的底層事務處理代碼
- Query和Criteria接口:Query和Criteria接口負責執行各類數據庫查詢。它可使用HQL語句或SQL語句兩種表達方式
- Configuration類:Configuration類負責配置並啓動Hibernate,建立SessionFactory對象。在Hibernate的啓動的過程當中,Configuration類的實例首先定位映射文檔位置、讀取配置,而後建立SessionFactory對象
優勢:
- 對象/關係數據庫映射(ORM):它使用時只須要操縱對象,使開發更對象化,拋棄了數據庫中心的思想,徹底的面向對象思想
- 透明持久化(persistent):帶有持久化狀態的、具備業務功能的單線程對象,此對象生存期很短
- 事務Transaction(org.hibernate.Transaction):應用程序用來指定原子操做單元範圍的對象,它是單線程的,生命週期很短
- 它沒有侵入性,即所謂的輕量級框架
- 移植性很好
- 緩存機制,提供一級緩存和二級緩存
- 簡潔的HQL編程
缺點:
- Hibernate在批量數據處理時有弱勢
- 針對單一對象簡單的增刪查改,適合於Hibernate,而對於批量的修改,刪除,不適合用Hibernate,這也是OR框架的弱點;要使用數據庫的特定優化機制的時候,不適合用Hibernate
四、MyBatis框架
MyBatis是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎全部的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。
優勢:
- 簡單易學:mybatis自己就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個sql映射文件易於學習,易於使用,經過文檔和源代碼,能夠比較徹底的掌握它的設計思路和實現
- 靈活:mybatis不會對應用程序或者數據庫的現有設計強加任何影響。 sql寫在xml裏,便於統一管理和優化。經過sql基本上能夠實現咱們不使用數據訪問框架能夠實現的全部功能,或許更多
- 解除sql與程序代碼的耦合:經過提供DAL層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提升了可維護性
- 提供映射標籤,支持對象與數據庫的orm字段關係映射
- 提供對象關係映射標籤,支持對象關係組建維護
- 提供xml標籤,支持編寫動態sql
缺點:
- 編寫SQL語句時工做量很大,尤爲是字段多、關聯表多時,更是如此
- SQL語句依賴於數據庫,致使數據庫移植性差,不能更換數據庫
- 框架仍是比較簡陋,功能尚有缺失,雖然簡化了數據綁定代碼,可是整個底層數據庫查詢實際仍是要本身寫的,工做量也比較大,並且不太容易適應快速數據庫修改
- 二級緩存機制不佳
總結:
mybatis的優勢一樣是mybatis的缺點,正由於mybatis使用簡單,數據的可靠性、完整性的瓶頸便更多依賴於程序員對sql的使用水平上了。sql寫在xml裏,雖然方便了修改、優化和統一瀏覽,但可讀性很低,調試也很是困難,也很是受限。
mybatis沒有hibernate那麼強大,可是mybatis最大的優勢就是簡單小巧易於上手,方便瀏覽修改sql語句。
五、get和post方法的區別
- get參數經過url傳遞,post放在request body中
- get請求在url中傳遞的參數是有長度限制的,而post沒有
- get比post更不安全,由於參數直接暴露在url中,因此不能用來傳遞敏感信息
- get請求只能進行url編碼,而post支持多種編碼方式
- get請求會瀏覽器主動cache,而post支持多種編碼方式
- get請求參數會被完整保留在瀏覽歷史記錄裏,而post中的參數不會被保留
- GET和POST本質上就是TCP連接,並沒有差異。可是因爲HTTP的規定和瀏覽器/服務器的限制,致使他們在應用過程當中體現出一些不一樣
- GET產生一個TCP數據包;POST產生兩個TCP數據包
長的說:
對於GET方式的請求,瀏覽器會把http header和data一併發送出去,服務器響應200(返回數據);
而對於POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。
六、ubuntu / redhat(商業公司)/ Fedora / CentOS