自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode402场周赛——构成整天的下标对数目(javascript)

这个对象,来存储每个余数出现的次数,从而减少方法一里面的两层遍历,使得只用一次遍历即可。例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。构成整天的下标对分别是 (0, 1)、(0, 2) 和 (1, 2)。输入: hours = [12,12,30,24,24]构成整天的下标对分别是 (0, 1) 和 (3, 4)。,表示以 小时 为单位的时间,返回一个整数,表示满足。整天 定义为时间持续时间是 24 小时的 整数倍。输入: hours = [72,48,24,3]

2024-06-16 13:27:58 348 3

原创 《你不知道的Javascript系列》——不可变性immutable

JavaScript中存在以下数据类型:原生(基本)类型 —— Boolean, Number, String非原始(引用)类型或对象 —— Object, Array, Function特殊 —— Null, Undefined原生数据类型默认是不可变的,对于常量声明的原生类型,他们值是不可变的,若用变量声明,虽然可以用=改变其值,实际上是重新赋值,仍没有改变内存地址所存的值,以下面代码为例:

2023-10-29 11:26:44 204

原创 webpack入门总结

大部分配置文档官网非常详细,这里仅记录了入门学习时上手的一些demo和理解。webpack是一种构建工具,(构建工具相当于多个小工具的整合,比如将less转为css的工具,将ES6语法转为浏览器支持的语法等等,单个维护麻烦,因此整合起来)webpack构建工具需要一个入口文件,比如index.js,根据入口文件内的依赖关系,引进所有文件,整合成一个块叫做chunk,针对chunk进行各项文件处理(比如进行将less转为css的工具,将ES6语法转为浏览器支持的语法等等,这一操作叫做打包),处理完之后输出b

2022-06-29 15:14:33 303 1

原创 typescript入门知识总结

基于JavaScript的语言,对其的扩展,最大变化就如其名字一般,为变量引入了type。ts不能被js解析器直接执行,通过编译成js来执行。官方文档types// 声明一个变量,其类型为number// 使用|来连接多个类型(联合类型)let a: number | stringa = 10let b: string = '123'// ts可以对变量类型进行自动检测let helloWorld = "Hello World";// helloWorld = 123 报错//

2022-05-05 15:17:05 231

原创 vscode——教你发布一个自己的插件

准备首先要安装相关依赖npm install -g yo generator-code上述命令其实安装了两个包(yo和generator-code),这两个包用途如下:yo模块全局安装后就安装了Yeoman,Yeoman是通用型项目脚手架工具,可以根据一套模板,生成一个对应的项目结构generator-code模块是VS Code扩展生成器,与yo配合使用才能构建项使用yo code来运行:最后选择open with code即可。项目打开后,F5来运行,新打开了一个窗口来测试,在新

2022-04-21 11:18:12 2213

原创 requestIdleCallback是什么

requestIdleCallbackrequestAnimationFrame的回调会在每一帧确定执行,属于高优先级任务,而requestIdleCallback的回调则不一定,属于低优先级任务。我们所看到的网页,都是浏览器一帧一帧绘制出来的,通常认为FPS为60(每一秒刷新60次)的时候是比较流畅的,而FPS为个位数的时候就属于用户可以感知到的卡顿了,FPS60意味着:1000ms/60≈16.67,即每一帧的时间约为16.67ms(默认刷新率为60FPS)那么在一帧里面浏览器都要做哪些事情呢,如

2022-03-29 16:13:26 1141

原创 JavaScript——一句话简单理解闭包

JavaScript 闭包透彻理解当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。比如如下代码:function foo() { var a = 2 function bar() { console.log(a); } return bar}var baz = foo()baz() // 2foo()执行完,闭包阻止了垃圾回收,内部作用域仍然存在,传递给baz之后调用仍然可以访问到。不一定通过re

2022-03-11 20:51:38 1209

原创 React demo(一) 实现一个简单的TodoList

项目概览技术栈:使用了React + Antdesign效果预览:项目地址:https://github.com/rendeyuwei/react-todolist记录项目中遇到的问题记录问题,有些问题是初次学习时遇到,以后回顾可能会觉得比较简单,略。​style内联样式,套在双花括号中,value值用单引号要引起来。style={{margin:'0 auto'}}​div水平居中,列举用到过的方法:使用上面的margin:'0 auto'组件之间的传递:a. 父组

2022-02-10 16:30:08 944

原创 react入门基础知识总结

ReactReact是一个用于构建用户界面的JavaScript库,即操作DOM将数据渲染到HTML视图中​为何使用React?不管使用原生JS还是Jquery操作DOM,浏览器都会进行大量的重排重绘。原生JS没有组件化,代码复用率低。​React特点:组件化,声明式编码(相比于命令式编码,一步一步命令去执行,声明式只需使用对应语法,react会来执行对应操作)React Native可以进行移动端开发。虚拟DOM+Diffing算法,减少与真实DOM的交互依赖包babel,除了

2022-01-12 15:48:56 365

原创 JavaScript 你可能忽略的表达式和运算符

常规用法表示或,与关系。若运算符两边为数值或其他对象,此时,表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果,如果为 True, 执行表达式b(或函数),并返回b的结果;如果为 False,返回a的结果;相当于:寻找一个返回为false的表达式(从左到右,如果为true那就判断下一个,如果为false那就返回当前的结果),如果一直到最后也没有,那就返回最后一个表达式的值(即为true)表达式a || 表达式b : 计算表达式a(也可以是函数)的运算

2021-12-23 16:10:33 72

原创 Web API——URL

createObjectURL()objectURL = URL.createObjectURL(_object_);参数:object用于创建 URL 的 File 对象、Blob 对象或者 MediaSource 对象。返回值:一个DOMString包含了一个对象URL,该URL可用于指定源 object的内容。​效果相当于为参数对象创建一个新的URL对象,该URL的生命周期与创建它窗口的document绑定。浏览器在document卸载时会自动释放该URL对象,但建议通过URL.revo

2021-11-05 15:03:26 259

原创 Web API ——Storage

StorageStorage接口的方法包括:Storage.getItem(), Storage.setItem(), Storage.removeItem(), Storage.clear()sessionStorage与localStorage不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。**在新标签或窗口打开

2021-11-02 13:51:46 391

原创 CSS Position知识总结

提前知道文档流文档流原文英文为,normal flow,理解起来意思为正常的页面流结构,从左到右,从上到下显示,传统的HTML文档布局。W3C原文档参考:https://drafts.csswg.org/css2/#normal-flow​视口MDN参考链接:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Viewport_concepts#%E4%BB%80%E4%B9%88%E6%98%AF_viewport视口,即viewport,分为视.

2021-10-13 11:25:08 112

原创 JavaScript——数组中重复数字

JavaScript——数组中重复数字最简单的遍历数组来实现:/** * @param {number[]} nums * @return {number} */var findRepeatNumber = function(nums) { let temp = [] let result for(let i=0;i<nums.length;i++){ if(temp.includes(nums[i])){ result =

2021-08-18 14:43:21 736

原创 JavaScript——回文数

回文数代码很简单,先上代码(主要就是用reverse):/** * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { let str = x.toString().split('') // let oldStr = str //错误写法 let oldStr = Object.assign([], str) // let oldStr = [].concat(str)

2021-08-17 14:43:01 597

原创 Taro + 微信云服务 实战用法举例(附源码)

Taro + 微信云服务 实战用法举例云服务配置使用云函数云存储由于网上有关Taro框架使用微信云服务并没有太多教程,花费我很多时间,于是写下本博客。有什么问题欢迎提出。项目源代码见:1.1.0版本涉及到本博客代码为了将数据存储到云端服务器,而不仅仅是本地缓存,学习了微信云服务的相关用法云服务配置首先在开发者工具界面点击云开发,开通微信云服务在设置界面可以获取到环境ID:为项目配置云环境,要在project.config.json中添加"cloudfunctionRoot": "clou

2021-08-03 16:44:52 1180

原创 基于Taro+Vue实现的微信小程序—待办事项

微信小程序 待办事项(项目实战)GitHub地址:一日之计在于春 极简待办项目采用技术:Taro + Vue + Taro UI项目模板来源:ToDoMVC,在该项目基础上不断完善,欢迎共同学习完善。

2021-07-30 16:27:00 613

原创 微信小程序 在回调函数中使用this

微信小程序 在回调函数中使用this wx.showModal({ title: '删除任务', content: '确定删除该任务?', success: (res) => { if (res.confirm) { console.log('用户点击确定') this.todos.splice(this.todos.indexOf(todo), 1) }

2021-07-30 09:33:04 542

转载 JS数组遍历的几种方法

forvar arr = [1, 2, 3, 4, 5, 6]var len = arr.lengthfor(var i = 0; i < len; i++) { console.log(arr[i])}// 1 2 3 4 5 6for…in…这个循环用的人也很多,但是效率最低(输出的 key 是数组索引)var arr = ['我', '是', '谁', '我', '在', '哪']for(var key in arr) { console.log(key)}

2021-07-16 18:10:05 98

原创 Vue —— $emit 监听子组件事件

Vue —— $emit 监听子组件事件监听子组件事件(官方Demo)基本用法子组件通过`emit`抛出参数父组件接受的事件不是一个方法父组件的事件处理函数是一个方法在自定义组件上使用`v-model`vm.$emit( eventName, […args] )参数:{string} eventName[…args]触发当前实例上的事件。附加参数都会传给监听器回调。监听子组件事件(官方Demo)基本用法在我们开发 <blog-post> 组件(子组件)时,它的一些功

2021-07-14 10:33:49 851

原创 JS中parentNode和parentElement的区别

参考文章以一个网页作为例子:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="bb"> <div class="box1"></div>

2021-07-09 11:08:24 787

转载 electron require()报错:Uncaught ReferenceError: require is not defined

原文章在BrowserWindow下设置: mainWindow = new BrowserWindow({ width: 800, height: 800, webPreferences: { nodeIntegration: true, enableRemoteModule: true, contextIsolation: false, } })

2021-07-07 11:53:25 485

原创 error LNK2019: 无法解析的外部符号 __imp__PlaySoundW@12,函数 “long __stdcall WndProc 中引用了该符号

error LNK2019: 无法解析的外部符号 __imp__PlaySoundW@12,函数 "long __stdcall WndProc 中引用了该符号需要在项目属性配置中的链接器(linker)的输入中,添加winmm.lib:点击项目属性点击编辑加入winmm.lib,点击确定,然后应用即可。或者直接在源文件顶端添加:#pragma comment(lib, "winmm")...

2021-04-11 17:02:24 394

原创 Java值传递详解

Java值传递详解参考文章-我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种!值传递与引用传递区别:值传递:指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。引用传递:指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数Java中举出一个值传递的例子很简单,如下:void foo(int value) { value = 100;}foo(num); // num 没有被改变但在

2021-04-04 14:32:56 423

原创 Java 字符串String详解

Java 字符串String核心理解字符串不可变== 与 equals()的区别StringBuilder 与 StringBuffer字符串不可变参考链接1在Java中,String是一个引用类型与int基本类型不同的是,int的值就保存在变量中,而str是引用类型,变量中保存的只是实际对象的地址。Java字符串的一个重要特点就是字符串不可变。不可变的理解:(1)赋值运算符(=)的作用:num = 20;str = “java”;对于基本类型 num ,赋值运算符会直接改变变量的值

2021-03-29 21:19:27 243

原创 python 爬取GitHub项目watch数目问题

python GitHub项目watch数目爬取不到问题问题:想要爬取一个GitHub项目的watch,star,fork数目,star和fork均能爬取到,但是watch数目始终查找不到问题代码如下:from bs4 import BeautifulSoupimport requestsheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like

2021-03-13 17:32:59 207

原创 python初学者爬虫教程(五)提升爬虫的速度

python初学者爬虫教程(五)提升爬虫的速度并发,并行,同步,异步多线程爬虫单线程例子python中的多线程函数式类包装式并发,并行,同步,异步并发指在一个时间段内发生若干事件的情况,各个任务时间段短,经常切换,所以感觉是“同时”进行。并行值在同一时刻发生若干事件的情况,真正的同时同步,各个任务不是独自运行的,任务之间有交替顺序,运行完一个任务后才运行另一个。异步,各个任务独立运行多线程爬虫多线程爬虫是以并发方式执行。即通过进程的快速切换来加快爬虫速度。单线程例子通过

2021-02-24 11:25:48 896

原创 Python线性判别分析(LDA)——数据降维

Python线性判别分析(LDA)——数据降维读取数据附:Pandas文档链接sklearn文档链接读取数据采用鸢尾花数据数据链接https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data数据集共3类,共有150条花的基本数据,三种花各50条,每条数据包括萼片长度,萼片宽度,花瓣长度,花瓣宽度4种特征使用pandas读取数据集,代码:import pandas as pd# 显示所有列pd.set

2021-01-27 14:44:04 3517

原创 python初学者爬虫教程(四)数据存储

python初学者爬虫教程(四)数据存储数据存储至TXT将数据存储至CSV读文件写文件数据存储至MangoDB数据存储至TXT存储方法具体可以参考这篇文章将数据存储至CSV读文件import csvwith open('test.csv', 'r') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row) print(row[0])可见,cs

2021-01-25 12:12:50 231

原创 MongoDB安装教程

MongoDB安装教程参考文章下载MongoDB,下载链接Mango DB打开安装程序,点击下一步,选择custom自定义安装路径点击安装即可将bin目录添加到环境变量中:在安装目录下创建两个文件夹和一个文件,如下图:在log目录下创建以下文件(如果有的话就不用创建了):配置文件logpath=D:\MongoDB\log\mongod.logdbpath=D:\MongoDB\data在之前创建的mongodb.config中写入上述语句,目

2021-01-22 15:35:58 1505 1

原创 python 初学者爬虫教程(三)解析网页

python 初学者爬虫教程(三)解析网页正则表达式re.match()re.searchre.findallgroup与groups的区别使用beautifulsoup解析安装简单使用——获取博客标题基础遍历文档树搜索文档树CSS选择器介绍三种方法从网页中提取数据:正则表达式,beautifulsoup,lxml正则表达式有关正则表达式知识,可以看正则表达式 知识总结与实例re.match()import relines = "Fat cats are smarter than dogs,

2021-01-21 15:37:46 290

原创 python list列表的复制,深拷贝与浅拷贝总结

python list列表深拷贝与浅拷贝总结= 直接赋值浅拷贝copy()方法for循环使用切片深拷贝参考链接:Python中list的复制及深拷贝与浅拷贝探究直接赋值: 其实就是对象的引用浅拷贝(copy):拷贝父对象, 不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 = 直接赋值old = [1,[1,2,3],3]new = oldprint('Before:')print(old)pr

2021-01-19 14:51:02 760 1

原创 python 读文件,写文件总结

python 读写文件总结读文件读取整个文件内容模式总结逐行读取文件内容写文件参考链接1参考链接2读文件读取整个文件内容with open('a.txt', 'r') as file: content = file.read() print(content)模式总结其中r为模式,模式总结如下:逐行读取文件内容with open('a.txt', 'r') as file: for content in file: print(content)

2021-01-19 11:28:59 98

原创 python 判断一个list列表是否包含另一个list列表

python 判断一个list列表是否为另一个list列表的子集把list转化为集合,通过<, <=来判断是否为真子集,子集a = [1, 2, 3, 4, 5, 6]b = [2, 4, 6]print(set(b) < set(a)) # a是否包含b,<= 则表示是否是子集...

2021-01-19 11:01:17 6188

原创 java.lang.NoSuchMethodError: scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/Object

Spark运行Scala程序报错 :java.lang.NoSuchMethodError: scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/ObjectRef;参考链接该错误的原因在于 本地编译时用到的scala版本 和 Spark集群所用Scala 版本不一致导致的,可以修改本地的Scala版本即可。为确定Spark集群所用到的Scala版本,可以在命令台通过spark-shell命令,可以得到下面结果:可以使用

2021-01-03 19:43:25 385

原创 IDEA 常用快捷操作

IDEA 快捷操作快速输出System.out.println()public static void main(String [] args){}快速输出System.out.println()输入sout即可,public static void main(String [] args){}输入psvm,

2020-12-17 16:15:28 85

原创 UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u2022‘ in position 11: illegal multibyte se

python爬虫报错 UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u2022’ in position 11: illegal multibyte sequence在使用fo.write(text + '\n')将爬取结果写入文本文件时报错。对要写入的文本加入这行代码.encode('GBK','ignore').decode('GBk')即可先用gbk编码,忽略掉非法字符,然后再译码...

2020-11-27 10:34:26 446

原创 numpy 常用方法总结

numpy 常用方法总结numpy.arangelen(a)numpy.meannumpy.reshapenumpy.clip[::-1]记录使用numpy过程中常用的方法。(不断更新)官方文档import numpy as npa = np.array([[0, 1], [2, 3], [4, 5]])numpy.arangenumpy.arange([start, ]stop, [step, ]dtype=None)返回给定间隔

2020-11-09 22:23:16 214

原创 python初学者爬虫教程(二)动态网页抓取

python(二)动态网页抓取解析真实地址抓取参考链接,包括例子的网站如果使用 AJAX 加载的动态网页,有两种方法爬取:通过浏览器审查元素解析地址通过selenium模拟浏览器抓取解析真实地址抓取例子为参考链接中提供的网址,该链接该网站的评论是用JavaScript动态加载的,虽然数据并没有出现在网页源代码中,我们也可以找到数据的真实地址。见下F12...

2020-11-09 11:16:22 5828 17

转载 driver.implicitly_wait()与time.sleep()的区别

driver.implicitly_wait()与time.sleep()的区别显示等待与隐式等待的区别implicitly_wait(5)属于隐式等待,5秒钟内只要找到了元素就开始执行,5秒钟后未找到,就超时;time.sleep(5)表示必须等待5秒定位;

2020-10-19 11:03:11 1704

空空如也

空空如也

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

TA关注的人

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