自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git回退代码的n种方式(全场景,restore reset revert)

git restore; git reset; git revert;命令的用法,全常见场景下代码的回退方式

2023-12-19 22:16:10 3475

原创 webpack基础概念解析和示例

webpack核心概念解析和代码实例

2023-01-15 13:37:03 757 1

原创 promise介绍和使用

promise介绍和使用

2022-12-07 23:43:32 431

原创 leetcode 142题 环形链表找入环点 python js解法

leetcode142题,环形链表,js和python,哈希表和双指针解法

2022-07-10 17:55:31 247

原创 var、let和const的区别和用法

var、let和const的区别和用法

2022-07-01 21:41:26 195

原创 leetcode 241题环形链表Python、JavaScript解法和思路

python、js解决环形链表问题

2022-06-30 23:55:51 380

原创 PTA自测-1 打印沙漏 python实现

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状,

2022-05-18 20:16:18 1161

原创 python web开发概念和框架综述 - WSGI uWSGI uwsgi Django Flask

1、什么是Web框架?​ 框架:将开发过程中一些通用的模块提前封装好,使得开发人员可以集中精力进行业务逻辑的开发。​ web:核心就是处理http/s请求,返回对应的数据(html/json等)。中间会有一系列的步骤,大致如下:​ 1、到达服务端之后,需要从网络数据流转换为应用程序可以处理的数据。(WSGI协议)​ 2、请求url的转发。(路由模块)​ 3、额外数据,cookie、session、缓存等的处理。​ 3、不同请求get/post的处理​ 4、可能涉及到的数据库

2022-05-16 15:12:58 201

原创 ubuntu20.04执行apt-get update失败,连接超时/无效认证

win10、wsl2、ubuntu20.04执行apt update命令时先后报错和解决办法如下。1、先报连接超时错误,更换为国内清华、阿里源一样报错。原因是开启了代理,关闭代理即可。2、报错认证失败,The certificate chain uses expired certificate执行命令# 修改源文件sudo apt edit-sources将https修改为http...

2022-05-16 00:14:04 3396

原创 DRF各类View视图区别详解

DRF的View视图,继承自Django的 View,内部实现了 APIView 和 ViewSetMixin两大类。同时在此基础上进行了扩展,实现了一些通用(Generic)类,混入(Mixin)类等额外功能类,帮助我们用更少的代码实现restful风格的API接口。下面对我们各类视图做一些说明。View:目录:django/views/generic/base.pyDjango原生,请求通过路由之后进入的地方实现了as_view()方法,内部调用dispatch方法转发请求到视

2022-05-11 19:16:20 547

原创 k8s标签Labels概念和操作详解

标签(Labels),是附加到k8s对象上的键值对标识,支持高效的查找和监听。作用就是字面意思,给k8s对象打上标签,我们可以使用标签来选择对象。和**注解(annotations)**的区别在于注解仅用于记录一些元数据,不能用来做标识。不支持高效查找和监听为什么要有标签开发人员日常工作中肯定会用到类似id的概念,id就是用来唯一标识某个对象。标签也是用来做标识,不过它可以从多个维度来标识,这就增加了通过标识来管理的灵活性。k8s管理的对象往往是很灵活而不是有固定层次结构的,比如管理应用的发布,会涉

2022-04-26 14:51:01 4398

原创 python3整数类型进制转换

python 十进制、二进制、八进制、十六进制转换

2022-04-24 10:36:37 660

原创 python3常用魔法方法

python魔法方法解析

2022-04-23 23:31:49 454

原创 K8S资源配额概念和操作详解

多用户或者多团队共享集群时,管理员可以通过资源配额的方式来管理各个团队或者用户可使用资源的额度。ResourceQuota对象用于定义资源配额。可以限制对象数量,也可以限制计算资源。资源配额有如下工作方式:​ 1、不同团队在各自命名空间下工作。软性约束​ 2、每个命名空间都可以有自己的一个或多个ResourceQuota对象,由集群管理员创建。​ 3、在命名空间中创建资源如Pod、Service时,如果超过配额,请求会报错​ 4、命名空间下计算资源被启用时,cpu memeory ,必须同时有

2022-04-21 16:59:25 2111

原创 python类变量和实例变量的区别

先说结论:1、类变量属于类所有,建议引用时使用类名引用,形如 cls.attr。也可以使用实例引用 self.attr。直接修改类变量。各实例未自行修改类变量时,引用到的值都会改变如果在实例中对类变量赋值,会复制一份为实例变量。覆盖了类变量通过实例引用类变量会比较慢2、实例变量属于实例所有,引用方式形如 self.attr代码示例如下:class TestClass: project_id: str = "类变量" cluster_id: Optional[str] = N

2022-04-11 22:08:42 2954

原创 wsl解决报错:参考的对象类型不支持尝试的操作

wsl2,win10.安装EasyConnect之后,突然报错 【参考的对象类型不支持尝试的操作】永久解决办法如下:1、下载【NoLsp.exe】。阿里云盘地址分享如下:阿里云盘Nolsp2、找到文件的地址,管理员启动cmd进入当前目录,执行命令.\Nolsp.exe c:\windows\system32\wsl.exe成功解决!不需要重启临时解决办法:cmd管理员执行命令 netsh winsock reset。好像需要重启电脑...

2022-04-11 21:32:25 1849

原创 win10中wsl子系统的一些使用

作为一名python开发人员,win系统在有些方面是不太友好的。比如很多依赖包都无法适配,需要额外寻找方法解决。而linux系统,我尝试过ubuntu、deepin,用起来更不顺手。日常很多工具、像腾讯会议这些都很不好用,每天都在折腾。这时候,就想到了win10的wsl,也就是win10自带的linux系统。目前已经用了一段时间,把代码全放wsl里,运行的进程也直接在wsl中启动,非常顺畅。日常工具还是在win10上,基本上是两全其美了。下面简单介绍下wsl的使用和一些问题的处理。安装确认系统版本号

2021-10-27 11:03:11 1670

原创 linux中cp命令使用及复制多个对象

简单介绍一下cp命令,linux中的复制文件命令。简单介绍用法将file1文件复制到target_dir1中不修改名字cp file1 target_dir1复制且修改名字将file1复制到target_dir中,命名为file2cp file1 target_dir/file2复制目录复制目录需要加上r参数,表示递归cp -r dir1 target_dir1复制多个对象使用-rf参数,表示复制子目录且强制复制。多个对象,用{}包裹起来,中间,号分隔cp -rf ./{fi

2021-10-26 17:51:19 1027

原创 Django后端命令行调试工具ipdb的使用

ipdb背景平时开发过程中,当然都是用ide的自带调试工具。但是有些场景无法使用IDE工具,比如服务器上等,这时就需要用命令行工具来调试作用集成了ipython的python代码命令行调试工具。适用于服务器上运行代码等场景的调试。安装pip install ipdb使用直接写在代码中def func(): # do something import ipdb ipdb.set_trace() # do something执行这段代码,可以是单独的代码,也可以是django程序

2021-10-26 17:27:35 226

原创 网段和子网掩码及IP个数的计算

先说明网段,斜线/后的数字表示需要暴露出来的位数,即转换为32位二进制之后从最高位开始,值为1的位数。计算过程现有网段10.0.0.0/24,计算IP个数。10.0.0.0/24转换为二进制0000 1100.0000 0000.0000 0000.0000 0000根据/24计算掩码的二进制。前24位是11111 1111.1111 1111.1111 1111.0000 0000换算为十进制,即得到子网掩码255.255.255.0上边两个二进制与运算(且的关系,11得1,其

2021-10-26 17:23:48 4647

原创 python3注解类型typing

python3.5以上版本的注解类型typing环境说明python3.5以上注解说明在定义函数/方法时声明参数和返回值类型,仅为一种写法约定,无强制约束。让方法定义更加清晰,减少错误。可以用于第三方的类型检查器、集成开发环境、静态检查器等from typing import List, Optional# 声明了一个函数 接收三个参数,分别是str类型的name,int类型的age,List类型且默认值为None的scores。返回值类型为booldef test(name: str, a

2021-10-26 17:17:32 1720

原创 Django之静态文件配置

网站通常需要图片、js脚本、css样式等文件。在Django中,这类文件统一被叫做静态文件 static files. 同时提供了django.contrib.staticfiles来管理静态文件。静态文件配置在配置文件中的 INSTALLED_APP中加入 django.contrib.staticfiles在配置文件中定义 STATIC_URL。例如STATIC_URL = '/static/'将静态文件存在定义的目录中。例如在项目app中app/static/my_app/e

2021-10-26 17:15:55 321

原创 Terraform操作阿里云实例

*Terraform使用*使用配置文件来描述需要管理的基础架构,根据配置文件生成一个执行计划,计划描述了要做来达到所需要的状态,然后执行计划来构建描述的基础架构。可以增量的执行计划。配置文件使用语法:HCL(HashiCorp Configuration Language)下面会以阿里云创建虚拟机为例,描述一下实际如何使用Terraform来操作阿里云上的基础设施。也可以执行其他诸如更新、删除等操作。本地电脑环境为linux系统。1、下载terraform并安装。官网下载即可,不再赘述验证:

2021-07-01 20:03:07 2442 1

原创 Terraform简单介绍

*terraform介绍**定义:*一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。可以管理基础设施像虚拟机实例、存储、网络,也可以管理高级应用包括DNS、SaaS应用等。*背景*Go语言开发,HashiCorp公司创建的开源工具。*特点:*l *基础设施即代码。*使用高级配置语法来描述基础设施,就像处理代码一样。同时允许共享和重复使用l *执行计划*Terraform 有一个“计划”步骤,用于生成执行计划。执行计划显示了调用 apply 时 Terrafor

2021-07-01 20:00:18 958

原创 Pycharm运行报错端口port被占用(Linux查找端口lsof占用情况,杀死进程)

deepin中,pycharm中有程序在运行时,直接关闭pycharm。再次启动时,运行,发现之前的端口被占用。打开终端,执行命令:lsof -i:8000

2021-06-18 11:48:59 586

原创 git for windows疯狂占用内存、Pycharm使用git非常慢

win10系统,git for windows占用内存非常高,长时间位于30%以上。Pycharm指定git之后,可以快速对比当前修改的代码,但是也非常慢。原因是git版本问题,当前版本是2.31。之前使用的是2.23,不会卡顿。直接搜索下载git2.23的wins安装包,安装即可,会提示你覆盖之前版本的git。安装之后就正常了。...

2021-05-17 10:04:04 1947

原创 git不同仓库设置不同用户名相关操作

开发的时候,一个电脑上会遇到有多个源的git仓库和git用户名。比如公司仓库一个名字,自己的私人仓库一个名字。这时候该如何设置呢?# 查看目前全局git配置信息git config -l# 输出内容中user.name就是目前设置的用户名# 进入要单独设置用户名的仓库.git文件夹中cd .git# 设置单独用户名git config user.name "user1"# 设置邮箱git config user.email "[email protected]"# 如果需要设置全局gi

2021-05-07 19:54:14 2592

原创 一文带你搞懂python的内存回收机制(引用计数 标记清除 分代回收)

python中垃圾回收机制,核心要素有三个,分别是:引用计数、标记清除、分代回收。垃圾回收机制以引用计数为主,分代回收为辅。发生时机:手动调用gc模块中的collect方法;gc的计数器到达阈值;程序退出;引用计数:说明:​ 一个对象在内存中,每有一个变量指向这个对象,这个对象的引用次数就加1。每删除一个指向这个对象的变量,对象的引用次数就减1,当指向这个对象的所有变量都被删除了的时候,这个对象的引用计数就是0。垃圾回收机制会回收这个对象。举例:1、有一条小狗,有个人看见了它,就给它起了一个名

2021-03-30 17:54:18 858

原创 python闭包详细实例讲解

一直听到闭包,感觉很神秘的样子。但是实际上也很简单。要想搞懂闭包,需要先理解变量作用域,关于python的变量作用域,可以看这篇文章。python变量作用域详解闭包,是一种函数,就是在函数内部,引用非本函数内部定义的变量,也不是全局变量的变量或者对象。可以简单的看做在一个函数内部引用其他的局部变量。可以延长这个变量的生命周期,让这个变量一直停留在内存中。下面举例说明闭包究竟是什么样子的。"""这里我们需要实现一个小游戏函数,游戏的规则就是猜数字,预先准备任意一个数字target,然后可以输入任何数字

2021-03-29 19:35:15 331

原创 一文搞懂python中的is和==

python中的is用于比较对象的标识符是否相等。==是比较值是否相等。对象的标识符可以简单地理解成对象的内存地址,在生命周期中是固定不变的。id()可以得到对象标识符的整数表示。示例如下person1 = {"name": "zhangsan", "age": 20}person2 = {"name": "zhangsan", "age": 20}person3 = person1# 输出各个字典对象的标识符,系统不同,得到的值可能不同print(id(person1))# 输出 522

2021-03-17 13:00:12 771

翻译 DRF官方文档之Response

ResponsesREST framework提供了一个Response类来根据客户端的请求方式返回不同类型的数据。Response类继承自Django的SimpleTemplateResponse。Response对象会初始化python格式的数据。REST framework使用标准的HTTP协议内容决定最终返回的数据内容。除了使用Response之外,你还可以在你的视图中使用HttpResponse或者StreamingHttpResponse对象。但是Response会是一个更好的选择,因为它

2021-01-14 11:53:17 1139

翻译 DRF官方文档之Request

RequestsREST framework的request继承了标准的HttpRequest,并在其基础上增加了对REST framework灵活的请求解析和认证的支持。Request parsing 请求的解析转换REST framework的Request对象为你提供了非常灵活的解析方式,因此,你可以像通常处理表单数据一样去处理request里的JSON数据和其他媒体类型数据。以下是具体属性说明.data:request.data返回的是request body里的内容经过解析后的结果。它

2021-01-13 15:49:38 828

原创 Django2.2启动报错TypeError: argument of type ‘WindowsPath‘ is not iterable

Python3.6.6,Django2.2,初次生成项目后报错TypeError: argument of type 'WindowsPath' is not iterable。报错原因是settings.py文件里DATABASES设置里NAME的设置代码:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # 就是这边这一句报错 'NAME': BASE_D

2021-01-07 23:50:04 2429

翻译 drf系列之引言

简介Django REST framework是一款用于构建Web APIs的强大而灵活的工具。它有以下几点优势:拥有对开发者有巨大作用的可浏览的Web API页面包含了OAuth1a和OAuth2a的认证策略序列化器可以兼容序列化支持ORM和不支持ORM的数据源高度可定制化.如果你不需要更多强大特性的话也可以仅适用常规的基于视图的方法可扩展的文档和巨大的社区支持已经被很多国际知名的公司适用,包括 Mozilla, Red Hat, Heroku, and Eventbrite.安装需

2021-01-06 23:47:11 76

原创 python时间计算、处理、比较(datetime库)

import datetime# 获取当前时间now_time = datetime.datetime.now()# 得到 datetime.datetime(2020, 12, 31, 17, 44, 27, 138000)# 依次输出 年 月 日 时 分 秒print(now_time.year)print(now_time.month)print(now_time.day)print(now_time.hour)print(now_time.minute)print(now_.

2020-12-31 18:25:53 14851 2

原创 vue中render的常见用法(渲染按钮禁用/隐藏等状态)

简介**在vue开发前端页面的过程中,对于一些较复杂的嵌套样式,用template不太方便的,一般要用到render函数来进行渲染。**render本身是一个函数,它的参数也是一个函数。render(): (h) => { return h('div', '数据对象或者标签属性', '标签内容或子节点')}/** 参数说明* h:即render的参数,是一个函数,有三个参数* 参数1:是一个html标签或者组件对象,例如这里是 'div'* 参数2:是一个数据对象或者html的属性

2020-12-21 20:19:57 7441

原创 动态设置html样式或style具体属性

1、动态绑定style属性:<div :style="{height: divHeight, width: divWidth}">这里的divHeight和divWidth都是变量。2、动态设置html元素样式<div :class="[status ? class1 : class2]"><div><style> .class1: { background-color: red} .class2 { background-

2020-12-21 18:55:52 3979 2

原创 vue监听数组和对象的方法

vue中的监听属性watch可以监听属性的变化,十分方便。但是,watch是无法监听到数组或者对象内部变化的,当我们想要监听时,可以如下方式解决。vue监听数组时只能监听到数组的长度变化。// 监听对象:// bookList: [1,2,3]// bookObj: {name: 'aa', 'publish': '11'}// 第一种监听方式,使用deep深度监听。// 不推荐,性能消耗很大watch: { bookObj: function(newVal, oldVal) {

2020-11-12 20:30:03 2708 2

原创 Django单元测试TestCase示例--keepdb参数

Django单元测试单元测试是一个很好的习惯,可以帮助我们及早发现错误,也可以帮助我们在迭代代码之后能快速验证功能。python的单元测试框架有好几种,下面讲一下django内置的TestCase类。Django的TestCase类继承自unittest.TestCase,基础用法也比较类似。但是django内部可以利用client模拟http请求访问后端接口。引用路径:from django.test import TestCase基础用法示例# 模型定义文件models.pyfrom

2020-11-10 21:15:46 759 1

原创 win10手动添加程序到右键菜单/右键以pycharm project方式打开文件夹

这次主要原因是在安装pycharm时,没选择将pycharm加入右键菜单,以至于无法选定文件夹作为pycharm项目打开,每次都需要打开pycharm,加载一个自己不需要的项目,再从pycharm里打开自己想要的。就去查了一下在win10里如何手动添加指定程序在右键里打开文件夹。然后操作并记录了一下。如果想添加在选定文件夹的情况下用指定程序打开,可以直接看第二部分。仅仅是将程序加入右键菜单,看第一部分。第一部分:添加程序到右键菜单。这里实验程序为pycharm,路径是形如D://pycharm/p

2020-10-08 17:41:41 12736 3

空空如也

空空如也

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

TA关注的人

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