原创 SpringBoot 整合 Swagger 2

在前後端分離開發中,爲了減少與其他團隊的溝通成本,一般構建一份 RESTful API 文檔來描述所有的接口信息,但是這種做法有很大的弊端: 接口衆多,編寫 RESTful API 文檔工作量巨大,因爲 RESTful API

原创 SpringBoot 數據校驗

數據校驗是開發過程中一個常見的環節,一般來說,爲了提高系統運行效率,都會在前端進行數據校驗,但是這並不意味着不必在後端做數據校驗了,因爲用戶還是可能在獲取數據接口後手動傳入非法數據,所以後端還是需要做數據校驗。 Spring Bo

原创 編程題 求最大公約數

暴力枚舉法 暴力枚舉的方法從較小整數的一半開始,試圖找到一個合適的整數 i,看看這個整數能否被 a 和 b 同時整除。 public static int getGreatestCommonDivisor(int a, int b

原创 計算機網絡 瀏覽器同源

轉載於: http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html 瀏覽器安全的基石是"同源政策"(same-origin policy)。 一、概述 1.1 含

原创 系統設計 摘要、對稱加密、非對稱加密

摘要 採用單向加密算法,比如 MD5,SHA1,MAC 等,這是一種數據完整性的加密,這種單向加密一般我們稱爲摘要,而不是純意義上的加密。防止數據在傳輸過程中被篡改,因爲摘要是不可逆的,比較常見的場景,某會員系統裏,會員密碼信息都

原创 計算機網絡 網絡攻擊

跨站腳本攻擊 XSS 跨站腳本攻擊(Cross-Site Scripting, XSS),可以將代碼注入到用戶瀏覽的網頁上,這種代碼包括 HTML 和 JavaScript。 攻擊原理 例如有一個論壇網站,攻擊者可以在上面發佈以下

原创 計算機網絡 HTTP 請求與響應

HTTP 請求報文 HTTP請求報文主要由請求行、請求頭部、請求正文這 3 部分組成: 請求行 由 3 部分組成,分別爲:請求方法、URL 以及協議版本,之間由空格分隔 請求方法包括 GET、DELETE、PUT、POST、TR

原创 計算機網絡 跨域資源共享 CORS

轉載自: http://www.ruanyifeng.com/blog/2016/04/cors.html CORS是一個 W3C 標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。 它允

原创 Linux 壓縮與打包

壓縮文件名 Linux 底下有很多壓縮文件名,常見的如下: 擴展名 壓縮程序 *.Z compress *.zip zip *.gz gzip *.bz2 bzip2 *.xz xz *.tar

原创 Spring Cloud Zuul API 網關服務

API 網關是一個更爲智能的應用服務器,它的定義類似於面向對象設計模式中的 Facade 模式,它的存在就像是整個微服務架構系統的門面一樣,所有的外部客戶端訪問都需要經過它來進行調度和過濾。它除了要實現請求路由、 負載均衡、 校驗

原创 Spring SpringMVC 工作原理

參考鏈接: https://snailclimb.gitee.io/javaguide/#/docs/system-design/framework/spring/SpringInterviewQuestions 前言 Mode

原创 計算機網絡 HTTP 與 HTTPS

端口 HTTP 的 URL 由 “http://” 起始且默認使用端口 80,HTTPS 的 URL 由 “https://” 起始且默認使用端口 443。 安全性和資源消耗 HTTP 協議運行在 TCP 之上,所有傳輸的內容都是

原创 MySQL 日期與時間類型

參考鏈接: https://www.cnblogs.com/wlzjdm/p/6953398.html https://www.cnblogs.com/alterem/p/12001817.html 日期類型 MySql 中關於日

原创 Java PriorityQueue

PriorityQueue 一個基於優先級的無界優先級隊列。內部使用 Object 數組實現,默認大小是 11。 PriorityQueue 通過二叉小頂堆實現,具體說是通過完全二叉樹(complete binary tree)實

原创 操作系統 頁面置換算法

虛擬內存管理很重要的一個概念就是頁面置換算法。地址映射過程中,若在頁面中發現所要訪問的頁面不在內存中,則發生缺頁中斷 。 缺頁中斷 就是要訪問的頁不在主存,需要操作系統將其調入主存後再進行訪問。 在這個時候,被內存映射的文件實際