原创 網絡應用程序的架構:C/S架構、B/S架構的區別與優缺點

網絡應用層架構一般分爲兩層架構、三層架構、N層架構。其中B/S架構、C/S架構是兩層架構的代表。 一、C/S架構 C/S架構是Client/Server的縮寫,翻譯過來就是“客戶端/服務器”。 C/S架構的業務邏輯主要集中在客戶端,而這裏

原创 Python小知識點——生成器(generator)與關鍵字yield的運用

生成器(generator)是一種可迭代對象。 在處理包含大量數據時,如果使用list來進行操作,會導致內存佔用大,效率低。生成器通過延遲計算,實現了一種邊循環邊計算的可能,只有在需要的時候才返回相應的結果,而不是一次性返回一整個結果列表

原创 js生[n,m]範圍內的隨機數

生成一個[n,m]範圍內的隨機數,即[n,n+(m-n)],此時的(m-n)的值是可以通過隨機數獲取的。 舉例說明 生成一個[30,40]的隨機數 let res = 30 + Math.floor(Math.random() * (4

原创 如何提高Python程序運行效率:基於多進程multiprocessing模塊

Python版本:3.70;操作系統:Windows10 (出發點:通過multiprocessing模塊用最簡單的方式來讓你提高程序運行效率) 來了更好的感受到multiprocessing模塊提升運行效率的效果,將提出一個問題,並採用

原创 Python如何將字符串分割成單個字符,並形成一個list?

一個字符串可以看做是一個list 具體操作如下 >>> a = "這是一段話" >>> a[0] '這' >>> list(a) ['這', '是', '一', '段', '話'] >>> for x in a: print(x)

原创 純CSS實現星級評分特效組件

參考掘金的文章:https://juejin.im/post/5d57adf5f265da03e3697e1b(作者:聰明的湯姆) HTML <form action="" onsubmit="return false"> <d

原创 flask+原生ajax實現上傳和下載進度數值顯示

注意:本文代碼只提供進度數值顯示,未實現進度條的顯示 一、下載進度 <div class="schedule">0</div> <button onclick="download()">下載</button> <script>

原创 CSS實現元素width右方向變化、左方向變化、雙向變化

改變dom元素的width值,頁面上默認是向右變化(向右伸長以及向左縮短)。 以下爲實現雙向變化和向左變化(向左伸長以及向右縮短) 1、雙向變化(實例) <!DOCTYPE html> <html lang="zh"> <head>

原创 純CSS實現摺疊面板和手風琴效果

 用label綁定到對應的checkbox上,然後把checkbox隱藏掉,再用僞類選擇器(:checked)和相鄰兄弟選擇器(~或+)來觸發顯示或隱藏。 如果需要“手風琴”效果,只需要把每個checkbox的type設置爲radio即可

原创 JS實現apply和call

基本的思路就是,把函數暫時借用一下,執行完後就立刻刪除,需要注意的是對參數的處理 function Person() { this.name = "無名" } Person.prototype.print = function(

原创 三欄式佈局:flex、絕對定位和浮動

兩邊的盒子寬度固定,中間盒子自適應。 一、flex <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" con

原创 關於koa-body上傳文件的基本流程記錄

一、前端 upload(){ const file = document.querySelector("#file"); const fd = new FormData(); // 需要創建一個表單對象 fd.a

原创 CSS3 - flex屬性:flex-grow、flex-shrink和flex-basis

HTML <div class="parent"> <div class="c c1">1</div> <div class="c c2">2</div> <div class="c c3">3</div></div> </

原创 JavaScript 排列組合

針對結果無序的情況。 主要的思路就是用未被組合的元素(data變量內)去組合已經組合過的元素(res變量內),並把自身也放進res中 const data = ['a', 'b', 'c']; function getGroup(dat