自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 ReferenceError: primordials is not defined

如果你是运行gulp遇到的问题,并且 gulp v3 和 node v12 版本的话。解决办法1.在 package.json 相同目录下创建 npm-shrinkwrap.json 文件,然后在文件里面写上{ "dependencies": { "graceful-fs": { "version": "4.2.2" } } }2.运行 npm install然后就可以运行项目。...

2021-03-05 12:01:51 215 1

原创 JS监听DOM宽高的变化

在 JS里面 resize 方法可以监听 window 窗口的大小变化,如果要监听某个Dom的变化话需要用到 MutationObserver 来去监听了,示例代码如下。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <style> #pp { width: 200px; height:

2020-05-15 11:17:27 5015

原创 web页面 button 按钮获取到焦点后,可以触发键盘事件

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <button id="btn">btn</button> <input type="text"> <script> var oBtn = docu.

2020-05-12 10:52:23 1308

原创 Promise 多个异步函数都执行完,再执行其他

let P1 = new Promise(function (resolve, reject) { setTimeout(function () { resolve("p1 data") }, 500)})let P2 = new Promise(function (resolve, reject) { setTimeout(function () { resolve("p2...

2019-09-05 17:02:37 18480

原创 RTMP 在浏览器端播放

RTSP、RTMP 也有很多在说的。然而我就是总结下我最近在使用RTMP的理解。首先说一下RTMP协议的定义,实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议,是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。Macromedia后被Adobe System...

2019-06-21 17:15:48 28723 7

原创 threejs 用 ExtrudeGeometry 画管线

首先说一下ExtrudeGeometry ,可以先看官网,这个方法的意思是沿着给定的路径拉伸一个平面图形,然后就成为3D图形了。所以很明显这个方法要两个参数,路径和图形。然后接下来说管线的问题。var radius = data[i]['Diameter'] - 0; // 管子的半径var shape = new THREE.Shape();shape.absarc( 0, 0...

2019-04-26 16:00:27 5778

原创 threejs 判断对象是否在可视区内

在threejs 中判断一个对象(vector坐标)是否在相机的可视区内 let tempV = vector.applyMatrix4(camera.matrixWorldInverse).applyMatrix4(camera.projectionMatrix); if ( (Math.abs(tempV.x) > 1) || (Math.abs(tempV.y) &g...

2019-04-26 15:44:46 4922 3

原创 Uncaught (in promise) DOMException 报错

最近在项目里面加入视频自动播放,有时候会报错(RT),不能自动播放。<video id="videoPlayer" v-show="!isNormalCamera" class="preview-video" name="media" controls="controls" autoplay="autoplay" loop> <source :src="v...

2019-04-09 11:05:09 44799 3

原创 threejs 局部辉光

首先看一下局部辉光的效果。困扰很久的问题,终于解决了!!!具体找到解决的方法是看了这里和这里2。也是看了这两个帖子之后才找到解决方法。这种辉光效果也是用后期处理方法,大家可以先看官网上的这个例子。renderer.autoClear = false;obj.layers.set(0);objBack.layers.set(1);function render(){ ...

2019-03-21 18:39:58 10452 12

原创 浏览器与JavaScript(一)

作为web前端工程师,每天都会使用浏览器,所以就想总结下浏览器的知识,下面开始正文,本文的东西都是拿Chrome浏览器来说的。浏览器是多进程。我们先打开浏览器然后打开一个页面,这个时候我们并不清楚浏览器在后台为我们做了什么,接下来打开资源管理器(快捷键 Shift + Esc直接打开或者 浏览器右上角三个点-&gt; 更多工具 -&gt; 任务管理器)我们能看到各个进程。上面是我打...

2019-02-22 11:07:49 630 1

原创 three.js 把geometry转换成BufferGeometry

在 three.js 的文档里面有这个方法https://threejs.org/docs/index.html#api/en/core/BufferGeometry.fromGeometryvar bufferGeometry = new THREE.BufferGeometry().fromGeometry( geometry );...

2019-01-16 10:42:50 3895 1

原创 warnings (imported as 'THREE') was not found in 'three'

这个问题还没解决!用Vue.js 重构项目的时候,引入three.js和其他相关的东西的时候会出现上面的警告。今天就说一下这个解决办法,但是我觉得这个方法不一定适用所有的项目。一、引入THREE首先用 npm 安装了 three, 然后再项目里面引入了。如下代码所示。import * as THREE from 'three'这个时候还需要引入其他three.js 的方法。比...

2018-12-29 16:00:08 10579 4

原创 MySQL左关联、右关联、内关联查询

要说MySQL的关联查询,首先先说一下笛卡尔积,有两个集合 A = {1, 2},B = {1, 3},这两个集合的笛卡尔积 A * B就有四种情况, A * B = {(1,1), (1,3), (2,1),(2,3)}笛卡尔积 1 2 1 3 2 1 2 3 假设现在有两张表,table_A和 table_Btable_A a_user...

2018-12-28 12:34:58 24876 4

原创 Python 文件操作 'w+' 和 'wb'的区别

在文件上传的时候遇到个问题,就是 'w+' 和 'wb' 在文件上传的时候是否回车。根据项目的实景情况模拟一下区别。首先说一下 'w+' 和 'wb' 的区别 。'w+' 是文本写入,'wb'是字节写入。看代码。首先在window 操作系统下。1.字节# utf-8# 模拟上传的文件内容readFile = b'hello\r\nwolrd'temp = open(...

2018-12-26 16:56:47 20436 2

原创 Ubuntu中MySQL的启动/关闭/重启

一、启动1. mysqld脚本启动: /etc/init.d/ mysql start二、关闭1. mysqld脚本关闭: /etc/init.d/ mysql stop三、重启1. mysqld脚本重启: /etc/init.d/ mysql restart 打开 mysql-client 客户端,mysql -u root -p...

2018-12-19 17:55:50 11747

转载 vim 强制保存只读文件

转自 http://kuanghy.github.io/2015/12/30/sudo-vim:w !sudo tee % 

2018-11-29 18:22:26 16018

原创 Ubuntu/环境变量:修改/etc/environment 导致开机不能进入桌面

解决思路是:将环境变量的参数修改正确。1、卡在界面的地方: CTRL+ALT+F1,进入命令界面2、临时修改环境变量 export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"3、这样就可以使用 vi 命令,然后 vi /etc/enviro...

2018-11-29 18:19:32 1588 1

原创 Linux命令-关机,重启

转自https://www.linuxidc.com/Linux/2009-05/20134.htm重启1、reboot2、showdown -r now 立刻重启(root 用户使用)关机1、halt 立刻关机2、poweroff 立刻关机 

2018-11-29 18:10:44 240

原创 urllib2.URLError: urlopen error [Errno 111] Connection refused

记录个还没解决的问题。下面爬虫代码是可以执行的,但是在我的Ubuntu的虚拟中刚开始是可以运行的,但是,后来不知道改了什么东西,用urllib2写的爬虫和用scrapy 的爬虫代码都不能运行了!!。import urllib2import reclass Spider: def __init__(self): self.page = 1 self...

2018-11-29 09:56:03 26141 2

原创 Ubuntu下virtualenv 安装

1、安装 vitrualenv。sudo pip install virtualenv2、在 Ubuntu 中以及其衍生系统中执行如下命令安装。sudo apt-get install python-virtualenv3、找个存放目录,创建虚拟环境。virtualenv my_env这个时候里面的虚拟环境里面的python版本是主机里面python 的版本,如果想指...

2018-11-22 17:07:21 398 1

原创 Chrome浏览器隐藏扩展插件图标

隐藏Chrome浏览器扩展插件的图标。 隐藏之后   把鼠标移动到上面显示那个红色的位置就可以拖动鼠标,然后就可以隐藏了。

2018-11-09 11:18:50 3397

原创 Python生成器

在Python中,⼀边循环⼀边计算的机制,称为⽣成器:generator。比如在创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素的话,那后面绝大多数元素占用的空间都白白的浪费,所以如果列表元素可以按照某种算法推算出来,那么我们在循环的过程中不断推算出后续的元素。创建生成器方法1:只要把一个列表生成式的[] 改成()。L = [ x*2 for...

2018-10-15 19:58:09 104

原创 Python装饰器(二)

想再说一下装饰器的使用和原理。之前已经说了装饰器的概念,和语法,这里想再进一步说一下几个装饰器的例子。例子一:def makBlod(fn): def wrappen(): return "&lt;b&gt;" + fn() + "&lt;/b&gt;" return wrappendef makItalic(fn): def wrappe...

2018-10-15 19:13:03 117

原创 Python装饰器(一)

要学习装饰器,首先要知道闭包的东西。不过这里不再说闭包的东西了。我们假设一个场景:假如在公司有多个开发部门,A、B....。现在A部门开发出了一个功能,然后其他部门去调用A部门开发的功能。比如: 如下f1、f2...,是由A部门来开发,然后其他部门使用。def f1(): print('f1')def f2(): print("f2")...然后有一天根据...

2018-10-12 18:40:49 188

原创 【Python学习笔记】Python深拷贝和浅拷贝

Python中copy模块里面常用的两个方法copy.copy() 和copy.deepcopy()也就是浅拷贝和深拷贝1、copy.deepcopy() 深拷贝,是对于一个对象所有层次的拷贝。2、copy.copy()浅拷贝,一般来说是对最顶层对象的拷贝。另外浅拷贝对不可变类型(如:元组)和可变类型(如:列表)的copy不同。深拷贝import copya = [11, 2...

2018-10-11 11:32:38 173

原创 Python二叉树遍历

树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一、广度优先遍历(层次遍历)从树的root开始,从上到下从从左到右遍历整个树的节点二、深度优先遍历对于一颗二叉树,深度...

2018-09-30 11:34:45 335

原创 Python 二叉树实现

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的节点表示以及树的创建1、通过使用Node类中定义三个属性,分别为elem本身的值,还有lchild左孩子和rchild右孩子2、树的创建,创建一个树的类,并给一个root根节点,一开始为空,随后添加节点class Node(object):...

2018-09-30 11:27:56 692

原创 python二分法查找

常见的搜索方法:顺序查找、二分法查找、二叉树查找、哈希查找。二分法查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记...

2018-09-30 11:19:08 1836

原创 正则总结(Python)

正则大家都不陌生,工作中一定会接触到。最近在Python中用的了正则,所以顺便整理一下。一、re模块的使用#导入 re模块import re# 使用match方法进行匹配操作result = re.match(正则表达式, 要匹配的字符串)# 如果上一步匹配到数据的话,可以使用group方法来提取数据result.group()re.match 是用来进行正则匹配检查的...

2018-09-29 18:37:38 105

原创 Vue里引入three.js

最近因为three.js的项目要用Vue.js 来重构,所以不太清楚在Vue里面怎么引入。找了很多方法都是一直报错,最后在Stack Overflow找到了。首先是下载包,直接用 npm install three --save 就行了。然后就是在component里面引入。&lt;template&gt; &lt;div&gt; &lt;div id="cont...

2018-09-20 11:26:26 38706 8

原创 Python排序算法(二) 快速排序、希尔排序、归并排序

这篇文章有的排序算法是:快速排序、希尔排序、归并排序。快速排序'''快速排序'''def quick_sort(aList, first, last): if first &gt;= last: return min_val = aList[first] low_index = first hight_index = last...

2018-09-19 13:59:12 183

原创 Python排序算法(一)冒泡排序、选择排序、插入排序

今天总结一下Python中的排序算法。这篇文章有的排序算法是:冒泡排序、选择排序、插入排序。冒泡排序先看一下代码。'''冒泡排序'''def bubble_sort(aList): n = len(aList) for i in range(0, n - 1): for j in range(0, n - i - 1): ...

2018-09-18 11:16:26 5367 4

原创 Python数据结构与算法(六)--栈和队列

栈和队列栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只能在一端进行操作,因而按照后进先出(LIFO, Las...

2018-09-17 21:06:12 202

原创 Python数据结构与算法(五)--链表

链表链表的定义:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。单项链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表...

2018-09-17 20:57:32 210

原创 Python数据结构与算法(四)--顺序表

顺序表在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。根据线性表的实际存储方式,分为两种实现模型:顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。链表,将元素存放在通过链接构造起来的一系列存储块中。顺...

2018-09-17 20:46:35 403

原创 Python数据结构与算法(三)--数据结构的概念

上一章我们看Python内置的模块可以测试代码的时间,有的代码执行时间短有的执行时间长,就是说效率不一样。如果上面不明显的话,大家看下面两个方法。append() 和 insert(0)import timeitdef t6(): li = [] for i in range(10000): li.append(i)def t7(): li ...

2018-09-17 20:27:36 157

原创 Python数据结构与算法(二)--timeit模块

Python内置性能分析,timeit模块timeit模块可以用来测试一小段Python代码的执行速度。class timeit.Timer(stmt='pass', setup='pass', timer=&lt;timer function&gt;)Timer是测量小段代码执行速度的类。stmt参数是要测试的代码语句(statment);setup参数是运行代码时需要的设置...

2018-09-17 19:56:57 200

原创 Python数据结构与算法(一)--算法和时间复杂度

最近下班一直在学习和总结Python,最近在整理数据结构和算法这方面的知识,虽然大学的时候也学过数据结构(c语言版本),但是工作这几年一直在做前端所以,这方面的知识也忘了差不多,所以就想整理一下,方便以后自己复习。下面会说几段代码,是想说一下几个概念,1&gt;大O表示法,它主要是用来表示算法效率的一个衡量方法,也叫时间复杂度的表示方法。2&gt; 算法的特征。3&gt;Python内置性能分...

2018-09-17 19:22:53 373

原创 Vim 常用命令总结

vi 命令编辑器有三种模式:命令模式,编辑模式和末行模式。命令模式:键盘的任意一个键都可以当成“编辑命令”。编辑模式:键盘的任意一个键都当成“文本内容”。末行模式:键盘的任意一个键都当成“文本管理命令”。模式之间的相互转换关系。下面就说一下命令之间的相互装换和常用的命令。一、模式转换1&gt; 命令模式 =&gt; 编辑模式 ,进入编辑模式后,在终端的末尾会出现IN...

2018-07-20 17:30:38 120

原创 Linux 常用命令总结

ls 命令是用来显示目标列表,在Linux中是使用率较高的命令。ls -a 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出)Ls -A :显示除影藏文件“.”和“..”以外的所有文件列表ls -i 显示文件索引节点号(inode)。一个索引节点代表一个文件Ls -l 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型...

2018-07-20 16:58:17 121

rtmp-test.rar

用 flowplayer 来播放 rtmp 视频的代码,里面包括各种需要的文件。

2019-06-21

JQuery 折叠菜单

用面向对象的方法写的折叠菜单,基本上拿过来就可以用。

2017-12-13

空空如也

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

TA关注的人

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