自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (7)
  • 收藏
  • 关注

原创 从婴儿版到终极版的promise实现

要自己实现promise,首先得了解Promises/A+条例到底有哪些内容:promise表示异步操作的最终结果。 与promise进行交互的主要方式是通过其then方法,该方法注册回调以接收promise的value或无法履行promise的reason。 该规范详细说明了该then方法的行为。一、实现一个同步版的promise同步版先不考虑其他的,直接实现能按照 promise =》 then 的顺序执行先按照规范,定几个标记量来标记状态:const PENDING = "pe

2020-09-13 23:03:21 268 3

原创 vue中使用较少但你不得不知道的特性

这篇博客是用来记录在官方文档中出现过的、平时可能没注意的特性。1.模板语法中的动态参数 从 2.6.0 开始,可以用方括号括起来的 JavaScript 表达式作为一个指令的参数:<a :[attributeName]="url"> ... </a> 这里的attributeName会被作为一个 JavaScript 表达式进行动态求值,求得的值将会作为最终的参数来使用。例如,如果你的 Vue 实例有一个datapropert...

2020-11-10 09:32:16 503 1

原创 2022届校招前端面试算法篇3

1.给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。function isValid( s ) { // write code here let stack = [] for(let i=0;i<s.length;i++){ if(s[i] == '('){ s

2020-10-24 10:55:37 373

原创 2022届校招前端面试算法篇2

1.给定一个字符串,输出该字符串所有排列的可能。 如输入“abc”,输出:[abc,acb,bca,bac,cab,cba]。 思路: 1. 本文章只研究全排列的情况,比如,还是 abc 字符串,3个字符,则总共的排列组合方式应该有n!种,此处的n为3,则计算出来应该是6种。本文采用递归方式实现,基本思路是通过双循环来实现递归的主逻辑部分,外层循环str,内层循环n - 1时的返回数组preResult部分,算法逻辑如下方流程...

2020-10-24 10:55:26 582

原创 2022届校招前端面试算法篇1

3.写下各个排序算法?1.冒泡排序function bubbleSort(arr) { let len = arr.length; for (let i = 0; i < len - 1; i++) { //比较的趟数,每次将最大值放到数组最后 for (let j = 0; j < len - i - 1; j++) { //将相邻的两个元素,两两比较 if (arr[j]>arr[j+1]) { //元素交换值 [arr[j],arr[j+1

2020-10-24 10:55:12 532

原创 2022届校招前端面试浏览器篇2

1.什么是单点登录?如何实现单点登录? 单点登录是一种多站点共享登录访问授权机制,访问用户只需要在一个站点登录就可以访问其它站点需要登录访问的资源(url)。用户在任意一个站点注销登录,则其它站点的登录状态也被注销。简而言之就是:一处登录,处处登录。一处注销,处处注销。 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否为空,为空的话跳转到登录界面...

2020-10-24 10:54:28 224

原创 2022届校招前端面试浏览器篇1

1.cookie、localStroage、sessionStroage有什么作用?有什么区别? 三者都是用来做浏览器缓存的。 区别: 1、cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存 2、存储大小限制也不同,cookie数据不能超过4k,sessionStorage和localStorage 但比cookie大得多,可以达到5M 3、数据有效期不同,...

2020-10-24 10:53:47 554

原创 2022届校招前端面试之vue篇2

1.v-if和v-show的区别?它们的使用场景? vue中的 v-if 和 v-show 二者都可以动态的控制元素的隐藏和显示,但是他们控制的原理是不同的。 v-if   v-if 控制元素显示或隐藏是把dom元素整个的渲染或者删除,如果删除,也就是页面中不存在这个dom元素,以此达到隐藏的效果;所以v-if在每次切换的时候都会重新创建或者销毁元素,有较高的切换性能消耗;而且v-if是惰性的,如果在初始渲染时条件为假,那就什么也不做,直到条件第一次变为真时,...

2020-10-24 10:53:27 224

原创 2022届校招前端面试之Vue篇1

1.什么是MVVM? MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化...

2020-10-24 10:53:01 558

原创 2022届校招前端面试CSS篇2

1.css3有了解吗,新增了哪些1.CSS3边框:border-radius:CSS3圆角边框。在 CSS2 中添加圆角矩形需要技巧,我们必须为每个圆角使用不同的图片,在 CSS3 中,创建圆角是非常容易的,在 CSS3 中,border-radius 属性用于创建圆角。border:2px solid; box-shadow:CSS3边框阴影。在 CSS3 中,box-shadow 用于向方框添加阴影。box-shadow:10px 10px 5px #888888; border-image

2020-10-24 10:52:24 454

原创 2022届校招前端面试CSS篇1

CSS篇1.如何理解display:inline-block? Css中每个元素都有两个盒子,分为外在盒子和容器盒子。外在盒子负责元素可以是一行显示还是只能换行显示。容器盒子负责宽高、内容呈现等。遵循这种理解,display:block理解为display:block-block,display:table应为display:block-table。2.现在有如下的需求:页面某...

2020-10-24 10:52:05 476

原创 2022届校招前端面试网络篇2

1.GET和POST请求的区别? 1.Get方式一般用于获取/查询资源,Post方式一般用于更新资源。 2.Get方式能获取到浏览器缓存中的资源,Post则不可以。 3.传输数据的方式不同: GET请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。POST请求会把请求的数据放在HTTP请求体中。(Request body) 4.传输数据的大小: 在实际开发过...

2020-10-24 10:50:05 286

原创 2022届校招前端面试网络篇1

HTTP篇1.什么是三次握手?什么是四次挥手? 第一次握手:客户端发送一个带SYN的TCP报文到服务器,表示客户端想要和服务器端建立连接。第二次握手:服务器端接收到客户端的请求,返回客户端报文,这个报文带有SYN和ACK确认标示,访问客户端是否准备好。第三次握手:客户端再次响应服务端一个ACK确认,表示我已经准备好了。过程理解:第一次握手:建立连接时,客户端发送syn包(...

2020-10-24 10:49:33 809

原创 2022届校招前端面试javascript篇4

1.什么是函数柯里化? 柯里化是把一个多参函数,变为单参函数的一个方法。 一个通用实现:function currying(fn, ...rest1) { return function(...rest2) { return fn.apply(null, rest1.concat(rest2)) }} 注意这里concat接受非数组元素参数将被当做调用者的一个元素传入 用它将一个sayHello函数柯里化试...

2020-10-24 10:49:07 323

原创 2022届校招前端面试javascript篇3

1.js中现在有多少种作用域?说说自己的理解 两种,全局作用域和局部作用域。最外层定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的。而局部作用域一般只在函数内部可访问到,而对于函数外部是无法访问的。 当一个函数被调用执行的时候都会创建一个执行上下文。这个执行上下文可以抽象为一个对象,对象里面包括变量对象与作用域链。执行上下文可以激活另一个执行上下文,例如函数调用另一个函数(或者全局执行上下文调用全局函数)等等,逻辑上就成了一个堆栈。这被称为执行上下文堆栈。当执行流进...

2020-10-24 10:48:38 566

原创 2022届校招前端面试javascript篇2

1.什么是线程?什么是进程?它们有什么关系?线程是CPU的基本调度单位,是程序执行的一个完整流程。进程是程序的一次执行,它占有一片独有的内存空间。关系:一个进程中至少有一个运行的线程:主线程。一个进程中可以运行多个线程,此时程序就是多线程运行的。一个进程内的数据可以供其中的多个线程内的数据共享,但多个进程间数据是不共享的。衍生问题1 浏览器运行是单进程还是多进程? 老版本的大多数是单进程。新版本大多数是多进程。衍生问题2 浏览器运行是单线程还是多线程? 多线程。...

2020-10-24 10:47:49 1088

原创 2022届校招前端面试javascript篇1

CSS篇1.如何理解display:inline-block? Css中每个元素都有两个盒子,分为外在盒子和容器盒子。外在盒子负责元素可以是一行显示还是只能换行显示。容器盒子负责宽高、内容呈现等。遵循这种理解,display:block理解为display:block-block,display:table应为display:block-table。2.现在有如下的需求:页面某个模块...

2020-10-24 10:45:57 615

原创 2022届校招前端面试javascript数据结构篇

1.版本号比较,例如‘1.2.3’比'1.4.3'版本号小,写一个比较函数function compare(curV,reqV){ if(curV && reqV){ //将两个版本号拆成数字 let arr1 = curV.split('.'), arr2 = reqV.split('.'); let minLength = Math.min(arr1.length,arr2.length), position = 0, diff = 0;

2020-10-15 10:02:56 354

原创 webpack入门学习6(为webpack分离开发环境和生产环境、优化打包速度)

区分开发环境和生产环境 由于开发环境和生产环境的构建目标差异很大。在开发环境中,我们需要具有强大的、具有实时重新加载或热模块替换能力 和 localhost server。而在生产环境中,我们的目标则转向于关注更小的 bundle,以及资源的优化,以改善加载时间。所以我们通常建议为每个环境编写彼此独立的 webpack 配置。 1.安装插件 命令行输入:npm install --save-dev ...

2020-10-04 14:33:31 302

原创 webpack入门学习5(HTML中引入图片、使用sourcemap开发调试、模块热替换)

HTML中引入图片 1.处理效果 先在index.html中写入一个img标签,src为之前的avatar.jpeg。然后命令行输入npm run start来查看:注意路径后面要加/webpack.html 未使用loader时,会出现路径错误,图片不显示的情况。经过loader处理后,图片能正常显示。 2.安装插件 ...

2020-10-04 14:15:58 669

原创 webpack入门学习4(打包html文件、分离压缩css文件、拷贝静态文件、每次打包自动清除旧文件)

生成HTML(html-webpack-plugin) 1.了解html-webpack-plugin HtmlWebpackPlugin会自动为你生成一个HTML文件,根据指定的index.html模板生成对应的 html 文件。会根据public下的index.html自动在打包后的目录下生成html文件,相关引用关系和文件路径都会按照正确的配置被添加进生成的html里。 2.安装依赖...

2020-10-04 14:15:06 892

原创 webpack入门学习3(图片处理、字体文件处理、第三方js库处理、使用babel编译es6)

文件处理 1.图片处理 1.1安装loader:下载安装file-loader 命令行输入:npm install --save-dev file-loader 1.2配置config文件 此时先在public下放入一张图片,然后在css文件中引入。...

2020-10-04 14:11:35 360

原创 webpack入门学习2(打包css、less、scss,使用postcss处理浏览器前缀)

如何打包css? 先在public文件夹下创建index.css文件,然后在index.js文件里引入此时输入 npm run dev打包就会报错:说模块解析失败因此需要引入能够解析css的模块解析器:loader什么是loader loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,...

2020-10-04 14:10:38 365

原创 webpack入门学习1(环境搭建、entry、output、webpack-dev-server配置)

webpack是什么? webpack是一个Javacript应用程序得静态模块打包器webpack有什么作用? 1.模块化打包 webpack会将项目的资源文件当成一个一个模块,模块之间会有依赖关系,webpack将会对这些有依赖关系的文件进行处理,让浏览器能够识别,最后将应用程序需要的每个模块打包成一个或者多个bundle。Webpack环境配置和简单打包 1.安装node ...

2020-10-04 14:09:32 310

原创 一图了解JavaScript中内置对象拓展方法

function MyArray(){} MyArray.prototype = new Array()MyArray.prototype.run = function(){ console.log('run');} var arr = new MyArray();arr.run()arr.push(1)console.log(arr);

2020-07-27 15:15:52 66

原创 一图了解寄生组合继承

function Person(name,pets){ this.name = name; this.pets = pets;} Person.prototype.run = function(){ console.log('run');} function Student(age,name,pets){ Person.call(this,name,pets) //借调 this.age = age}//寄生式继承function Temp(.

2020-07-27 14:05:06 88

原创 ES6-ES11语法特性

1.copyWithin 在数组的内部去拷贝些元素放在数组的指定位置//1 copyWithin 在数组的内部去拷贝些元素放在数组的指定位置let arr = [1,2,3,4, 5,6]//第二个和第三个参数就是我们要拷贝的元素的起始位置//把下标从3到4之间的元素拷贝到下标为0的位置上arr.copyWithin (0,3,4) ; //[4,2,3,4,5,6]arr.copyWithin (0,3,5) ; //[4,5,3,4,5,6]2.fill用一个数字去填...

2020-07-12 17:07:46 1419

原创 多线程爬取猪八戒网站

此项目是使用多线程爬取猪八戒网址it类的所有公司信息猪八戒主页网址:https://guangzhou.zbj.com/我们要爬的是it这个大类的这10小类通过检查我们发现,所有的网址都是放在带有class=‘channel-service-grid clearfix’这个属性的div标签下面,我们可以通过使用lxml库以及xpath语法来获得所有小类的url这个函数代码如下:def get_categories_url(url): details...

2020-07-06 15:41:10 2237

原创 启动egg项目时报错ERROR 11104 nodejs AgentWorkerDiedError [master] agent_worker#1:9544 died (code : 1, signa

今天在使用命令行启动egg项目,执行 npm run dev时总是报错2020-06-11 10:44:32,332 ERROR 11104 nodejs.AgentWorkerDiedError: [master] agent_worker#1:9544 died (code: 1, signal: null) at Master.onAgentExit (E:\egg项目\egg-wechat\node_modules\egg-cluster\lib\master.js:425:17.

2020-06-11 10:58:34 8414

原创 创建egg js报错 Install for create-egg latest failed with code 1

今天在安装egg.js时总是报错npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\L\AppData\Roaming\npm-cache\_logs\2020-06-05T14_51_06_527Z-debug.log还以为是npm的问题后来注意到最后一行的Install for [ 'create-egg@latest' ] failed with code 1 已经给了提示了输入np...

2020-06-05 23:17:30 1762

原创 uniapp框架开发技巧 (mixin注入)等

一 js部分:1.promise方式的封装函数//1.想要执行完一个函数之后再传入一个回调函数getData(callback = false){ if(typeof callback === 'function'){ callback() }}//使用this.getData(()=>{ console.log('执行回调')})2.替换列表对象里的某个对象,使用拓展字符串//方式一 直接复制// let item = .

2020-05-16 21:09:29 7147

原创 Vue安装element ui踩坑

1. 输入 vue add eleme 输入 y y zh-CN要是中途出错或者某些不知道原因错误的先清除缓存npm cache clean --force 然后输入回车

2020-04-29 11:11:37 3698

原创 uniapp防止滑动穿透

在我们使用弹出层的时候,上下滑动总能使背景页滑动。因此我们可以通过弹出层的最外层代码加上@touchmove.stop.prevent="moveStop"来禁止滑动moveStop是一个空函数,什么也不需要写...

2020-04-23 14:38:35 11891 1

原创 快速部署vuecli3

首先创建一个空的目录。然后命令行进入该目录 执行 npm install -g @vue/cli安装完成后输入 vue --version 如果安装成功则会显示vuecli的版本号可是如果我的电脑会报错E:\python_web\nvm\nvm\node_modules\@vue\node_modules\opn\index.js:59const wslToWind...

2020-04-14 20:42:44 734

原创 uni-app中的页面通讯$on与$emit

在页面与页面之间通讯时,很多人会直接选择使用在navigato的时候直接拼接字符串来传递。可是当需要传依个比较多数据的的对象的时候这个方式就不是很管用了,为此uniapp给我们提供了页面与页面之间通讯的极为简便的方法。比如我在下订单页面的时候需要用户选择一个地址去配送,因此我们需要点击之后跳转到选择收货地址页面。而在选择完了收货地址以后需要关闭那个页面返回该订单页面。因此在该订单页面我们...

2020-04-14 10:40:55 3849 1

原创 uni-app中nvue页面模仿onshow生命周期的方法

我们知道在uniapp框架的子组件里是没有onshow这个生命周期的,可是有时候抽取出来的组件要求我们每次i显示都要更新数据。因此我们可以通过监听当前窗口显示的方法来获取是否显示。//模拟onshow生命周期created() { //监听当前窗口显示 currentWebview.addEventListener('show',e=>{ console...

2020-03-29 10:20:26 6210 4

原创 uniapp中swiper组件实现禁止手动滑动并且点击才滑动

只需要在每个swiper-item中加上 @touchmove.stop='stopTouchMove'即可实现

2020-01-15 01:16:44 12326 5

原创 构建nginx+django+uwsgi+mysql的dockerfile

有关于构建nginx+django+uwsgi的dockerfile的文章请戳这里,构建完成后的镜像大小为927MB而构建nginx+django+uwsgi+mysql的镜像大小为1.2GB,而且以后如果存放了数据的话只会更大。所以我更倾向于再建一个容器来装mysql,但是这里也给大家放出来我的dockerfile是怎么编写的Dockerfile:FROM centos:7MAI...

2019-07-15 19:59:21 488 1

原创 把python项目部署到基于django+nginx+uwsgi的镜像构建的容器中

上篇文章中我们通过编写自己的dockerfile来构建一个基于cenots带有python3、nginx、uwsgi的镜像。戳这里。下面我们将基于这个镜像来把我们的项目部署上去首先要把我们的项目放到容器中,这里我采用的方式是通过xfrp上传到服务器中后再通过docker cp 复制到容器里面。当然也可以通过git把项目拉取下来。这里我有一个名为xfz的项目假设大家都有requ...

2019-07-15 17:54:23 772

原创 uwsgi启动报错 chdir(): No such file or directory [core/uwsgi.c line 2591]

今天在使用uwsgi --ini uwsgi.ini 命令时总说找不到我的项目路径,可是我的路径是绝对没有问题的解决方法:把你的uwgis.ini文件里的全部注释删除,再运行uwsgi启动成功若是报错realpath() of uwsgi.ini? failed: No such file or directory [core/utils.c line ...

2019-07-15 15:49:24 16676 8

小程序调用百度语音识别接口

该文件是小程序打通百度语音接口的文件,可把小程序发送录音文件到这里面去进行语音识别。使用方法可参考我的博客:https://blog.csdn.net/weixin_42292991/article/details/89609473

2019-04-27

小程序上传文件到阿里云oss对象存储中代码包

这份文件是打包好的代码文件,下载后移植到自己的小程序里只需要配置三个参数就能够使用,可以查看我这篇博文如何使用:https://blog.csdn.net/weixin_42292991/article/details/89609078,使用起来十分简单

2019-04-27

python turtle库画美国队长盾

使用python的海龟库画美国队长的盾牌 使用python的海龟库画美国队长的盾牌

2018-07-24

基于单片机的智能计算器

如果要将此应用项目移植到开发板上,只需要根据此项目的电路图修改管脚,改成开发板按键和LCD及蜂鸣器对应的管脚上,AD芯片使用的都是一样的,所以只需要将检测AD通道换成AIN3通道,也就是修改程序内通道的口即可。

2018-07-17

基于单片机的温度湿度采集系统

如果要将此应用项目移植到开发板上,只需要根据此项目的电路图修改管脚,改成开发板按键和LCD及蜂鸣器对应的管脚上,AD芯片使用的都是一样的,所以只需要将检测AD通道换成AIN3通道,也就是修改程序内通道的口即可。

2018-07-17

基于单片机的室内空气净化系统(含电路图、代码)

如果要将此应用项目移植到开发板上,只需要根据此项目的电路图修改管脚,改成开发板按键和LCD及蜂鸣器对应的管脚上,AD芯片使用的都是一样的,所以只需要将检测AD通道换成AIN3通道,也就是修改程序内通道的口即可。

2018-07-17

单片机孵化环境温度湿度监控系统设计代码

基于51单片机 如果要将此应用项目移植到开发板上,只需要根据此项目的电路图修改管脚,改成开发板对应的管脚上。温湿度传感器使用的是DHT11,所以数据口按照原理图内接。温度传感器接口也需要修改成开发板对应的接口

2018-07-17

空空如也

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

TA关注的人

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