自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 计算机网络原理笔记 第一章 概述

计算机网络

2022-09-01 14:46:54 437 1

转载 Async是如何被JavaScript实现的

Async是如何被JavaScript实现的

2022-08-13 13:29:04 510

原创 js正则匹配方法:match和exec

js正则匹配方法:match和exec

2022-06-06 19:56:40 2069

原创 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 6654

原创 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 1173

原创 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 1160

转载 详解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 564

转载 CSS Grid 网格布局教程

一、概述网格布局(Grid)是最强大的 CSS 布局方案。 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布...

2022-05-04 09:27:29 2337 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 414

转载 解决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 4521 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 4333

原创 更换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 6934

转载 细谈 JS 对象遍历的顺序问题

可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插入元素顺序的影响,但是不完全受插入元素先后顺序的影响。如果您有「必须按插入元素顺序遍历」的场景,可以考虑使用 Map。遍历对象的方法有很多种,我们经常会使用的有 for...in ,除此之外,还有:Object.keysObject.entriesObejct.getOwnerProPertyNamesReflect.

2022-04-17 21:41:31 2761

转载 兄弟选择器(+ 和 ~)

  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 1575

转载 gitignore忽略规则

概要 在用git管理多人开发的项目的时候,总会不定时出现,一些非必要文件(如项目编译文件)加入版本管理。在提交代码合并代码的时候出现了一系列的问题。究其原因,就是没有很好的利用ignore文件,将一些特定文件从版本管理中剔除。本文将简要介绍一下,忽略文件的匹配规则,学习好了忽略规则,则可以随时剔除不需要的文件。 gitBash 创建.gitignore文件 1、打开gitBash,切换到自己的本地仓库; 2、输入 touc...

2022-04-11 12:34:35 845

原创 在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 374 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 2507 1

转载 git rebase详解(图解+最简单示例,一次就懂)

网上有太多讲rebase和merge的文章,但大多都是复制粘贴没有自己的理解,而且很多博客的例子写的过于复杂,让人没兴趣看下去。本文举最简洁的例子,大白话几句就让你快速掌握rebase的核心原理和用法。 一、提交节点图解 首先通过简单的提交节点图解感受一下rebase在干什么 两个分支master和feature,其中featu...

2022-04-08 09:00:29 2275

转载 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 215

转载 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 2212

转载 linux开机引导文件说明(/etc/default/grub)

使用ubuntu和win10双系统时每次开机都默认启动ubuntu,但又用Windows多一点,每次手动切换很麻烦。于是搜了一下开机引导文件的说明,进行了相关修改。 一、文件位置 /etc/default/grub 二、文件说明 # If you chan...

2022-03-31 17:38:55 1707

原创 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 1066

原创 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 25214 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 1209

转载 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 1304

转载 字符串匹配算法之 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 675

转载 Tmux 使用教程

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文介绍如何使用 Tmu...

2022-03-21 12:22:36 3727

转载 Vue生命周期图示

2022-03-18 23:39:01 213

原创 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 1010

转载 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 592

原创 使网站右键和复制失效

在<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 342

转载 Vue中使用stylus全局引入不生效的问题

Vue中使用stylus全局引入不生效的问题 问题描述解决方案一解决方案二解决方案三 问题描述 比如说, 一、我们在 App.vue 里面: <style lang="stylus">@import "./style/main.styl"</style> main.styl 里面定...

2022-03-05 19:50:04 1063

转载 margin 实现水平居中,垂直居中

首先了解下,margin的auto属性的作用是用来分配剩余空间,所以对于有剩余空间的元素才有效哦(块及元素)。比如图片设置margin: 0 auto是无效的,因为图片是内联元素,不是占一整行,没有剩余空间。 1.块及元素水平方向居中: 原理:两侧auto,则平分剩余空间,相当于水平居中。 div { margin-right: auto;  margin-left: auto;...

2022-03-04 16:25:56 7507

原创 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 815

转载 纯CSS3使用vw和vh视口单位实现自适应

编者注:在移动端中利用REM的相对于根HTML进行改变,通过一段JS实现了移动端自适应,本文则使用纯CSS视口单位来自行自适应,虽然现在的兼容性还没法完全能够接受,但不妨碍你认识这个vw和vh的强大。响应式布局的实现依靠媒体查询( Media Queries )来实现,选取主流设备宽度尺寸作为断点针对性写额外的样式进行适配,但这样做会比较麻烦,只能在选取的几个主流设备尺寸下呈现完美适配。即使是通过 rem 单位来实现适配,也是需要内嵌一段脚本去动态计算根元素大小。近年来,随着移动端对视口单位的支持越来

2022-02-20 21:49:50 972

转载 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 1239

原创 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 1038

原创 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 181

原创 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 140

原创 [简单遍历] 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 294

空空如也

空空如也

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

TA关注的人

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