- 博客(75)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
原创 解决django-celery-beat提示数据库配置错误,不支持多数据库的问题
1. 问题复现在某天写完一个 celery 定时任务时,启动 celery 后正准备启动 celery-beat,突然发现弹出大量警告然后退出了进程,往上翻果然发现报错celery beat v5.1.2 (sun-harmonics) is starting.[2021-11-01 18:32:11,917: INFO/MainProcess] beat: Starting...[2021-11-01 18:32:12,071: CRITICAL/MainProcess] beat raised
2021-11-03 16:08:47
1246
1
原创 aiohttp session 持久化,以单例方式调用
前言aiohttp 是 python 中发请求最快的库,我们可以创建一个 session 批量发送大量异步请求,但是创建每个 session 都是一个很消耗资源的工作,如果能够持久化(Persistent),像一个变量那样调用,我们可以进一步提高代码的效率。但是按照 aiohttp 的文档,我们似乎必须在类似使用 aiohttp 创建路由的情况下才能持久化 session;同时在在外部环境中我们必须在在 async/await 中才能创建出一个 session,如何才能实现一个单例模式去调用它呢?
2021-10-18 14:18:40
2626
原创 Django合并清理migrations文件
随着项目开发进程,对 model 的不断修改将生成越来越多的 migrations 文件,对项目维护造成很多麻烦,所以需要对目前项目里的迁移文件进行合并操作1. 初始项目项目此时处于初期,数据库中无重要数据,不担心数据或者表出现问题直接删除各个文件夹下 migration 文件夹中迁移文件lists=$(ls)for i in $lists;do ls -d $i/migrations/* | grep -v '__init__.py' | xargs rm -rfdone重新生成迁.
2021-10-14 14:37:20
805
原创 Django 迁移过程及常见操作
在 Django 中,数据库迁移涉及三个部分Models:只记录了现在的 Model 是什么样子的;Migrations:记录了 Model 从创建开始到每一次的修改记录django_migrations 表:migrations 迁移执行时会在该表中记录每一次操作,我们回退版本以及确认是否执行迁移都是通过这张表1. 操纵 model 的流程和原理正常的顺序是:修改模型 model -> 执行 makemigrations -> 执行 migrate而在这一过程中,Djang
2021-10-14 14:31:58
2979
1
原创 Django QuerySet优化
参考:https://docs.djangoproject.com/zh-hans/3.2/topics/db/optimizationhttps://www.jianshu.com/p/aded5b2029f6https://angysmark.medium.comhttps://www.kawabangga.com/posts/4484Django 的 ORM 属于 Python 众多 ORM 选项中综合性能较高的 ORM 之一,同时作为 Django 高耦合的核心模块,我们在此必须投入十.
2021-10-11 18:45:27
1664
1
原创 Django ORM中的N+1问题
N+1 查询问题是一个长期存在的数据库性能问题。它影响了许多 ORM 和自定义 SQL 代码,Django 的 ORM 也不能幸免Django Object-Relational Mapper(ORM) 作为 Django 比较受欢迎的特性,在开发中被大量使用。我们可以通过它和数据库进行交互,实现 DDL 和 DML 操作.QuerySet 本质上是通过在预先定义好的 model 中的 Manager 和数据库进行交互,Manager 是 Django model 提供数据库查询的一个接口,在每个 .
2021-09-28 11:00:21
1502
3
原创 消除Django的RuntimeWarning:DateTimeField警告
一个看着很难受的警告/python3.9/site-packages/django/db/models/fields/init.py:1416: RuntimeWarning: DateTimeField XXXXXXModel.xxx_time received a naive datetime (2021-06-30 17:00:00) while time zone support is active.warnings.warn(“DateTimeField %s received a naiv
2021-06-23 10:56:18
4758
原创 多路归并排序-Python实现大文件排序,合并排序
使用python实现多(K)路归并外部排序,解决小内存排序大文件问题上一篇中,我们实现了一般的归并排序 归并排序递归与非递归-Python实现在实际工作中,多个有序数列合并成一个,大文件或多个大文件合并成一个并排序的需求常见并不少见,首先,先来看一下多个有序数列情况合并多个有序数组比如现在有四路:a0: [1, 3, 6, 7]a1: []a2: [3, 5, 7, 19]a3: [9, 12, 87, 98]保存每路最小值第一步需要知道每一路的最小值,如果每一路用数组表示的话需要保
2021-06-01 11:28:41
1503
原创 Python可变参数、闭包陷阱说明及解决方案
python函数中可变参数类型及闭包延迟绑定问题一直是初学者常见且面试常问的问题,我们一起来看看为什么会这样以及如何解决来源:https://qfdxz.top1 可变默认参数基于Python的灵活性,在函数定义参数时,允许我们定义可变参数类型,当然在标准代码规范中,这是一种不建议的行为,比如下面这段代码def append_to(element, to=[]): to.append(element) return tomy_list = append_to(12)print(
2021-05-25 14:16:37
330
原创 Django ASGIHandler 源码 - DB连接部分
无论是asgi还是wsgi协议,均已application为调用入口点1. asgi入口点def get_asgi_application(): """ The public interface to Django's ASGI support. Return an ASGI 3 callable. Avoids making django.core.handlers.ASGIHandler a public API, in case the internal impl
2021-02-18 16:17:38
676
原创 Linux安装Docker CE
之前写过一篇安装博客,现在修正一些错误并加入centos7安装docker方式Ubuntu 安装 Docker CE警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker.系统要求Docker CE 支持以下版本的 Ubuntu 操作系统:Bionic 18.04 (LTS)Xenial 16.04 (LTS)Trusty 14.04 (...
2019-07-04 14:34:46
500
原创 单服务器多个docker容器之间免密登录
单个服务器中多个容器之间配置免密登录普通容器做法以ubuntu:16.04的镜像作为基础docker pull ubuntu:16.04启动容器创建两个容器,分别命名为ub1和ub2分别在两个终端下执行该命令docker run -it --name ub1 you_IMAGE_ID;docker run -it --name ub2 you_IMAGE_ID;安...
2019-07-03 20:18:36
3228
原创 LRU算法 C语言实现以及时间戳优化
C语言实现LRU算法以及采用记录时间戳的方法进行优化一般遍历方法基本思想遍历将要存入页表的页号,同时判断该页号是否在页表中且页表当前是满状态还是空状态,如果不在页表中且页表有空位,则存入空位;如果在页表中则跳过本次循环;如果页表满且不在页表中,则将页表维护数据删除,其他数据依次后挪,将该页号放在数组头部;同时,页表满情况下如果遇到已存在的页号,则把该页号提前到table表的首位。代...
2019-06-30 17:22:53
1681
2
转载 重置-清除-删除neo4j数据库
一般方案我们可以通过以下查询删除所有节点和关系。MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r但是新创建的节点获取内部ID为({last node internal id} 1)。它不会重置为零。我们如何重置neo4j数据库,如新创建的节点将获取id为0?从2.3,我们可以删除所有有关系的节点,MATCH (n)DETACH DELET...
2019-06-30 17:14:02
6254
转载 修改Linux远程登录提示信息
无论何时登录公司的某些生产系统,你都会看到一些登录消息、警告或关于你将登录或已登录的服务器的信息,但是这些信息直接显示有可能会造成不安全因素或你想要个性化,那么,现在教你如何进行修改提示类型你可以配置两种类型的提示信息。用户登录前显示的提示信息(在你选择的文件中配置,例如 /etc/login.warn)用户成功登录后显示的提示信息(在 /etc/motd 中配置)用户登录前连接系统时显...
2019-06-30 17:13:04
1447
原创 短进程优先-SPF-调度算法-C语言实现
C语言实现的SPF调度算法注:不包括同时到达情况#include<stdio.h>#include<stdlib.h>#define num 20/*0 23 54 46 58 2-1 -1*/// 不包含同时到达情况// 必须排除位置信息!!!!void print(int a[],int j){ int ss=0; fo...
2019-06-26 16:32:37
4181
原创 先进先出-FCFS-调度算法-C语言实现
C语言实现的FCFS算法#include<stdio.h>#include<stdlib.h>#define num 20/*0 23 54 46 58 2-1 -1*/int main(){ int a[2][num]={0},i=0,j=0,m,n; // 到达时间与服务时间 int name[num]; for(i=0;...
2019-06-26 16:31:46
5112
1
原创 Go语法——数组
go语言数组用法介绍,go语言中数组其实用的非常少,因为它有非常灵活的切片,这种灵活度甚至超过了python的切片,所以go语言的绝大部分数组操作基本由切片完成,所以我们仅需要简单了解一下go语言简单的数组用法基本定义你会看到集中常见的数组定义方法:var arr1 [5]int // 整形数组arr2 := [3]int{1, 3, 5} // 同时赋值版本arr3 := [......
2019-05-27 08:20:20
680
1
原创 go语法——函数
学习go语言之前,我们应该知道go语言是一个函数式编程语言,函数是重中之重,所以本部分介绍了Go语言基本的函数用法以及,为什么说go语言是一个函数式编程语言一个简单函数在go语言中,函数的命名方式与变量相同,都是关键字,函数名、类型这种,类型写在最后的方式函数具体写法如下:func eval(a, b, int,op string) int{ ...}下面是一个简单的函数写法及调用...
2019-05-17 08:10:50
837
1
转载 Go基础-程序实体补充
一些关于判断变量类型与类型转换、不同类型之间的比较一、如何判断变量类型断言下面是例子代码:import ( "fmt")func main() { var name = "icode" value, ok := interface{}(name).(string) fmt.Println(value) fmt.Println(ok)}注意:...
2019-05-15 18:55:00
124
原创 Go语言基础语法
本部分包含Go语言的变量、常量、类型转换、枚举、if、switch、循环,属于go语言语法中基础部分Hello worldpackage main// 程序入口import "fmt"// 输出库func main() {// 主程序入口 fmt.Print("hello world") // 输出语句}变量在go语言中,凡是定义的变量必须使用,否则会报错变量定义方法...
2019-05-15 18:14:54
724
原创 ubuntu安装neo4j数据库-直接安装与docker方式
本文介绍了ubuntu下分别使用源安装和docker安装neo4j的方法添加下载源安装wget -O - https://debian.neo4j.org/neotechnology.gpg.key | sudo apt-key add -echo 'deb https://debian.neo4j.org/repo stable/' | sudo tee /etc/apt/sources....
2019-05-07 20:40:43
664
原创 【小记】Docker新linux容器启动后无ifconfig和ping
Docker容器启动后,有时无ifconfig和ping的尴尬,以及一个中科大的源命令第一条apt-get updateapt install net-tools # ifconfig 命令第二条apt install iputils-ping # ping换源中科大的源编辑/etc/apt/sources.list文件注释其中其他内容末尾添加d...
2019-05-07 20:39:55
479
转载 Docker容器挂载本地共享文件夹
title: Docker容器挂载本地共享文件夹date: 2019-05-07 15:19:43tags:- Docker- 共享categories: DockerDocker挂载本地目录的方法Docker容器启动时,我们可以使用-v参数来挂载主机下的一个目录比如,我需要启动一个ubuntu的容器,并把/opt文件挂载在这个容器上做共享文件夹# a3551444fc85是我...
2019-05-07 20:18:29
20248
2
原创 jdk最新版,JDK8u211,直链
jdk直链8u211地址https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz?AuthParam=1556731622_a30f843e17b4af226bc772a58116a114
2019-05-02 01:27:57
13243
原创 基于selenium、BeautifulSoup与goose3的动态网络爬虫(以东方视野为例)
description: 使用selenium模拟浏览器打开东方视野新闻列表页,使用BeautifulSoup获取每页新闻标题、摘要、时间、url,最后使用goose3获取网页正文部分,目前没有做进程优化,日后有需求再考虑爬虫所需环境python3.6.5seleniumselenium对应浏览器驱动BeautifulSoupgoose3保证网速运行下面代码# encoding...
2019-04-28 09:34:07
477
原创 Linux下which whereis locate find的区别
Linux下 which | whereis | locate | find的区别which 查看可执行文件的位置whereis 查看文件的位置locate 配合数据库查看文件位置find 实际搜寻硬盘查询文件名称1. findfind是最常用和最强大的查找命令。它能做到实时查找,精确查找,但速度慢。find的使用格式如下:find [指定...
2019-04-20 19:41:29
286
原创 Django实现简单网页弹出警告
功能所在位置该功能运用了django.contrib.messages这个库,再django项目中srtting.py文件中的38行,APP注册部分INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.con...
2019-04-20 19:16:09
6292
转载 Python列表解析式
照例先是官方文档:python列表解析(推导式)原文链接: 轻松学会Python列表解析式还有一个:原文什么是列表解析式?列表解析式是将一个列表(实际上适用于任何可迭代对象(iterable))转换成另一个列表的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。如果你熟悉函数式编程(functional programming),...
2019-04-10 20:01:12
302
原创 Django获取指定列的数据
model一般都是有多个属性的,但是很多时候我们又只需要查询特定的某一个,这个时候可以用到values和values_list二者简介[values()](https://docs.djangoproject.com/en/1.9/ref/models/querysets/#values)values()¶values(*fields)¶Returns a QuerySet that ...
2019-04-06 14:01:35
3289
原创 Django2.2报错——AttributeError: ''str'' object has no attribute ''decode''
方法说明Django2.2报错–AttributeError: ‘str’ object has no attribute 'decode’的解决方案,仅算是临时解决,所有更好的解决方案应该斟酌使用本方法报错信息G:\book_pulisher>python manage.py runserverWatching for file changes with StatReloader...
2019-04-05 14:58:43
16574
16
原创 U盘监控读取者
# -*- coding:utf-8 -*-#pyinstaller -F usermode.pyimport psutilimport sysimport osimport timefrom datetime import datetimeimport shutillocal_device = []local_letter = []local_number = 0loc...
2019-03-14 09:24:16
336
原创 创建最小的Go-Docker镜像
一个简单的Go程序镜像首先让我们创建一个很简单的Go程序:package mainimport "fmt"func main() { fmt.Println("hello world")}运行下面的命令会创建一个超小的镜像, 这是我们的第一种方式:GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -w" -o app app.go &
2019-03-04 08:11:35
797
原创 Golang框架
Web框架可以帮助开发人员尽可能方便快捷地构建应用程序。Go语言还比较新,所以使用的框架带有充足的文档很重要。这里有9个框架可帮助你使用Go语言构建项目。1.Revel作为Go语言的高效生产力框架,Revel包含的Hot Code Reload工具可以让你在每次更改文件时重建项目。它还包括各种全面和高性能的功能,因此你不需要找外部库集成到框架中。2.BeegoBeego是一个完整的MVC框...
2019-03-04 08:08:41
455
原创 Docker日志太多导致磁盘占满
Docker日志太多导致磁盘占满我有一台服务器上面部署了多个docker容器, 并且每个docker容器都往stderr中源源不断的输出日志,导致今天磁盘被占满了。搜索了一下,docker官方网站上提供了一篇解决方案的文章。Docker容器在启动/重启的时候会往/var/lib/docker中写东西,如果你在启动docker容器遇到No space left on device的问题,可以按照...
2019-02-25 08:40:05
2541
原创 制作自己的Docker镜像
写在前面镜像和容器的区别是什么,镜像,是一个静态的文件;容器,动态进程,具有生命周期图解制作属于自己的Docker镜像,一般有两种方式,第一种为commit方式,利用已有的镜像,运行后安装定制自己需要的环境,然后生成镜像;另一种就是build方式,通过编写Dockerfile命令脚本进行生成镜像。使用非root用户操作DOCKERdocker默认使用root操作。创建docke...
2019-02-25 08:20:23
15302
2
原创 docker-system-—— 一个全新的命令集合
docker system 目前拥有四个子命令,分别是:docker system dfdocker system eventsdocker system infodocker system prunedocker system 其中最重要的一个命令就是 docker system prune 命令,清理没有使用的数据,包括镜像数据,已经停止的容器查看 docker system 帮...
2019-02-25 08:18:39
3045
原创 Docker操作命令——停止、删除篇
停止、删除命令对docker容器进行停止或删除操作的命令,会在接下来的文章中更新”docker system“系列命令列出所有的容器 IDdocker ps -aq停止所有的容器docker stop $(docker ps -aq)删除所有的容器docker rm $(docker ps -aq)删除所有的镜像docker rmi $(docker images -q)...
2019-02-25 08:15:45
1424
原创 Docker——退出而不关闭容器
一般情况下,进入docker容器后如果退出容器,容器就会变成Exited的状态,那么如何退出容器让容器不关闭呢?如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记!以下示例为退出容器但不关闭容器[root@localhost ~]# docker attach c600c4519fc8[root@c600c4519fc8 /]# exitexit[root...
2019-02-19 19:10:17
13775
原创 阿里云ESC服务器配置jupyter notebook远程访问
1. 安装Anaconda下载地址:清华镜像站在服务器上选择tar包解压安装并配置环境变量#JAVA_HOMEexport JAVA_HOME=/opt/jdk1.8.0_191export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_...
2019-02-18 20:28:34
1561
请问如何在正常运行的python程序中实现类似单元测试的mock功能?
2021-06-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人