自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 【2024.4.5】Python:Select Interpreter not found解决方案

vscode python无法转定义

2024-04-05 19:46:40 112

原创 带你搞懂python协程 (async await asyncio)

为什么现在越来越多的语言都开始支持协程?一般来说, 一个线程栈大小为1MB, 如果都用多线程, 那么在高并发下, cpu大部分的时间都将用于切换线程上下文, 而且线程的切换是在内核态完成的, 会耗费额外的空间和时间.而且由于内存都分配给线程栈了, 将频繁地进行内存置换算法, 浪费了很多cpu时间片.协程, 可以理解为一种在线程里跑的子线程, 它的默认栈空间很小 (比如go的协程栈默认大小为2KB).当多个协程在一个线程上运行时, 协程间会切换着运行, 协程的切换完全在用户态完成, 而且时机由程序员

2022-03-25 11:23:49 6005

原创 SQL执行正常, 而peewee ORM执行异常 AttributeError: ‘DebugInfo‘ object has no attribute ‘admin_name‘

1 问题描述使用连表查询避免N+1问题时然后执行到118行报错AttributeError: ‘DebugInfo’ object has no attribute ‘admin_name’然而, 把ORM语句翻译为的SQL复制到DataGrip的控制台中执行, 发现并没有问题这可能是peewee ORM的bug, 它生成SQL语句是没有问题的, 但它没有动态赋予 'DebugInfo’对象’admin_name’属性2 解决方案1我们可以换一种写法, 给它加上分组和聚合, 这样这个对象就

2022-01-18 16:08:25 700

原创 Goland WSL2下开发调试

用WSL内部的Go编绎器进行编绎

2022-01-09 14:27:11 2864

原创 PyCharm WSL2下开发调试

pycharm的报错居然是Could not connect to 172.25.128.1: 65224, PyCharm估计是作为客户端, 而WSL这个虚拟网卡是作为服务器, pycharm先连接WSL, 然后WSL网卡转发给内部的py解释器.应该是在PyCharm向WSL网卡发起TCP连接时被防火墙拦截了

2022-01-08 21:47:34 4408 4

原创 windows Terminal配置powershell7

1 效果展示下面这个是最初效果既有广告又有PS在前面, 对我这种强迫症来说简直无法忍受2 配置随便打开一个终端, 或cmd, 输入notepad.exe $Profile#------------------------------- Import Modules BEGIN -------------------------------# 引入 posh-git, 会去除前面的PSImport-Module posh-git#---------------------------

2022-01-08 19:05:46 1099

原创 阿里云服务器pycharm远程调试

包括文件同步, 下断点调试, 在本地Pycharm就能调试服务端代码哦

2022-01-04 16:55:19 2477

原创 Goland远程开发调试

1 远程开发(文件同步)(1) 添加SSH连接阿里云服务器(2) 设置SFTP1) connection其中Root path指的是 服务器的go项目存放路径2) mappings(3) 上传到服务器2 远程调试(1) 下载dlv源码在Linux服务器上执行:git clone https://github.com/go-delve/delve.git $GOPATH/src/github.com/go-delve/delve(2) 切换到GOPATH安装dlvcd $

2022-01-01 21:43:54 2238 2

原创 阿里云服务器Goland远程开发调试

1 远程开发(文件同步)(1) 添加SSH连接阿里云服务器![image.png](https://img-blog.csdnimg.cn/img_convert/fb4517a6f94f241d7ecdce944f0ba32c.png#clientId=ucdfcffa7-ce2a-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=235&id=u526bc215&margin=[object

2022-01-01 21:32:23 1051

原创 ubuntu20.04桥接模式联网失败 connection failed Activation of network connection failed

今天我用win11试着运行WSA(windows subsystem for Android), 发现要打开hyper-V才能运行, 然后发现虚拟机Vmware运行不了, 于是关闭了hyper-V, 终于能打开虚拟机了, 但是网络却连不上了(用NAT模式可以, 但桥接模式不行)经过在网上搜索, 改这改那, 还是不行后面自己摸索了一下, 居然成功了如下是我的解决方案:发现没有, 只要你开过Hyper-V, 下面就会多这两个, 默认是自动, 它会优化选择这两个, 所以我们要取消掉这两个确定后,

2021-11-09 17:23:09 6721 2

原创 面试八股文-Web相关

Web相关什么是WSGI?全称是Web Server Gateway Interface,即web服务器网关接口,是python定义的Web服务器和Web应用程序之间的一种通信规范Django,Flask,Tornado的对比Django: 大而全,内置ORM,Admin等组件,第三方插件较多Flask: 微框架,比较灵活,但这也导致项目结构不统一Tornado: 异步支持的微框架和异步网络库,第三方插件少,要自己造轮子什么是MVC?模型(Model): 负责业务对象和数据库的交互,在we

2021-10-21 14:38:59 988

原创 面试八股文-Redis数据库

Redis数据库Redis是什么?Redis是一个C语言编写的开源的非关系型数据库,可以用来存储键值对数据它有持久化机制,可以实现主从同步, 所以有时被用来做分布式锁它的数据被存放在内存中,读写很快,经常被用来做缓存Redis与Memcached的区别有哪些?Redis有持久化机制; Memecached没有Redis有5种数据类型; Memcached只有String这一种类型;Redis原生支持集群; Memcached不支持Redis是单线程; Memcached是多线程关系型

2021-10-21 14:37:44 533

原创 面试八股文-MySQL数据库

MySQL数据库MySQL常用数据类型char: 存放定长文本,如 身份证号varchar: 存放小型变长文本,如 家庭住址text: 存放大型变长文本,如 新闻内容tinyint: 存放较小的整数,bool值int: 存放较大的整数,如记录项的iddatetime: 存放日期时间,如用户注册时间enum: 存放枚举值,如男,女char和varchar的区别?char是定长的,不足的位数会用空格补全varchar是变长的,存取速度比char慢一些varchar和text的区别

2021-10-21 14:35:11 481 2

原创 面试八股文-网络编程

网络编程TCP/IP协议栈四层模型应用层: 负责为用户提供应用功能HTTP,DNS,SSH,FTP,SMTP传输层: 负责进程与进程之间的通信TCP,UDP网络层: 负责网络包的分片,路由ARP,RARP,DHCP,NAT,ICMP网络接口层: 负责网络包在物理网络上的传输PPPOSI七层模型从下往上: 物理层,数据链路层,网络层,传输层,会话层,表示层,应用层常用协议及作用应用层:HTTP: 在互联网两点之间传递超文本的规范DNS: 把域名

2021-10-21 14:33:23 1167

原创 面试八股文-操作系统

操作系统常用的Linux命令mkdir cd touch cp mvls chmod cat tail rmps kill top硬链接和软链接的区别它们都是实现文件共享的方式硬链接通过ln来创建,软链接通过ln -s来创建删除软链接不会影响源文件,删除源文件会导致所有软链接都失效,软链接相当于windows的快捷方式删除硬链接会使连接数减1,当连接数减为0时,硬链接才会被删除线程,进程,协程的区别进程是资源分配的最小单位,当可执行程序被装载到内存中运行就会生成进程.进程拥有

2021-10-21 14:31:34 753

原创 解决: smtplib发送邮件报错smtplib.SMTPServerDisconnected: Connection unexpectedly closed

smtplib发邮件经常报错:smtplib.SMTPServerDisconnected: Connection unexpectedly closedserver = smtplib.SMTP_SSL(mail_host)server.connect(mail_host, 465)server.login(mail_user, mail_pass)这样有时可以, 但隔几小时就不行了, 百度后发现再加上下面这一句就可以了server = smtplib.SMTP_SSL(mail_host,

2021-10-12 10:34:47 13513

原创 peewee select for update 悲观锁

百度搜不到相关用法, 官方文档也没写清楚到底怎么写相应的ORM语句后来谷歌终于找到了, 现在分享一下1 悲观锁的写法# SQL语句begin;select stock from tb_sku where id=1 for update; # 对id=1的商品记录加锁, 期间其它用户阻塞访问该记录update tb_sku set stock=stock-5 where id=1;commit;# ORM语句(python Django语法)SKU.objects.select_for_

2021-09-22 17:15:47 671

原创 面试八股文-Python算法

数据结构链表class ListNode(): def __init__(self, val=0): self.val = val self.next = None(1) 反转链表def reverse_list(head): cur = head pre = None while cur: nxt = cur.next cur.next = pre pre = cur

2021-08-28 15:05:36 1910

原创 面试八股文-Python基础

python语法py的语言特性: 动态强类型静/动态: 编绎/运行 时确定变量类型弱/强类型: 会/不会发生隐式类型转换py作为后端语言的优缺点语言简单灵活,开发效率高胶水语言,轮子多,拥有Django这种的成熟web框架执行效率低,性能不如其他语言动态语言,没有类型声明时就没有自动补全,而且很多问题要运行后才能发现什么是duck type?鸭子类型更关注对象的行为,只要实现了某种接口方法就行,而不在乎是什么类型比如说定义了 __iter__魔法方法的类实例对象都可

2021-08-28 15:03:44 28613 1

原创 Flask下使用Celery如何避免循环导包?

官方文档的例子中, celery是直接放到app.py里的, 但我们在实际使用时, 异步任务肯定是要放到其他模块的, 但这样很容易导致循环导包, 这篇博客就带你解决这个问题1 安装celery模块pip install celery2 在Flask启动文件创建celery对象(1) app.pyclass Config: # JWT密钥 JWT_SECRET = '1234qaqa' REDIS_HOST = "r-xxx.redis.rds.aliyuncs.com"

2021-08-22 14:58:30 728 3

原创 peewee 多对多 增删改查

1 创建多对多字段class BaseModel(Model): class Meta: database = dbclass Admin(BaseModel): '''管理员表''' email = CharField(verbose_name='邮箱', max_length=30) password = CharField(verbose_name='密码', max_length=12) name = CharField(verbose

2021-08-10 17:31:46 533

原创 Docker常用命令

docker run命令选项• -i 表示以交互模式运行容器。• -t 表示容器启动后会进入其命令行。• --name 为创建的容器命名。• -v 表示目录映射关系,宿主机目录:容器中目录。• -d 会创建一个守护式容器在后台运行。• -p 表示端口映射,宿主机端口:容器中端口。• --network=host 表示将主机的网络环境映射到容器中...

2021-07-09 16:32:31 63

原创 ValueError: The field view.PeopleInfo.book was declared with a lazy reference to ‘book.bookinfo‘

Django模型迁移时出现的问题ValueError: The field view.PeopleInfo.book was declared with a lazy reference to ‘book.bookinfo’, but app ‘book’ isn’t installed.可能是之前给子应用改了个名字到迁移文件里去, 把子应用名字改掉, 问题解决...

2021-07-06 14:08:31 322

原创 ASCII ANSI Unicode UTF-8

1 ASCII 码全名是 American Standard Code for Information Interchange, 叫做 “美国信息交换标准码”。ASCII 码,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。标准的ASCII 码只能表示128个字符2 ANSI 码 (多字节字符集)ANSI 编码是一种对 ASCII 码的拓展:ANSI 编码用 0x00~0x7f (即十进制下的 0 到 127)范围的 1 个字节来表示 1 个英文字符,超出一个字节的 0x00

2021-07-05 09:53:43 100

原创 MySQL四种事务隔离级别

读未提交 (read uncommitted): 隔离级别最低, 一个事务还未提交时, 它做的变更就能被别的事务看到.读提交 (read committed): 一个事务提交后, 它做的变更才能被其它事务看到. 解决了脏读怎么解决脏读的呢? 每次读都会生成一个ReadView, 会顺着MVCC版本链去读第一个已提交事务的历史记录可重复读 (repeatable read): 一个事务执行过程中读取的数据, 总是和这个事务第一次读取的数据是一致的. 解决了不可重复读怎么解决不可重复读的呢? .

2021-07-03 17:53:10 222

原创 通信加密技术进化史

1 单向散列(hash)明文加密成密文后, 就不能通过某种算法再还原成明文,一般用来存储用户的密码等信息.验证密码时, 通过把用户输入同样采用相同的hash算法得到密文, 和数据库对比最知名的单向散列算法: MD5, SHA-256但我们很多时候只是需要传输时加密, 收到后想要还原得到明文怎么办呢? 这就是我们接下来要说的对称加密2 对称加密明文 通过对称加密算法经过密钥加密 得到 密文,密文 通过对称加密算法经过密钥解密 得到 明文由于 加密 和 解密 都使用同一把 密钥, 所以称之为对称

2021-06-29 11:35:32 1414

原创 一文搞懂MySQL中的 ‘锁‘

1 全局锁 表锁 行锁从加锁的范围看, 分为 全局锁, 表级锁 和 行锁全局锁: 做全库逻辑备份表锁: 一般是存储引擎不支持行锁时才使用行锁: 当事务中的SQL语句更新时, 会对记录加行锁, 其它事务访问时会阻塞2 悲观锁 乐观锁从是否加锁来看, 分为 悲观锁 和 乐观锁悲观锁: 每次去拿数据的时候,都默认别人会修改这个数据,所以都会上锁,这样就会阻止其他人修改该数据,直至事务结束才释放锁# 原生SQLbegin;select stock from tb_sku where id=

2021-06-25 18:00:12 140

原创 0.0.0.0这个IP地址代表什么?

当socket绑定的IP地址0.0.0.0时, 表示监听本机上的所有IP地址, 也就是接收本机所有网卡发到本进程端口的请求在网络中, 0.0.0.0表示整个网络中的所有主机, 它的作用是帮助路由器转发路由表中查询不到的包...

2021-06-12 09:30:20 31040 1

原创 profile bashrc 环境变量

先说结论:系统环境变量文件: /etc/profile用户环境变量文件: ~/.bash_profile1 profile(1) 概念profile 是专门用来设置环境变量的文件(2) 加载时机在用户第一次登录时被加载,ssh login, sudo su是典型的 interactive login shell, 会从上往下依次加载/etc/profile # 系统环境变量~/.profile # 用户环境变量可通过source立刻重新加载2 bashrc(1) 概念ba

2021-06-03 09:53:40 230

原创 Dockerfile

Dockerfile类似于Shell脚本,将我们在上面学到的docker镜像,使用自动化的方式实现出来

2021-06-03 09:23:48 107

原创 Docker网络管理

1 端口映射默认情况下,容器和宿主机之间网络是隔离的,我们可以通过端口映射的方式,将容器中的端口,映射到宿主机的某个端口上。这样我们就可以通过 宿主机的ip+port的方式来访问容器里的内容随机映射 -P(大写)指定映射 -p 宿主机端口:容器端口(1) 随机映射自动绑定所有对外提供服务的容器端口,映射的端口将会从没有使用的端口池中自动随机选择,但是如果连续启动多个容器的话,则下一个容器的端口默认是当前容器占用端口号+1随机映射的好处就是由docker分配,端口不会冲突sudo

2021-06-01 12:25:59 108

原创 Docker数据管理

1 数据卷简介为了解决:容器中的文件会随容器删除而删除宿主机与容器之间不能相互访问文件容器与容器之间不能相互访问文件Docker引入了数据卷机制(volumes),实现了 主机与容器 或 容器与容器 共享文件2 数据卷的使用在使用docker run 命令时添加 -v 参数,就可以创建并挂载一个到多个数据卷到当前运行的容器中sudo docker run -dit --name [容器名字] -v [宿主机目录/文件]:[容器目录/文件] [镜像名称] [命令(可选)]3 数据卷容

2021-06-01 11:14:08 62

原创 Docker仓库管理

1 Docker仓库简介Docker仓库就是Docker镜像存储的地方Docker的仓库有三大类:公有仓库:Docker hub、Docker cloud等私有仓库:registry、harbor等本地仓库:在本主机存储镜像的地方。和仓库相关的命令:docker login [仓库名称]docker pull [镜像名称]docker push [镜像名称]docker search [镜像名称]2 公有仓库部署注册可以在 https://hub.docker.com

2021-05-31 23:35:10 321 2

原创 Docker容器操作

1 查看容器# 查看正在运行的容器sudo docker container ls # 法一sudo docker ps # 法二# 查看所有的容器sudo docker container ls --all # 法一sudo docker ps -a # 法二docker ps [OPTIONS]命令OPTIONS说明:-a:显示所有的容器,包括未运行的。-f:根据条件过滤显示的内容。–format :指定返回值的模板文件。-l :显示最近创建的容器。-n :列出最

2021-05-30 16:19:01 115 1

原创 Docker镜像操作

1 查看所有image命令sudo docker image2 搜索镜像在docker仓库中搜索指定的镜像sudo docker search xxx3 拉取镜像# 官方镜像sudo docker image pull 镜像名称 或者 sudo docker image pull library/镜像名称sudo docker image pull ubuntu 或者 sudo docker image pull library/ubuntusudo docker image pu

2021-05-30 11:59:40 85

原创 Docker简介与安装

1 简介Docker 是一个使用Go语言开发的开源容器引擎, 可以打包运行任何应用。Docker 作为一种新型的虚拟化方式, 相比于传统的虚拟化方式,它没有进行硬件虚拟, 所以能更高效的利用系统资源, 更快速的启动时间它经过一次创建或配置,就可以在不同的操作系统上正常运行(1) 镜像(Image)• Docker的镜像概念类似于虚拟机里的镜像,是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。• 例如:一个镜像可以包含一个完整的 ubuntu 操作系

2021-05-30 10:47:35 76

原创 nginx进阶 - 日志解析

1 基本配置Nginx默认提供了两个日志文件 access.log和error.log,通过access.log可以得到用户请求的相关信息;通过error.log可以获取某个web服务故障或其性能瓶颈等信息。2 默认日志格式log_format combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent '

2021-05-30 08:50:40 741

原创 nginx进阶 - 反向代理 负载均衡

1 反向代理一个nginx服务器负责监听80端口, 收到请求后转发给另一个监听8001端口的nginx服务器上面那个监听80端口的服务器 就是 下面8001端口服务器 的反向代理server { listen 192.168.250.130:80; location / { proxy_pass http://192.168.250.130:8001; }}server { listen 192.168.250.130:8001; loc

2021-05-29 22:15:53 88

原创 nginx配置详解(3) - http块

配置所有server通用的一些配置include mime.types; # 文件扩展名与文件类型映射表default_type application/octet-stream; # 默认文件类型sendfile on; # 开启高效文件传输模式。autoindex on; # 开启目录列表访问,合适下载服务器,默认关闭。tcp_nopush on; # 防止网络阻塞tcp_nodelay on; # 防止网络阻塞

2021-05-29 16:11:00 665

原创 nginx配置详解(2) - events块

定义事件相关的属性, 影响 Nginx 服务器与用户的网络连接, 常用的设置包括是否开启对多 workprocess 下的网络连接进行序列化, 是否允许同时接收多个网络连接等等。worker_connections 一个进程允许处理的最大连接数use 定义使用的内核模型...

2021-05-29 16:06:56 203

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除