- 博客(136)
- 收藏
- 关注
原创 pip 指定源安装
临时更换阿里源pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/腾讯源pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python豆瓣pip install -r requirements.txt -i https://pypi.douban.com/simple/清华大学pip
2022-05-31 13:21:56
7002
原创 Python PIL Image的使用
from PIL import Image im = Image.open(file_in) # file_in是图片的地址im = im.resize((width, height), Image.ANTIALIAS)'''Image.resize()返回此图像的调整大小后的副本。语法:Image.resize(大小,重采样= 0)参数:size –请求的大小(以像素为单位),为2元组:(宽度,高度)。重采样–可选的重采样过滤器。 这可以是PIL.Image.NEAREST(使用最近的
2022-05-30 14:39:06
1715
原创 Django+Vue 解决URL访问与刷新导致404的问题
问题分析要想知道这个问题为什么会产生,首先还是应该搞明白单页面应用与Vue-router的本质:什么是单页面应用(SPA)单页面应用(Single Page Web Application)的本质其实就是一个外壳页面加上不同的页面组件(也就是构成页面本体的不同片段)。与传统的多页面应用(MPA,Multiple Page Web Application)每次跳转都是一次HTTP请求不同,单页面应用的页面跳转只是页面的局部刷新——使用JavaScript等操作DOM的工具将页面的一部分显示或者隐藏,达到
2022-05-24 17:49:29
1398
1
转载 详解Object.create(null)
在Vue和Vuex的源码中,作者都使用了Object.create(null)来初始化一个新对象。为什么不用更简洁的{}呢? 在SegmentFault和Stack Overflow等开发者社区中也有很多人展开了讨论,在这里总结成文,温故知新。Object.create()的定义照搬一下MDN上的定义:Object.create(proto,[propertiesObject])proto:新创建对象的原型对象propertiesObject:可选。要添加到新对象的可枚举(新添加的属性是
2022-05-09 14:25:15
628
转载 CSS Grid 网格布局教程
一、概述网格布局(Grid)是最强大的 CSS 布局方案。 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布...
2022-05-04 09:27:29
2473
1
转载 CSS中的line-height,height与line-height
在最近的项目中,常常用到line-height,只是简单的理解为行高但并没有深层次的理解,致使不能达到信手拈来的感觉。在此做一下总结,一是更深层次的了解什么是line-height,二是比较height与line-height的区别。 基本概念 行高与行距从字面的意思是非常容易理解的,但是对布局和样式来说,我们应该更深入的理解各个属性之间的关系,比如line-height与font-size存在什么关系呢,line-height与所属元素的height又有什么联...
2022-05-04 08:44:56
514
转载 解决C++: fatal error: Killed signal terminated program cc1plus
【问题解决】C++: fatal error: Killed signal terminated program cc1plus 1. 问题描述2. 解决方法——swap分区 1. 问题描述 在Linux系统中进行C++编译时,出现如下报错,导致编译中止: C++: fatal error: Killed signal terminated program cc1pluscompilation ...
2022-04-19 14:21:08
5011
2
原创 解决安装源码包./configure报错 A compiler with support for C++11 language features is required
首先可能是缺少C++编译器,在命令行里输入which g++或which c++如果没找到那可能就是缺了C++编译器接下来就是安装相关包,用apt-cache命令查找相关包(因为我是debian)apt-cache search c++ | grep "C++ compiler" | less或apt-cache search g++ | grep "C++ compiler" | less以上命令可自由变通找到之后安装即可如果还是不可以就是由于gcc版本低,需要删除原来的gc
2022-04-19 13:45:46
5755
原创 更换apt镜像源
本文以Ubuntu系统为例进行说明,其他系统类似,不同系统对源文件的修改可能不同查看Ubuntu版本lsb_release -a主要是看Codename,不同版本系统代号不同,需要到源文件中修改成自己系统对应的代号备份包含源的文件cp /etc/apt/sources.list /etc/apt/sources.list.bak修改源文件sudo vi /etc/apt/sources.list以下内容可供参考注意须将xenial改成自己系统的Codename,选其中一个
2022-04-19 11:29:12
7141
转载 细谈 JS 对象遍历的顺序问题
可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插入元素顺序的影响,但是不完全受插入元素先后顺序的影响。如果您有「必须按插入元素顺序遍历」的场景,可以考虑使用 Map。遍历对象的方法有很多种,我们经常会使用的有 for...in ,除此之外,还有:Object.keysObject.entriesObejct.getOwnerProPertyNamesReflect.
2022-04-17 21:41:31
2985
转载 兄弟选择器(+ 和 ~)
1. + 选择器 如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。 比如: <style type="text/css"> h1 + p { margin-top:50px; color:red; }</style><body><p>This is paragraph.</p><h1...
2022-04-17 09:32:33
1623
转载 gitignore忽略规则
概要 在用git管理多人开发的项目的时候,总会不定时出现,一些非必要文件(如项目编译文件)加入版本管理。在提交代码合并代码的时候出现了一系列的问题。究其原因,就是没有很好的利用ignore文件,将一些特定文件从版本管理中剔除。本文将简要介绍一下,忽略文件的匹配规则,学习好了忽略规则,则可以随时剔除不需要的文件。 gitBash 创建.gitignore文件 1、打开gitBash,切换到自己的本地仓库; 2、输入 touc...
2022-04-11 12:34:35
914
原创 在gitignore中不能直接设置不忽略的二级文件(夹)
在 .gitignore 中,如果想要不忽略根目录下的dist文件夹,而忽略其他所有,可以这么写/*!/dist但如果只想要不忽略dist 下的index.html,却不能这么写/*!/dist/index.html正确的写法应该是/*!/dist/dist/*!/dist/index.html有三级文件的话,应该这么写/*!/dist/dist/*!/dist/img/dist/img/*!/dist/img/a.jpg同理,更多级目录的话也是类似上面的写法
2022-04-11 11:22:11
507
1
转载 Vue 路由跳转记住滚动位置,返回时回到上次滚动位置
方法一: 利用Keep-Alive和监听器1.首先在路由中引入需要的模块{ path: ‘/scrollDemo’, name: ‘scrollDemo’, meta: { keepAlive: true // 需要缓存 }, component: resolve => { require([‘../view/scrollDemo.vue’], resolve) } }2.在App.vue中设置缓存组件 <keep-alive> // 缓存组件跳转的页面.
2022-04-10 18:23:25
2833
1
转载 git rebase详解(图解+最简单示例,一次就懂)
网上有太多讲rebase和merge的文章,但大多都是复制粘贴没有自己的理解,而且很多博客的例子写的过于复杂,让人没兴趣看下去。本文举最简洁的例子,大白话几句就让你快速掌握rebase的核心原理和用法。 一、提交节点图解 首先通过简单的提交节点图解感受一下rebase在干什么 两个分支master和feature,其中featu...
2022-04-08 09:00:29
2437
转载 git commit -m与-am的区别
前面的话 使用git commit -am是不是就可以完全不使用git add命令呢?不是 理论 要了解git commit -m与git commit -am的区别,首先要明白它们的定义 字面解释的话,git commit -m用于提交暂存区的文件,git commit -am用于提交跟踪过的文件 [注意]git commit -am可以写成git commit -a -m,但不能写成git commit -m -a 定义中出现了暂存区、跟踪过的文件等术语,如果要理解它.
2022-04-08 08:11:13
255
转载 vi快捷键
1. Vim的几种模式正常模式:可以使用快捷键命令,或按:输入命令行。插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。替换模式:正常模式下,按R进入。2. 启动Vimvim -c cmd file : 在打开文件前,先执行指定的命令;vim -r file :恢复上次异常退出的文件;vim -R file:
2022-04-06 09:24:55
2349
转载 linux开机引导文件说明(/etc/default/grub)
使用ubuntu和win10双系统时每次开机都默认启动ubuntu,但又用Windows多一点,每次手动切换很麻烦。于是搜了一下开机引导文件的说明,进行了相关修改。 一、文件位置 /etc/default/grub 二、文件说明 # If you chan...
2022-03-31 17:38:55
1874
原创 mysql报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing
alter user user() identified by "XXX";xxx为你的密码
2022-03-30 14:25:10
1099
原创 mysql报错:error while loading shared libraries: libncurses.so.5: cannot open shared object file
使用命令mysql -uroot -p连接mysql数据库报错:error while loading shared libraries: libncurses.so.5: cannot open shared object file解决办法1. 查找没有libncurses.so.5,可能有libncurses.so不同版本的文件,使用命令find / -name 'libncurses*'查找,我找到的是/usr/lib/x86_64-linux-gnu/libncursesw.so.6
2022-03-30 09:01:36
27505
2
转载 Linux安装MySQL5.7
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 再移动并重命名一下 mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql ...
2022-03-29 12:22:35
1283
转载 ubuntu16.04安装python3.9之后部分系统软件打不开的问题(软链接;/usr/bin 与 /usr/local/bin 的区别;update-alternatives原理)
ubuntu16.04安装python3.9之后部分系统软件打不开的问题(软链接;/usr/bin 与 /usr/local/bin 的区别;update-alternatives原理) 问题描述 如果你遇到了以下问题: 1.状态栏出现红色圆圈警告并显示“检查更...
2022-03-28 20:44:42
1459
转载 字符串匹配算法之 BF、RK、BM
本文为极客时间《数据结构与算法之美》专栏的学习笔记。 本文目录: 1、BF 算法 2、RK 算法 3、BM 算法 3.1 BM 算法的核心思想 3.2 BM 算法原理分析 3.2.1 坏字符规则 3.2.2 好后缀规则 3.2.4 BM 算法代码实现 3.2.5 BM 算法的性能分析及优化 4、总结 本文主要讲述字符串匹配常用的几种算法,它们分别...
2022-03-25 23:31:37
948
转载 Tmux 使用教程
Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文介绍如何使用 Tmu...
2022-03-21 12:22:36
5098
原创 Django 修改runserver默认启动地址
在manage.py中增加如下代码:from django.core.management.commands.runserver import Command as RunserverRunserver.default_addr = '0.0.0.0' # 修改默认地址Runserver.default_port = '8000' # 修改默认端口
2022-03-18 22:45:39
1112
转载 Vuex中的state,mapState,...mapState
1.state state是什么? 定义:state(vuex) ≈ data (vue) vuex的state和vue的data有很多相似之处,都是用于存储一些数据,或者说状态值.这些值都将被挂载 数据和dom的双向绑定事件,也就是当你改变值的时候可以触发dom的更新. 虽然state和data有很多相似之处,但state在使用的时候一般被挂载到子组件的computed计算属性上,这样有利于state的值发生改变的时候及时响...
2022-03-16 19:07:29
706
原创 使网站右键和复制失效
在<body>中加入以下代码:<body oncontextmenu="return false" onselectstart="return false">或<body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">相当于加入以下script标签<script language="Javascript">document.oncont
2022-03-06 21:42:19
382
转载 Vue中使用stylus全局引入不生效的问题
Vue中使用stylus全局引入不生效的问题 问题描述解决方案一解决方案二解决方案三 问题描述 比如说, 一、我们在 App.vue 里面: <style lang="stylus">@import "./style/main.styl"</style> main.styl 里面定...
2022-03-05 19:50:04
1242
转载 margin 实现水平居中,垂直居中
首先了解下,margin的auto属性的作用是用来分配剩余空间,所以对于有剩余空间的元素才有效哦(块及元素)。比如图片设置margin: 0 auto是无效的,因为图片是内联元素,不是占一整行,没有剩余空间。 1.块及元素水平方向居中: 原理:两侧auto,则平分剩余空间,相当于水平居中。 div { margin-right: auto; margin-left: auto;...
2022-03-04 16:25:56
8311
原创 vue打包后配置到django
1.将dist目录复制到manage.py平级目录下2.修改settingsTEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'dist')]#修改模板文件的查找位置 , 'APP_DIRS': True, 'OPTIONS': {
2022-02-26 20:39:21
907
转载 纯CSS3使用vw和vh视口单位实现自适应
编者注:在移动端中利用REM的相对于根HTML进行改变,通过一段JS实现了移动端自适应,本文则使用纯CSS视口单位来自行自适应,虽然现在的兼容性还没法完全能够接受,但不妨碍你认识这个vw和vh的强大。响应式布局的实现依靠媒体查询( Media Queries )来实现,选取主流设备宽度尺寸作为断点针对性写额外的样式进行适配,但这样做会比较麻烦,只能在选取的几个主流设备尺寸下呈现完美适配。即使是通过 rem 单位来实现适配,也是需要内嵌一段脚本去动态计算根元素大小。近年来,随着移动端对视口单位的支持越来
2022-02-20 21:49:50
1110
转载 Django2.1路由传递参数
1、先创建项目(django-admin startproject djangourlparams)和app应用(python manage.py startapp app名称) 2、在urlparams中创建urls.py文件。 3、在入口urls.py文件(即和项目settin...
2022-02-20 19:40:49
1338
原创 MySql错误 1251 - Client does not support authentication protocol requested by server; consider up 解决方案
进入mysql shell,简单两句命令即可解决alter user 'root'@'localhost' identified with mysql_native_password by 'password';flush privileges;查看命令是否生效mysql> use mysql //先使用命令 use mysqlDatabase changedmysql> select user,host,plugin from user where user='root';+
2022-02-18 13:39:43
1138
原创 leetcode747. 至少是其他数字两倍的最大数
leetcode747. 至少是其他数字两倍的最大数找到最大值和次大值,如果最大值至少是次大值的两倍,那其他数字肯定也符合要求python def dominantIndex(self, nums: List[int]) -> int: m1 = m2 = idx = 0 for i, num in enumerate(nums): if num > m1: m1, m2, idx = num,
2022-01-13 00:59:24
236
原创 leetcode89. 格雷编码
leetcode89. 格雷编码要求 n 的格雷编码,只需在 n-1 的格雷编码的基础上稍作改动即可具体如下:逆序遍历 n-1 的格雷编码, 将每个数加上 2^(n-1) 再添加到数组中,加法运算也可以使用位运算来做pythondef grayCode(self, n: int) -> List[int]: res = [0,1] for i in range(1,n): for num in reversed(res): res.a
2022-01-09 06:54:08
191
原创 [简单遍历] leetcode1614. 括号的最大嵌套深度
leetcode1614. 括号的最大嵌套深度def maxDepth(self, s: str) -> int: cur = res = 0 for i in s: if i == "(": cur += 1 res = max(cur, res) if i == ")": cur -= 1 return res
2022-01-07 00:21:38
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人