原创 大白話HTTP/HTTPS協議

1、計算機中什麼是協議 在計算機中要與其他設備進行通信,雙方就必須基於相同的方法。比如,如何探測到通信目標、由哪一邊先發起通信、使用哪種語言進行通信、怎樣結束通信等規則都需要事先確定。不同的硬件、操作系統之間的通信,所有的這一切都

原创 Django 使用 signals 在數據被新增、修改、刪除時執行一些業務邏輯

1、模型示例 from django.db import models from soft_delete_it.models import SoftDeleteModel class BaseModel(models.Model

原创 Python 實現常見算法之二分法查找

什麼是搜索 搜索(又叫查找)是在一個項目集合中找到一個特定項目的算法過程。搜索通常的答案是真的或假的,因爲該項目是否存在。 搜索的幾種常見方法:順序查找、二分法查找、二叉樹查找、哈希查找 什麼是二分法查找 二分查找又稱折半查

原创 Python 數據結構之單向循環鏈表的實現

單向循環鏈表: 單鏈表的一個變形是單向循環鏈表,鏈表中最後一個節點的next域不再爲None,而是指向鏈表的頭節點。 # 單向循環鏈表基於Python語言的實現 ''' 單向循環鏈表需要實現的方法: is_empty() 鏈表

原创 Linux 高併發核心配置

1、open file(調整同時打開文件數量)的限制 使用命令ulimit -a可以查看 修改在 vim /etc/security/limits.conf 文件最後輸入 建議配置:注意open file建議不超過65535 *

原创 Python 數據結構之雙向鏈表的實現

雙向鏈表: 即每個節點有兩個鏈接:一個指向前一個節點,當此節點爲第一個節點時,指向空值;而另一個指向下一個節點,當此節點爲最後一個節點時,指向空值。當節點既是頭結點又是尾節點時,兩個鏈接均爲空值。 # 雙向鏈表基於Python

原创 certbot以nginx方式爲域名加https證書

ubuntu16.04 server下 1、添加源 sudo add-apt-repository ppa:certbot/certbot 如果報命令 add-apt-repository 找不到,運行 sudo apt-get

原创 Python 數據結構之單向鏈表的實現

鏈表(Linked list)是一種常見的基礎數據結構,是一種線性表,但是不像順序表一樣連續存儲數據,而是在每一個節點(數據存儲單元)裏存放下一個節點的位置信息(即地址)。 爲什麼需要鏈表: 順序表的構建需要預先知道數據大小來申

原创 vue-cropper 寫一個支持圖片剪裁的上傳組件

1、組件完整代碼如下 <template> <div> <el-upload :action="action_url" :headers="headers" :show-file-l

原创 Django DRF ModelSerializer 對不屬於模型中的字段進行驗證的解決方法

示例的序列化器 class AddFlowBodySerializer(serializers.ModelSerializer, BaseModelSerializer): approval_flow = serializ

原创 Django DRF model 多對多關係使用示例

本例環境:Django=2.0.6 djangorestframework=3.9.2 1、模型示例 from django.db import models class BaseModel(models.Model):

原创 Django DRF在創建父表數據時同時將子表數據一同創建

1、用於測試的模型 # 父表模型 class Auth(SoftDeleteModel, BaseModel): auth_type = models.CharField(max_length=255, verbose_n

原创 Django 使用models.Manager擴展查詢的方法

先來擴展一下使用.all()查詢時,通過傳入自定義參數返回不同的數據集 1、在模型中使用models.Manager # 自定義擴展.all()方法 class MiddlewareRegionSplitManager(model

原创 Python3.7 高級編程之 async/await asyncio 通過任務task併發運行協程

同步執行的協程 import asyncio import time # 使用 main 函數的await 發起兩個攜程,此時代碼仍然是同步的,當第一個await 完成之後 纔會啓動第二個await 這是他們的運行就和函數是一致

原创 Python3.7 高級編程之 async/await asyncio 通過asyncio.wait 實現的異步

Python中的異步 # demo.py import asyncio, time # asyncio.wait() 等待執行完成 async def foo(): await asyncio.sleep(2)